利用sentinel hub Python开发包查询和下载Sentinel-2

系统 1828 0

利用sentinel hub Python开发包查询和下载Sentinel-2等卫星遥感数据

1. 描述

  sentinelhub Python包支持用户利用两种方式进行卫星遥感数据的下载和处理。第一种方式是使用OGC(WMS和WCS)Web请求,它支持Sentinel-2 L1C和L2A,Sentinel-1,Landsat 8,MODIS和DEM数据源。第二种方式是支持从AWS(Amazon Web Service)上获取数据。从AWS上获取数据时需要提供AWS账号信息,当从欧洲地区获取数据时,免费,当从欧洲以外的地区获取数据时AWS会从当前的AWS账号上收取数据流量费。也就是说数据不出欧洲不收费,但是只要一出欧洲就会收取流量费。配置AWS认证(账号)的原因,其实就是为了扣费。比如,你可以把数据下载到欧洲的AWS主机上,也可以下载到欧洲的S3上,都是免费的。当你想下载到中国或者中国地区的S3上,都要收取流量费。具体收费标准可参考AWS的流量收费标准。

2. 安装

  安装要求python 版本 >= 3.5,并且安装有C/C++编译器,可以使用pypi 包管理器进行安装。

            
              $ pip install sentinelhub --upgrade

            
          

  也可以通过clone 代码仓进行手动安装

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

            
          

3. 开发包特性

3.1 OGC web 服务

  一些主要的功能与一个Sentinel Hub账号相关联:

  • 使用Sentinel Hub帐户支持Web地图服务(WMS)和Web Coverage服务(WCS)请求;
  • 支持标准和自定义多光谱图层,例如未处理的波段,真彩色图像或NDVI;
  • 支持多时间请求;
  • 支持云覆盖过滤;
  • 支持不同的坐标参考系统;
  • 支持以最常见的图像和数据格式读取和写入下载的数据到磁盘;
  • 支持各种数据源:
    • Sentinel-2 L1C
    • Sentinel-2 L2A
    • Sentinel-1,
    • Landsat 8,
    • MODIS,
    • DEM。

3.2 AWS 数据下载

  该软件包允许从AWS上的Sentinel-2下载Sentinel-2数据,并将数据重建为ESA .SAFE格式。
实施以下内容:

  • 支持Sentinel-2 L1C和Sentinel-2 L2A数据;
  • 支持新旧(即紧凑).SAFE格式;
  • 仅支持下载整个产品或.SAFE结构图;
  • 支持命令行条目;
  • 可调整的线程下载,以及现有数据的可选重新下载(非默认);
  • 需要S-2产品ID或产品的图块名称和日期。
  • 如果是Sentinel-2 L2A数据,则需要AWS访问密钥。

4 从AWS上获取卫星数据示例

  该示例说明如何从AWS S3存储桶上获取Sentinel-2影像和其他卫星数据。AWS上提供的数据与ESA提供的S-2数据完全相同。Sentinelhub包支持通过制定产品ID或者指定切片的形式获取数据。它可以将数据下载到与AWS相同的文件结构(S3),也可以将数据下载到ESA的.SAFE文件结构中。

4.1 配置信息

4.1.1 配置

  主要配置AWS的凭据信息。开发包安装完后会有一个配置文件config.json。用户可以在终端命令行中输入如下命令查询配置参数:

            
              $ sentinelhub.config --show

            
          

4.1.2 Sentinel Hub 功能配置

  如果需要使用Sentinel Hub的服务,必须先配置instance_id参数。 如果只是查询下载,则不需要配置该参数。 instance_id需要在Sentinel hub services上进行注册申请。通过以下命令设置Sentinel Hub instance ID:

            
              $ sentinelhub.config --instance_id 
              
              
            
          

  通过这样做,包将使用这个实例ID与Sentinel Hub进行交互,除非您有意在代码中指定一个不同的实例ID。

4.1.3 亚马逊S3功能配置

  开发包从亚马逊S3存储桶中下载Sentinel-2 L1C和L2A数据。这些数据存在请求付费的存储桶中,因此在使用S3相关功能时需要AWS认证。通过在命令行中的以下命令进行 aws_access_key_id aws_secret_access_key 参数的设置。

            
              $ sentinelhub.config --aws_access_key_id 
              
                 --aws_secret_access_key 
                
                
              
            
          

  如果没有设置认证,则包将自动尝试使用本地存储的AWS认证(如果这些认证是根据AWS配置说明配置的)。任何其他配置参数(例如区域)也将以同样的方式收集。
  AWS凭据还必须具有正确的权限才能从S3 bucket下载数据。可以在AWS IAM控制台中配置。配置足够权限的方法有很多,其中之一就是将其设置为AmazonS3ReadOnlyAccess.
  重要提示:因为S3中的卫星数据包含在请求者付费桶中,Amazon将根据Amazon S3的价格向用户收取下载费用。在这种情况下,用户需要根据下载的数据量和请求数付费。sentinelhub包最多会为每个下载的文件发出一个GET请求。文件的元数据。xml, tileInfo。json和productInfo。json将从Sentinel Hub公共存储库免费获得。

