如何解决如何使用 xarray 绘制 geotiff 文件?
我从 Google Earth Engine 下载了一些数据。数据如下所示:
import xarray as xr
da = xr.open_Rasterio('myFile.tiff')
da
我可以显示图像,但我想避免考虑等于零的值。
f,ax = plt.subplots()
da.plot(ax=ax,cmap='hot_r')
解决方法
xarray
有一个相当广泛的 matplotlib
后端,检查不同绘图选项的 documentation。
要回答您的问题,您可以使用 plot.imshow
的 DataArray
方法来可视化您的栅格(您还可以在那里传递颜色图、范围、颜色条等的关键字...)。
要排除等于(或等于和小于)0
的值,只需在绘图前运行 where
,将所有不符合指定条件的值设置为 Nan
,因此排除绘图。请注意,这会更改数据类型。
最后一件事,plot.imshow
需要一个 2d
数组,而您的数据集似乎有一个只有一个“层”的第三维 band
。您可以在 squeeze
或 where
之前使用 plot.imshow
轻松删除它。
这是一个例子:
import xarray as xr
# test data
ds = xr.tutorial.load_dataset("rasm")
# replicate 3d data array
da = ds.isel(time=0).Tair.expand_dims({"band":1})
# exclude vals below or equal to 0,squeeze to 2d and plot
da.where(da>=0).squeeze().plot.imshow(cmap="hot_r")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。