GPS的航迹用什么程序做出釆

GPS的航迹用什么程序做出釆,第1张

安装GIS OFFICE软件,包括USB驱动(GPS开机,用专用的数据线连接电脑 把采集器开机,连接好数据线后插入电脑的USB接口。

打开GIS OFFICE软件,点击“文件”,选择“从手持机接收”。

在d出的“TransferTool”对话框的左上角空白处“USB/串口”中选择“USB”,单击第二行最左边那个图标“连接”。

用鼠标左键选择需要下载的数据,然后用鼠标右键点击一下这个文件,选择“复制”

此时就会d出一个“正在复制文件”的对话框,复制完成后这个对话框会自动关闭。导出就完成了

try

{

//参数赋值

double ss1 = 000000001, ss2 = 1000000,we=72921151467ss11000;

double pi = 31415926535;

string[] str = textBox2TextTrim()Split(' ');

double[,] a = new double[7, 4];

int k = 0;

for (int i = 0; i < 7; i++)

{

for (int j = 0; j < 4; j++)

{

a[i, j] = ConvertToDouble(str[k]);

k++;

}

}

//规划时刻计算

int[] dinmth = new int[12];

double year, month, day, hour, minute, second, dayofy, ttlday, dayofw, gpstime, tk;

int weekno;

dinmth[0] = 31; dinmth[1] = 28; dinmth[2] = 31;

dinmth[3] = 30; dinmth[4] = 31; dinmth[5] = 30;

dinmth[6] = 31; dinmth[7] = 31; dinmth[8] = 30;

dinmth[9] = 31; dinmth[10] = 30; dinmth[11] = 31;

year = ConvertToDouble(textBox21Text);

month = ConvertToDouble(textBox22Text);

day = ConvertToDouble(textBox23Text);

hour = ConvertToDouble(textBox24Text);

minute = ConvertToDouble(textBox25Text);

second = ConvertToDouble(textBox26Text);

if (month == 1)

{

dayofy = day;

}

else

{

dayofy = 0;

for (int i = 0; i < 12; i++)

{

dayofy += dinmth[i];

if (i == 1)

{

if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)

dayofy += 1;

}

}

dayofy += day;

}

ttlday = 360;

for (int yr = 1981; yr < year; yr++)

{

ttlday += 365;

if (yr % 4 == 0 && yr % 100 != 0 || yr % 400 == 0)

{

ttlday += 1;

}

}

ttlday += dayofy;

weekno = (int)(ttlday / 7);

dayofw = ttlday - 7 weekno;

gpstime = hour 3600 + minute 60 + second + dayofw 86400;

tk = gpstime - a[3, 0] ss2;

if (tk > 302400)

{

tk -= 604800;

}

else if(tk<-302400)

{

tk += 602400;

}

appvalue1 = tkToString("e2");

//平均角速度计算

double n0, n;

n0 = (MathSqrt(3986004418) / MathPow(a[2, 3], 3)) ss1;

n = n0 + a[1, 2] ss1;

appvalue2 = nToString("e2");

//平近点角计算

double M0, Mk;

M0 = a[1, 3];

Mk = M0 10 + n tk;

if (MathAbs(Mk) > 2 pi)

{

int w1 = (int)(Mk / (2 pi));

Mk = Mk - 2 pi w1;

}

appvalue3 = MkToString("e2");

//偏近点角计算

double Ek, E0;

Ek = Mk;

do

{

E0 = Ek;

Ek = Mk + a[2, 1] 01 MathSin(E0);

} while (MathAbs(Ek - E0) > 000000001);

appvalue4 = EkToString("e2");

//真近点角

double angle1, angle2, Vk;

angle1 = MathSqrt(1 - MathPow(a[2, 1] 01, 2)) MathSin(Ek);

angle2 = MathCos(Ek) - a[2, 1] 01;

Vk = MathAtan(MathAbs(angle1 / angle2));

if (angle1 >= 0 && angle2 <= 0)

{

Vk = pi - Vk;

}

else if (angle1 <= 0 && angle2 <=0)

{

Vk = pi + Vk;

}

else

{

Vk = 2 pi - Vk;

}

appvalue5 = VkToString("e");

//升交角距

double Qk;

Qk = Vk + a[4, 2] 10;

if (MathAbs(Qk) > 2 pi)

{

int w2 = (int)(Qk / (2 pi));

Qk = Qk - 2 pi w2;

}

appvalue6 = QkToString("e");

//升交角距改正,轨道向径改正,轨道倾角改正计算

double Fu, Fr, Fi;

Fu = a[2, 0] ss1 1000 MathCos(2 Qk) + a[2, 2] ss1 1000 MathSin(2 Qk);

Fr = a[4, 1] 1000 MathCos(2 Qk) + a[1, 1] 100 MathSin(2 Qk);

Fi = a[3, 1] ss1 100 MathCos(2 Qk) + a[3, 3] ss1 10 MathSin(2 Qk);

appvalue7 = FuToString("e");

appvalue8 = FrToString("e");

appvalue9 = FiToString("e");

//改正后升交角距、轨道向径、轨道倾角计算

double Uk, Rk, Ik;

Uk = Qk + Fu;

Rk = MathPow(a[2, 3] ss2 001, 2) (1 - a[2, 1] 01 MathCos(Ek)) + Fr;

Ik = a[4, 0] + Fi + a[5, 0] ss1 01 tk;

appvalue10 = UkToString("e");

appvalue11 = RkToString("e");

appvalue12 = IkToString("e");

//升交点轨道直角坐标系坐标计算

double Xk, Yk;

Xk = Rk MathCos(Uk);

Yk = Rk MathSin(Uk);

appvalue13 = XkToString("e");

appvalue14 = YkToString("e");

//升交点经度计算

double N;

int w3;

N = a[3, 2] 10 + (a[4, 3] ss1 - we) tk - we a[3, 0] ss2;

if (MathAbs(N) > 2 pi)

{

w3 =(int)(N / (2 pi));

N = N - 2 pi w3;

}

appvalue15 =NToString("e");

//地固坐标系下卫星空间直角坐标计算,Ik为ik

double X, Y, Z;

X = Xk MathCos(N) - Yk MathCos(Ik) MathSin(N);

Y = Xk MathSin(N) + Yk MathCos(Ik) MathCos(N);

Z = Yk MathSin(Ik);

appvalue16 = XToString("e");

appvalue17 = YToString("e");

appvalue18 = ZToString("e");

new Form2()ShowDialog();

}

