1
我有一个包含我的所有点的列表:[(lon, lat), ...]
(红色,绿色和蓝色的),现在我要检查哪些点是我的多边形的一部分,我的结果集应该包含所有蓝色和所有绿色节点。点和顶点
我发现http://geospatialpython.com/2011/08/point-in-polygon-2-on-line.html,身材匀称和matplotlib。第一个根本不工作。匀称不返回我需要的所有节点。 Matplotlib似乎也考虑了外界的边界点。
什么是让所有(蓝)绿节点最便宜的方式?
对于'shapely',你想'poly.intersects(点)',而不是'poly.contains(点)'。 –
我不知道这是否是一个错误,但是当我使用'shapely.geometry.Polygon()'从我的坐标,'poly.intersects'和'poly.contains'按预期方式工作建立一个多边形!但''shapely.geometry.shape(feature ['geometry'])。contains(point)'只返回属于LineString一部分的点。也许不是一个错误和我的错,但仍然有点混乱。谢谢! – marcus
使用相同坐标的LinearRings(或特殊类型的LineString)和Polygons是不同的东西,因此每个都应包含不同的点。你似乎只想要一个多边形的交集。 –