日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

利用sentinel hub Python開發(fā)包查詢和下載Sentinel-2

系統(tǒng) 2287 0

利用sentinel hub Python開發(fā)包查詢和下載Sentinel-2等衛(wèi)星遙感數(shù)據(jù)

1. 描述

??sentinelhub Python包支持用戶利用兩種方式進(jìn)行衛(wèi)星遙感數(shù)據(jù)的下載和處理。第一種方式是使用OGC(WMS和WCS)Web請求,它支持Sentinel-2 L1C和L2A,Sentinel-1,Landsat 8,MODIS和DEM數(shù)據(jù)源。第二種方式是支持從AWS(Amazon Web Service)上獲取數(shù)據(jù)。從AWS上獲取數(shù)據(jù)時(shí)需要提供AWS賬號信息,當(dāng)從歐洲地區(qū)獲取數(shù)據(jù)時(shí),免費(fèi),當(dāng)從歐洲以外的地區(qū)獲取數(shù)據(jù)時(shí)AWS會從當(dāng)前的AWS賬號上收取數(shù)據(jù)流量費(fèi)。也就是說數(shù)據(jù)不出歐洲不收費(fèi),但是只要一出歐洲就會收取流量費(fèi)。配置AWS認(rèn)證(賬號)的原因,其實(shí)就是為了扣費(fèi)。比如,你可以把數(shù)據(jù)下載到歐洲的AWS主機(jī)上,也可以下載到歐洲的S3上,都是免費(fèi)的。當(dāng)你想下載到中國或者中國地區(qū)的S3上,都要收取流量費(fèi)。具體收費(fèi)標(biāo)準(zhǔn)可參考AWS的流量收費(fèi)標(biāo)準(zhǔn)。

2. 安裝

??安裝要求python 版本 >= 3.5,并且安裝有C/C++編譯器,可以使用pypi 包管理器進(jìn)行安裝。

            
              $ pip install sentinelhub --upgrade

            
          

??也可以通過clone 代碼倉進(jìn)行手動安裝

            
              $ python setup.py build    
$ python setup.py install

            
          

3. 開發(fā)包特性

3.1 OGC web 服務(wù)

??一些主要的功能與一個(gè)Sentinel Hub賬號相關(guān)聯(lián):

  • 使用Sentinel Hub帳戶支持Web地圖服務(wù)(WMS)和Web Coverage服務(wù)(WCS)請求;
  • 支持標(biāo)準(zhǔn)和自定義多光譜圖層,例如未處理的波段,真彩色圖像或NDVI;
  • 支持多時(shí)間請求;
  • 支持云覆蓋過濾;
  • 支持不同的坐標(biāo)參考系統(tǒng);
  • 支持以最常見的圖像和數(shù)據(jù)格式讀取和寫入下載的數(shù)據(jù)到磁盤;
  • 支持各種數(shù)據(jù)源:
    • Sentinel-2 L1C
    • Sentinel-2 L2A
    • Sentinel-1,
    • Landsat 8,
    • MODIS,
    • DEM。

3.2 AWS 數(shù)據(jù)下載

??該軟件包允許從AWS上的Sentinel-2下載Sentinel-2數(shù)據(jù),并將數(shù)據(jù)重建為ESA .SAFE格式。
實(shí)施以下內(nèi)容:

  • 支持Sentinel-2 L1C和Sentinel-2 L2A數(shù)據(jù);
  • 支持新舊(即緊湊).SAFE格式;
  • 僅支持下載整個(gè)產(chǎn)品或.SAFE結(jié)構(gòu)圖;
  • 支持命令行條目;
  • 可調(diào)整的線程下載,以及現(xiàn)有數(shù)據(jù)的可選重新下載(非默認(rèn));
  • 需要S-2產(chǎn)品ID或產(chǎn)品的圖塊名稱和日期。
  • 如果是Sentinel-2 L2A數(shù)據(jù),則需要AWS訪問密鑰。

