在给定多边形坐标的情况下,找到一个点属于哪个多边形的算法

时间:2016-06-02 14:13:25

标签: algorithm

现实问题是这样的:给定不同国家的边界​​作为一系列坐标形成多边形,并给出具有经度和纬度的A点,确定哪个国家包含A点。

问题的粗略描述看起来像这样: Schematic drawing

是否有算法可以让我确定给定点所属的国家/地区?我们可以假设国家边界是三元组(经度,纬度,ISO2)。

2 个答案:

答案 0 :(得分:0)

一个简单的测试是从查询点开始沿某个方向走向无穷大(比如正x)。然后将其与形成多边形的所有线段相交。

如果你有一个奇数个交叉点,那么你的点就在多边形内。如果您有偶数个交叉点,则该点在外面。

这适用于任何非自相交的多边形。

答案 1 :(得分:0)

here所述,可以使用各种方法,这些方法取决于多边形的表示。一种可能性是从确定包含的点开始沿固定方向发送光线并计算与多边形的交点数;如果数字是偶数,则该点在多边形之外,否则在多边形内部。