1

我正在使用示例代码进行 NDVI 计算,来自Dask. 代码链接如下。 计算 NDVI 的代码

在使用以下代码块创建 xarray 数据集时,

import xarray as xr
red = xr.open_rasterio('red.tif', chunks={'band': 1, 'x': 1024, 'y': 1024})
nir = xr.open_rasterio('nir.tif', chunks={'band': 1, 'x': 1024, 'y': 1024})
nir

我收到以下导入错误

ImportError                               Traceback (most recent call last)
<ipython-input-42-a3df5765cb4e> in <module>
  1 import xarray as xr
----> 2 red = xr.open_rasterio('red.tif', chunks={'band': 1, 'x': 1024, 'y': 1024})
  3 nir = xr.open_rasterio('nir.tif', chunks={'band': 1, 'x': 1024, 'y': 1024})
  4 nir
/usr/local/lib/python3.5/dist-packages/xarray/backends/rasterio_.py in open_rasterio(filename, parse_coordinates, chunks, cache, lock)
213     """
214     import rasterio
--> 215     from rasterio.vrt import WarpedVRT
216     vrt_params = None
217     if isinstance(filename, rasterio.io.DatasetReader):
ImportError: No module named 'rasterio.vrt'

我已尽力搜索,但找不到帮助。如果有人可以帮助我确定此导入错误的原因,那就太好了。

4

2 回答 2

1

您可能需要考虑使用 conda 包管理器,它可以以一致的方式处理 Python 包(如 Xarray)以及二进制包(如 GDAL 和 rasterio)。

于 2019-05-04T01:56:21.643 回答
0

当我收到该错误时,通常是包依赖关系不同步。Aconda update --all为我解决了它。

于 2019-11-07T11:54:07.373 回答