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

如何修改Python代码计算MultiPolygon外边界边数(无循环)

解决方案

原代码仅支持单个Polygon类型的几何对象,遇到MultiPolygon会因缺少exterior属性报错。以下修改后的代码可同时处理Polygon和MultiPolygon,且仅统计外边界边数,全程无显式循环:

edges = fp.geometry.apply(lambda x: sum(len(geom.exterior.coords) - 1 for geom in x.geoms) if x.type == 'MultiPolygon' else len(x.exterior.coords) - 1)

代码逻辑说明

  • 通过apply遍历每一行的几何对象
  • 针对不同几何类型分支处理:
    • 若为MultiPolygon:通过x.geoms获取其包含的所有子Polygon,用生成器表达式计算每个子Polygon外边界的边数(坐标点数量减1),再求和得到总外边界边数
    • 若为普通Polygon:沿用原逻辑计算单多边形外边界边数
  • 生成器表达式属于隐式迭代,未使用显式循环语句,符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:07:35