Python 我可以设置形状多边形中点的顺序吗?

Python 我可以设置形状多边形中点的顺序吗?,python,gis,shapely,Python,Gis,Shapely,我有一组多边形对象,需要以可重复的方式迭代它们的每一条边。我首选的方法是从边界框左下角的最近点逆时针方向 我可以通过以下方法确保多边形点为逆时针方向: polygon = shapely.geometry.polygon.orient(polygon) 我可以使用以下方法找到我想要的起点: polygon = shapely.geometry.Polygon(...) lower_left = shapely.geometry.Point(bbox[:2]) nearest_pt = min(

我有一组
多边形
对象,需要以可重复的方式迭代它们的每一条边。我首选的方法是从边界框左下角的最近点逆时针方向

我可以通过以下方法确保多边形点为逆时针方向:

polygon = shapely.geometry.polygon.orient(polygon)
我可以使用以下方法找到我想要的起点:

polygon = shapely.geometry.Polygon(...)
lower_left = shapely.geometry.Point(bbox[:2])
nearest_pt = min(self.polygon.exterior.coords, 
                  key=lambda x: shapely.geometry.Point(x).distance(lower_left))

我的问题是如何使
多边形的
线性化
对象从该角开始?

这是可行的,但可能不是很有效

perimeter = polygon.exterior.coords
new_coords = []
first_vertex = nearest_pt  # as found in the question above
two_tours = itertools.chain(perimeter, perimeter)
for v in two_tours:
    if shapely.geometry.Point(v) == first_vertex:
        new_coords.append(v)
        while len(new_coords) < len(perimeter):
            new_coords.append(two_tours.next())
        break
polygon = shapely.geometry.Polygon(new_coords)
周长=polygon.external.coords
新坐标=[]
第一个顶点=最近的顶点,如上述问题所示
两次巡回=itertools.chain(周长,周长)
对于两次巡回演出中的v:
如果shapely.geometry.Point(v)=第一个顶点:
新增(五)
而len(新坐标)