SENTINEL2——Sentinel-2产品

司机简称

哨兵2

Driver built-in by default

This driver is built-in by default

Sentinel-2 1B级、1C级和2A级产品的驱动器。从GDAL 2.1.3开始,也支持使用“安全压缩”编码的1C级。

如果打开SENTINEL2数据产品根目录下的主metadata.xml文件(其名称通常为 S2A_OPER_MTD_SAFL1C_. …xml)。它还可以直接接受从 Sentinels Scientific Data Hub

为了能够读取图像,GDAL必须配置至少一个支持JPEG2000的驱动程序。

SENTINEL-2数据在可见光和近红外(VNIR)和短波红外(SWIR)光谱的13个波段上采集,如下表所示:

乐队名称

分辨率(m)

中心波长(nm)

带宽(nm)

目的

B01型

60

443

20

气溶胶检测

B02型

10

490

65

蓝色

B03型

10

560

35

绿色

B04型

10

665

30

红色

B05型

20

705

15

植被分类

B06型

20

740

15

植被分类

B07型

20

783

20

植被分类

B08型

10

842

115

近红外

B08A型

20

865

20

植被分类

B09型

60

945

20

水蒸气

B10

60

1375

30

卷云

B11

20

1610

90

雪/冰/云识别

B12

20

2190

180

雪/冰/云识别

驱动程序功能

Supports Georeferencing

This driver supports georeferencing

Supports VirtualIO

This driver supports virtual I/O operations (/vsimem/, etc.)

1B级

Level-1B products are composed of several "granules" of ~ 25 km across-track x ~ 23km along-track, in sensor geometry (i.e. non ortho-rectified). Each granule correspond to the imagery captured by one of the 12 detectors across-track (for a total 290 km swath width). The imagery of each band is put in a separate JPEG2000 file.

1B级产品面向高级用户。

当打开主metadata.xml文件时,驱动程序通常会公开N * 3个子数据集,其中N是构成用户产品的颗粒数量,3对应于空间分辨率的数量。其中一个用于4个10米频段,一个用于6个20米频段,一个用于3个60米频段。注意:此类子数据集的数量通常可以是几百个或更多。

还可以打开给定颗粒的metadata.xml,在这种情况下,将为3个空间分辨率中的每一个报告3个子数据集。

打开子数据集时,地理参照由图像4角和图像中心的5个地面控制点组成。

1C级

在UTM WGS84项目中,1C级产品采用100 km x 100 km的正交矫正瓷砖。每个波段的图像放在单独的JPEG2000文件中。

打开主metadata.xml文件时,驱动程序通常会公开4个子数据集:

  • 一个是4个10米波段,

  • 一个是6个20米波段,

  • 一个给360米乐队,

  • 一个用于以320米分辨率预览R、G、B波段

所有分辨率和投影相同的瓷砖都镶嵌在一起。如果产品跨越多个UTM区域,它们将作为单独的子数据集公开。

还可以打开每个磁贴的metadata.xml文件(仅用于原始L1C编码,不支持“安全压缩”编码),在这种情况下,驱动程序通常会公开上述4种类型的子数据集。

2A级

与1C级类似,2A级产品在UTM WGS84投影图中以100 km x 100 km的正射矫正瓷砖组织。每个波段的图像放在单独的JPEG2000文件中。这些值是大气底部(BOA)反射系数。还计算了L2A特定波段:

  • AOT:气溶胶光学厚度图(550nm处)

  • CLD:栅格遮罩值范围从0(高置信度晴空)到100(高置信度多云)

  • 场景分类。值的含义在标注栏的类别名称中指示。

  • SNW:栅格遮罩值范围从0(高置信度无雪/冰)到100(高置信度雪/冰)

  • WVP:场景平均水汽图

打开主metadata.xml文件时,驱动程序通常会公开4个子数据集:

  • 一个用于4个本地10m波段和L2A特定波段(AOT和WVP)

  • 一个用于6个本机20米波段,加上10米波段(B8除外),重新采样到20米和L2A特定波段(AOT、WVP、SCL、CLD和SNW),

  • 一个用于3个本地60米波段,再加上10米和20米波段(B8除外),重新采样到60米和L2A特定波段(AOT、WVP、SCL、CLD和SNW),

  • 一个用于以320米分辨率预览R、G、B波段

所有分辨率和投影相同的瓷砖都镶嵌在一起。如果产品跨越多个UTM区域,它们将作为单独的子数据集公开。

