如何将以下坐标转换为 'shapely' 多边形?
How to convert the following coordinates to 'shapely' polygon?
我有以下格式列表中的坐标:
[572.71063 453.9848 622.2049 472.86023]
其中四个数字分别对应一个矩形的X1、Y1、X2、Y2坐标。 (X1,Y1 左上角,X2,Y2 右下角)。
我想将列表项转换为 'shapely' 多边形。列表项的格式不正确,在这种情况下,Polygon 无法正常工作。所以我使用了下面的函数
brd = Polygon(map(np.squeeze, bb))
它不起作用。我认为矩形坐标的问题实际上不是轮廓格式。我认为轮廓应该很接近。
将列表中的矩形坐标转换为形状多边形的最佳方法是什么?
如果我理解问题,你只需要这样:
rect = [572.71063, 453.9848, 622.2049, 472.86023]
X1, Y1, X2, Y2 = rect
polygon = [(X1, Y1), (X2, Y1), (X2, Y2), (X1, Y2)]
编辑:
最小工作代码:
from shapely.geometry import Polygon
import matplotlib.pyplot as plt
rect = [572.71063, 453.9848, 622.2049, 472.86023]
X1, Y1, X2, Y2 = rect
polygon = [(X1, Y1), (X2, Y1), (X2, Y2), (X1, Y2)]
p = Polygon(polygon)
x, y = p.exterior.xy
plt.plot(x, y)
plt.show()
结果:
我有以下格式列表中的坐标:
[572.71063 453.9848 622.2049 472.86023]
其中四个数字分别对应一个矩形的X1、Y1、X2、Y2坐标。 (X1,Y1 左上角,X2,Y2 右下角)。
我想将列表项转换为 'shapely' 多边形。列表项的格式不正确,在这种情况下,Polygon 无法正常工作。所以我使用了下面的函数
brd = Polygon(map(np.squeeze, bb))
它不起作用。我认为矩形坐标的问题实际上不是轮廓格式。我认为轮廓应该很接近。
将列表中的矩形坐标转换为形状多边形的最佳方法是什么?
如果我理解问题,你只需要这样:
rect = [572.71063, 453.9848, 622.2049, 472.86023]
X1, Y1, X2, Y2 = rect
polygon = [(X1, Y1), (X2, Y1), (X2, Y2), (X1, Y2)]
编辑:
最小工作代码:
from shapely.geometry import Polygon
import matplotlib.pyplot as plt
rect = [572.71063, 453.9848, 622.2049, 472.86023]
X1, Y1, X2, Y2 = rect
polygon = [(X1, Y1), (X2, Y1), (X2, Y2), (X1, Y2)]
p = Polygon(polygon)
x, y = p.exterior.xy
plt.plot(x, y)
plt.show()
结果: