GeoPandas: Создать список центроидов первой части многоугольной географии? - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть GeoDataframe, содержащий многоугольную географию.Если я использую функцию centroid, чтобы найти центры, результаты не всегда находятся внутри любого из многоугольников, например, для серии островков.Итак, как мне найти центр тяжести только первого многоугольника в форме многоугольника?

1 Ответ

0 голосов
/ 20 ноября 2018

Для центроида первого многоугольника 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
...