小编bre*_*123的帖子

如何将 LineString 分割为线段

我的数据集由 a 组成LineString,我想过滤掉该 的各个线段LineString。更准确地说,是每一个街道段。

到目前为止,我已经从数据集中提取了各个点并将它们保存在单独的列表中。此外,我想再次收集这些点并从中创建单独的 LineStrings 以将它们存储到地理数据框中。数据具有以下形式:

LINESTRING (3275.284016199762 340555.8579582386, 3241.504528076811 340504.1348617533, 3245.415803206172 340501.457084205, 3280.414559049542 340552.7138220053, 3285.19053022
Run Code Online (Sandbox Code Playgroud)

我的问题是我必须LineString为每次迭代创建并显式保存一个单独的。谁能帮我这个?有更好的方法吗?

from shapely.geometry import Point, LineString

#Loop over LineString and gather Points
c=[]

for i in range(0,end):
    c.append(Point(route1.coords[i]))


iterator=len(c)
max=len(c)-1

#Loop to store LineStrings - got stuck here
for i in np.arange(0,iterator):
    if i<max:
        LineString([c[i], c[i+1]]).wkt

    else:
        break;

Run Code Online (Sandbox Code Playgroud)

输出应如下所示:

Linestring(Point A, Point B)  
Linestring(Point B, Point C)  
Linestring(Point C, Point D)  
...  
Linestring(Point Y, Point Z)
Run Code Online (Sandbox Code Playgroud)

python postgis shapely geopandas

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

geopandas ×1

postgis ×1

python ×1

shapely ×1