【发布时间】:2019-11-05 07:57:49
【问题描述】:
如何在 xarray 中创建一个有角度的 netcdf 数据切片?假设我在 100x100x100 网格上有一个垂直风速的 netcdf 文件。如果我想要一个水平范围从 [x,y]=[5,0] 开始并在 [95,100] 结束的数据的垂直横截面,我该怎么做。 xarray 中是否有一种简单的方法可以定义枢轴点和角度?
【问题讨论】:
标签: slice angle python-xarray
如何在 xarray 中创建一个有角度的 netcdf 数据切片?假设我在 100x100x100 网格上有一个垂直风速的 netcdf 文件。如果我想要一个水平范围从 [x,y]=[5,0] 开始并在 [95,100] 结束的数据的垂直横截面,我该怎么做。 xarray 中是否有一种简单的方法可以定义枢轴点和角度?
【问题讨论】:
标签: slice angle python-xarray
在尝试沿着与尺寸不对齐的路线查找高程剖面时,我遇到了类似的问题。如果您创建一个新维度“along_course”并向其添加相应的坐标,则可以沿自定义维度进行插值。在您使用额外高度坐标的情况下,我想如果您使用 meshgrid 来定义 x、y、z 的坐标,这可能会奏效。
这是我为 2D 案例所做的,您应该能够为您的 3D 案例进行修改: http://xarray.pydata.org/en/stable/interpolation.html#advanced-interpolation
startLat = 40.0
startLon = -80.0
endLat = 41.0
endLon = -79.0
n = 1000
x = xr.DataArray(np.linspace(startLon,endLon,n), dims='along_course')
y = xr.DataArray(np.linspace(startLat,endLat,n), dims='along_course')
elevation_profile = dataset['elevation'].interp(Lon=x, Lat=y, method='linear')
plt.plot(elevation_profile)
【讨论】: