0

我正在设置我的模型空间参考如下:

m = flopy.modflow.Modflow.load(nam, verbose=True,load_only=['dis'])
x_offset = 963091.522224#x lower limit (SW corner)
y_offset = 9280278.473164#y lower limit (SW corner)
rot = 35.0# CCW
m.sr.xll = x_offset#x lower limit (SW corner)
m.sr.yll = y_offset#y lower limit (SW corner)
m.sr.rotation = rot

我相信属性设置正确,因为我导出的 geotiff 栅格旋转正确。但是,我的 get_rc() 结果并不正确。我通过的 x,y 对位于单元格中心,未旋转网格的结果非常完美。

我正在使用的方法调用(伪代码)是:

(r,c) = m.sr.get_rc(X,Y)

其中 X 和 Y 是 numpy 数组。

4

1 回答 1

0

我们一直在用附加到模型的通用模型网格对象替换空间参考 (SR),以便我们可以更广泛地支持软盘中的非结构化网格。这是一个如何在空间中注册模型的示例。对于您的特定情况,您将在加载后调用 set_coord_info 方法。

import flopy
m = flopy.modflow.Modflow()
dis = flopy.modflow.ModflowDis(m)
xoff = 963091.522224
yoff = 9280278.473164
angrot = 35.
m.modelgrid.set_coord_info(xoff=xoff, yoff=yoff, angrot=angrot)
m.modelgrid.plot()

所有后续绘图和导出现在都将使用此地理注册信息。

在此处输入图像描述

modelgrid 对象也有其他方法,例如 intersect,它将返回指定 x 和 y 点的单元格信息。对于非结构化网格和其他类型的交叉点,这些方法将继续发展。

于 2019-04-21T11:50:04.323 回答