我正在使用Python中的Shapely库。我找到两行的交集,返回值作为MultiPoint对象给出。
如何解构对象,以获得交叉口中的各个点?
以下是代码:
from shapely.geometry import LineString, MultiLineString
a = LineString([(0, 1), (0, 2), (1, 1), (2, 0)])
b = LineString([(0, 0), (1, 1), (2, 1), (2, 0)])
x = a.intersection(b)输出:
print(x)
MULTIPOINT (1 1, 2 0)因此,在本例中,我将寻找一种提取交点(1,1)和(2,0)的方法。
发布于 2018-06-27 10:50:04
可以对结果的MultiPoint进行索引:
>>> str(x)
'MULTIPOINT (1 1, 2 0)'
>>> print(len(x))
2
>>> print(x[0].x)
1.0
>>> print(x[0].y)
1.0如果您想要一个具有坐标的新列表,可以使用:
>>> [(p.x, p.y) for p in x]
[(1.0, 1.0), (2.0, 0.0)]https://stackoverflow.com/questions/51060842
复制相似问题