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

如何使用Shapely遍历Polygon的顶点为Point对象?

无需NumPy的Shapely顶点转Point遍历方法

可以直接遍历Polygon或LinearRing的coords属性,将每个坐标元组直接转换为Point对象,完全不需要依赖NumPy,步骤更简洁:

from shapely.geometry import Polygon, Point

poly = Polygon([Point(0, 0), Point(1, 0), Point(1, 1), Point(0, 1)])
# 用生成器按需转换,节省内存
vertices = (Point(coord) for coord in poly.exterior.coords)

for p in vertices:
    print(p)

如果需要一次性生成所有Point对象的列表,改用列表推导式即可:

vertices = [Point(coord) for coord in poly.exterior.coords]

补充说明

  • poly.exterior.coords返回的是可迭代的坐标序列,每个元素是(x, y)格式的元组,直接传入Point构造器就能得到对应的Point对象。
  • 默认情况下coords会包含闭合的重复顶点(最后一个点和第一个点相同),如果需要去除重复,可改为遍历poly.exterior.coords[:-1]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 09:19:50