2

我想从 sentinel2 打开一个 jp2 图像,但是当我读取图像时

band = rasterio.open(imagetest, driver= 'JP2OpenJPEG')

我得到下一个错误

'D:\DataStorage\00_sentinel_data\L1C_T29SQB_A013147_20171228T111919\IMG_DATA\T29SQB_20171228T111451_B02.jp2' not recognized as a supported file format.

我已经用 OSGeo4W 安装了 GDAL,当我使用 gdalinfo --formats 命令时我可以看到驱动程序

JP2OpenJPEG -raster,vector- (rwv): JPEG-2000 driver based on OpenJPEG library

我看到的唯一可能是问题是,当我看到我使用 python 的 gdal 格式时,JP2OpenJPEG 驱动程序不存在。

from osgeo import gdal
for i in range(gdal.GetDriverCount()):
    drv = gdal.GetDriver(i)
    if drv.GetMetadataItem(gdal.DCAP_RASTER):
        print(drv.GetMetadataItem(gdal.DMD_LONGNAME), drv.GetMetadataItem(gdal.DMD_EXTENSIONS))

关于发生了什么的任何想法?

Python 版本:3.7 Gdal 版本:2.3.3 Rasterio 版本:1.0.21

谢谢

4

1 回答 1

2

我遇到过同样的问题。看起来这是 Anaconda 的 GDAL 中的一个问题。这是解决问题的一种方法:

https://gis.stackexchange.com/a/250837/149170

不幸的是,升级/降级 Anaconda 中的基础包对我不起作用。

我发现用 pip 安装包“fiona”对我来说是降级 gdal。我终于通过使用 conda 安装 fiona 解决了降级 gdal 的问题:

conda install fiona
于 2019-09-12T16:51:54.480 回答