4 從AWS上獲取衛(wèi)星數(shù)據(jù)示例

??該示例說明如何從AWS S3存儲桶上獲取Sentinel-2影像和其他衛(wèi)星數(shù)據(jù)。AWS上提供的數(shù)據(jù)與ESA提供的S-2數(shù)據(jù)完全相同。Sentinelhub包支持通過制定產(chǎn)品ID或者指定切片的形式獲取數(shù)據(jù)。它可以將數(shù)據(jù)下載到與AWS相同的文件結(jié)構(gòu)(S3),也可以將數(shù)據(jù)下載到ESA的.SAFE文件結(jié)構(gòu)中。

4.1 配置信息

4.1.1 配置

??主要配置AWS的憑據(jù)信息。開發(fā)包安裝完后會有一個(gè)配置文件config.json。用戶可以在終端命令行中輸入如下命令查詢配置參數(shù):

            
              $ sentinelhub.config --show

            
          

4.1.2 Sentinel Hub 功能配置

??如果需要使用Sentinel Hub的服務(wù),必須先配置instance_id參數(shù)。 如果只是查詢下載,則不需要配置該參數(shù)。 instance_id需要在Sentinel hub services上進(jìn)行注冊申請。通過以下命令設(shè)置Sentinel Hub instance ID:

            
              $ sentinelhub.config --instance_id 
              
              
            
          

??通過這樣做,包將使用這個(gè)實(shí)例ID與Sentinel Hub進(jìn)行交互,除非您有意在代碼中指定一個(gè)不同的實(shí)例ID。

4.1.3 亞馬遜S3功能配置

??開發(fā)包從亞馬遜S3存儲桶中下載Sentinel-2 L1C和L2A數(shù)據(jù)。這些數(shù)據(jù)存在請求付費(fèi)的存儲桶中,因此在使用S3相關(guān)功能時(shí)需要AWS認(rèn)證。通過在命令行中的以下命令進(jìn)行 aws_access_key_id aws_secret_access_key 參數(shù)的設(shè)置。

            
              $ sentinelhub.config --aws_access_key_id 
              
                 --aws_secret_access_key 
                
                
              
            
          

??如果沒有設(shè)置認(rèn)證,則包將自動嘗試使用本地存儲的AWS認(rèn)證(如果這些認(rèn)證是根據(jù)AWS配置說明配置的)。任何其他配置參數(shù)(例如區(qū)域)也將以同樣的方式收集。
??AWS憑據(jù)還必須具有正確的權(quán)限才能從S3 bucket下載數(shù)據(jù)。可以在AWS IAM控制臺中配置。配置足夠權(quán)限的方法有很多,其中之一就是將其設(shè)置為AmazonS3ReadOnlyAccess.
??重要提示:因?yàn)镾3中的衛(wèi)星數(shù)據(jù)包含在請求者付費(fèi)桶中,Amazon將根據(jù)Amazon S3的價(jià)格向用戶收取下載費(fèi)用。在這種情況下,用戶需要根據(jù)下載的數(shù)據(jù)量和請求數(shù)付費(fèi)。sentinelhub包最多會為每個(gè)下載的文件發(fā)出一個(gè)GET請求。文件的元數(shù)據(jù)。xml, tileInfo。json和productInfo。json將從Sentinel Hub公共存儲庫免費(fèi)獲得。

4.2 查詢可用的數(shù)據(jù)

??AWS的Sentinel-2數(shù)據(jù)存檔包含兩個(gè)存儲桶,一個(gè)包含L1C,另一個(gè)包含L2A數(shù)據(jù)。有三種方法可以搜索存檔以查找特定的切片和影像產(chǎn)品:

4.2.1 使用aws_cli工具(亞馬遜 AWS 命令行接口工具)手動檢索

??終端中輸入以下命令:

            
              aws s3 ls s3://sentinel-s2-l2a/tiles/33/U/WR/ --request-payer

            
          

注意,aws_cli工具需要事先安裝,并且配置好aws認(rèn)證信息。具體安裝和配置可參考aws_cli安裝配置

4.2.2 使用https://roda.sentinel-hub.com//上提供的服務(wù)進(jìn)行手動搜索

??直接通過瀏覽器編輯url并打開,不需要身份驗(yàn)證,例如:下載Sentinel-2 2017年1月14日L1C級產(chǎn)品瓦片1 C CV數(shù)據(jù)產(chǎn)品。

https://roda.sentinel-hub.com/sentinel-s2-l1c/tiles/1/C/CV/2017/1/14/0/

??該方法返回一個(gè)包含有數(shù)據(jù)下載信息的文件
利用sentinel hub Python開發(fā)包查詢和下載Sentinel-2等衛(wèi)星遙感數(shù)據(jù)_第1張圖片

4.2.3 使用Sentinel Hub Web Feature

??Service(WFS)按位置和時(shí)間間隔自動檢索(注意:對于此功能,必須根據(jù)配置段落配置Sentinel Hub實(shí)例ID 。該實(shí)例ID需要在Sentinel hub上進(jìn)行注冊。):

            
              from sentinelhub import WebFeatureService, BBox, CRS, DataSource   

INSTANCE_ID = ''  # In case you put instance ID into cofniguration file you can leave this unchanged      

search_bbox = BBox(bbox=[46.16, -16.15, 46.51, -15.58], crs=CRS.WGS84)      

search_time_interval = ('2017-12-01T00:00:00', '2017-12-15T23:59:59')      

wfs_iterator = WebFeatureService(search_bbox, search_time_interval,     
                                 data_source=DataSource.SENTINEL2_L1C,     
                                 maxcc=1.0, instance_id=INSTANCE_ID)  
for tile_info in wfs_iterator:
    print(tile_info)

            
          
            
              {'properties':{'path':'s3:// sentinel-s2-l1c / tiles / 38 / L / PH / 2017/12/15/0','time':'07:12:03', 'id':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','cloudCoverPercentage':28.27,'mbr':'600000,8190220 709800,8300020','date':'2017-12-15','crs':'EPSG:32738' },'type':'Feature','geometry':{'type':'MultiPolygon','crs':{'properties':{'name':'urn:ogc:def:crs:EPSG :: 4326 '},'type':'name'},'coordinates':[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967, -15.374656929]]]]}}
{'properties':{'path':'s3:// sentinel-s2-l1c / tiles / 38 / L / PH / 2017/12/10/'','time':'07:12:10', 'id':'S2A_OPER_MSI_L1C_TL_SGS__20171210T103113_A012887_T38LPH_N02.06','cloudCoverPercentage':94.02,'mbr':'600000,8190220 709800,8300020','date':'2017-12-10','crs':'EPSG:32738' },'type':'Feature','geometry':{'type':'MultiPolygon','crs':{'properties':{'name':'urn:ogc:def:crs:EPSG :: 4326 '},'type':'name'},'coordinates':[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967, -15.374656929]]]]}}
{'properties':{'path':'s3:// sentinel-s2-l1c / tiles / 38 / L / PH / 2017/12/5/0','time':'07:13:30', 'id':'S2B_OPER_MSI_L1C_TL_SGS__20171205T102636_A003907_T38LPH_N02.06','cloudCoverPercentage':91.74,'mbr':'600000,8190220 709800,8300020','date':'2017-12-05','crs':'EPSG:32738' },'type':'Feature','geometry':{'type':'MultiPolygon','crs':{'properties':{'name':'urn:ogc:def:crs:EPSG :: 4326 '},'type':'name'},'coordinates':[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967, -15.374656929]]]]}}

            
          

??從獲得的WFS迭代器中,我們可以提取唯一定義每個(gè)tile的信息。

            
              wfs_iterator.get_tiles()

            
          

[(‘38LPH’, ‘2017-12-15’, 0),
(‘38LPH’, ‘2017-12-10’, 0),
(‘38LPH’, ‘2017-12-5’, 0)]

4.2.4 使用sentinelhub.opensearch模塊中的函數(shù)自動搜索

??該方法不需要身份驗(yàn)證,直接可以用。

            
              
                from
              
               sentinelhub 
              
                import
              
               get_area_info      

              
                for
              
               tile_info 
              
                in
              
               get_area_info
              
                (
              
              search_bbox
              
                ,
              
               search_time_interval
              
                ,
              
               maxcc
              
                =
              
              
                0.5
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              tile_info
              
                )
              
            
          
            
              {'properties':{'services':{'download':{'mimeType':'text / html','url':'http://sentinel-s2-l1c.s3-website.eu-central-1 .amazonaws.com#tiles / 38 / L / PH / 2017/12/15/0 /'}},'centroid':{'type':'Point','coordinates':[23.482061803,-15.8675924285]}, 'spacecraft':'S2B','license':{'grantedFlags':無,'grantedOrganizationCountries':無,'licenseId':'未經(jīng)許可','hasToBeSigned':'never','grantedCountries':無,'描述' :{'shortName':'無許可'},'signatureQuota': -  1,'viewService':'public'},'links':[{'href':'http://opensearch.sentinel-hub。COM /恢復(fù)/收藏/ Sentinel2 / 985b7c0c-5d4a-5105-a37b-ef41f4092392.json&LANG = EN ' '類型?': '應(yīng)用/ JSON', '標(biāo)題':' GeoJSON的鏈接985b7c0c-5d4a-5105-a37b -ef41f4092392','rel':'self'}],'productType':'S2MSI1C','published':'2017-12-15T14:03:04.356331Z','sgsId':3440459,'snowCover':0 ,'collection':'Sentinel2','processingLevel':'1C','description':無,'completionDate':'2017-12-15T07:12:03Z','orbitNumber':4050,'sensorMode':無,'s3Path':'tiles / 38 / L / PH / 2017/12/15/0','updated':'2017-12-15T14:03:04.356331Z','parentIdentifier':無,'s3URI': 'S3://定點(diǎn)-S2-L1C /瓦/ 38 / L / PH /十二分之二千零十七/ 15/0 /','organisationName':無,'quicklook':無,'縮略圖':無,'標(biāo)題':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','儀表':'MSI','productIdentifier':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','startDate': '2017-12-15T07:12:03Z','cloudCover':28.27,'platform':'Sentinel-2','keywords':[],'resolution':10},'type':'Feature', '幾何':{ '類型': '的MultiPolygon', '坐標(biāo)':[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967 ,-15.374656929]]]]},'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392'}organisationName':無,'quicklook':無,'縮略圖':無,'標(biāo)題':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','儀表':'MSI','productIdentifier':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','startDate':' 2017-12-15T07:12:03Z','cloudCover':28.27,'platform':'Sentinel-2','keywords':[],'resolution':10},'type':'Feature',' geometry':{'type':'MultiPolygon','coordinates':[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967, -15.374656929]]]]},'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392'}organisationName':無,'quicklook':無,'縮略圖':無,'標(biāo)題':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','儀表':'MSI','productIdentifier':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','startDate':' 2017-12-15T07:12:03Z','cloudCover':28.27,'platform':'Sentinel-2','keywords':[],'resolution':10},'type':'Feature',' geometry':{'type':'MultiPolygon','coordinates':[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967, -15.374656929]]]]},'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392'}:無,'縮略圖':無,'標(biāo)題':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','工具':'MSI','productIdentifier':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','startDate':'2017-12-15T07:12: 03Z','cloudCover':28.27,'platform':'Sentinel-2','keywords':[],'resolution':10},'type':'Feature','geometry':{'type': 'MultiPolygon','坐標(biāo)':[[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967,-15.374656929]]]}, 'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392'}:無,'縮略圖':無,'標(biāo)題':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','工具':'MSI','productIdentifier':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','startDate':'2017-12-15T07:12: 03Z','cloudCover':28.27,'platform':'Sentinel-2','keywords':[],'resolution':10},'type':'Feature','geometry':{'type': 'MultiPolygon','坐標(biāo)':[[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967,-15.374656929]]]}, 'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392'}S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','instrument':'MSI','productIdentifier':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','startDate':'2017-12-15T07:12:03Z','cloudCover':28.27,'platform':' Sentinel-2','keywords':[],'resolution':10},'type':'Feature','geometry':{'type':'MultiPolygon','coordinates':[[[[45.931783967, -15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967,-15.374656929]]]],'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392 “}S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','instrument':'MSI','productIdentifier':'S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06','startDate':'2017-12-15T07:12:03Z','cloudCover':28.27,'platform':' Sentinel-2','keywords':[],'resolution':10},'type':'Feature','geometry':{'type':'MultiPolygon','coordinates':[[[[45.931783967, -15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967,-15.374656929]]]],'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392 “}S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06' , '的startDate': '2017-12-15T07:12:03Z', 'cloudCover':28.27, '平臺': '哨兵-2', '關(guān)鍵字':[], '分辨率':10} '類型': '特征', '幾何':{ '類型': '的MultiPolygon', '坐標(biāo)':[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552] [45.936356187,-16.367155102],[45.931783967,-15.374656929]]]],'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392'}S2B_OPER_MSI_L1C_TL_MTI__20171215T085654_A004050_T38LPH_N02.06' , '的startDate': '2017-12-15T07:12:03Z', 'cloudCover':28.27, '平臺': '哨兵-2', '關(guān)鍵字':[], '分辨率':10} '類型': '特征', '幾何':{ '類型': '的MultiPolygon', '坐標(biāo)':[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552] [45.936356187,-16.367155102],[45.931783967,-15.374656929]]]],'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392'}geometry':{'type':'MultiPolygon','coordinates':[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967, -15.374656929]]]]},'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392'}geometry':{'type':'MultiPolygon','coordinates':[[[[45.931783967,-15.374656929],[46.954538568,-15.368029755],[46.964123606,-16.360077552],[45.936356187,-16.367155102],[45.931783967, -15.374656929]]]]},'id':'985b7c0c-5d4a-5105-a37b-ef41f4092392'}

            
          

