【发布时间】:2012-01-01 12:50:18
【问题描述】:
我试图弄清楚纬度/经度点是否包含在由代表地球上的点的顶点定义的多边形内(也包括纬度/经度,按顺时针顺序排列)。这对于可以映射到 2D 纬度/经度空间的多边形来说是微不足道的。
这变得越来越困难的是圆圈(现在切换回 3D),它可能会从一个极点到另一个极点,覆盖半个地球。转换为纬度/经度看起来像一个正弦波。多边形测试中的 2D 点不再适用于这种情况。是否存在解决此问题的算法?
================== 以下关于 cmets 的说明:=================== 多边形定义为以度为单位的 (lon, lat) 对,即 (60, 90), (60, 110), (-30, 110), (-30, 90)。
我确实有实现光线投射算法的代码,并且有效。然而,地球表面的某些多边形并不能转化为二维空间中的封闭多边形。
【问题讨论】:
-
您能否举例说明您如何定义多边形、点和预期结果?另外,您有任何尝试过的代码吗? (如果可以,请编辑您的问题以包含此信息)
-
您对顺时针标记点的定义定义了多边形的哪一侧在里面。
-
这个问题与语言无关——删除了python标签。
标签: latitude-longitude point-in-polygon