【发布时间】:2019-09-24 20:53:06
【问题描述】:
我有 2 个带有几何列的地理数据框,我将一些几何从 1 复制到另一个。
这适用于多边形,但会为任何(有效的)多多边形返回 ValueError。
请指教如何解决这个问题?我不知道是否/如何/为什么我应该更改 MultiPolygon 以获得“相等的 len 键和值”?
geodata01.loc[index, 'geometry'] = geodata02.loc[index, 'geometry']
这适用于多边形。只有使用 MultiPolygons 我才能得到:
ValueError
if len(labels) != len(value):
--> 611 raise ValueError('Must have equal len keys and value '
612 'when setting with an iterable')
我也不能分配缓冲或简化的 MultiPolygon(MultiPolygon 是有效的,我可以绘制、缓冲、简化但我不能分配它):
geodata01.loc[index, 'geometry'] = geodata01.loc[index, 'geometry'].buffer(0)
#or
geodata01.loc[index, 'geometry'] = geodata01.loc[index, 'geometry'].simplify(tolerance=0)
这将返回相同的 ValueError。
【问题讨论】:
-
嗨,Wouter,你想在github.com/geopandas/geopandas/issues 上打开一个问题吗?
-
谢谢 Joris,我已经这样做了:github.com/geopandas/geopandas/issues/992
-
MultiPolygon 基本上是一个多边形列表。当检测到 MultiPolygon 时,对每个多边形应用处理是否有意义?基本上:
list_of_polygons = list(Multipolygon)
标签: python pandas geopandas shapely