4.2 查询可用的数据

  AWS的Sentinel-2数据存档包含两个存储桶,一个包含L1C,另一个包含L2A数据。有三种方法可以搜索存档以查找特定的切片和影像产品:

4.2.1 使用aws_cli工具(亚马逊 AWS 命令行接口工具)手动检索

  终端中输入以下命令:

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

            
          

注意,aws_cli工具需要事先安装,并且配置好aws认证信息。具体安装和配置可参考aws_cli安装配置

4.2.2 使用https://roda.sentinel-hub.com//上提供的服务进行手动搜索

  直接通过浏览器编辑url并打开,不需要身份验证,例如:下载Sentinel-2 2017年1月14日L1C级产品瓦片1 C CV数据产品。

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

  该方法返回一个包含有数据下载信息的文件
利用sentinel hub Python开发包查询和下载Sentinel-2等卫星遥感数据_第1张图片

4.2.3 使用Sentinel Hub Web Feature

  Service(WFS)按位置和时间间隔自动检索(注意:对于此功能,必须根据配置段落配置Sentinel Hub实例ID 。该实例ID需要在Sentinel hub上进行注册。):

            
              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迭代器中,我们可以提取唯一定义每个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模块中的函数自动搜索

  该方法不需要身份验证,直接可以用。

            
              
                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':'未经许可','hasToBeSigned':'never','grantedCountries':无,'描述' :{'shortName':'无许可'},'signatureQuota': -  1,'viewService':'public'},'links':[{'href':'http://opensearch.sentinel-hub。COM /恢复/收藏/ Sentinel2 / 985b7c0c-5d4a-5105-a37b-ef41f4092392.json&LANG = EN ' '类型?': '应用/ JSON', '标题':' 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://定点-S2-L1C /瓦/ 38 / L / PH /十二分之二千零十七/ 15/0 /','organisationName':无,'quicklook':无,'缩略图':无,'标题':'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', '坐标':[[[[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':无,'缩略图':无,'标题':'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':无,'缩略图':无,'标题':'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'}:无,'缩略图':无,'标题':'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','坐标':[[[[[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','工具':'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','坐标':[[[[[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', '关键字':[], '分辨率':10} '类型': '特征', '几何':{ '类型': '的MultiPolygon', '坐标':[[[[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', '关键字':[], '分辨率':10} '类型': '特征', '几何':{ '类型': '的MultiPolygon', '坐标':[[[[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 下载数据

4.3.1 下载AWS瓦片

  Sentinel-2的瓦片可以通过ESA瓦片ID(比如L1C_T01WCV_A012011_20171010T003615)或瓦片名称(例如T38TML或38TML)、观测时间和AWS索引来唯一地定义。AWS索引是AWS路径中的最后一个数字(例如https://roda.sentinel-hub.com/sentinel-s2-l1c/tiles/1/C/CV/2017/1/14/0/ 索引为0)。该开发包采用第二种瓦片定义方式。按照如下方式将瓦片ID转换成
(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)
根据转换后的瓦片名称、观测时间和AWS索引,我们就可以下载所需要的S-2数据了。比如,我们想要下载影像的B8A和B10波段,元数据文件:瓦片信息文件(tileInfo.json),预览文件(preview.jp2)和云掩膜文件(qi/MSK_CLOUDS_B00)。将这些文件保存至当前路径下的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 必须是波段列表中的子集(详见最后备注)。如果不想下载波段数据,则将bands设置成为一个空列表就行,即bands=[]。如果缺省bands,则表示下载所有的波段数据。metafiles 必须是元文件列表中的子集 (详见最后备注)。另外,再次调用以上方法时,数据不会重新下载,除非设定参数 redownload=True
获取已经下载的数据,我们可以直接调用 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

            
          

注意,该方法直接获取的是打开的数据而不是文件路径。比如b8a是波段8a栅格数据的数组,tile_info是字典对象。下载的文件将保存在名称为"tile_name,time,aws_index"的文件夹下,文件名称与提交的参数列表中的名称一致,比如B8A.jp2、tileInfo.json。注意文件夹名称中的time的字符串形式为“YYYY-MM-DD”,跟由AwsTile.tile_id_to_tile函数转换后的time字符串形式稍有差别。
  下载和读取也可以通过一次调用 request.get_data(save_data=True) 直接完成。

4.3.2 下载AWS产品

  通过ESA产品ID获取Sentinel-2 整个产品的数据。

            
              
                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 参数,将下载所有波段。如果没有定义metafiles参数,则不会下载其他元数据文件。

4.3.3 数据下载成.SAFE结构

  通过指定参数 safe_format=True 数据可以下载成.SAFE结构。

            
              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()
              
            
          

  以前的产品包含多个瓦片。如果只想下载一些瓦片,也可以指定要下载的瓦片列表。

            
              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'
              
              
                ]
              
            
          

元文件数据名称包括:

            
              
                [
              
              
                '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'
              
              
                ]
              
            
          

相关链接:
1. sentinelhub 2.5.3 project description
2. Accessing satellite data from AWS with Python
3. sentinelhub configuration
4. sentinelhub-py on github


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论