首页 > 解决方案 > 如何将多边形的边缘作为 LineStrings?

问题描述

我在一个列表中有几个方形多边形,如何直接获取代表它们四个边的所有 LineStrings 的列表?使用polygon.exterior.coords例如列表理解。

import geopandas as gpd
frame = gpd.read_file("my_file.geojson")
liste = frame["geometry"].tolist()

标签: pythongeopandasshapely

解决方案


像这样的东西?

from shapely.geometry import Polygon, LineString

poly = Polygon([[0, 0], [1, 0], [1, 1], [0, 0]])
b = poly.boundary.coords
linestrings = [LineString(b[k:k+2]) for k in range(len(b) - 1)]
print([list(ls.coords) for ls in linestrings])

推荐阅读