Algorithm 需要精确的(GPS)制导平行测绘算法

Algorithm 需要精确的(GPS)制导平行测绘算法,algorithm,delphi,computational-geometry,wgs84,Algorithm,Delphi,Computational Geometry,Wgs84,我编写了一个delphi程序,生成一个gpx文件,作为通过超轻型飞机进行空中喷洒的“穷人制导系统”的输入 大体上,它使用gpx文件作为输出生成路线(平行线束) 路线引擎基于“Vincenty”算法,该算法适用于任何wgs84计算,但 我无法获得由Topografix的专家GPS生成的网格的精度(要求) 我假设在椭球面上进行二维计算: 1) 从起始rtept(布线点)开始,计算给定方位和任意距离(线束长度)的下一个rtept 2) 分别计算上一个方位(90°转角)和另一个任意距离(线束距离)的下

我编写了一个delphi程序,生成一个gpx文件,作为通过超轻型飞机进行空中喷洒的“穷人制导系统”的输入

大体上,它使用gpx文件作为输出生成路线(平行线束)

路线引擎基于“Vincenty”算法,该算法适用于任何wgs84计算,但 我无法获得由Topografix的专家GPS生成的网格的精度(要求)

我假设在椭球面上进行二维计算:

  • 1) 从起始rtept(布线点)开始,计算给定方位和任意距离(线束长度)的下一个rtept

  • 2) 分别计算上一个方位(90°转角)和另一个任意距离(线束距离)的下一个rtept

  • 3) 重做1)以最后一个rtept作为起点,但方向相反,依此类推


有什么问题吗?

您没有描述Vincenty地球椭球体模型的Pascal实现,因此以下是推测:

  • 该模型利用了许多几何触发函数——ATAN2, COS、SIN等,取决于是否使用内部Delphi函数 或者你自己的版本,有可能缺乏精确性 在计算中。计算中使用的pi值的精度 计算可能会影响所需的精度
  • 浮点运算可能导致小数点错误。会的 无论你是用单面、双面还是实面,都会有所不同。我 相信一些内部Delphi函数已经随着 不同的版本,所以可能是Delphi的版本 使用将影响内部功能的实现方式
  • 如果实施得准确,文森蒂的公式应该是 精确到0.5mm以内。惊人的准确性。如果有四舍五入 Delphi实现中的错误或精度不足,位置 误差可能会大得多
  • 考虑一下你的GPS信息的准确性。取决于如何 GPS接收器在任何时候都在使用许多卫星, 位置信息的准确性会发生变化。错误 50英尺或更高的数量级是可能的。此外,刷新 GPS接收器上的位置信息不一定是完整的 瞬间的因此,如果线束“转弯”发生得很快,则 必须确保GPS已在转折点更新
  • 您计算模式的过程似乎合理,请看 在Delphi代码中实现Vincenty算法时
  • 这个列表并不详尽,我想其他人可以改进它 戏剧性地我提到的是基于我使用GPS和GPS的经验 Delphi的各种版本,以及我能从脑海中回忆起的东西
  • 你可以试着比较一下你的计算结果 使用您的算法实现的距离/方位 互联网上提供的例子。网上有几个 计算器。如果你没有去过那里,航空处方集 是找到其他导航技巧示例的绝佳地方。 . 比较一下就可以了 让您对Delphi的精度有信心 Vincenty算法的计算机实现 数学家。简单地说,您对Vincenty的实现可能并不成功 精确。同样,错误可能在其他地方
  • 全球定位系统(GPS)精确的重复能力,从一天到下一天将提供更大的距离。昂贵的系统使用dGPS2cm-10cm.5-30米,与没有dGPS的系统不同。简单的解决方案是在已知位置重新校准。便宜的灯杆使用这种方法


    漂移如上所述,但与工作期间的移动有关。的javascript实现,这一点几乎不为人所知。这是一个Delphi实现,我使用了一个在互联网上发现的稍微修改过的Delphi实现,由Charles Seitz(2006年5月)编写,基于Chris Vence的Javascript代码。我已经对它进行了彻底的测试,似乎效果很好。恐怕ExpertGps使用了我无法想象的其他假设(spheroïd vs Ellioïd…。@menjaraz您没有提供任何示例说明您注意到的“差异”以及差异的大小等。“无法获得网格的准确性”是什么意思?如果航路点相同,网格也应相同。您确定在Vincity计算中使用了弧度(而不是度)吗?你用的是恒量单位吗。。这是分数度(DD.DDD)与度/分秒(DD-MM-SS)的对比?如果不提供“您的”结果与您在ExpertGPS中看到的结果的对比示例,则不可能提供额外的“指导”。可以找到的pascal实现进行仔细检查。
    I am doing farm GPS guidance  similar  for ground rig just with Android. Great for second tractor to help follow previous A B tracks especially  when they disappear  for a bit .