Rasterio ile S3 Sentinel-2 görüntü dosyalarını okuma


12

Şu anda (şu anda Sinergise tarafından barındırılan ve burada bulunabilir ) Sentinel-2 AWS .jp2 görüntü dosyalarını açmak için rasterio kullandıktan sonra bir 'Erişim Reddedildi' hatası yaşıyorum .

Kodum şöyle görünüyor:

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

Yanıt:

---------------------------------------------------------------------------
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 ortamlarını doğru şekilde kullanıp kullanmadığımdan emin değilim, aws session token anahtarı gizli ve erişim anahtarları sağlansa bile gerekli mi? Ayrıca, Landsat-8 url'si sağlandığında bu işlevin düzgün çalıştığını da eklemeliyim (ör. Http://landsat-pds.s3.amazonaws.com/L8/139/045/LC81390452014295LGN00/LC81390452014295LGN00_B1.TIF )

Sürümler (Anaconda üzerinden kurulur):

rasterio - 0.36.0

piton - 2.7

Yukarıdaki durum belirsizse üzgünüm. Sorularım olurdu - bu neden Sentinel-2 için değil Landsat-8 için çalışıyor? Rasterio Sentinel-2 AWS verilerini açmak için nasıl kullanılabilir?

Yanıtlar:


9

Yanlış grup adı kullandığınıza inanıyorum. Olmalı s3://sentinel-s2-l1c, değils3://sentinel-pds

Deneyin:

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

Daha fazla bilgiyi burada bulabilirsiniz: http://sentinel-pds.s3-website.eu-central-1.amazonaws.com/ ve https://aws.amazon.com/public-datasets/sentinel-2/


+1 - AWS'deki Sentinel-2 özellikle şunları belirtir: "LOCATION s3: // sentinel-s2-l1c"
user2856 18:16

Evet, cevaptaki URL ile çalışır. Cevap kabul edilmelidir. Not: Ücretsiz JP 2000 sürücülerini kullanarak bu JP2 dosyalarına erişimin performansı düşüktür. JP2 ile iyi bir performans elde etmek için örneğin ücretsiz olmayan MrSID SDK'yı kullanarak kaynaktan GDAL oluşturmanız gerekir. Acaba GeoTIFF yerine JP2 ile gitmelerinin bir nedeni var mı?
sgillies

@sgillies rasterio manylinux tekerleklerinin bu performans vuruşunu çektiği anlamına gelen Dsoes? Şans eseri (herkese açık) kıyaslamalar / karşılaştırmalar yaptınız mı?
Kersten

1
MrSID SDK'yı tekerleklerle dağıtamıyorum ve bu yüzden ücretsiz Jasper tabanlı JP2 sürücüsünü kullanıyorlar. Yayınlanacak kriterim yok.
sgillies
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.