python - 如何获取多边形的边作为 LineStrings?

标签 python geopandas shapely

我的列表中有几个正方形多边形,如何直接获取代表其四个边的所有 LineString 的列表?例如,使用 polygon.exterior.coords 进行列表理解。

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

最佳答案

类似这样的吗?

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])

关于python - 如何获取多边形的边作为 LineStrings?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68995594/

相关文章:

python - 使用完整的 url 找不到 Django 页面

python-3.x - 如何在 geopanda 中的两点之间应用一条线,例如2个城市之间

projection - Geopandas to_file 给出空白的 prj 文件

python - 在 Shapely 中删除重复的几何图形

python - 由于精度问题,形状无法在点上分割线

python - 中间有负载均衡器时如何跟踪浏览器的IP

javascript - 从 openpyxl.chart.title 导入标题 - AttributeError : 'list' object has no attribute

python - 使用请求浏览多个页面

python - GeoPandas 的过度功能不起作用

python - 找不到库 geos_c 或加载其任何变体