我正在尝试创建一个numpy网格并将其转换为Shapely多边形。我可以使用非常暴力的方法来解决这个问题,但感觉一定有一个好的技巧来完成这个任务,只是我还没有想出来。
以下代码可获得点的网格(假设在Jupyter中运行):
现在需要将所有这些点水平和垂直地连接起来形成Shapely多边形。我最初的尝试是生成一个Shapely MultiLineString来绘制垂直和水平线,并对其执行polygonize操作。这仅导致创建主外部多边形-这是由于MultiLineString仅包含外部多边形上的顶点造成的。
我知道使用栅格和GDAL可能更合理,但我的情况要求最终结果为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来绘制垂直和水平线,并对其执行polygonize操作。这仅导致创建主外部多边形-这是由于MultiLineString仅包含外部多边形上的顶点造成的。
我知道使用栅格和GDAL可能更合理,但我的情况要求最终结果为Shapely多边形。
感谢任何帮助解决方案的提供!