检查地理点在多边形内部还是外部

检查地理点在多边形内部还是外部,第1张

检查地理点在多边形内部还是外部

这是我的问题的可能解决方案。

  1. 地理坐标必须正确存储。例
    np.array([[Lon_A, Lat_A], [Lon_B, Lat_B], [Lon_C, Lat_C]])
  2. 创建多边形
  3. 创建要测试的点
  4. 使用
    polygon.contains(point)
    如果点在内部测试(
    True
    )或外部(
    False
    )的多边形。

这是代码的缺失部分:

from shapely.geometry import Pointfrom shapely.geometry.polygon import Polygonlons_lats_vect = np.column_stack((lons_vect, lats_vect)) # Reshape coordinatespolygon = Polygon(lons_lats_vect) # create polygonpoint = Point(y,x) # create pointprint(polygon.contains(point)) # check if polygon contains pointprint(point.within(polygon)) # check if a point is in the polygon

注意 :多边形不考虑大圆,因此有必要将边缘分成许多段,从而增加顶点数量。


特殊情况:如果点位于多边形的边界上

例如

print(Polygon([(0, 0), (1, 0), (1, 1)]).contains(Point(0, 0)))
会失败

所以可以使用

print(polygon.touches(point)) # check if point lies on border of polygon


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5651135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存