元数据

主Metadata.xml文件的元数据在常规元数据域中可用。整个XML文件也可以通过XML:SENTINEL2元数据域访问。

子数据集基于VRT格式,因此可以通过查询xml:VRT元数据域来获得该VRT的定义。

L1C和L2A的性能问题

由于Sentinel-2产品的结构方式,特别是由于涉及的JPEG2000文件的数量,对于由许多平铺制成的产品,缩小操作可能非常缓慢。对于交互式显示,生成概述可能很有用(本身可能是一个缓慢的操作)。这可以使用子数据集名称上的gdaladdo实用程序来完成。概述文件是在main metadata.xml文件旁边创建的,具有相同的名称,但前缀为XX_EPSG_yyyy.tif.ovr,其中XX=10m、20m、60m或PREVIEW,YYYYY是EPSG代码。

技巧:如果缩小预览的内容对用例不重要,可以使用NONE重采样方法('-r NONE'作为gdaladdo开关)即时创建空白概述。

When converting a subdataset to another format like tiled GeoTIFF, if using the JP2OpenJPEG driver, the recommended minimum value for the GDAL_CACHEMAX configuration option is (subdataset_width * 2048 * 2 ) / 10000000 if generating a INTERLEAVE=BAND GeoTIFF, or that value multiplied by the number of bands for the default INTERLEAVE=PIXEL configuration. The current versions of the OpenJPEG libraries can also consume a lot of memory to decode a JPEG2000 tile (up to 600MB), so you might want to specify the GDAL_NUM_THREADS configuration option to a reasonable number of threads if you are short of memory (the default value is the total number of virtual CPUs).

打开选项

可以向驱动程序传递以下打开选项:

  • ALPHA =是/否:是否公开阿尔法波段。默认为否。如果设置,则在具有alpha通道的Sentinel2频带之后添加额外的频带。其价值是:

    • 在没有平铺的区域上为0,或者当平铺数据设置为no data或饱和特殊值时,

    • 4095在有有效数据的区域。

注意:以上打开选项也可以指定为配置选项,方法是在打开选项名称前加上 SENTINEL2_ (例如哨兵阿尔法)。

