使用rasterio和s3打开栅格

问题描述 投票:1回答:1

我在Amazon S3存储桶中存储栅格,并希望在我的Django docker容器中使用已安装的rasterio库打开特定对象。

AWS_ACCESS_KEY_ID和AWS_ACCESS_KEY_ID包含在docker-compose.yml env变量中。

在docker容器内并尝试:

$ python manage.py shell
$ import rasterio
$ with rasterio.open(url_to_s3_object) as file:
$ ....print(file)

我收到错误:

Traceback (most recent call last):
  File "rasterio/_base.pyx", line 72, in rasterio._base.DatasetReader.start (rasterio/_base.c:2847)
  File "rasterio/_base.pyx", line 74, in rasterio._base.DatasetReader.start (rasterio/_base.c:2799)
  File "rasterio/_err.pyx", line 196, in rasterio._err.CPLErrors.check (rasterio/_err.c:1773)
  rasterio._err.CPLE_OpenFailed: {URL TO S3 OBJECT} does not exist in the file system, and is not recognised as a supported dataset name.

解决方案是什么?

在本地机器上一切正常。

django docker amazon-s3 gis rasterio
1个回答
1
投票

找到了解决方案。 rasterio lib至少在GDAL 2.1.0下使用s3正确 - https://mapbox.github.io/rasterio/topics/vsi.html升级GDAL解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.