gpt4 book ai didi

Python shapely : . equals 函数并不总是有效:

转载 作者:行者123 更新时间:2023-11-30 22:50:28 25 4
gpt4 key购买 nike

我在使用 shapely 库时遇到了一些问题。现在 equals 函数似乎并不总是有效:

poly1 =  Polygon(([220.0, 400, 500], [220.0, 20, 500], [220.0, 20, 0], [220.0, 400, 0], [220.0, 400, 500]))
poly2 = Polygon(([220.0, 20, 500], [220.0, 400, 500], [220.0, 400, 0], [220.0, 20, 0], [220.0, 20, 500]))

print (poly1.equals(poly2))

结果为 false。知道为什么吗?

最佳答案

来自文档:

The Polygon constructor takes two positional parameters. The first is an ordered sequence of (x, y[, z]) point tuples and is treated exactly as in the LinearRing case.

因此,在创建Polygon之前尝试先对它们(元组)进行排序:

>>> pol1_coords = ([0, 1, 2], [3, 4, 5], [6, 7, 8])
>>> pol2_coords = ([0, 1, 2], [6, 7, 8], [3, 4, 5])
>>> Polygon(sorted(pol1_coords)) == Polygon(sorted(pol2_coords))
True

相反,您仍然会遇到此问题:

>>> Polygon(pol1_coords) == Polygon(pol2_coords)
False

关于Python shapely : . equals 函数并不总是有效:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39328327/

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