gpt4 book ai didi

python - 访问 Shapely MultiPoint 中的各个点

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:10 24 4
gpt4 key购买 nike

我正在使用 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)。

最佳答案

您可以索引生成的多点:

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

关于python - 访问 Shapely MultiPoint 中的各个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51060842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com