Shapely中多行字符串对象中的线串顺序

2024-09-24 22:28:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个MultiLineString对象,其中组成它的LineStrings没有正确排序(或者至少我希望如何排序)。在

例如,假设我有以下两个字符串:

from shapely.geometry import *
LineIWant = MultiLineString([((0,0),(2,5)),((2,5),(7,10)),((7,10),(6,15))])
LineIHave = MultiLineString([((0,0),(2,5)),((7,10),(6,15)),((2,5),(7,10))])

正如你所看到的,坐标是这样的,所有的线段都连接/匹配,但是在我的对象中,它们不是有序的。当我尝试使用插值方法沿对象获取75%的点时,这是有问题的:

^{pr2}$

关于如何在我的MultiLineString对象中重新排序LineStrings有什么建议吗?在


Tags: 对象方法字符串fromimport排序插值geometry
1条回答
网友
1楼 · 发布于 2024-09-24 22:28:13

尝试将多行字符串设置为一个字符串:

from shapely.ops import linemerge
linemerge(LineIHave)  # LINESTRING (0 0, 2 5, 7 10, 6 15)
linemerge(LineIWant)  # LINESTRING (0 0, 2 5, 7 10, 6 15)

如果linemerge的方向不对,可以反转它:

^{pr2}$

相关问题 更多 >