Geopandas from_features处理MultiPolygon失败问题排查
故障原因解析(Geopandas 0.12.2
from_features处理MultiPolygon Feature报错) 核心原因:版本特定的单Feature解析bug
Geopandas 0.12.2的from_features函数在处理单个MultiPolygon类型的Feature对象时存在逻辑漏洞。该函数默认优先适配FeatureCollection或多Feature的迭代输入,当传入单个MultiPolygon Feature时,内部坐标或属性解析流程错误地将某个浮点型值(比如单个坐标分量、精度参数)当作可迭代对象遍历,直接触发TypeError: 'float' object is not iterable。而Polygon类型的单个Feature刚好能绕过这个解析逻辑的缺陷,因此可以正常生成GeoDataFrame。
次要可能:Feature属性结构冲突
如果你的MultiPolygon Feature包含值为float类型的自定义属性字段,0.12.2版本的属性映射逻辑在处理MultiPolygon时会错误地尝试遍历该float属性(Polygon的解析路径无此触发逻辑),也会导致相同报错。
临时修复方案
- 将单个MultiPolygon Feature包装进列表后传入:
gpd.GeoDataFrame.from_features([your_multi_polygon_feature]) - 升级Geopandas到0.13.0及以上版本(该版本已修复单Feature类型解析的相关bug)
内容的提问来源于stack exchange,提问作者Realhermit
相关产品推荐
相关产品推荐

