python - 如何使用 xarray 绘制 geotiff 文件?
问题描述
我从谷歌地球引擎下载了一些数据。数据如下所示:
import xarray as xr
da = xr.open_rasterio('myFile.tiff')
da
我可以显示图像,但我想避免考虑等于零的值。
f,ax = plt.subplots()
da.plot(ax=ax, cmap='hot_r')
解决方案
xarray
具有相当广泛的matplotlib
后端,请查看有关不同绘图选项的文档。
要回答您的问题,您可以使用您的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")
推荐阅读
- firebase - Flutter Page 视图未在 Future Builder 异步快照中更新
- excel - 如何在到达 Excel 的最后一行时停止 VBA 宏
- dart - Dart 中惯用的“不是”
- javascript - 我的相机无法在 3d 空间中正确移动
- excel - 带有图像的 VBA 价格表:TopLeftCell 给出了错误的地址
- javascript - 如何将输入文件列表读入行动?
- react-native - 考虑到 redux 状态,是否可以禁用底部标签导航?
- google-app-engine - GCP 可扩展服务代理在转发请求时遇到错误
- html - Squarespace 是否不允许在自定义 HTML 中使用类和 id 选择器,然后在 CSS 编辑器中定位?
- android-studio - 自过去两周以来,设计预览控制台正在加载