【发布时间】:2021-02-18 03:42:25
【问题描述】:
我有以下匀称的像素多边形
big_poly = Polygon([(94.5, 77.0),
(92.5, 53.0),
(87.5, 45.0),
(66.0, 20.5),
(9.0, 3.5),
(5.5, 6.0),
(4.5, 13.0),
(7.5, 26.0),
(6.5, 91.0),
(8.0, 92.5),
(16.0, 92.5),
(44.0, 86.5)])
我需要用 4 x 6 像素多边形填充big_poly,让它们都落在大多边形的边界内并平行于它的最小轴(相同的旋转)。
感谢@Georgy,here 的解决方案确实很有帮助。 所以我能够做到以下几点:
使用以下代码:
b = building_poly.boundary
points = []
for x in range(int(np.floor(xmin)), int(np.ceil(xmax)), 4):
for y in range(int(np.floor(ymin)), int(np.ceil(ymax)), 6):
points.append((x, y))
points = MultiPoint(points)
result = points.intersection(building_poly)
并在result 中绘制点,但现在我需要从这些点创建多边形。
如何将这些点变成矩形多边形?
我还找到了this,但不知道如何使它适合我的情况。
【问题讨论】:
-
有些相关:Get all lattice points lying inside a Shapely polygon。也许你可以根据你的情况调整它。
-
谢谢!这对我有很大帮助,但是请您检查我的问题中的更新。即使我现在有了更好的主意,但我仍然不清楚如何获得我需要的结果。