Sensor metadata parsing#
GeoUtils contains basic functionalities to parse sensor metadata from space- or airborne imagery.
Those rely only on filenames, parsing basic metadata such as date of acquisition, tile name, or product name.
See also
For more exhaustive support working with remote sensing data, we refer to packages such as EOReader or SatPy.
Parsing metadata at raster instantiation#
A Raster can parse metadata when instantiated with the parse_sensor_metadata argument.
import geoutils as gu
# Parse metadata from an ASTER raster
filename_aster = gu.examples.get_path("exploradores_aster_dem")
rast_aster = gu.Raster(filename_aster, parse_sensor_metadata=True, silent=False)
Setting platform as Terra read from filename.
Setting sensor as ASTER read from filename.
Setting product as L1A read from filename.
Setting version as 3 read from filename.
Setting datetime as 2012-03-18 14:42:28 read from filename.
# Parse metadata from a Landsat 7 raster
filename_landsat = gu.examples.get_path("everest_landsat_b4")
rast_landsat = gu.Raster(filename_landsat, parse_sensor_metadata=True, silent=False)
Setting platform as Landsat 7 read from filename.
Setting sensor as ETM+ read from filename.
Setting tile_name as 140041 read from filename.
Setting datetime as 2000-10-30 00:00:00 read from filename.
The metadata is then stored in the tags attribute of the raster.
rast_aster.tags
{'AREA_OR_POINT': 'Area',
'block_shape': (3, 539),
'INTERLEAVE': 'BAND',
'overview_factors': [],
'overview_selected_level': -1,
'overview_selected_factor': 1,
'platform': 'Terra',
'sensor': 'ASTER',
'product': 'L1A',
'version': '3',
'tile_name': None,
'datetime': datetime.datetime(2012, 3, 18, 14, 42, 28)}
For tiled products such as SRTM, the tile naming is also retrieved, and converted to usable tile sizes and extents based on known metadata.
Supported sensors#
Right now are supported:
Landsat,
Sentinel-2,
SPOT,
ASTER,
ArcticDEM and REMA,
ALOS,
SRTM,
TanDEM-X, and
NASADEM.