gpt4 book ai didi

python - 如何从两个点数组创建 Shapely LineString

转载 作者:太空宇宙 更新时间:2023-11-03 18:16:04 28 4
gpt4 key购买 nike

我正在尝试创建两个数组的单个 LineString 对象。我已经尝试了多种方法,但我不断得到:

>>> array = [(0,0),(1,0),(2,0),(3,0)][(1,3),(1.4,2),(2,0)]

类型错误:列表索引必须是整数,而不是元组

##      A
## \
## \
## X
## \
## \
## B-----C-----D-----F

## Test to Identify Junctions - Shared points where two or more lines intersect

def test_find_junctions(self):
g = PreserveTopology()
# LINE BCDF, AXD
array = [(0,0),(1,0),(2,0),(3,0)][(1,3),(1.4,2),(2,0)]
# LINE AXD
#array2 = [(1,3),(1.4,2),(2,0)]
array_as_linestring = LineString(array)
#array2_as_linestring = LineString(array2)
result = g.find_junctions_line(array_as_linestring)
assert_equal(result,(2,0))

最佳答案

看起来您有两条线段,因此您需要具有 LineString 几何图形列表或 MultiLineString 几何图形。继续@David 修复语法错误,您可以构建以下结构之一:

from shapely.geometry import LineString, MultiLineString
from shapely.ops import cascaded_union

array = [[(0, 0), (1, 0), (2, 0), (3, 0)], [(1, 3), (1.4, 2), (2, 0)]]

ls = [LineString(ar) for ar in array]
mls = MultiLineString(array)

关于python - 如何从两个点数组创建 Shapely LineString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24986969/

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