我正在按如下方式设置我的模型空间参考:
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对是在细胞中心,结果与未旋转的网格是完美的。
我使用的方法调用(Psuedo代码)是:
(r,c) = m.sr.get_rc(X,Y)
其中X和Y是数值数组。
发布于 2019-04-21 11:50:04
我们已经用附加到模型的通用模型网格对象替换了空间参考(SR),这样我们就可以更广泛地支持flopy中的非结构化网格。下面是一个如何在太空中注册模型的示例。对于您的特定情况,您应该在加载之后调用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()
所有后续打印和导出现在都将使用此地理注册信息。
模型网格对象也有其他方法,比如intersect,它将返回指定x和y点的单元格信息。对于非结构化网格和其他类型的交叉点,这些方法将继续发展。
https://stackoverflow.com/questions/55540548
复制