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.
MODIS MCD43A4
Let’s demonstrate the masking procedure of MODIS MCD43A4 data on the red, blue and green bands. Each MCD43A4 band has quality information stored in a separate QA band.
The specifications for the QA band are as follows:
Data conversions:
Mandatory QA 0 = processed, good quality (full BRDF inversions)
1 = processed, see other QA (magnitude BRDF inversions)
255 = Fill Value
So in order to mask out poor quality pixels, we need to ensure that the QA value for that pixel is 0.
Using EOD, let's query some MODIS imagery. We will query the 3 measurement bands along with their QA bands. First, let's use Earth OnDemand to see what image collections are available to us.
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 note that the collection we want has an id of mcd43a4
. Let's see which band names correspond to red, green, and blue.
earth_ondemand.item_assets('mcd43a4').sort_values('asset_name')
asset_name | bundleable | eo_gsd | gsd | roles | title | type | collection_id | eo_bands_count | eo_bands_common_names | |
---|---|---|---|---|---|---|---|---|---|---|
1 | B01 | True | 500.0 | 500.0 | [data] | Band 1 - Red - 620-670nm (500m) | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | 1.0 | red |
4 | B01qa | True | 500.0 | 500.0 | [qa] | Band 1 - QA | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | NaN | NaN |
3 | B02 | True | 500.0 | 500.0 | [data] | Band 2 - NIR - 841-876nm (500m) | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | 1.0 | nir |
6 | B02qa | True | 500.0 | 500.0 | [qa] | Band 2 - QA | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | NaN | NaN |
8 | B03 | True | 500.0 | 500.0 | [data] | Band 3 - Blue - 459-479nm (500m) | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | 1.0 | blue |
7 | B03qa | True | 500.0 | 500.0 | [qa] | Band 3 - QA | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | NaN | NaN |
13 | B04 | True | 500.0 | 500.0 | [data] | Band 4 - Green - 545-565nm (500m) | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | 1.0 | green |
9 | B04qa | True | 500.0 | 500.0 | [qa] | Band 4 - QA | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | NaN | NaN |
2 | B05 | True | 500.0 | 500.0 | [data] | Band 5 - SWIR - 1230-1250nm (500m) | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | 1.0 | |
12 | B05qa | True | 500.0 | 500.0 | [qa] | Band 5 - QA | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | NaN | NaN |
5 | B06 | True | 500.0 | 500.0 | [data] | Band 6 - SWIR - 1628-1652nm (500m) | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | 1.0 | swir16 |
0 | B06qa | True | 500.0 | 500.0 | [qa] | Band 6 - QA | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | NaN | NaN |
14 | B07 | True | 500.0 | 500.0 | [data] | Band 7 - SWIR - 2105-2155nm (500m) | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | 1.0 | swir22 |
11 | B07qa | True | 500.0 | 500.0 | [qa] | Band 7 - QA | image/tiff; application=geotiff; profile=cloud-optimized | mcd43a4 | NaN | NaN |
10 | eod_thumbnail | False | NaN | NaN | [thumbnail] | Thumbnail | image/jpeg | mcd43a4 | NaN | NaN |
The bands for red, green, and blue are B01
, B04
, and B03
respectively. We also see each band has a QA band named B0Xqa
.
Now that we know the appropriate collection id and band names, let's perform our query. We will create a Shapely point geometry near Charlottesville, Virginia, USA to create an Earth OnDemand catalog. Then we will read the bands we want into a Spark DataFrame named df
.
catalog = spark.read.earth_ondemand_catalog( geo=Point(-78.461530, 38.039243), start_datetime='20190901', end_datetime='20190905', collections='mcd43a4', max_cloud_cover=10 ) band_names = ['B01', 'B04', 'B03', 'B01qa', 'B04qa', 'B03qa'] df = spark.read.raster(catalog, catalog_col_names=band_names) #keep only tile columns and rename df = df.select( col('B01').alias('red'), col('B01qa').alias('red_qa'), col('B04').alias('green'), col('B04qa').alias('green_qa'), col('B03').alias('blue'), col('B03qa').alias('blue_qa'), )
HBox(children=(FloatProgress(value=0.0, max=5.0), HTML(value='')))
MCD43A4 measurement bands already have some NoData defined as it is the output of a time composited model of surface reflectance. We can inspect this as shown below. The cell type of int16ud32767
indicates that the value of 32767 will be interpreted as NoData. Having a NoData value defined allows us to do the masking.
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) |
---|---|---|
[int16ud32767] | [int16ud32767] | [int16ud32767] |
[int16ud32767] | [int16ud32767] | [int16ud32767] |
[int16ud32767] | [int16ud32767] | [int16ud32767] |
[int16ud32767] | [int16ud32767] | [int16ud32767] |
[int16ud32767] | [int16ud32767] | [int16ud32767] |
Let's now use rf_mask_by_value
to set all pixel locations where the QA band is 1 to NoData in the measurement band.
masked = df.withColumn('red_masked', rf_mask_by_value('red', 'red_qa', 1)) \ .withColumn('green_masked', rf_mask_by_value('green', 'green_qa', 1)) \ .withColumn('blue_masked', rf_mask_by_value('blue', 'blue_qa', 1))
Inspect tiles with many data pixels masked out using the filter below.
masked.select('red_qa', 'red', 'red_masked', 'blue_qa', 'blue', 'blue_masked') \ .filter(rf_no_data_cells('red_masked') > 2500) \ .filter(rf_no_data_cells('blue_masked') > 2500)
red_qa | red | red_masked | blue_qa | blue | blue_masked |
---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Comments
0 comments
Please sign in to leave a comment.