dw网页代码模板,漳州网站优化,简单的设计软件,中云建设集团网站文章目录 网格坐标区域调整 Verde是Python用于地理空间数据处理的一个库#xff0c;由于采用了一些机器学习的方法#xff0c;所以除了科学计算三件套之外#xff0c;还需要基于sklearn模块。考虑到依赖关系#xff0c;这里比较推荐用conda安装。
conda install verde --c… 文章目录 网格坐标区域调整 Verde是Python用于地理空间数据处理的一个库由于采用了一些机器学习的方法所以除了科学计算三件套之外还需要基于sklearn模块。考虑到依赖关系这里比较推荐用conda安装。
conda install verde --channel conda-forge网格坐标
通过函数grid_coordinates可以创建一个网格坐标其功能与numpy中的meshgrid相似示例如下
import matplotlib.pyplot as plt
import verde as vd# 分别是西、东、南、北
W, E, S, N 0, 1000, 0, 1000
ew, ns vd.grid_coordinates((W, E, S, N), spacing100)
padded vd.pad_region((W, E, S, N), pad50)print(ew.shape, ns.shape)
# (11, 11) (11, 11)
print(padded)
# (-50, 1050, -50, 1050)其中grid_coordinates用于生成网格(W, E, S, N)表示网格范围是一个矩形spacing为网格间距当输入为一个整型时表示网格形状为正方形。其输出ew和ns分别代表东西、南北方向的网点坐标。
pad_region会在(W, E, S, N)外侧伸展pad尺寸。
下面绘制这个网格此图来自于官网但和官网相比对代码进行了一点精简。
def drawGrid(W,S,E,N,ew,ns,padded,ax,**kwargs):ax.vlines(ew[0], yminS, ymaxN, linestylesdotted)ax.hlines(ns[:, 1], xminE, xmaxW, linestylesdotted)ax.scatter(ew, ns, **kwargs)plt.xlim(padded[:2])plt.ylim(padded[2:])fig plt.figure()
ax fig.add_subplot()
ax.add_patch(plt.Rectangle((W, S), E, N, fillNone, labelRegion Bounds))drawGrid(W,S,E,N,ew,ns,padded,ax,labelSquare Region Grid Nodes,marker., colorblack, s100)plt.xlabel(east-west)
plt.ylabel(sourth-north)
plt.legend(locupper center, bbox_to_anchor(0.5, 1.15))
plt.show()区域调整
grid_coordinates函数中有个参数adjust用于参数调整提供region和spacing两种选项下面为其示例。
region_ew, region_ns vd.grid_coordinates((W, E, S, N), spacing300, adjustregion)spacing_ew, spacing_ns vd.grid_coordinates((W, E, S, N), spacing300, adjustspacing)plt.figure(figsize(6, 6))
ax plt.subplot(111)
ax.add_patch(plt.Rectangle((W, S), E, N, fillNone, labelRegion Bounds))drawGrid(W,S,E,N,region_ew,region_ns,padded,ax,labelAdjusted Region Grid Nodes,marker, colorblue, alpha0.75, s100)drawGrid(W,S,E,N,spacing_ew,spacing_ns,padded,ax,labelAdjusted Spacing Grid Nodes,marker, colororange, alpha0.75, s100)plt.xlabel(Easting)
plt.ylabel(Northing)
plt.legend(locupper center, bbox_to_anchor(0.5, 1.18))
plt.show()效果如下 其中spacnig_ew为 [ 0. 333.33333333 666.66666667 1000 0. 333.33333333 666.66666667 1000 0. 333.33333333 666.66666667 1000 0. 333.33333333 666.66666667 1000 ] \begin{bmatrix} 0. 333.33333333 666.666666671000\\ 0. 333.33333333 666.666666671000\\ 0. 333.33333333 666.666666671000\\ 0. 333.33333333 666.666666671000 \end{bmatrix} 0.0.0.0.333.33333333333.33333333333.33333333333.33333333666.66666667666.66666667666.66666667666.666666671000100010001000