首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问Shapely MultiPoint中的各个点

访问Shapely MultiPoint中的各个点
EN

Stack Overflow用户
提问于 2018-06-27 10:46:11
回答 1查看 7.5K关注 0票数 4

我正在使用Python中的Shapely库。我找到两行的交集,返回值作为MultiPoint对象给出。

如何解构对象,以获得交叉口中的各个点?

以下是代码:

代码语言:javascript
复制
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)

输出:

代码语言:javascript
复制
print(x) 
MULTIPOINT (1 1, 2 0)

因此,在本例中,我将寻找一种提取交点(1,1)和(2,0)的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-27 10:50:04

可以对结果的MultiPoint进行索引:

代码语言:javascript
复制
>>> str(x)
'MULTIPOINT (1 1, 2 0)'
>>> print(len(x))
2
>>> print(x[0].x)
1.0
>>> print(x[0].y)
1.0

如果您想要一个具有坐标的新列表,可以使用:

代码语言:javascript
复制
>>> [(p.x, p.y) for p in x]
[(1.0, 1.0), (2.0, 0.0)]
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51060842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档