GeoPandas:创建多多边形地理第一部分的形心列表吗?

时间:2018-11-18 19:14:36

标签: gis shapely geopandas

我有一个包含多面地理的GeoDataframe。如果我使用centroid函数查找中心,则结果并不总是位于任何多边形内,例如一系列的岛屿。那么,如何找到多多边形形状中仅第一个多边形的质心?

1 个答案:

答案 0 :(得分:2)

对于MultiPolygon的第一个多边形的质心,您可以做

mp[0].centroid

有几种方法可以应用它,例如首先将数据框中的每个MultiPolygon限制为第一个Polygon。

def keep_first(geo):
   if geo.geom_type == 'Polygon':
       return geo
   elif geo.geom_type == 'MultiPolygon':
       return geo[0]

df.geometry = df.geometry.apply(lambda _geo: keep_first(_geo))

df.centroid