【问题标题】:Getting a handle on GIS math, where do I start?掌握 GIS 数学,我从哪里开始?
【发布时间】:2011-01-31 10:05:35
【问题描述】:

我负责一个程序,该程序用于创建一组节点和路径以供自主地面车辆使用。该程序通过将项目的位置指示为原点 0,0 以北 x 米和以东 y 米来跟踪其地图中所有项目的位置。在现实世界中,车辆知道原点的经纬度位置,因为它是由 dgps 系统确定的,并且精确到几厘米。我的程序不知道任何经纬度坐标。

我的目标之一是修改程序以跟踪项目的经纬度坐标以及原点和项目相对于该原点的 x,y 位置。乍一看,我似乎要修改程序以允许传入原点的经纬度坐标,然后我希望程序会自动计算地图中当前每个项目的经纬度。根据我迄今为止的研究,我相信我需要弄清楚从 UTM (如投影)转换为经纬度坐标背后的数学原理,在该投影中我指定原点和经线等,而不是已经为 UTM 定义的任何东西。

我是来问你们 GIS 程序员的,我走对了吗?在我看来,有很多事情要处理,我不确定答案是否不是那么简单,“哦,是的,这里有从米到纬度的转换”

目前,由于 DGPS 的性质,系统真的不需要关心位置超过哦,什么... 40 公里?远离原点的半径。鉴于此,以及我需要确保坐标上的误差不大于 0.5 米这一事实,我是否需要比简单的经度/经度转换为米的常数更复杂的东西?

我对这里的材料非常了解。我可以使用一些指针来了解要研究的概念。

非常感谢!

【问题讨论】:

    标签: math gis topology wgs84 utm


    【解决方案1】:

    给定一个以纬度/经度为单位的起点以及一个距离和方位,找到终点是一个测地线计算。 proj.4 website 上对测地线计算和错误有很好的总结。他们得出的结论是,使用球形模型可以获得点之间距离的结果,误差最多为 0.51%。这与在WGS-84 and ECEF 之间转换的公式相结合(请参阅“LLA 到 ECEF”和“ECEF 到 LLA”部分,似乎可以满足您的需求。

    如果您想通过将平面地图反向投影到 WGS-84 来真正确定错误,proj.4 是一个投影软件包。它有源代码,并带有三个命令行实用程序 - proj,它可以在制图投影和笛卡尔数据之间进行转换; cs2cs,在不同的地图投影之间转换;和geod,它计算测地线关系。

    USGS 发布了very comprehensive treatment of map projections

    【讨论】:

      【解决方案2】:

      如果可以的话,我会做一个完整的计算。这样,您将始终尽可能准确。

      如果您碰巧使用 C++,GDAL 是一个非常好的库。

      【讨论】:

      • 感谢您的参考,我会研究一下!
      • 这将是准确的,也可能更容易实现。只需挂上一个好的库。
      【解决方案3】:

      对于 40 公里的范围,您可能会发现将世界近似为 2D 平面可能会起作用,尽管 UTM 变换将是理想的方法 - 无论如何,我建议使用实际的 WGS84 co-用于计算大圆距离或方位角等计算的坐标和椭球。

      如果你觉得无聊,你可以走类似我一直在做的事情的路线,它可以用作不同数据的基类,例如 OSGB36 或 WGS84...

      【讨论】:

      • 既然您提到它,通过 UTM 转换,您是指将我的原点定位在一个纬度,然后找到我的原点所在的 UTM 区域,(并将我的所有项目 x,y 转换为现实生活中的 UTM xy)?或者你的意思是制作我自己的假 utm 区域,其原点是我的原点并从那里开始?
      • 我正在考虑转换为 UTM 的 x,y - 如果需要,您可以为您的使用调整错误的原点。
      猜你喜欢
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 1970-01-01
      • 2018-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      相关资源
      最近更新 更多