You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python的momepy.gdf_to_nx处理含MultiLineString的GeoDataFrame报错如何解决

问题解决方法

报错原因

你遇到的NotImplementedError: Multi-part geometries do not provide a coordinate sequence报错,核心原因是momepy.gdf_to_nx()仅支持单部件LineString类型的几何要素,你的输入GeoDataFrame包含MultiLineString多部件几何,因此无法直接解析。

解决步骤

完全不影响后续图转换流程的前提下,你可以直接通过GeoPandas内置的explode()方法拆分多部件几何:

  1. 拆分MultiLineString为单个LineString
# 拆分多部件几何,每个拆分后的LineString会继承原要素的所有属性
Streets_exploded = Streets.explode(index_parts=True)

# 验证转换结果,输出应为仅包含LineString的数组
print(Streets_exploded.geom_type.unique())

index_parts=True参数会为拆分后的每一段生成多级索引,既可以追溯原要素ID,也不会破坏原有几何的拓扑关联。

  1. 重新调用momepy方法构建图结构
G = momepy.gdf_to_nx(Streets_exploded, approach="primal")

方案有效性说明

拆分操作不会影响后续图构建的正确性:

  • 拆分后的每段LineString的端点坐标和原MultiLineString的节点坐标完全一致,momepy会自动按坐标重合匹配连通节点,拓扑关系和直接使用原几何构建的结果完全相同
  • 所有原属性字段都会完整保留,后续网络分析的属性统计不会出现数据丢失

内容的提问来源于stack exchange,提问作者Ofir Zak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:24:02