catch

{

MessageBoxShow("请输入卫星时刻或又一次加载卫星参数导致出错");

return;

}

如果开发的应用程序和GPS模块返回的经纬度不一致,可能存在以下原因:

GPS信号不稳定或信号受阻:GPS信号的可靠性可能受到许多因素的影响,例如天气,建筑物,自然地形等。因此,如果你处于高楼大厦或深山丛林等信号不好的区域,GPS可能会产生误差。

时间同步问题:开发的应用程序可能会使用设备的本地时间来获取位置信息。但是,如果设备的时间不准确或与GPS卫星不同步,则可能会导致位置偏差。

坐标系不同:在计算经纬度时,可能使用不同的坐标系。例如,有些应用程序使用WGS 84坐标系,而有些使用GCJ-02坐标系。如果坐标系不匹配,则会导致经纬度的不一致。

设备故障:最后,如果设备存在硬件故障,则可能会导致经纬度不准确。

针对以上原因,你可以尝试以下解决方案:

尽量在开阔的区域使用设备,以确保获得更好的GPS信号。

使用网络时间同步,以确保设备的时间与GPS卫星时间同步。

了解应用程序使用的坐标系,并确保在使用位置数据时使用正确的坐标系。

检查设备的硬件是否正常。如果硬件出现问题,请及时联系维修人员或更换设备。

以上就是关于GPS的航迹用什么程序做出釆全部的内容,包括:GPS的航迹用什么程序做出釆、急求GPS卫星坐标计算C#程序!!!、开发的app跟gps模块经纬度对不上等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10071660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存