实例

  • 打开Sentinel2产品的主元数据文件:

    $ gdalinfo S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml
    
    Driver: SENTINEL2/Sentinel 2
    Files: S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml
    Size is 512, 512
    Coordinate System is `'
    Metadata:
      CLOUD_COVERAGE_ASSESSMENT=0.0
      DATATAKE_1_DATATAKE_SENSING_START=2015-08-13T10:10:26.027Z
      DATATAKE_1_DATATAKE_TYPE=INS-NOBS
      DATATAKE_1_ID=GS2A_20150813T101026_000734_N01.03
      DATATAKE_1_SENSING_ORBIT_DIRECTION=DESCENDING
      DATATAKE_1_SENSING_ORBIT_NUMBER=22
      DATATAKE_1_SPACECRAFT_NAME=Sentinel-2A
      DEGRADED_ANC_DATA_PERCENTAGE=0
      DEGRADED_MSI_DATA_PERCENTAGE=0
      FOOTPRINT=POLYGON((11.583573986577191 46.02490454425771, 11.538730738326866 45.03757398414644, 12.93007028286133 44.99812645604949, 12.999359413660665 45.98408391203724, 11.583573986577191 46.02490454425771, 11.583573986577191 46.02490454425771))
      FORMAT_CORRECTNESS_FLAG=PASSED
      GENERAL_QUALITY_FLAG=PASSED
      GENERATION_TIME=2015-08-18T10:14:40.000283Z
      GEOMETRIC_QUALITY_FLAG=PASSED
      PREVIEW_GEO_INFO=BrowseImageFootprint
      PREVIEW_IMAGE_URL=https://pdmcdam2.sentinel2.eo.esa.int/s2pdgs_geoserver/geo_service.php?service=WMS&version=1.1.0&request=GetMap&layers=S2A_A000022_N0103:S2A_A000022_N0103&styles=&bbox=11.538730738326866,44.99812645604949,12.999359413660665,46.02490454425771&width=1579&height=330&srs=EPSG:4326&format=image/png&time=2015-08-13T10:24:06.0Z/2015-08-13T10:24:06.0Z
      PROCESSING_BASELINE=01.03
      PROCESSING_LEVEL=Level-1C
      PRODUCT_START_TIME=2015-08-13T10:24:06.637Z
      PRODUCT_STOP_TIME=2015-08-13T10:24:06.637Z
      PRODUCT_TYPE=S2MSI1C
      QUANTIFICATION_VALUE=1000
      RADIOMETRIC_QUALITY_FLAG=PASSED
      REFERENCE_BAND=B1
      REFLECTANCE_CONVERSION_U=0.973195961910065
      SENSOR_QUALITY_FLAG=PASSED
      SPECIAL_VALUE_NODATA=1
      SPECIAL_VALUE_SATURATED=0
    Subdatasets:
      SUBDATASET_1_NAME=SENTINEL2_L1C:S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml:10m:EPSG_32632
      SUBDATASET_1_DESC=Bands B2, B3, B4, B8 with 10m resolution, UTM 32N
      SUBDATASET_2_NAME=SENTINEL2_L1C:S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml:20m:EPSG_32632
      SUBDATASET_2_DESC=Bands B5, B6, B7, B8A, B11, B12 with 20m resolution, UTM 32N
      SUBDATASET_3_NAME=SENTINEL2_L1C:S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml:60m:EPSG_32632
      SUBDATASET_3_DESC=Bands B1, B9, B10 with 60m resolution, UTM 32N
      SUBDATASET_4_NAME=SENTINEL2_L1C:S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml:PREVIEW:EPSG_32632
      SUBDATASET_4_DESC=RGB preview, UTM 32N
    Corner Coordinates:
    Upper Left  (    0.0,    0.0)
    Lower Left  (    0.0,  512.0)
    Upper Right (  512.0,    0.0)
    Lower Right (  512.0,  512.0)
    Center      (  256.0,  256.0)
    
  • 直接打开.zip文件:

    $ gdalinfo S2A_OPER_PRD_MSIL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.zip
    
  • 打开L1C子数据集的10米分辨率波段:

    $ gdalinfo SENTINEL2_L1C:S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml:10m:EPSG_32632
    
    Driver: SENTINEL2/Sentinel 2
    Files: S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml
           ./GRANULE/S2A_OPER_MSI_L1C_TL_MTI__20150813T201603_A000734_T32TQR_N01.03/S2A_OPER_MTD_L1C_TL_MTI__20150813T201603_A000734_T32TQR.xml
           ./GRANULE/S2A_OPER_MSI_L1C_TL_MTI__20150813T201603_A000734_T32TQR_N01.03/IMG_DATA/S2A_OPER_MSI_L1C_TL_MTI__20150813T201603_A000734_T32TQR_B04.jp2
           ./GRANULE/S2A_OPER_MSI_L1C_TL_MTI__20150813T201603_A000734_T32TQR_N01.03/IMG_DATA/S2A_OPER_MSI_L1C_TL_MTI__20150813T201603_A000734_T32TQR_B03.jp2
           ./GRANULE/S2A_OPER_MSI_L1C_TL_MTI__20150813T201603_A000734_T32TQR_N01.03/IMG_DATA/S2A_OPER_MSI_L1C_TL_MTI__20150813T201603_A000734_T32TQR_B02.jp2
           ./GRANULE/S2A_OPER_MSI_L1C_TL_MTI__20150813T201603_A000734_T32TQR_N01.03/IMG_DATA/S2A_OPER_MSI_L1C_TL_MTI__20150813T201603_A000734_T32TQR_B08.jp2
    Size is 10980, 10980
    Coordinate System is:
    PROJCS["WGS 84 / UTM zone 32N",
        GEOGCS["WGS 84",
            DATUM["WGS_1984",
                SPHEROID["WGS 84",6378137,298.257223563,
                    AUTHORITY["EPSG","7030"]],
                AUTHORITY["EPSG","6326"]],
            PRIMEM["Greenwich",0,
                AUTHORITY["EPSG","8901"]],
            UNIT["degree",0.0174532925199433,
                AUTHORITY["EPSG","9122"]],
            AUTHORITY["EPSG","4326"]],
        PROJECTION["Transverse_Mercator"],
        PARAMETER["latitude_of_origin",0],
        PARAMETER["central_meridian",9],
        PARAMETER["scale_factor",0.9996],
        PARAMETER["false_easting",500000],
        PARAMETER["false_northing",0],
        UNIT["metre",1,
            AUTHORITY["EPSG","9001"]],
        AXIS["Easting",EAST],
        AXIS["Northing",NORTH],
        AUTHORITY["EPSG","32632"]]
    Origin = (699960.000000000000000,5100060.000000000000000)
    Pixel Size = (10.000000000000000,-10.000000000000000)
    Metadata:
    [... same as above ...]
    Image Structure Metadata:
      COMPRESSION=JPEG2000
    Corner Coordinates:
    Upper Left  (  699960.000, 5100060.000) ( 11d35' 0.87"E, 46d 1'29.66"N)
    Lower Left  (  699960.000, 4990260.000) ( 11d32'19.43"E, 45d 2'15.27"N)
    Upper Right (  809760.000, 5100060.000) ( 12d59'57.69"E, 45d59' 2.70"N)
    Lower Right (  809760.000, 4990260.000) ( 12d55'48.25"E, 44d59'53.26"N)
    Center      (  754860.000, 5045160.000) ( 12d15'46.56"E, 45d30'48.07"N)
    Band 1 Block=128x128 Type=UInt16, ColorInterp=Red
      Description = B4, central wavelength 665 nm
      Overviews: 5490x5490, 2745x2745, 1373x1373, 687x687, 344x344
      Metadata:
        BANDNAME=B4
        BANDWIDTH=30
        BANDWIDTH_UNIT=nm
        SOLAR_IRRADIANCE=1512.79
        SOLAR_IRRADIANCE_UNIT=W/m2/um
        WAVELENGTH=665
        WAVELENGTH_UNIT=nm
      Image Structure Metadata:
        NBITS=12
    Band 2 Block=128x128 Type=UInt16, ColorInterp=Green
      Description = B3, central wavelength 560 nm
    [...]
    Band 3 Block=128x128 Type=UInt16, ColorInterp=Blue
      Description = B2, central wavelength 490 nm
    [...]
    Band 4 Block=128x128 Type=UInt16, ColorInterp=Undefined
      Description = B8, central wavelength 842 nm
    [...]
    
  • L1C子数据集到平铺GeoTIFF的转换

    $ gdal_translate SENTINEL2_L1C:S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml:10m:EPSG_32632 \
                     10m.tif \
                     -co TILED=YES --config GDAL_CACHEMAX 1000 --config GDAL_NUM_THREADS 2
    
  • 正在为L1C子数据集生成空白概述:

    $ gdaladdo -r NONE SENTINEL2_L1C:S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml:10m:EPSG_32632 4
    
  • 从子数据集创建VRT文件(可以方便地将子数据集作为文件):

    $ python -c "import sys; from osgeo import gdal; ds = gdal.Open(sys.argv[1]); open(sys.argv[2], 'wb').write(ds.GetMetadata('xml:VRT')[0].encode('utf-8'))" \
             SENTINEL2_L1C:S2A_OPER_MTD_SAFL1C_PDMC_20150818T101440_R022_V20150813T102406_20150813T102406.xml:10m:EPSG_32632 10m.vrt
    
  • 打开L1B子数据集的10米分辨率波段:

    $ gdalinfo SENTINEL2_L1B:S2A_OPER_MTD_L1B_GR_SGS__20151024T023555_S20151024T011315_D02.xml:10m
    
    Driver: SENTINEL2/Sentinel 2
    Files: S2A_OPER_MTD_L1B_GR_SGS__20151024T023555_S20151024T011315_D02.xml
           IMG_DATA/S2A_OPER_MSI_L1B_GR_SGS__20151024T023555_S20151024T011315_D02_B04.jp2
           IMG_DATA/S2A_OPER_MSI_L1B_GR_SGS__20151024T023555_S20151024T011315_D02_B03.jp2
           IMG_DATA/S2A_OPER_MSI_L1B_GR_SGS__20151024T023555_S20151024T011315_D02_B02.jp2
           IMG_DATA/S2A_OPER_MSI_L1B_GR_SGS__20151024T023555_S20151024T011315_D02_B08.jp2
    Size is 2552, 2304
    Coordinate System is `'
    GCP Projection =
    GEOGCS["WGS 84",
        DATUM["WGS_1984",
            SPHEROID["WGS 84",6378137,298.257223563,
                AUTHORITY["EPSG","7030"]],
            AUTHORITY["EPSG","6326"]],
        PRIMEM["Greenwich",0,
            AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,
            AUTHORITY["EPSG","9122"]],
        AUTHORITY["EPSG","4326"]]
    GCP[  0]: Id=, Info=
              (0,0) -> (134.635194391036,-21.4282083310724,0)
    GCP[  1]: Id=, Info=
              (0,2304) -> (134.581480136827,-21.6408640426055,0)
    GCP[  2]: Id=, Info=
              (2552,2304) -> (134.833308274251,-21.686125031254,0)
    GCP[  3]: Id=, Info=
              (2552,0) -> (134.886750925145,-21.4734274382519,0)
    GCP[  4]: Id=, Info=
              (1276,1152) -> (134.734115530986,-21.5571457404287,0)
    Metadata:
      CLOUDY_PIXEL_PERCENTAGE=0
      DATASTRIP_ID=S2A_OPER_MSI_L1B_DS_SGS__20151024T023555_S20151024T011312_N01.04
      DATATAKE_1_DATATAKE_SENSING_START=2015-10-24T01:13:12.027Z
      DATATAKE_1_DATATAKE_TYPE=INS-NOBS
      DATATAKE_1_ID=GS2A_20151024T011312_001758_N01.04
      DATATAKE_1_SENSING_ORBIT_DIRECTION=DESCENDING
      DATATAKE_1_SENSING_ORBIT_NUMBER=45
      DATATAKE_1_SPACECRAFT_NAME=Sentinel-2A
      DEGRADED_ANC_DATA_PERCENTAGE=0
      DEGRADED_MSI_DATA_PERCENTAGE=0
      DETECTOR_ID=02
      DOWNLINK_PRIORITY=NOMINAL
      FOOTPRINT=POLYGON((134.635194391036 -21.4282083310724, 134.581480136827 -21.6408640426055, 134.833308274251 -21.686125031254, 134.886750925145 -21.4734274382519, 134.635194391036 -21.4282083310724))
      FORMAT_CORRECTNESS_FLAG=PASSED
      GENERAL_QUALITY_FLAG=PASSED
      GENERATION_TIME=2015-11-12T10:55:12.000947Z
      GEOMETRIC_QUALITY_FLAG=PASSED
      GRANULE_ID=S2A_OPER_MSI_L1B_GR_SGS__20151024T023555_S20151024T011315_D02_N01.04
      PREVIEW_GEO_INFO=BrowseImageFootprint
      PREVIEW_IMAGE_URL=https://pdmcdam2.sentinel2.eo.esa.int/s2pdgs_geoserver/geo_service.php?service=WMS&version=1.1.0&request=GetMap&layers=S2A_A000045_N0104:S2A_A000045_N0104&styles=&bbox=133.512786023161,-25.3930035889714,137.184847290108,-21.385906922696&width=1579&height=330&srs=EPSG:4326&format=image/png&time=2015-10-24T01:13:15.0Z/2015-10-24T01:14:13.0Z
      PROCESSING_BASELINE=01.04
      PROCESSING_LEVEL=Level-1B
      PRODUCT_START_TIME=2015-10-24T01:13:15.497656Z
      PRODUCT_STOP_TIME=2015-10-24T01:14:13.70431Z
      PRODUCT_TYPE=S2MSI1B
      RADIOMETRIC_QUALITY_FLAG=PASSED
      SENSING_TIME=2015-10-24T01:13:15.497656Z
      SENSOR_QUALITY_FLAG=PASSED
      SPECIAL_VALUE_NODATA=1
      SPECIAL_VALUE_SATURATED=0
    Corner Coordinates:
    Upper Left  (    0.0,    0.0)
    Lower Left  (    0.0, 2304.0)
    Upper Right ( 2552.0,    0.0)
    Lower Right ( 2552.0, 2304.0)
    Center      ( 1276.0, 1152.0)
    Band 1 Block=128x128 Type=UInt16, ColorInterp=Red
      Description = B4, central wavelength 665 nm
      Overviews: 1276x1152, 638x576, 319x288, 160x144
      Metadata:
        BANDNAME=B4
        BANDWIDTH=30
        BANDWIDTH_UNIT=nm
        WAVELENGTH=665
        WAVELENGTH_UNIT=nm
      Image Structure Metadata:
        NBITS=12
    Band 2 Block=128x128 Type=UInt16, ColorInterp=Green
      Description = B3, central wavelength 560 nm
    [...]
    Band 3 Block=128x128 Type=UInt16, ColorInterp=Blue
      Description = B2, central wavelength 490 nm
    [...]
    Band 4 Block=128x128 Type=UInt16, ColorInterp=Undefined
      Description = B8, central wavelength 842 nm
    [...]
    

也见

信用

这个驱动程序是由 Spatialys 资金来自 Centre National d'Etudes Spatiales (CNES)