需要用于 (GPS) 引导的精确并行测绘算法

发布于 2024-12-14 23:44:29 字数 432 浏览 1 评论 0原文

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

总的来说,它使用 gpx 文件作为输出来生成路线(并行条带)。

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

我假设在椭圆上进行 2D 计算:

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

  • 2) 计算相对于前一个方位(90° 转)和另一个任意距离(条带距离)的下一个 rtept。

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

有什么问题吗?

I wrote a delphi program generating a gpx file as input for a "poor man's guidance system" for aerial spray by means of ultralight plane.

By and large, it produces route (parallel swaths) using gpx file as output.

The route's engine is based on the "Vincenty" algorithm which works fine for any wgs84 computation but
I can't get the accuracy of grid generated by ExpertGPS of Topografix (requirement).

I assume a 2D computation on the ellipsoïd :

  • 1) From the start rtept (route point), compute the next rtept given a bearing and an arbitrary distance (swath length).

  • 2) Compute the next rtept respective respective to previous bearing (90° turn) and another arbitrary distance (swath distance).

  • 3) Redo 1) with the last rtept as starting point but in the opposite direction, and so on.

What's wrong with it ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

燕归巢 2024-12-21 23:44:29

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

  1. 该模型使用了许多几何三角函数 - ATAN2,
    COS、SIN 等。取决于您是否使用内部 Delphi 函数
    或者您自己的版本,可能存在精度不足的情况
    在计算中。您使用的 pi 值的精度
    计算可能会影响您所需的精度。
  2. 浮点运算可能会导致小数位错误。它将
    无论您使用单倍、双倍还是实数,都会有所不同。我
    相信 Delphi 的一些内部功能已经改变了
    不同的版本,所以可能是你的Delphi版本
    using会影响内部函数的实现方式。
  3. 如果准确执行,文森蒂公式应该是
    精确到0.5mm以内。惊人的准确性。如果有舍入
    Delphi 实现中的错误或缺乏精度,位置
    误差可能会大得多。
  4. 考虑 GPS 信息的准确性。取决于如何
    GPS 接收器在某一时刻正在使用许多卫星,
    位置信息的准确性发生变化。错误于
    50英尺或更长的量级是可能的。另外,刷新
    GPS 接收器上的位置信息不一定是
    瞬间;因此,如果条带“转动”发生得很快,你
    必须确保 GPS 在转折点已更新。
  5. 你计算模式的程序似乎很合理,所以看看
    在 Delphi 代码中实现 Vincenty 算法。
  6. 这个列表并不详尽,我想其他人可以改进它
    戏剧性地。我所提到的内容是基于我使用 GPS 的经验以及
    Delphi 的各种版本以及我能立即记起的内容。
  7. 您可能会尝试比较您的计算结果
    距离/方位使用您的算法实现
    互联网上提供的示例。网上有几个
    计算器。如果您还没有去过那里,航空处方集
    是查找其他导航技巧示例的绝佳场所。
    http://williams.best.vwh.net/avform.htm 。比较一下就会
    让您对德尔福的精度充满信心
    Vincenty 算法的实现,计算数据为
    数学家。简单地说,您对 Vincenty 的实现可能不是
    精确的。话又说回来,错误可能在其他地方。

