What is Masking?
In processing EO data, masking is a very common operation to mark certain pixel locations as null values. For more discussion, see the RasterFrames masking page.
Landsat 8 Collection 1 Level-1
Let’s demonstrate the masking procedure for Landsat 8 data. Each measurement band shares quality information stored in a separate file called BQA
, which delineates areas of missing data and contamination using a bit sequence.
Masking is described on the Landsat Missions page. It is pretty dense. Focus for this data set is the Collection 1 Level-1 for Landsat 8.
There are several inter-related factors to consider. In this exercise we will mask away the following.
- Designated Fill = yes
- Cloud = yes
- Cloud Shadow Confidence = Medium or High
- Cirrus Confidence = Medium or High
Note that you should consider your application and do your own exploratory analysis to determine the most appropriate mask!
According to the information on the Landsat site, this translates to masking by bit values in the BQA according to the following table.
Using Earth OnDemand, let's query some Landsat 8 imagery. We will read the red, green, and blue measurement bands along with BQA. First, let's use Earth OnDemand to check how to query for Landsat 8.
from earthai.init import * from shapely.geometry import Point from pyspark.sql.functions import col, lit
Importing EarthAI libraries. EarthAI version 1.6.0; RasterFrames version 0.9.0; PySpark version 2.4.7 Creating SparkSession...
SparkSession is available as `spark`.
earth_ondemand.collections()
allowed | description | familyId | familyTitle | id | item_assets | license | presentable | sortableFields | stac_extensions | stac_version | title | link | spatial_extent | temporal_extent | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | True | Landsat 8 Collection 1 Tier 1 Precision Terrain from Landsat 8 Operational Land Imager (OLI) and Thermal Infrared Sensor (TIRS) data | landsat8 | Landsat 8 | landsat8_l1tp | {'B5': {'bundleable': True, 'eo:bands': [{'common_name': 'nir', 'name': 'B5'}], 'eo:common_name': 'nir', 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['data'], 'title': 'Band 5 - Near Infrared (NIR) - 851-879nm (30m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'thumb_large': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Thumbnail - Large', 'type': 'image/jpeg'}, 'B6': {'bundleable': True, 'eo:bands': [{'common_name': 'swir16', 'name': 'B6'}], 'eo:common_name': 'swir16', 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['data'], 'title': 'Band 6 - Shortwave Infrared (SWIR) 1 - 1566-1651nm (30m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B3': {'bundleable': True, 'eo:bands': [{'common_name': 'green', 'name': 'B3'}], 'eo:common_name': 'green', 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['data'], 'title': 'Band 3 - Green - 533-590nm (30m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B2': {'bundleable': True, 'eo:bands': [{'common_name': 'blue', 'name': 'B2'}], 'eo:common_name': 'blue', 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['data'], 'title': 'Band 2 - Blue - 452-512nm (30m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'BQA': {'bundleable': True, 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['qa'], 'title': 'Band QA', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B4': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B4'}], 'eo:common_name': 'red', 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['data'], 'title': 'Band 4 - Red - 636-673nm (30m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B1': {'bundleable': True, 'eo:bands': [{'common_name': 'coastal', 'name': 'B1'}], 'eo:common_name': 'coastal', 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['data'], 'title': 'Band 1 - Ultra Blue (coastal/aerosol) - 435-451nm (30m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B11': {'bundleable': True, 'eo:bands': [{'common_name': 'lwir12', 'name': 'B11'}], 'eo:common_name': 'lwir12', 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['data'], 'title': 'Band 11 - Thermal Infrared (TIRS) 2 - 11500-12510nm (30m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'MTL': {'bundleable': True, 'roles': ['metadata'], 'title': 'Product Metadata', 'type': 'text/plain'}, 'thumb_small': {'bundleable': True, 'roles': ['thumbnail'], 'title': 'Thumbnail - Small', 'type': 'image/jpeg'}, 'B9': {'bundleable': True, 'eo:bands': [{'common_name': 'cirrus', 'name': 'B9'}], 'eo:common_name': 'cirrus', 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['data'], 'title': 'Band 9 - Cirrus - 1363-1384nm (30m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B7': {'bundleable': True, 'eo:bands': [{'common_name': 'swir22', 'name': 'B7'}], 'eo:common_name': 'swir22', 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['data'], 'title': 'Band 7 - Shortwave Infrared (SWIR) 2 - 2107-2294nm (30m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B10': {'bundleable': True, 'eo:bands': [{'common_name': 'lwir11', 'name': 'B10'}], 'eo:common_name': 'lwir11', 'eo:gsd': 30.0, 'gsd': 30.0, 'roles': ['data'], 'title': 'Band 10 - Thermal Infrared (TIRS) 1 - 10600-11190nm (30m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B8': {'bundleable': True, 'eo:bands': [{'common_name': 'pan', 'name': 'B8'}], 'eo:common_name': 'pan', 'eo:gsd': 15.0, 'gsd': 15.0, 'roles': ['data'], 'title': 'Band 8 - Panchromatic - 503-676nm (15m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'ANG': {'bundleable': True, 'roles': ['metadata'], 'title': 'Angle Coefficient Metadata', 'type': 'text/plain'}} | PDDL-1.0 | True | [properties.eo:cloud_cover, id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | Landsat 8 C1 T1 | https://eod-catalog-svc-prod.astraea.earth/collections/landsat8_l1tp | POLYGON ((180 -90, 180 90, -180 90, -180 -90, 1... | (2013-03-18 15:59:02.333000+00:00, None) |
1 | True | MCD43A4: MODIS/Terra and Aqua Nadir BRDF-Adjusted Reflectance Daily L3 Global 500 m SIN Grid V006 | modis | MODIS | mcd43a4 | {'B06qa': {'bundleable': True, 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['qa'], 'title': 'Band 6 - QA', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B01': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B01'}], 'eo:common_name': 'red', 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['data'], 'title': 'Band 1 - Red - 620-670nm (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B05': {'bundleable': True, 'eo:bands': [{'name': 'B05'}], 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['data'], 'title': 'Band 5 - SWIR - 1230-1250nm (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B02': {'bundleable': True, 'eo:bands': [{'common_name': 'nir', 'name': 'B02'}], 'eo:common_name': 'nir', 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['data'], 'title': 'Band 2 - NIR - 841-876nm (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B01qa': {'bundleable': True, 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['qa'], 'title': 'Band 1 - QA', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B06': {'bundleable': True, 'eo:bands': [{'common_name': 'swir16', 'name': 'B06'}], 'eo:common_name': 'swir16', 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['data'], 'title': 'Band 6 - SWIR - 1628-1652nm (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B02qa': {'bundleable': True, 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['qa'], 'title': 'Band 2 - QA', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B03qa': {'bundleable': True, 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['qa'], 'title': 'Band 3 - QA', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B03': {'bundleable': True, 'eo:bands': [{'common_name': 'blue', 'name': 'B03'}], 'eo:common_name': 'blue', 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['data'], 'title': 'Band 3 - Blue - 459-479nm (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B04qa': {'bundleable': True, 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['qa'], 'title': 'Band 4 - QA', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'eod_thumbnail': {'bundleable': False, 'roles': ['thumbnail'], 'title': 'Thumbnail', 'type': 'image/jpeg'}, 'B07qa': {'bundleable': True, 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['qa'], 'title': 'Band 7 - QA', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B05qa': {'bundleable': True, 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['qa'], 'title': 'Band 5 - QA', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B04': {'bundleable': True, 'eo:bands': [{'common_name': 'green', 'name': 'B04'}], 'eo:common_name': 'green', 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['data'], 'title': 'Band 4 - Green - 545-565nm (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'B07': {'bundleable': True, 'eo:bands': [{'common_name': 'swir22', 'name': 'B07'}], 'eo:common_name': 'swir22', 'eo:gsd': 500.0, 'gsd': 500.0, 'roles': ['data'], 'title': 'Band 7 - SWIR - 2105-2155nm (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}} | CC-PDDC | True | [properties.eo:cloud_cover, id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | MCD43A4 NBAR | https://eod-catalog-svc-prod.astraea.earth/collections/mcd43a4 | POLYGON ((180 -90, 180 90, -180 90, -180 -90, 1... | (2000-02-16 00:00:00+00:00, None) |
2 | True | MOD11A1: MODIS/Terra Land Surface Temperature/Emissivity Daily L3 Global 1 km SIN Grid V006 | modis | MODIS | mod11a1 | {'QCD': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'Daytime LST Quality Indicators (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'DVT': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': 'Local time of day observation (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'E31': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': 'Band 31 emissivity (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'NVT': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': 'Local time of night observation (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'E32': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': 'Band 32 emissivity (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'CNC': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'Night clear-sky coverage (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'LSTN': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': 'Nighttime Land Surface Temperature (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'CDC': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'Day clear-sky coverage (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'NVA': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': 'View zenith angle of night observation (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'DVA': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': 'View zenith angle of day observation (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'LSTD': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': 'Daytime Land Surface Temperature (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'eod_thumbnail': {'bundleable': False, 'roles': ['thumbnail'], 'title': 'Thumbnail', 'type': 'image/jpeg'}, 'QCN': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'Nighttime LST Quality indicators (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}} | CC-PDDC | True | [properties.eo:cloud_cover, id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | MOD11A1 LST | https://eod-catalog-svc-prod.astraea.earth/collections/mod11a1 | POLYGON ((180 -90, 180 90, -180 90, -180 -90, 1... | (2000-02-24 00:00:00+00:00, None) |
3 | True | MYD11A1: MODIS/Aqua Land Surface Temperature/Emissivity Daily L3 Global 1 km SIN Grid V006 | modis | MODIS | myd11a1 | {'QCD': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'Daytime LST Quality Indicators (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'DVT': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': 'Local time of day observation (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'E31': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': 'Band 31 emissivity (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'NVT': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': 'Local time of night observation (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'E32': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': 'Band 32 emissivity (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'CNC': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'Night clear-sky coverage (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'LSTN': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': 'Nighttime Land Surface Temperature (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'CDC': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'Day clear-sky coverage (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'NVA': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': 'View zenith angle of night observation (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'DVA': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': 'View zenith angle of day observation (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'LSTD': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': 'Daytime Land Surface Temperature (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'eod_thumbnail': {'bundleable': False, 'roles': ['thumbnail'], 'title': 'Thumbnail', 'type': 'image/jpeg'}, 'QCN': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'Nighttime LST Quality indicators (1000m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}} | CC-PDDC | True | [properties.eo:cloud_cover, id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | MYD11A1 LST | https://eod-catalog-svc-prod.astraea.earth/collections/myd11a1 | POLYGON ((180 -90, 180 90, -180 90, -180 -90, 1... | (2002-07-04 00:00:00+00:00, None) |
4 | True | MOD13A1: MODIS/Terra Vegetation Indices 16-Day L3 Global 500 m SIN Grid V006 | modis | MODIS | mod13a1 | {'PR': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'Quality reliability of VI pixel (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'SZA': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': '16 days sun zenith angle (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'MIRR': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 days MIR reflectance (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'BR': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 days blue reflectance (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'RAA': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': '16 days relative azimuth angle (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'NDVI': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 day NDVI average (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'VIQ': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'VI Quality indicators (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'RR': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 days red reflectance (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'EVI': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 day EVI average (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'VZA': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': '16 days view zenith angle (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'CDOY': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': 'Day of year VI pixel (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'NIRR': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 days NIR reflectance (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'eod_thumbnail': {'bundleable': False, 'roles': ['thumbnail'], 'title': 'Thumbnail', 'type': 'image/jpeg'}} | CC-PDDC | True | [properties.eo:cloud_cover, id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | MOD13A1 VI | https://eod-catalog-svc-prod.astraea.earth/collections/mod13a1 | POLYGON ((180 -90, 180 90, -180 90, -180 -90, 1... | (2000-02-18 00:00:00+00:00, None) |
5 | True | MYD13A1: MODIS/Aqua Vegetation Indices 16-Day L3 Global 500 m SIN Grid V006 | modis | MODIS | myd13a1 | {'PR': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'Quality reliability of VI pixel (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'SZA': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': '16 days sun zenith angle (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'MIRR': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 days MIR reflectance (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'BR': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 days blue reflectance (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'RAA': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': '16 days relative azimuth angle (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'NDVI': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 day NDVI average (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'VIQ': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['qa'], 'title': 'VI Quality indicators (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'RR': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 days red reflectance (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'EVI': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 day EVI average (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'VZA': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': '16 days view zenith angle (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'CDOY': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['metadata'], 'title': 'Day of year VI pixel (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'NIRR': {'bundleable': True, 'eo:gsd': 1000.0, 'gsd': 1000.0, 'roles': ['data'], 'title': '16 days NIR reflectance (500m)', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'eod_thumbnail': {'bundleable': False, 'roles': ['thumbnail'], 'title': 'Thumbnail', 'type': 'image/jpeg'}} | CC-PDDC | True | [properties.eo:cloud_cover, id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | MYD13A1 VI | https://eod-catalog-svc-prod.astraea.earth/collections/myd13a1 | POLYGON ((180 -90, 180 90, -180 90, -180 -90, 1... | (2002-07-04 00:00:00+00:00, None) |
6 | True | Sentinel-2 Level-2A atmospherically corrected data | sentinel | Sentinel | sentinel2_l2a | {'B03_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'green', 'name': 'B03'}], 'eo:common_name': 'green', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 3 - Green - 559.8/559.0nm (60m)', 'type': 'image/jp2'}, 'CLD_20m': {'bundleable': True, 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['qa'], 'title': 'Cloud (20m)', 'type': 'image/jp2'}, 'B05_20m': {'bundleable': True, 'eo:bands': [{'common_name': 'rededge', 'name': 'B05'}], 'eo:common_name': 'rededge', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 5 - Vegetation Red Edge - 704.1/703.8nm (20m)', 'type': 'image/jp2'}, 'SNW_60m': {'bundleable': True, 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['qa'], 'title': 'Snow (60m)', 'type': 'image/jp2'}, 'B07_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'rededge', 'name': 'B07'}], 'eo:common_name': 'rededge', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 7 – Vegetation Red Edge - 782.8/779.7nm (60m)', 'type': 'image/jp2'}, 'B08_10m': {'bundleable': True, 'eo:bands': [{'common_name': 'nir', 'name': 'B08'}], 'eo:common_name': 'nir', 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'Band 8 – NIR - 832.8/832.9nm (10m)', 'type': 'image/jp2'}, 'B05_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'rededge', 'name': 'B05'}], 'eo:common_name': 'rededge', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 5 - Vegetation Red Edge - 704.1/703.8nm (60m)', 'type': 'image/jp2'}, 'B12_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'swir22', 'name': 'B12'}], 'eo:common_name': 'swir22', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 12 – SWIR - 2202.4/2185.7nm (60m)', 'type': 'image/jp2'}, 'B01_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'coastal', 'name': 'B01'}], 'eo:common_name': 'coastal', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 1 - Coastal aerosol - 442.7/442.2nm (60m)', 'type': 'image/jp2'}, 'eod_thumbnail': {'bundleable': False, 'roles': ['thumbnail'], 'title': 'Thumbnail', 'type': 'image/jpeg'}, 'TCI_20m': {'bundleable': True, 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'True Color Image (20m)', 'type': 'image/jp2'}, 'B08_20m': {'bundleable': True, 'eo:bands': [{'common_name': 'nir', 'name': 'B08'}], 'eo:common_name': 'nir', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 8 – NIR - 832.8/832.9nm (20m)', 'type': 'image/jp2'}, 'cloud_mask': {'bundleable': True, 'roles': ['qa'], 'title': 'Cloud mask', 'type': 'application/gml+xml'}, 'tileInfo': {'bundleable': True, 'roles': ['metadata'], 'title': 'Tile info', 'type': 'application/json'}, 'B06_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'rededge', 'name': 'B06'}], 'eo:common_name': 'rededge', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 6 – Vegetation Red Edge - 740.5/739.1nm (60m)', 'type': 'image/jp2'}, 'B08_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'nir', 'name': 'B08'}], 'eo:common_name': 'nir', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 8 – NIR - 832.8/832.9nm (60m)', 'type': 'image/jp2'}, 'B02_20m': {'bundleable': True, 'eo:bands': [{'common_name': 'blue', 'name': 'B02'}], 'eo:common_name': 'blue', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 2 - Blue - 492.4/492.1nm (20m)', 'type': 'image/jp2'}, 'B11_20m': {'bundleable': True, 'eo:bands': [{'common_name': 'swir16', 'name': 'B11'}], 'eo:common_name': 'swir16', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 11 – SWIR - 1613.7/1610.4nm (20m)', 'type': 'image/jp2'}, 'WVP_60m': {'bundleable': True, 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Water Vapor (60m)', 'type': 'image/jp2'}, 'AOT_60m': {'bundleable': True, 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Aerosol Optical Thickness (60m)', 'type': 'image/jp2'}, 'WVP_10m': {'bundleable': True, 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'Water Vapor (10m)', 'type': 'image/jp2'}, 'B06_20m': {'bundleable': True, 'eo:bands': [{'common_name': 'rededge', 'name': 'B06'}], 'eo:common_name': 'rededge', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 6 – Vegetation Red Edge - 740.5/739.1nm (20m)', 'type': 'image/jp2'}, 'WVP_20m': {'bundleable': True, 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Water Vapor (20m)', 'type': 'image/jp2'}, 'B8A_20m': {'bundleable': True, 'eo:bands': [{'common_name': 'nir08', 'name': 'B8A'}], 'eo:common_name': 'nir08', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 8A – Narrow NIR - 864.7/864nm (20m)', 'type': 'image/jp2'}, 'B07_20m': {'bundleable': True, 'eo:bands': [{'common_name': 'rededge', 'name': 'B07'}], 'eo:common_name': 'rededge', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 7 – Vegetation Red Edge - 782.8/779.7nm (20m)', 'type': 'image/jp2'}, 'B12_20m': {'bundleable': True, 'eo:bands': [{'common_name': 'swir22', 'name': 'B12'}], 'eo:common_name': 'swir22', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 12 – SWIR - 2202.4/2185.7nm (20m)', 'type': 'image/jp2'}, 'SCL_20m': {'bundleable': True, 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Scene Classification (20m)', 'type': 'image/jp2'}, 'B11_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'swir16', 'name': 'B11'}], 'eo:common_name': 'swir16', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 11 – SWIR - 1613.7/1610.4nm (60m)', 'type': 'image/jp2'}, 'SNW_20m': {'bundleable': True, 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['qa'], 'title': 'Snow (20m)', 'type': 'image/jp2'}, 'B09_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'nir09', 'name': 'B09'}], 'eo:common_name': 'nir09', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 9 – Water vapour - 945.1/943.2nm (60m)', 'type': 'image/jp2'}, 'productInfo': {'bundleable': True, 'roles': ['metadata'], 'title': 'Product info', 'type': 'application/json'}, 'B04_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B04'}], 'eo:common_name': 'red', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 4 - Red - 664.6/664.9nm (60m)', 'type': 'image/jp2'}, 'B04_20m': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B04'}], 'eo:common_name': 'red', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 4 - Red - 664.6/664.9nm (20m)', 'type': 'image/jp2'}, 'TCI_10m': {'bundleable': True, 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'True Color Image (10m)', 'type': 'image/jp2'}, 'B8A_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'nir08', 'name': 'B8A'}], 'eo:common_name': 'nir08', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 8A – Narrow NIR - 864.7/864nm (60m)', 'type': 'image/jp2'}, 'B02_60m': {'bundleable': True, 'eo:bands': [{'common_name': 'blue', 'name': 'B02'}], 'eo:common_name': 'blue', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 2 - Blue - 492.4/492.1nm (60m)', 'type': 'image/jp2'}, 'metadata': {'bundleable': True, 'roles': ['metadata'], 'title': 'Tile metadata', 'type': 'application/xml'}, 'SCL_60m': {'bundleable': True, 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Scene Classification (60m)', 'type': 'image/jp2'}, 'B04_10m': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B04'}], 'eo:common_name': 'red', 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'Band 4 - Red - 664.6/664.9nm (10m)', 'type': 'image/jp2'}, 'B03_10m': {'bundleable': True, 'eo:bands': [{'common_name': 'green', 'name': 'B03'}], 'eo:common_name': 'green', 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'Band 3 - Green - 559.8/559.0nm (10m)', 'type': 'image/jp2'}, 'TCI_60m': {'bundleable': True, 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'True Color Image (60m)', 'type': 'image/jp2'}, 'AOT_20m': {'bundleable': True, 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Aerosol Optical Thickness (20m)', 'type': 'image/jp2'}, 'B03_20m': {'bundleable': True, 'eo:bands': [{'common_name': 'green', 'name': 'B03'}], 'eo:common_name': 'green', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 3 - Green - 559.8/559.0nm (20m)', 'type': 'image/jp2'}, 'B02_10m': {'bundleable': True, 'eo:bands': [{'common_name': 'blue', 'name': 'B02'}], 'eo:common_name': 'blue', 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'Band 2 - Blue - 492.4/492.1nm (10m)', 'type': 'image/jp2'}, 'CLD_60m': {'bundleable': True, 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['qa'], 'title': 'Cloud (60m)', 'type': 'image/jp2'}, 'AOT_10m': {'bundleable': True, 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'Aerosol Optical Thickness (10m)', 'type': 'image/jp2'}, 'preview_image': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview Image', 'type': 'image/jp2'}} | CC-BY-SA-3.0 | True | [properties.eo:cloud_cover, id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | Sentinel-2 L2A | https://eod-catalog-svc-prod.astraea.earth/collections/sentinel2_l2a | POLYGON ((180 -90, 180 90, -180 90, -180 -90, 1... | (2018-04-01 07:02:22.463000+00:00, None) |
7 | True | Sentinel-2 Level-1C top of atmosphere | sentinel | Sentinel | sentinel2_l1c | {'B04_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 4 - Red - 664.6/664.9nm', 'type': 'image/jp2'}, 'B01': {'bundleable': True, 'eo:bands': [{'common_name': 'coastal', 'name': 'B01'}], 'eo:common_name': 'coastal', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 1 - Coastal aerosol - 442.7/442.2nm (60m)', 'type': 'image/jp2'}, 'B09': {'bundleable': True, 'eo:bands': [{'common_name': 'nir09', 'name': 'B09'}], 'eo:common_name': 'nir09', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 9 – Water vapour - 945.1/943.2nm (60m)', 'type': 'image/jp2'}, 'B07_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 7 – Vegetation Red Edge - 782.8/779.7nm', 'type': 'image/jp2'}, 'B03_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 3 - Green - 559.8/559.0nm', 'type': 'image/jp2'}, 'B02': {'bundleable': True, 'eo:bands': [{'common_name': 'blue', 'name': 'B02'}], 'eo:common_name': 'blue', 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'Band 2 - Blue - 492.4/492.1nm (10m)', 'type': 'image/jp2'}, 'B01_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 1 - Coastal aerosol - 442.7/442.2nm', 'type': 'image/jp2'}, 'B06': {'bundleable': True, 'eo:bands': [{'common_name': 'rededge', 'name': 'B06'}], 'eo:common_name': 'rededge', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 6 – Vegetation Red Edge - 740.5/739.1nm (20m)', 'type': 'image/jp2'}, 'B8A': {'bundleable': True, 'eo:bands': [{'common_name': 'nir08', 'name': 'B8A'}], 'eo:common_name': 'nir08', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 8A – Narrow NIR - 864.7/864nm (20m)', 'type': 'image/jp2'}, 'B03': {'bundleable': True, 'eo:bands': [{'common_name': 'green', 'name': 'B03'}], 'eo:common_name': 'green', 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'Band 3 - Green - 559.8/559.0nm (10m)', 'type': 'image/jp2'}, 'B10_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 10 – SWIR – Cirrus - 1373.5/1376.9nm', 'type': 'image/jp2'}, 'B8A_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 8A – Narrow NIR - 864.7/864nm', 'type': 'image/jp2'}, 'preview_image': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview Image', 'type': 'image/jpeg'}, 'eod_thumbnail': {'bundleable': False, 'roles': ['thumbnail'], 'title': 'Thumbnail', 'type': 'image/jpeg'}, 'B11': {'bundleable': True, 'eo:bands': [{'common_name': 'swir16', 'name': 'B11'}], 'eo:common_name': 'swir16', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 11 – SWIR - 1613.7/1610.4nm (20m)', 'type': 'image/jp2'}, 'cloud_mask': {'bundleable': True, 'roles': ['qa'], 'title': 'Cloud mask', 'type': 'application/gml+xml'}, 'tileInfo': {'bundleable': True, 'roles': ['metadata'], 'title': 'Tile info', 'type': 'application/json'}, 'B09_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 9 – Water vapour - 945.1/943.2nm ', 'type': 'image/jp2'}, 'B11_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 11 – SWIR - 1613.7/1610.4nm', 'type': 'image/jp2'}, 'B12': {'bundleable': True, 'eo:bands': [{'common_name': 'swir22', 'name': 'B12'}], 'eo:common_name': 'swir22', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 12 – SWIR - 2202.4/2185.7nm (20m)', 'type': 'image/jp2'}, 'B05': {'bundleable': True, 'eo:bands': [{'common_name': 'rededge', 'name': 'B05'}], 'eo:common_name': 'rededge', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 5 - Vegetation Red Edge - 704.1/703.8nm (20m)', 'type': 'image/jp2'}, 'TCI': {'bundleable': True, 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'True Color Image (10m)', 'type': 'image/jp2'}, 'B08_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 8 – NIR - 832.8/832.9nm', 'type': 'image/jp2'}, 'preview_image_jp2': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview Image (JPEG2000)', 'type': 'image/jp2'}, 'productInfo': {'bundleable': True, 'roles': ['metadata'], 'title': 'Product info', 'type': 'application/json'}, 'B06_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 6 – Vegetation Red Edge - 740.5/739.1nm', 'type': 'image/jp2'}, 'B05_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 5 - Vegetation Red Edge - 704.1/703.8nm', 'type': 'image/jp2'}, 'B10': {'bundleable': True, 'eo:bands': [{'common_name': 'cirrus', 'name': 'B10'}], 'eo:common_name': 'cirrus', 'eo:gsd': 60.0, 'gsd': 60.0, 'roles': ['data'], 'title': 'Band 10 – SWIR – Cirrus - 1373.5/1376.9nm (60m)', 'type': 'image/jp2'}, 'B02_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 2 - Blue - 492.4/492.1nm', 'type': 'image/jp2'}, 'B12_preview': {'bundleable': True, 'roles': ['overview', 'preview'], 'title': 'Preview - Band 12 – SWIR - 2202.4/2185.7nm', 'type': 'image/jp2'}, 'B08': {'bundleable': True, 'eo:bands': [{'common_name': 'nir', 'name': 'B08'}], 'eo:common_name': 'nir', 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'Band 8 – NIR - 832.8/832.9nm (10m)', 'type': 'image/jp2'}, 'metadata': {'bundleable': True, 'roles': ['metadata'], 'title': 'Tile metadata', 'type': 'application/xml'}, 'B04': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B04'}], 'eo:common_name': 'red', 'eo:gsd': 10.0, 'gsd': 10.0, 'roles': ['data'], 'title': 'Band 4 - Red - 664.6/664.9nm (10m)', 'type': 'image/jp2'}, 'B07': {'bundleable': True, 'eo:bands': [{'common_name': 'rededge', 'name': 'B07'}], 'eo:common_name': 'rededge', 'eo:gsd': 20.0, 'gsd': 20.0, 'roles': ['data'], 'title': 'Band 7 – Vegetation Red Edge - 782.8/779.7nm (20m)', 'type': 'image/jp2'}} | CC-BY-SA-3.0 | True | [properties.eo:cloud_cover, id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | Sentinel-2 L1C | https://eod-catalog-svc-prod.astraea.earth/collections/sentinel2_l1c | POLYGON ((180 -90, 180 90, -180 90, -180 -90, 1... | (2015-06-27 10:25:31.456000+00:00, None) |
8 | True | National Agriculture Imagery Program aerial imagery | naip | NAIP | naip | {'analytic_rgbir': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B1'}, {'common_name': 'green', 'name': 'B2'}, {'common_name': 'blue', 'name': 'B3'}, {'common_name': 'nir', 'name': 'B4'}], 'eo:common_name': 'red', 'eo:gsd': 1.0, 'gsd': 1.0, 'roles': ['data'], 'title': 'Analytic RGBIR (1m)', 'type': 'application/x.mrf'}, 'source_rgbir': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B1'}, {'common_name': 'green', 'name': 'B2'}, {'common_name': 'blue', 'name': 'B3'}, {'common_name': 'nir', 'name': 'B4'}], 'eo:common_name': 'red', 'eo:gsd': 1.0, 'gsd': 1.0, 'roles': ['data'], 'title': 'Source RGBIR (1m)', 'type': 'image/tiff'}, 'visual_rgb': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B1'}, {'common_name': 'green', 'name': 'B2'}, {'common_name': 'blue', 'name': 'B3'}], 'eo:common_name': 'red', 'eo:gsd': 1.0, 'gsd': 1.0, 'roles': ['overview', 'preview'], 'title': 'Visualization RGB (1m)', 'type': 'image/tiff'}, 'eod_thumbnail': {'bundleable': False, 'roles': ['thumbnail'], 'title': 'Thumbnail', 'type': 'image/jpeg'}} | CC-PDDC | True | [id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | NAIP | https://eod-catalog-svc-prod.astraea.earth/collections/naip | POLYGON ((-66.9513812 24.7433195, -66.9513812 4... | (2012-04-23 12:00:00+00:00, None) |
9 | True | Maxar Open Data | maxar | Maxar | maxar_open_data | {'rgb': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B1'}, {'common_name': 'green', 'name': 'B2'}, {'common_name': 'blue', 'name': 'B3'}], 'eo:common_name': 'red', 'roles': ['data'], 'title': 'RGB GeoTIFF', 'type': 'image/tiff; application=geotiff'}, 'eod_thumbnail': {'bundleable': False, 'roles': ['thumbnail'], 'title': 'Thumbnail', 'type': 'image/jpeg'}} | CC-BY-NC-4.0 | True | [id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | Maxar Open Data | https://eod-catalog-svc-prod.astraea.earth/collections/maxar_open_data | POLYGON ((180 -90, 180 90, -180 90, -180 -90, 1... | (2008-01-15 00:00:00+00:00, None) |
10 | True | SpaceNet 7 Imagery and Labels | spacenet7 | SpaceNet | spacenet7 | {'image_masked': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B1'}, {'common_name': 'green', 'name': 'B2'}, {'common_name': 'blue', 'name': 'B3'}], 'eo:common_name': 'red', 'roles': ['data'], 'title': 'Image Masked', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'buildings_labels_match': {'bundleable': True, 'title': 'Buildings Labels Match', 'type': 'application/geo+json'}, 'labels': {'bundleable': True, 'title': 'Labels', 'type': 'application/geo+json'}, 'udm_mask': {'bundleable': True, 'title': 'UDM Mask', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}, 'udm_labels': {'bundleable': True, 'title': 'UDM Labels', 'type': 'application/geo+json'}, 'image': {'bundleable': True, 'eo:bands': [{'common_name': 'red', 'name': 'B1'}, {'common_name': 'green', 'name': 'B2'}, {'common_name': 'blue', 'name': 'B3'}], 'eo:common_name': 'red', 'roles': ['data'], 'title': 'Image', 'type': 'image/tiff; application=geotiff; profile=cloud-optimized'}} | CC-BY-SA-4.0 | True | [id, properties.created, properties.datetime, collection] | [item-assets] | 1.0.0-beta.2 | SpaceNet 7 | https://eod-catalog-svc-prod.astraea.earth/collections/spacenet7 | POLYGON ((180 -90, 180 90, -180 90, -180 -90, 1... | (2018-01-01 00:00:00+00:00, None) |
In the above DataFrame we see that the collection we want has an id of landsat8_l1tp
. Let's see which band names correspond to red, green, and blue.
earth_ondemand.item_assets('landsat8_l1tp').sort_values('asset_name')
asset_name | bundleable | eo_gsd | gsd | roles | title | type | collection_id | eo_bands_count | eo_bands_common_names | |
---|---|---|---|---|---|---|---|---|---|---|
15 | ANG | True | NaN | NaN | [metadata] | Angle Coefficient Metadata | text/plain | landsat8_l1tp | NaN | NaN |
7 | B1 | True | 30.0 | 30.0 | [data] | Band 1 - Ultra Blue (coastal/aerosol) - 435-451nm (30m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | coastal |
13 | B10 | True | 30.0 | 30.0 | [data] | Band 10 - Thermal Infrared (TIRS) 1 - 10600-11190nm (30m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | lwir11 |
8 | B11 | True | 30.0 | 30.0 | [data] | Band 11 - Thermal Infrared (TIRS) 2 - 11500-12510nm (30m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | lwir12 |
4 | B2 | True | 30.0 | 30.0 | [data] | Band 2 - Blue - 452-512nm (30m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | blue |
3 | B3 | True | 30.0 | 30.0 | [data] | Band 3 - Green - 533-590nm (30m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | green |
6 | B4 | True | 30.0 | 30.0 | [data] | Band 4 - Red - 636-673nm (30m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | red |
0 | B5 | True | 30.0 | 30.0 | [data] | Band 5 - Near Infrared (NIR) - 851-879nm (30m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | nir |
2 | B6 | True | 30.0 | 30.0 | [data] | Band 6 - Shortwave Infrared (SWIR) 1 - 1566-1651nm (30m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | swir16 |
12 | B7 | True | 30.0 | 30.0 | [data] | Band 7 - Shortwave Infrared (SWIR) 2 - 2107-2294nm (30m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | swir22 |
14 | B8 | True | 15.0 | 15.0 | [data] | Band 8 - Panchromatic - 503-676nm (15m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | pan |
11 | B9 | True | 30.0 | 30.0 | [data] | Band 9 - Cirrus - 1363-1384nm (30m) | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | 1.0 | cirrus |
5 | BQA | True | 30.0 | 30.0 | [qa] | Band QA | image/tiff; application=geotiff; profile=cloud-optimized | landsat8_l1tp | NaN | NaN |
9 | MTL | True | NaN | NaN | [metadata] | Product Metadata | text/plain | landsat8_l1tp | NaN | NaN |
1 | thumb_large | True | NaN | NaN | [overview, preview] | Thumbnail - Large | image/jpeg | landsat8_l1tp | NaN | NaN |
10 | thumb_small | True | NaN | NaN | [thumbnail] | Thumbnail - Small | image/jpeg | landsat8_l1tp | NaN | NaN |
Now that we now the appropriate collection id and band names, let's perform our query for a small bounding box around Tallinn, Estonia.
catalog = spark.read.earth_ondemand_catalog(geo=[24.57, 59.58, 25.37, 59.10], start_datetime='20190901', end_datetime='20191101', collections='landsat8_l1tp', max_cloud_cover=25, ) band_names = ['B4', 'B3', 'B2', 'BQA'] df = spark.read.raster(catalog, catalog_col_names=band_names) #keep only tile columns and rename df = df.select( col('B4').alias('red'), col('B3').alias('green'), col('B2').alias('blue'), col('BQA') )
HBox(children=(FloatProgress(value=0.0, max=2.0), HTML(value='')))
In order to apply a mask, the tile must have a NoData defined. Landsat 8 measurement bands have a cell type of uint16raw
. We can confirm this as follows.
df.select(rf_cell_type('red'), rf_cell_type('green'), rf_cell_type('blue'))
rf_cell_type(red) | rf_cell_type(green) | rf_cell_type(blue) |
---|---|---|
[uint16raw] | [uint16raw] | [uint16raw] |
[uint16raw] | [uint16raw] | [uint16raw] |
[uint16raw] | [uint16raw] | [uint16raw] |
[uint16raw] | [uint16raw] | [uint16raw] |
[uint16raw] | [uint16raw] | [uint16raw] |
The "raw" qualifier indicates that there is no NoData value defined. We will set the cell types to uint16
, whose NoData value is 0. This will cause any zero-valued cells in the measurement band to be considered NoData. In Landsat 8, these areas correspond to the BQA fill areas.
from pyrasterframes.rf_types import CellType CellType('uint16raw').has_no_data()
False
print(CellType.uint16().has_no_data(), CellType.uint16().no_data_value())
True 0
converted = df.select('bqa', rf_convert_cell_type('red', 'uint16').alias('red'), rf_convert_cell_type('green', 'uint16').alias('green'), rf_convert_cell_type('blue', 'uint16').alias('blue'))
Now, let's create a new tile column called 'mask' from the 'bqa' tile column. We will chain together muliple rf_mask_by_bit
calls to mask out pixels that have certain bit values. Refer to the table above to confirm the meaning of the bits.
masked = converted.withColumn('red_masked', # fill yes rf_mask_by_bit('red', 'bqa', 0, 1)) \ .withColumn('red_masked', # cloud yes rf_mask_by_bit('red_masked', 'bqa', 4, 1)) \ .withColumn('red_masked', # cloud shadow conf is medium or high rf_mask_by_bits('red_masked', 'bqa', 7, 2, [2, 3])) \ .withColumn('red_masked', # cirrus conf is medium or high rf_mask_by_bits('red_masked', 'bqa', 11, 2, [2, 3]))
Next, we will apply the mask we created to the red, green, and blue bands. We will also filter out any rows that contain entirely NoData tiles.
masked = masked.withColumn('green_masked', rf_mask('green', 'red_masked')) \ .withColumn('blue_masked', rf_mask('blue', 'red_masked')) \ .filter(rf_data_cells('red_masked') > 0)
Inspect tiles where there are many cloudy pixels.
masked.select('bqa', 'red', 'red_masked') \ .filter(rf_tile_sum(rf_local_extract_bits('bqa', lit(4), lit(1))) > 2000)
bqa | red | red_masked |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Comments
0 comments
Please sign in to leave a comment.