python - 如何将多边形的边缘作为 LineStrings?
问题描述
我在一个列表中有几个方形多边形,如何直接获取代表它们四个边的所有 LineStrings 的列表?使用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])
推荐阅读
- angular - 使用扩展面板对我的角度材料数据表进行单元测试,要么不运行,要么检测到动画的完成?
- gimp - Gimp - Script-Fu:从缓存插入新图层,插入图层地图
- bootstrap-4 - 如何有一个引导程序“标题行”,在移动设备上的每个标题下方堆叠正确的项目
- python-3.x - 使两个数字之间的范围最有效的方法
- html - 如何用另一种替换所有一种html标签
- ios - WKWebView 泄漏
- javascript - 如何检查带有参数的url是否与忽略数组中的文件名匹配
- python - RuntimeError: 给定组=1,大小为 [64, 3, 7, 7] 的权重,预期输入 [3, 1, 224, 224] 有 3 个通道,但有 1 个通道
- node.js - 我不能在 react-native 中使用 npm install
- java - java流不能用Locale的方法函数编译,为什么?