经纬度空间中重叠点集的正确闭合多边形创建问题
经纬度空间中重叠点集的正确闭合多边形创建问题
我遇到了一个棘手的问题:手里有一组经纬度坐标,需要生成能包围这些点的多边形,但有些情况下点集会出现重叠,导致多边形生成一直出错。我试过用geopandas和shapely来处理,比如生成多边形、检测重叠这些操作,但都没成功。
举个例子,目前生成的多边形高亮区域完全不符合需求——它额外添加了两组我数据里根本没有的纬度环,而我实际需要的是环绕地球背面的那个环,再加上两个未被高亮的区域:一个是凹端形状,另一个是凸端形状。我觉得应该用带洞的多边形来实现,也就是POLYGON((外层环), (内层洞))的形式,但怎么都做不出来。
我的经纬度数据存储在CSV文件中,每行格式为longitude, latitude。
我已经尝试过以下代码:
from shapely.geometry import Polygon, Point import geopandas p = geopandas.GeoSeries([Point(x,y) for x,y in paired_coords]) p = Polygon(p) s = geopandas.GeoSeries([Polygon(paired_coords)]) union_all = s.union_all() gunion_all = geopandas.GeoSeries(union_all) r = s.remove_repeated_points() v = r.make_valid() exploded = v.explode(index_parts=True) u = s.union(s)
我知道可能描述得不够细致,有疑问尽管提,我会尽量补充更多细节。
备注:内容来源于stack exchange,提问作者blaufer
相关产品推荐
相关产品推荐

