作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组 Polygon
对象,需要以可重复的方式遍历它们的每条边。我的首选方法是从距离边界框左下角最近的点逆时针旋转。
我可以通过以下方式确保多边形点是逆时针的:
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))
我的问题是如何使 Polygon
对象的 LinearRing
从那个角开始?
最佳答案
这可行,但可能效率不高。
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)
关于python - 我可以在形状匀称的多边形中设置点的顺序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36474168/
我已经保存了一些 Shapely Polygons 的字符串表示: 'POLYGON ((51.0 3.0, 51.3 3.61, 51.3 3.0, 51.0 3.0))' 是否有一些快速的方法可以
我试图找出两个多边形是否相互交叉。 “交叉”是指允许它们的外部相互接触,但它们的内部不能: 只允许下面两个最右边的解决方案: 我试过使用形状相交或交叉(以及其他一些),但找不到有效的内置函数(它们通常
我只是想使用演示代码。我在 Jupyter Notebook 中运行以下命令: 从 shapely.geometry 导入形状 这给了我以下内容: OSError
我是一名优秀的程序员,十分优秀!