rasterioを使用したS3 Sentinel-2イメージファイルの読み取り


12

現在、rasterioを使用してSentinel-2 AWS .jp2イメージファイルを開くと「アクセス拒否」エラーが発生します(現在はSinergiseによってホストされており、こちらにあります)。

私のコードは次のようになります。

import rasterio

access_key = '*****************'
secret_access_key = '***********************'
region_name = 'eu-central-1'

Session = rasterio.env.Env(aws_access_key_id=access_key,
             aws_secret_access_key=secret_access_key,
             region_name=region_name)

url = 's3://sentinel-pds/tiles/10/S/DG/2015/12/7/0/B01.jp2'

with Session:
    with rasterio.open(url) as dataset:
            print dataset

応答は次のとおりです。

---------------------------------------------------------------------------
CPLE_AWSAccessDenied                      Traceback (most recent call last)
<ipython-input-1-4f6da7274649> in <module>()
     12 
     13 with Session:
---> 14     with rasterio.open(url) as dataset:
     15         print dataset

/Users/Barney/anaconda/lib/python2.7/site-packages/rasterio/__init__.pyc in open(path, mode, driver, width, height, count, crs, transform, dtype, nodata,  **kwargs)
    191         raise ValueError(
    192             "mode string must be one of 'r', 'r+', or 'w', not %s" % mode)
--> 193     s.start()
    194     return s
    195 

rasterio/_base.pyx in rasterio._base.DatasetReader.start (rasterio/_base.c:2847)()

rasterio/_base.pyx in rasterio._base.DatasetReader.start (rasterio/_base.c:2799)()

rasterio/_err.pyx in rasterio._err.CPLErrors.check (rasterio/_err.c:1773)()

CPLE_AWSAccessDenied: Access Denied 

rasterio aws環境を正しく使用しているかどうかわかりませんが、シークレットキーとアクセスキーが提供されていても、awsセッショントークンキーは必要ですか?Landsat-8のURL(http://landsat-pds.s3.amazonaws.com/L8/139/045/LC81390452014295LGN00/LC81390452014295LGN00_B1.TIF)が提供されている場合、この関数が正しく機能することも追加する必要があります。

バージョン(Anacondaからインストール):

rasterio-0.36.0

python-2.7

上記があいまいな場合は申し訳ありません。私の質問は-なぜこれはLandsat-8で機能するのにSentinel-2では機能しないのでしょうか?Rasterioを使用してSentinel-2 AWSデータを開くにはどうすればよいですか?

回答:


9

間違ったバケット名を使用していると思われます。それはあるべきs3://sentinel-s2-l1cではなく、s3://sentinel-pds

試してください:

url = 's3://sentinel-s2-l1c/tiles/10/S/DG/2015/12/7/0/B01.jp2'

詳細はこちら をご覧くださいhttp : //sentinel-pds.s3-website.eu-central-1.amazonaws.com/および https://aws.amazon.com/public-datasets/sentinel-2/


1 - センティネル-2 AWS上で、具体的に述べ: "LOCATION S3://センチネル-S2-L1C"
user2856

はい、答えのURLで動作します。回答を受け入れる必要があります。注:無料のJPEG 2000ドライバーを使用してこれらのJP2ファイルにアクセスすると、パフォーマンスが低下します。JP2で適切なパフォーマンスを得るには、たとえばフリーではないMrSID SDKを使用して、ソースからGDALを構築する必要があります。GeoTIFFではなくJP2を使用した理由があるのだろうか?
sgillies

@sgillies Dsoesは、rasterio manylinuxホイールがこのパフォーマンスヒットに苦しむことを意味しますか?たまたま(公の)ベンチマーク/比較をしましたか?
カーステン

1
ホイールを使用してMrSID SDKを配布することはできないため、無料のJasperベースのJP2ドライバーを使用します。公開するベンチマークがありません。
sgillies
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.