【发布时间】:2016-05-05 02:35:52
【问题描述】:
我正在尝试创建一个 numpy meshgrid 并将其转换为 Shapely 多边形。我可能会用一种非常蛮力的方法来解决这个问题,但感觉必须有一个很好的技巧来完成这个,但我还没有想出它。
这让我得到了点的网格(假设在 Jupyter 中运行)-
import numpy as np
from matplotlib import pyplot
fig = pyplot.figure(figsize=(10, 10))
ax = fig.add_subplot(111, aspect='equal')
x,y = np.mgrid[-5:-1:8j, 1:5:8j]
ax.plot(x,y, 'o', color='#000000')
pyplot.show()
现在需要将所有这些点水平和垂直连接起来,形成 Shapely 多边形。我的第一次尝试是生成一个 Shapely MultiLineString 来绘制垂直和水平线,然后对其执行多边形化操作。这导致只创建了主要的外部多边形 - 这是由于 MultiLineString 仅包含外部多边形上的顶点。
我知道使用栅格和 GDAL 可能更合理,但我的情况要求最终结果是 Shapely 多边形。
感谢任何帮助追踪解决方案!
【问题讨论】: