gpt4 book ai didi

python - 使用 shapely 从坐标元组列表创建点

转载 作者:行者123 更新时间:2023-12-05 01:46:13 27 4
gpt4 key购买 nike

我有一个看起来像这样的坐标列表

myCoordinates
> [(2, -6), (21, 19)]

我想将它们转换成 shapely geometry 对象,以便我可以对它们进行一些计算:

from shapely.geometry import Point
for i in myCoordinates:
c = [Point(i[0], i[1])]

print c
> [<shapely.geometry.point.Point object at 0x1044033d0>]

但是,这只会给我一个(!)几何对象。

但是当我做 this

circles = [Point(random.random(), random.random()).buffer(random.random() * 0.1) for i in range(3)]

我得到三个几何对象。

print circles
> [<shapely.geometry.polygon.Polygon object at 0x1043f6890>, <shapely.geometry.polygon.Polygon object at 0x10442f8d0>, <shapely.geometry.polygon.Polygon object at 0x10442f910>]

我做错了什么?为什么它只将一个 Point 转换为几何对象而不是我列表中的两个?

最佳答案

您将在循环的每次迭代中覆盖您的变量。您需要使 c 成为一个列表,然后附加到它:

from shapely.geometry import Point
c = []
for i in myCoordinates:
c.append([Point(i[0], i[1])])

print c

或者您可以通过列表理解在一行中完成所有操作:

c = [Point(coord[0], coord[1]) for coord in myCoordinates]

关于python - 使用 shapely 从坐标元组列表创建点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36764048/

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