You do not describe your Pascal implementation of Vincenty's earth ellipsoid model so the following is speculation:

  1. The model makes use of numerous geometrical trig functions-- ATAN2,
    COS, SIN etc. Depending whether you use internal Delphi functions
    or your own versions, there is the possibility of lack of precision
    in calculations. The precision in the value of pi used in your
    calculations could affect the precision you require.
  2. Floating point arithmetic can cause decimal place errors. It will
    make a difference whether you use single, double or real. I
    believe some of the internal Delphi functions have changed with
    different versions so possibly the version of Delphi you are
    using will affect how the internal function is implemented.
  3. If implemented accurately, Vincenty’s formula is supposed to be
    accurate to within 0.5mm. Amazing accuracy. If there are rounding
    errors or lack of precision in your Delphi implemention, the positional
    errors can be significantly larger.
  4. Consider the accuracy of your GPS information. Depending on how
    many satellites are being used by the GPS receiver at any one time,
    the accuracy of the positional information changes. Errors on
    the order of 50 feet or more is possible. Additionally, the refresh
    of positional information on the GPS receiver is not necessarily
    instantaneous; therefore if the swath 'turns' occur rapidly, you
    will have to ensure the GPS has updated at the turning point.
  5. Your procedure to calculate the pattern seems reasonable so look
    at your implementation of Vincenty's algorithm in your Delphi code.
  6. This list is not exhaustive, I imagine others can improve it
    dramatically. What I mention is based on my experience with GPS and
    various versions of Delphi and what I could recall off the top of my head.
  7. Something you might try is compare your calculations of
    distance/bearing using your implementation of the algorithm with
    examples provided on the Internet. There are several online
    calculators. If you have not been there, the Aviation Formulary
    is an excellent place to find examples of other navigational tricks.
    http://williams.best.vwh.net/avform.htm . A comparison will
    allow you to gain confidence in the precision of the Delphi
    implementation of Vincenty's algorithm with data calculated by
    mathematicians. Simply, your implementation of Vincenty may not be
    precise. Then again, the error may be elsewhere.
始于初秋 2024-12-21 23:44:29
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 .

GPS 精度从一天到下一天的重复能力将提供更大的距离。昂贵的系统使用 dGPS2cm-10cm.5-30 米不同,没有 dGPS。简单的解决方案是在已知位置重新校准。较便宜的灯条使用这种方法。

漂移 与上述相同,但与工作期间的移动有关。 <20cm 3小时内大多不明显。很少能跳1-2米。我认为卫星连接或断开时。再次定期在已知坐标处重新校准,即喷雾填充点

GPS 精度。大多数手机更新速度为1hz。 3?修复之间的秒数为 50km/hr,修复之间的间隔为 41.66m。在地面钻机上运行 18 公里,但将在第一次运行后进行跟踪。尝试使用蓝牙 GPS 10hz 检查更新速度,正如前面提到的,快速会出现问题。

输入的准确性以及您的导航是否使用 dGPS 将产生巨大的差异。

一旦您偏离路线,假设在 100 米处距离下一个点有 5 米,那么在 50 米处,您仍然偏离路线 2.5 米,除非您的引导带您返回路线而不是下一个坐标。

我没有使用 Vincenty,因为我可以手动“撞”回到线上,并且根据我看到的唯一参考,跨越 1 公里的差异 <30 厘米,但是我取了 2 个点并创建了平行点。

希望这些想法对您的情况有所帮助。

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 .

GPS accuracy repeat ability from one day to next will give larger distance. Expensive system's use dGPS2cm-10cm.5-30metres different without dGPS. Simple solution is recalibrate at known location. Cheaper light bars use this method.

Drift As above except relates to movement during job. Mostly unnoticeable <20cm 3hrs. Can jump 1-2metres rarely. I think when satellite connect or disconnect. Again recalibrate regularly at known coordinates ,i.e. spray fill point

GPS accuracy. Most phone update speed 1hz. 3? seconds between fixes at say 50km/hr , 41.66m between fixes. On ground rig 18km hrs but will be tracks after first run. Try a Bluetooth GPS 10hz check update speed and as mentioned fast turns a problem.

Accuracy of inputs and whether your guidance uses dGPS will make huge difference.

Once you are off your line say 5 metres at 100metres till next point, then at 50 metres your still 2.5 metres off unless your guidance takes you back to the route not the next coordinates.

I am not using Vincenty as I can 'bump'back onto line manually and over 1km across difference <30cm according to only reference I saw however I am taking 2 points and create parrallel points across.

Hope these ideas help your situation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文