使用shapely的unary_union合并两个区域时出现这个奇怪的错误。
匀称版本:1.6.4.post2
Python 3.5
数据多边形(并排)我想添加Gujranwala 1和Gujranwala 2 ……
你试图使一元联合分裂两种方法之间的差异。您尝试选择两个多边形的方式( dfff["geometry"][1:2] 和 dfff["geometry"][2:3] )实际上返回一对 GeoSeries (其中包含一些序列 shapely 几何),所以你要经过 unary_union 的列表 GeoSeries 而是 unary_union 功能 shapely 期待一份清单 shapely 几何形状。你可以这样做:
dfff["geometry"][1:2]
dfff["geometry"][2:3]
GeoSeries
shapely
unary_union
polygons = [dfff.iloc[1, "geometry"], dfff.iloc[2, "geometry"]] boundary = unary_union(polygons)
那说, GeoSeries 提供自己的 unary_union 只是打电话的方法 shapely.ops.unary_union ,但结束了 GeoSeries 对象。因此,获得一元联盟的更简单方法是:
shapely.ops.unary_union
boundary = dfff["geometry"][1:3].unary_union
这也更容易扩展到更长的多边形列表。