【问题标题】:When to transform GPS co-ordinates何时转换 GPS 坐标
【发布时间】:2019-02-12 17:50:44
【问题描述】:

我对 GIS 数据没有真正的经验,所以当我认为是一个简单的问题变成了更微妙的问题时,我完全没有准备好!

我希望能够将 GPS 位置分类为由 GPS 坐标定义的多边形内部/外部。事实证明这是众所周知的(但不是我)point-in-polygon problem。我在https://gis.stackexchange.com/ 上阅读了很多问题/答案(这里是this)。

Shapely 似乎是一个很好的解决方案,但假设坐标在同一个笛卡尔平面上,即不是 GPS?所以我首先需要将我的 GPS 点转换为UTM 点。

但是,如果要比较的点(即点和多边形)总是自然地位于同一个 UTM 区域内,我是否需要引入这个额外的步骤。它们应该始终在同一个城镇/城市内,所以我可以将它们保留为 GPS 并使用 Shapely 中的纬度/经度坐标吗?

我还遇到了this UTM-WGS84 converter,所以我可以使用这个包转换我的纬度/经度对,然后在 Shapely 中使用这些 UTM 对,但我想尽可能避免任何额外的依赖。

【问题讨论】:

    标签: python gps gis latitude-longitude utm


    【解决方案1】:

    Point-in-polygon 已经假定了 2D 限制,并且 GPS 坐标是 3D。马上,这会给你带来麻烦。

    一个简单的解决方法是放弃 GPS 高度,将其减少为 2D 表面坐标。您的下一个问题是您的 2D 表面现在是一个球体。在球面上,一个多边形将表面分成两部分,但没有明显的“里面”。根据多边形中点的顺序,有一个左侧和一个右侧,但两边都不是明显的“内部”。将赤道视为一个微不足道的多边形 - 哪个半球在赤道“内部”?

    接下来是多边形边缘的问题。根据定义,这些是直的,即线段。但是球面上的线很奇怪——它们通常被称为大圆。并且任何两个大圆恰好相交于两点。这不是笛卡尔线的行为方式。更糟糕的是,用 GPS 坐标表示的大圆方程不是线性的,因为它们是经度/纬度对。

    我可以想象,此时您会感到有些困惑。你可能想从另一个角度来看这个——我们在地图方面也有类似的问题。根据定义,地球地图试图使非平坦表面变平。由于这不太可能,因此您最终会得到map projections。您还可以在此类投影上投影多边形的角点。而且由于投影是平的,您可以在投影上绘制边缘。您现在可以直观地看到问题:在两个不同的投影中,相同的多边形将包含世界的不同部分!

    所以,既然我们同意在现实世界中,多边形的边缘是大圆,我们应该真正考虑一个保持大圆笔直的投影。只有一个投影系列具有此属性,那就是Gnomonic projection。这是一个投影系列,因为您可以选择任何点作为中心。

    碰巧,我们在这里要考虑一个自然点:我们正在考虑的 GPS 点。如果你把它放在中心,在它周围画一个日光投影,投影多边形边缘,然后画多边形,你就有了一个精确的解决方案。

    除了实际的地球不是球形的。对不起。无论如何,您需要测试有多精确?

    【讨论】:

    • 感谢您提供信息丰富(令人沮丧)的解释!显然,我对此一无所知。我刚刚发现 this example 的 matplotlib 被用于 gnomonic 投影,但不幸的是,basecamp 库似乎是一个繁重的安装!我建议的 GPS->UTM->Shapely 会是一个安全的选择吗?
    • 我几乎不知道从迁移到 UTM 所期望实现的目标。这也不是一个日光投影。要弄清楚原始 GPS 坐标在哪里比 UTM 好或差,需要大量的数学运算,所以我不会预测世界上 UTM 会在哪里工作得更好。澄清一下:GPS 或 UTM 坐标中的多边形在现实中会有弯曲的边。
    • 我一定明白了。我认为关键在于要使用 Shapely 之类的东西执行多边形中的点,我需要确保所讨论的点在同一个笛卡尔平面上。通过将 GPS 转换为 UTM,并且只处理空间中足够接近以落入同一 UTM 网格的点,我认为我会满足这个标准
    • 另外,有没有一种直接的方法来计算不同方法的潜在错误?在我的用例中,我需要知道佩戴 GPS 传感器的人是否已经从安全区域穿越到不安全区域(由 GPS 坐标的多边形定义)。
    • @PhilipO'Brien:问题在于现实不是笛卡尔坐标系,而是一个球体。现在你的人可能不是极地探险的一部分,所以你可以通过设置一个半任意的限制来让事情变得更容易,比如“多边形不能延伸超过极圈,多边形被限制在一个大陆,多边形不能跨越国际日期变更线”。这些都不是绝对必要的,但它们使事情变得更容易。有了这些限制,只要多边形边缘小于 100 公里,您就可以获得足够合理的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    相关资源
    最近更新 更多