4.3 下載數(shù)據(jù)

4.3.1 下載AWS瓦片

??Sentinel-2的瓦片可以通過ESA瓦片ID(比如L1C_T01WCV_A012011_20171010T003615)或瓦片名稱(例如T38TML或38TML)、觀測時(shí)間和AWS索引來唯一地定義。AWS索引是AWS路徑中的最后一個(gè)數(shù)字(例如https://roda.sentinel-hub.com/sentinel-s2-l1c/tiles/1/C/CV/2017/1/14/0/ 索引為0)。該開發(fā)包采用第二種瓦片定義方式。按照如下方式將瓦片ID轉(zhuǎn)換成
(tile_name, time, aws_index):

            
              
                from
              
               sentinelhub 
              
                import
              
               AwsTile

tile_id 
              
                =
              
              
                'S2A_OPER_MSI_L1C_TL_MTI__20151219T100121_A002563_T38TML_N02.01'
              
              
tile_name
              
                ,
              
               time
              
                ,
              
               aws_index 
              
                =
              
               AwsTile
              
                .
              
              tile_id_to_tile
              
                (
              
              tile_id
              
                )
              
              
tile_name
              
                ,
              
               time
              
                ,
              
               aws_index

            
          

(‘38TML’, ‘2015-12-19’, 1)
根據(jù)轉(zhuǎn)換后的瓦片名稱、觀測時(shí)間和AWS索引,我們就可以下載所需要的S-2數(shù)據(jù)了。比如,我們想要下載影像的B8A和B10波段,元數(shù)據(jù)文件:瓦片信息文件(tileInfo.json),預(yù)覽文件(preview.jp2)和云掩膜文件(qi/MSK_CLOUDS_B00)。將這些文件保存至當(dāng)前路徑下的AwsData目錄下。

            
              
                from
              
               sentinelhub 
              
                import
              
               AwsTileRequest

bands 
              
                =
              
              
                [
              
              
                'B8A'
              
              
                ,
              
              
                'B10'
              
              
                ]
              
              
metafiles 
              
                =
              
              
                [
              
              
                'tileInfo'
              
              
                ,
              
              
                'preview'
              
              
                ,
              
              
                'qi/MSK_CLOUDS_B00'
              
              
                ]
              
              
data_folder 
              
                =
              
              
                './AwsData'
              
              

request 
              
                =
              
               AwsTileRequest
              
                (
              
              tile
              
                =
              
              tile_name
              
                ,
              
               time
              
                =
              
              time
              
                ,
              
               aws_index
              
                =
              
              aws_index
              
                ,
              
              
                         bands
              
                =
              
              bands
              
                ,
              
               metafiles
              
                =
              
              metafiles
              
                ,
              
               data_folder
              
                =
              
              data_folder
              
                ,
              
              
                         data_source
              
                =
              
              DataSource
              
                .
              
              SENTINEL2_L1C
              
                )
              
              

request
              
                .
              
              save_data
              
                (
              
              
                )
              
              
                # This is where the download is triggered
              
            
          

??注意,bands 必須是波段列表中的子集(詳見最后備注)。如果不想下載波段數(shù)據(jù),則將bands設(shè)置成為一個(gè)空列表就行,即bands=[]。如果缺省bands,則表示下載所有的波段數(shù)據(jù)。metafiles 必須是元文件列表中的子集 (詳見最后備注)。另外,再次調(diào)用以上方法時(shí),數(shù)據(jù)不會重新下載,除非設(shè)定參數(shù) redownload=True
獲取已經(jīng)下載的數(shù)據(jù),我們可以直接調(diào)用 get_data()

            
              data_list 
              
                =
              
               request
              
                .
              
              get_data
              
                (
              
              
                )
              
              
                # This will not redownload anything because data is already stored on disk
              
              

b8a
              
                ,
              
               b10
              
                ,
              
               tile_info
              
                ,
              
               preview
              
                ,
              
               cloud_mask 
              
                =
              
               data_list

            
          

注意,該方法直接獲取的是打開的數(shù)據(jù)而不是文件路徑。比如b8a是波段8a柵格數(shù)據(jù)的數(shù)組,tile_info是字典對象。下載的文件將保存在名稱為"tile_name,time,aws_index"的文件夾下,文件名稱與提交的參數(shù)列表中的名稱一致,比如B8A.jp2、tileInfo.json。注意文件夾名稱中的time的字符串形式為“YYYY-MM-DD”,跟由AwsTile.tile_id_to_tile函數(shù)轉(zhuǎn)換后的time字符串形式稍有差別。
??下載和讀取也可以通過一次調(diào)用 request.get_data(save_data=True) 直接完成。

4.3.2 下載AWS產(chǎn)品

??通過ESA產(chǎn)品ID獲取Sentinel-2 整個(gè)產(chǎn)品的數(shù)據(jù)。

            
              
                from
              
               sentinelhub 
              
                import
              
               AwsProductRequest

product_id 
              
                =
              
              
                'S2A_MSIL1C_20171010T003621_N0205_R002_T01WCV_20171010T003615'
              
              

request 
              
                =
              
               AwsProductRequest
              
                (
              
              product_id
              
                =
              
              product_id
              
                ,
              
               data_folder
              
                =
              
              data_folder
              
                )
              
              
                # Uncomment the the following line to download the data:
              
              
                # data_list = request.get_data(save_data=True)
              
            
          

??如果沒有定義 bands 參數(shù),將下載所有波段。如果沒有定義metafiles參數(shù),則不會下載其他元數(shù)據(jù)文件。

4.3.3 數(shù)據(jù)下載成.SAFE結(jié)構(gòu)

??通過指定參數(shù) safe_format=True 數(shù)據(jù)可以下載成.SAFE結(jié)構(gòu)。

            
              tile_request 
              
                =
              
               AwsTileRequest
              
                (
              
              tile
              
                =
              
              tile_name
              
                ,
              
               time
              
                =
              
              time
              
                ,
              
               aws_index
              
                =
              
              aws_index
              
                ,
              
              
                              bands
              
                =
              
              bands
              
                ,
              
               metafiles
              
                =
              
              metafiles
              
                ,
              
               data_folder
              
                =
              
              data_folder
              
                ,
              
              
                              safe_format
              
                =
              
              
                True
              
              
                )
              
              
                # Uncomment the the following line to download the data:
              
              
                # tile_request.save_data()
              
            
          
            
              product_id 
              
                =
              
              
                'S2A_OPER_PRD_MSIL1C_PDMC_20160121T043931_R069_V20160103T171947_20160103T171947'
              
              

product_request 
              
                =
              
               AwsProductRequest
              
                (
              
              product_id
              
                =
              
              product_id
              
                ,
              
               bands
              
                =
              
              
                [
              
              
                'B01'
              
              
                ]
              
              
                ,
              
              
                                    data_folder
              
                =
              
              data_folder
              
                ,
              
               safe_format
              
                =
              
              
                True
              
              
                )
              
              
                # Uncomment the the following line to download the data:
              
              
                # product_request.save_data()
              
            
          

??以前的產(chǎn)品包含多個(gè)瓦片。如果只想下載一些瓦片,也可以指定要下載的瓦片列表。

            
              product_request 
              
                =
              
               AwsProductRequest
              
                (
              
              product_id
              
                =
              
              product_id
              
                ,
              
               tile_list
              
                =
              
              
                [
              
              
                'T14PNA'
              
              
                ,
              
              
                'T13PHT'
              
              
                ]
              
              
                ,
              
              
                                    data_folder
              
                =
              
              data_folder
              
                ,
              
               safe_format
              
                =
              
              
                True
              
              
                )
              
              
                # Uncomment the the following line to download the data:
              
              
                # product_request.save_data()
              
            
          

備注:
波段名稱包括:

            
              
                [
              
              
                'B01'
              
              
                ,
              
              
                'B02'
              
              
                ,
              
              
                'B03'
              
              
                ,
              
              
                'B04'
              
              
                ,
              
              
                'B05'
              
              
                ,
              
              
                'B06'
              
              
                ,
              
              
                'B07'
              
              
                ,
              
              
                'B08'
              
              
                ,
              
              
                'B8A'
              
              
                ,
              
              
                'B09'
              
              
                ,
              
              
                'B10'
              
              
                ,
              
              
                'B11'
              
              
                ,
              
              
                'B12'
              
              
                ]
              
            
          

元文件數(shù)據(jù)名稱包括:

            
              
                [
              
              
                'productInfo'
              
              
                ,
              
              
                'tileInfo'
              
              
                ,
              
              
                'metadata'
              
              
                ,
              
              
                'inspire'
              
              
                ,
              
              
                'manifest'
              
              
                ,
              
              
                'datastrip/*/metadata'
              
              
                ,
              
              
                'preview'
              
              
                ,
              
              
                'preview*'
              
              
                ,
              
              
                'TCI'
              
              
                ,
              
              
                'preview/B01'
              
              
                ,
              
              
                'preview/B02'
              
              
                ,
              
              
                'preview/B03'
              
              
                ,
              
              
                'preview/B04'
              
              
                ,
              
              
                'preview/B05'
              
              
                ,
              
              
                'preview/B06'
              
              
                ,
              
              
                'preview/B07'
              
              
                ,
              
              
                'preview/B08'
              
              
                ,
              
              
                'preview/B8A'
              
              
                ,
              
              
                'preview/B09'
              
              
                ,
              
              
                'preview/B10'
              
              
                ,
              
              
                'preview/B11'
              
              
                ,
              
              
                'preview/B12'
              
              
                ,
              
              
                'qi/MSK_CLOUDS_B00'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B01'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B02'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B03'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B04'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B05'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B06'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B07'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B08'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B8A'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B09'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B10'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B11'
              
              
                ,
              
              
                'qi/MSK_DEFECT_B12'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B01'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B02'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B03'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B04'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B05'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B06'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B07'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B08'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B8A'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B09'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B10'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B11'
              
              
                ,
              
              
                'qi/MSK_DETFOO_B12'
              
              
                ,
              
              
                'qi/MSK_NODATA_B01'
              
              
                ,
              
              
                'qi/MSK_NODATA_B02'
              
              
                ,
              
              
                'qi/MSK_NODATA_B03'
              
              
                ,
              
              
                'qi/MSK_NODATA_B04'
              
              
                ,
              
              
                'qi/MSK_NODATA_B05'
              
              
                ,
              
              
                'qi/MSK_NODATA_B06'
              
              
                ,
              
              
                'qi/MSK_NODATA_B07'
              
              
                ,
              
              
                'qi/MSK_NODATA_B08'
              
              
                ,
              
              
                'qi/MSK_NODATA_B8A'
              
              
                ,
              
              
                'qi/MSK_NODATA_B09'
              
              
                ,
              
              
                'qi/MSK_NODATA_B10'
              
              
                ,
              
              
                'qi/MSK_NODATA_B11'
              
              
                ,
              
              
                'qi/MSK_NODATA_B12'
              
              
                ,
              
              
                'qi/MSK_SATURA_B01'
              
              
                ,
              
              
                'qi/MSK_SATURA_B02'
              
              
                ,
              
              
                'qi/MSK_SATURA_B03'
              
              
                ,
              
              
                'qi/MSK_SATURA_B04'
              
              
                ,
              
              
                'qi/MSK_SATURA_B05'
              
              
                ,
              
              
                'qi/MSK_SATURA_B06'
              
              
                ,
              
              
                'qi/MSK_SATURA_B07'
              
              
                ,
              
              
                'qi/MSK_SATURA_B08'
              
              
                ,
              
              
                'qi/MSK_SATURA_B8A'
              
              
                ,
              
              
                'qi/MSK_SATURA_B09'
              
              
                ,
              
              
                'qi/MSK_SATURA_B10'
              
              
                ,
              
              
                'qi/MSK_SATURA_B11'
              
              
                ,
              
              
                'qi/MSK_SATURA_B12'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B01'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B02'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B03'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B04'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B05'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B06'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B07'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B08'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B8A'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B09'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B10'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B11'
              
              
                ,
              
              
                'qi/MSK_TECQUA_B12'
              
              
                ,
              
              
                'qi/FORMAT_CORRECTNESS'
              
              
                ,
              
              
                'qi/GENERAL_QUALITY'
              
              
                ,
              
              
                'qi/GEOMETRIC_QUALITY'
              
              
                ,
              
              
                'qi/SENSOR_QUALITY'
              
              
                ,
              
              
                'auxiliary/ECMWFT'
              
              
                ]
              
            
          

相關(guān)鏈接:
1. sentinelhub 2.5.3 project description
2. Accessing satellite data from AWS with Python
3. sentinelhub configuration
4. sentinelhub-py on github


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 岳阳县| 泰顺县| 湾仔区| 文化| 轮台县| 安乡县| 来安县| 清远市| 郯城县| 固始县| 壶关县| 托里县| 绥阳县| 东海县| 台北县| 于都县| 宁安市| 亚东县| 徐州市| 渭南市| 五原县| 石棉县| 博湖县| 连城县| 云龙县| 霍林郭勒市| 永春县| 合阳县| 兰西县| 灌南县| 中方县| 喜德县| 华宁县| 丰台区| 镇宁| 贵阳市| 乳山市| 沾化县| 桐柏县| 扶余县| 湘潭市|