【问题标题】:How to plot geotiff files with xarray?如何用 xarray 绘制 geotiff 文件?
【发布时间】:2021-02-03 18:41:06
【问题描述】:

我从 Google 地球引擎下载了一些数据。数据如下所示:

import xarray as xr
da = xr.open_rasterio('myFile.tiff')

da

我可以显示图像,但我想避免考虑等于零的值。

f,ax = plt.subplots()
da.plot(ax=ax, cmap='hot_r')

【问题讨论】:

    标签: python python-xarray geotiff


    【解决方案1】:

    xarray 有一个相当广泛的matplotlib 后端,请查看不同绘图选项上的documentation

    要回答您的问题,您可以使用 DataArrayplot.imshow 方法来可视化您的栅格(您还可以在此处传递颜色图、范围、颜色条等的关键字......)。

    要排除等于(或等于及以下)0 的值,只需在绘图前运行 where,将所有不符合指定条件的值设置为 Nan,从而排除绘图。请注意,这会改变数据类型。

    最后一件事,plot.imshow 需要一个 2d 数组,而您的数据集似乎有一个只有一个“层”的第三维 band。您可以在whereplot.imshow 之前使用squeeze 轻松删除它。

    这是一个例子:

    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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-20
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      • 2016-01-26
      • 2023-02-08
      • 1970-01-01
      相关资源
      最近更新 更多