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

如何提取多边形的边并转换为LineStrings格式?

正方形多边形批量提取边界LineString实现方案

你提到的用polygon.exterior.coords配合列表推导式的方案是完全可行的,具体实现如下:

实现思路

  • 单个正方形多边形的外边界坐标是首尾闭合的序列,共5个坐标点(第1个和第5个坐标完全重合),4条边对应4组相邻坐标点
  • 两层列表推导式分别遍历所有多边形、每个多边形的4组相邻点,直接生成LineString对象

完整实现代码

import geopandas as gpd
from shapely.geometry import LineString

# 读取GeoJSON文件
frame = gpd.read_file("my_file.geojson")
# 提取几何列的多边形列表
polygon_list = frame["geometry"].tolist()
# 列表推导式生成所有边的LineString列表
all_edge_lines = [
    LineString([poly.exterior.coords[i], poly.exterior.coords[i+1]])
    for poly in polygon_list
    # 正方形固定4条边,也可以替换为 range(len(poly.exterior.coords)-1) 适配任意多边形
    for i in range(4)
]

扩展说明

如果需要适配任意边数的多边形,只需要把代码中range(4)替换为range(len(poly.exterior.coords) - 1)即可,会自动根据多边形边数生成对应数量的LineString。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:57:02