给定构成边界的 GPS 坐标列表,我如何计算我的位置是否在该边界内?

Per*_*rcy 2 latitude-longitude point-in-polygon computational-geometry

假设我有数百个甚至数千个 GPS 坐标、纬度和经度,它们构成了一个国家/地区的边界。

我也有我目前的位置纬度和经度。

我如何确定(使用 C#,为 Windows10 UWP 编程)我的位置是否在某个国家/地区的边界内?

EG 假设我拥有构成下图中红线的所有点。如果我在 X 位置,我的函数将返回 true。如果我在 Y 位置,我的函数将返回 false。

地图示例

Ral*_*alf 5

定义一个肯定在外面或肯定在里面的点。

现在创建一条从您的位置到该已知点的线,并将其与圆周的每一段相交。计算交叉点的数量。如果是偶数,你就是你之前定义的点(内或外)如果是奇数,你是你定义的点的对立面

https://en.wikipedia.org/wiki/Point_in_polygon应该解释得更好!