Strategies for Dynamic DEM Data Download and Use
Contents
Strategies for Dynamic DEM Data Download and Use#
David Shean
February 19, 2021
Work in progress, several attempts to load larger files on hub failed, but dynamic access should work. Need a better way to prepare the 1-m 3DEP tiles.
import os
import s3fs
import rasterio as rio
from rasterio import plot, mask
import matplotlib.pyplot as plt
import geopandas as gpd
wa_bounds = (-124.733174, 45.543541, -116.915989, 49.002494)
Use OpenTopography GlobalDEM API to fetch DEM for WA state#
OpenTopgraphy is a fantastic organization that “facilitates community access to high-resolution, Earth science-oriented, topography data, and related tools and resources.”
One of the many services they provide is an API for several popular Global DEM datasets, with simple subsetting and delivery: https://opentopography.org/developers
We’ll use this service to extract a small portion of the SRTM-GL3 DEM
#List of all products hosted by OpenTopography GlobalDEM API
demtype_list = ["SRTMGL3", "SRTMGL1", "SRTMGL1_E", "AW3D30", "AW3D30_E", "SRTM15Plus"]
demtype = demtype_list[0]
demtype
'SRTMGL3'
base_url="https://portal.opentopography.org/API/globaldem?demtype={}&west={}&south={}&east={}&north={}&outputFormat=GTiff"
base_url.format(demtype, *wa_bounds)
'https://portal.opentopography.org/API/globaldem?demtype=SRTMGL3&west=-124.733174&south=45.543541&east=-116.915989&north=49.002494&outputFormat=GTiff'
def get_OT_GlobalDEM(demtype, bounds, out_fn=None):
if out_fn is None:
out_fn = '{}.tif'.format(demtype)
if not os.path.exists(out_fn):
#Prepare API request url
#Bounds should be [minlon, minlat, maxlon, maxlat]
url = base_url.format(demtype, *bounds)
print(url)
#Get
response = requests.get(url)
#Should check for 200
#Write to disk
open(out_fn, 'wb').write(response.content)
out_fn = f"WA_{demtype}.tif"
out_fn
'WA_SRTMGL3.tif'
get_OT_GlobalDEM(demtype, wa_bounds, out_fn)
with rio.open(out_fn) as src:
rio.plot.show(src)
Copernicus DEM from AWS#
dst_crs = 'EPSG:32610'
s3 = s3fs.S3FileSystem(anon=True)
bucket = 'copernicus-dem-30m'
bucket = 'copernicus-dem-90m'
s3.ls(bucket)
['copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E015_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E016_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E017_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E018_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E019_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E020_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E021_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E022_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E023_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E024_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E025_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E026_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E027_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E028_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E029_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E030_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E031_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E032_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E033_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E034_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E035_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E036_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E037_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E038_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E039_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E040_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E041_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E042_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E043_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E097_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E098_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E099_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E100_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E101_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E102_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E103_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E104_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E106_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E107_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E108_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E109_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E110_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E111_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E112_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E113_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E114_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E115_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E116_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E117_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E118_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E119_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E120_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E121_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E122_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E123_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E124_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E126_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E127_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E128_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E129_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E130_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E131_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E134_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E172_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_E173_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W050_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W051_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W052_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W053_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W054_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W055_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W056_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W057_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W058_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W059_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W060_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W061_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W062_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W063_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W064_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W065_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W066_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W067_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W068_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W069_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W070_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W071_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W074_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W075_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W076_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W077_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W078_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W079_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W080_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W081_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W090_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W091_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W092_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N00_00_W177_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E015_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E016_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E017_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E018_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E019_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E020_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E021_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E022_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E023_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E024_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E025_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E026_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E027_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E028_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E029_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E030_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E031_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E032_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E033_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E034_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E035_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E036_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E037_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E038_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E039_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E040_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E041_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E042_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E043_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E044_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E045_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E097_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E098_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E099_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E100_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E101_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E102_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E103_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E104_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E106_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E107_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E108_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E109_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E110_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E111_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E112_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E113_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E114_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E115_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E116_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E117_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E118_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E119_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E120_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E121_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E122_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E124_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E125_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E126_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E127_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E128_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E131_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E154_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E172_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_E173_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W050_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W051_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W052_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W053_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W054_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W055_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W056_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W057_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W058_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W059_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W060_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W061_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W062_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W063_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W064_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W065_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W066_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W067_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W068_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W069_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W070_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W071_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W074_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W075_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W076_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W077_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W078_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W079_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W080_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W092_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W093_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N01_00_W158_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E015_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E016_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E017_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E018_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E019_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E020_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E021_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E022_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E023_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E024_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E025_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E026_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E027_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E028_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E029_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E030_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E031_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E032_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E033_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E034_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E035_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E036_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E037_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E038_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E039_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E040_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E041_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E042_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E043_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E044_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E045_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E046_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E095_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E096_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E097_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E098_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E099_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E100_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E101_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E102_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E103_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E104_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E105_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E106_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E107_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E108_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E109_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E111_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E112_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E113_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E114_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E115_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E116_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E117_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E118_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E125_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E127_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E128_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E131_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_E173_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W051_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W052_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W053_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W054_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W055_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W056_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W057_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W058_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W059_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W060_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W061_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W062_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W063_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W064_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W065_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W066_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W067_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W068_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W069_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W070_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W071_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W074_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W075_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W076_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W077_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W078_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W079_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N02_00_W158_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E015_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E016_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E017_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E018_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E019_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E020_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E021_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E022_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E023_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E024_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E025_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E026_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E027_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E028_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E029_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E030_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E031_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E032_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E033_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E034_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E035_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E036_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E037_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E038_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E039_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E040_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E041_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E042_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E043_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E044_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E045_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E046_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E047_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E095_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E096_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E097_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E098_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E099_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E100_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E101_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E102_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E103_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E105_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E106_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E107_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E108_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E112_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E113_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E114_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E115_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E116_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E117_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E125_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E126_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E131_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E154_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E172_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_E173_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W051_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W052_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W053_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W054_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W055_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W056_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W057_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W058_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W059_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W060_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W061_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W062_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W063_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W064_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W065_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W066_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W067_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W068_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W069_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W070_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W071_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W074_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W075_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W076_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W077_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W078_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W079_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W082_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N03_00_W160_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E005_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E015_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E016_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E017_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E018_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E019_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E020_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E021_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E022_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E023_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E024_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E025_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E026_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E027_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E028_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E029_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E030_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E031_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E032_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E033_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E034_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E035_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E036_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E037_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E038_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E039_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E040_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E041_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E042_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E043_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E044_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E045_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E046_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E047_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E048_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E095_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E096_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E097_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E098_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E100_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E101_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E102_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E103_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E107_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E108_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E113_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E114_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E115_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E116_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E117_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E118_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E119_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E120_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E125_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E126_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E127_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E131_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E132_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_E168_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W002_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W003_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W052_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W053_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W054_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W055_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W056_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W057_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W058_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W059_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W060_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W061_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W062_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W063_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W064_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W065_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W066_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W067_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W068_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W069_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W070_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W071_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W074_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W075_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W076_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W077_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W078_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W082_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N04_00_W161_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E000_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E001_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E004_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E005_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E015_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E016_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E017_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E018_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E019_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E020_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E021_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E022_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E023_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E024_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E025_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E026_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E027_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E028_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E029_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E030_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E031_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E032_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E033_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E034_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E035_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E036_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E037_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E038_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E039_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E040_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E041_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E042_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E043_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E044_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E045_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E046_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E047_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E048_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E080_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E095_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E096_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E097_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E098_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E100_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E101_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E102_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E103_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E114_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E115_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E116_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E117_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E118_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E119_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E120_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E121_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E124_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E125_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E126_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E132_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E153_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E157_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E162_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E163_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E168_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E169_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_E172_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W001_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W002_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W003_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W004_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W005_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W053_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W054_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W055_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W056_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W057_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W058_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W059_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W060_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W061_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W062_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W063_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W064_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W065_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W066_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W067_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W068_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W069_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W070_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W071_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W074_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W075_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W076_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W077_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W078_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W088_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N05_00_W163_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E000_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E001_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E002_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E003_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E004_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E005_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E015_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E016_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E017_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E018_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E019_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E020_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E021_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E022_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E023_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E024_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E025_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E026_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E027_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E028_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E029_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E030_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E031_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E032_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E033_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E034_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E035_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E036_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E037_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E038_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E039_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E040_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E041_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E042_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E043_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E044_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E045_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E046_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E047_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E048_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E049_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E079_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E080_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E081_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E093_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E095_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E099_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E100_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E101_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E102_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E115_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E116_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E117_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E118_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E120_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E121_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E122_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E123_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E124_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E125_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E126_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E134_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E142_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E143_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E149_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E151_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E152_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E157_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E158_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E159_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E160_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E169_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E171_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_E172_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W001_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W002_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W003_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W004_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W005_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W056_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W057_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W058_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W059_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W060_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W061_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W062_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W063_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W064_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W065_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W066_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W067_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W068_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W069_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W070_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W071_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W074_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W075_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W076_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W077_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N06_00_W078_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E000_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E001_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E002_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E003_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E004_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E005_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E015_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E016_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E017_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E018_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E019_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E020_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E021_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E022_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E023_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E024_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E025_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E026_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E027_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E028_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E029_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E030_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E031_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E032_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E033_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E034_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E035_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E036_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E037_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E038_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E039_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E040_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E041_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E042_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E043_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E044_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E045_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E046_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E047_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E048_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E049_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E079_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E080_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E081_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E093_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E098_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E099_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E100_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E113_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E116_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E117_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E118_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E121_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E122_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E123_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E124_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E125_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E126_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E134_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E143_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E144_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E145_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E146_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E147_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E149_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E151_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E152_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E155_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E157_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E158_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E168_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_E171_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W001_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W002_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W003_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W004_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W005_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W059_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W060_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W061_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W062_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W063_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W064_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W065_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W066_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W067_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W068_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W069_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W070_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W071_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W072_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W074_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W075_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W076_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W077_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W078_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W079_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W080_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W081_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W082_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N07_00_W083_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E000_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E001_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E002_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E003_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E004_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E005_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E015_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E016_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E017_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E018_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E019_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E020_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E021_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E022_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E023_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E024_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E025_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E026_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E027_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E028_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E029_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E030_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E031_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E032_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E033_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E034_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E035_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E036_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E037_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E038_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E039_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E040_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E041_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E042_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E043_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E044_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E045_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E046_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E047_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E048_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E049_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E050_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E073_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E076_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E077_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E078_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E079_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E080_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E081_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E092_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E093_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E097_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E098_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E099_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E100_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E104_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E105_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E106_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E111_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E112_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E113_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E115_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E116_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E117_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E118_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E119_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E122_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E123_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E124_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E125_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E126_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E134_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E137_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E140_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E144_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E146_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E147_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E149_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E150_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E151_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E152_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E154_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E165_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E166_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E167_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E168_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E170_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_E171_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W001_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W002_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W003_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W004_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W005_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W006_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W007_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W008_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W009_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W010_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W011_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W012_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W013_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W014_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W060_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W061_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W062_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W063_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W064_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W065_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W066_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W067_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W068_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W069_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W070_00_DEM',
'copernicus-dem-30m/Copernicus_DSM_COG_10_N08_00_W071_00_DEM',
...]
#Get the grid polygon definitions for tiles
grid_fn = 'grid.zip'
#Should be able to load grid directly from S3 bucket to geopandas
#Need to create AWS session
#https://fiona.readthedocs.io/en/latest/manual.html#cloud-storage-credentials
#gpd.read_file('zip+s3://{}/{}'.format(bucket, grid_fn))
s3.get_file(f"{bucket}/{grid_fn}", grid_fn)
#Read directly from zip
grid = gpd.read_file('zip://{}'.format(grid_fn))
grid.head()
id | geometry | |
---|---|---|
0 | Copernicus_DSM_COG_30_N85_00_W180_00_DEM | POLYGON ((-180.004 85.000, -180.004 86.000, -1... |
1 | Copernicus_DSM_COG_30_N85_00_W179_00_DEM | POLYGON ((-179.004 85.000, -179.004 86.000, -1... |
2 | Copernicus_DSM_COG_30_N85_00_W178_00_DEM | POLYGON ((-178.004 85.000, -178.004 86.000, -1... |
3 | Copernicus_DSM_COG_30_N85_00_W177_00_DEM | POLYGON ((-177.004 85.000, -177.004 86.000, -1... |
4 | Copernicus_DSM_COG_30_N85_00_W176_00_DEM | POLYGON ((-176.004 85.000, -176.004 86.000, -1... |
grid.shape
(64800, 2)
Use polygon for query and download necessary tiles#
#Read in arbitrary polygon
#poly_gdf = gpd.read_file(poly_fn)
#states_url = 'http://eric.clst.org/assets/wiki/uploads/Stuff/gz_2010_us_040_00_5m.json'
states_url = 'http://eric.clst.org/assets/wiki/uploads/Stuff/gz_2010_us_040_00_500k.json'
states_gdf = gpd.read_file(states_url)
wa_state_gdf = states_gdf.loc[states_gdf['NAME'] == 'Washington']
wa_geom = wa_state_gdf.iloc[0].geometry
wa_geom
idx = grid.intersects(wa_geom)
fn_list = grid[idx]['id'].values
fn_list
array(['Copernicus_DSM_COG_30_N45_00_W123_00_DEM',
'Copernicus_DSM_COG_30_N45_00_W122_00_DEM',
'Copernicus_DSM_COG_30_N45_00_W121_00_DEM',
'Copernicus_DSM_COG_30_N45_00_W120_00_DEM',
'Copernicus_DSM_COG_30_N45_00_W119_00_DEM',
'Copernicus_DSM_COG_30_N45_00_W118_00_DEM',
'Copernicus_DSM_COG_30_N45_00_W117_00_DEM',
'Copernicus_DSM_COG_30_N46_00_W125_00_DEM',
'Copernicus_DSM_COG_30_N46_00_W124_00_DEM',
'Copernicus_DSM_COG_30_N46_00_W123_00_DEM',
'Copernicus_DSM_COG_30_N46_00_W122_00_DEM',
'Copernicus_DSM_COG_30_N46_00_W121_00_DEM',
'Copernicus_DSM_COG_30_N46_00_W120_00_DEM',
'Copernicus_DSM_COG_30_N46_00_W119_00_DEM',
'Copernicus_DSM_COG_30_N46_00_W118_00_DEM',
'Copernicus_DSM_COG_30_N46_00_W117_00_DEM',
'Copernicus_DSM_COG_30_N47_00_W125_00_DEM',
'Copernicus_DSM_COG_30_N47_00_W124_00_DEM',
'Copernicus_DSM_COG_30_N47_00_W123_00_DEM',
'Copernicus_DSM_COG_30_N47_00_W122_00_DEM',
'Copernicus_DSM_COG_30_N47_00_W121_00_DEM',
'Copernicus_DSM_COG_30_N47_00_W120_00_DEM',
'Copernicus_DSM_COG_30_N47_00_W119_00_DEM',
'Copernicus_DSM_COG_30_N47_00_W118_00_DEM',
'Copernicus_DSM_COG_30_N48_00_W125_00_DEM',
'Copernicus_DSM_COG_30_N48_00_W124_00_DEM',
'Copernicus_DSM_COG_30_N48_00_W123_00_DEM',
'Copernicus_DSM_COG_30_N48_00_W122_00_DEM',
'Copernicus_DSM_COG_30_N48_00_W121_00_DEM',
'Copernicus_DSM_COG_30_N48_00_W120_00_DEM',
'Copernicus_DSM_COG_30_N48_00_W119_00_DEM',
'Copernicus_DSM_COG_30_N48_00_W118_00_DEM',
'Copernicus_DSM_COG_30_N49_00_W124_00_DEM',
'Copernicus_DSM_COG_30_N49_00_W123_00_DEM',
'Copernicus_DSM_COG_30_N49_00_W122_00_DEM',
'Copernicus_DSM_COG_30_N49_00_W121_00_DEM',
'Copernicus_DSM_COG_30_N49_00_W120_00_DEM',
'Copernicus_DSM_COG_30_N49_00_W119_00_DEM',
'Copernicus_DSM_COG_30_N49_00_W118_00_DEM'], dtype=object)
#List first filename as check
s3.ls('{}/{}'.format(bucket, fn_list[0]))
['copernicus-dem-90m/Copernicus_DSM_COG_30_N45_00_W123_00_DEM/Copernicus_DSM_COG_30_N45_00_W123_00_DEM.tif']
outdir = 'Copernicus_DEM_3arcsec'
if not os.path.exists(outdir):
os.makedirs(outdir)
for fn in fn_list:
print(fn)
s3.get_file(f"{bucket}/{fn}/{fn}.tif", os.path.join(outdir, f"{fn}.tif"))
Copernicus_DSM_COG_30_N45_00_W123_00_DEM
Copernicus_DSM_COG_30_N45_00_W122_00_DEM
Copernicus_DSM_COG_30_N45_00_W121_00_DEM
Copernicus_DSM_COG_30_N45_00_W120_00_DEM
Copernicus_DSM_COG_30_N45_00_W119_00_DEM
Copernicus_DSM_COG_30_N45_00_W118_00_DEM
Copernicus_DSM_COG_30_N45_00_W117_00_DEM
Copernicus_DSM_COG_30_N46_00_W125_00_DEM
Copernicus_DSM_COG_30_N46_00_W124_00_DEM
Copernicus_DSM_COG_30_N46_00_W123_00_DEM
Copernicus_DSM_COG_30_N46_00_W122_00_DEM
Copernicus_DSM_COG_30_N46_00_W121_00_DEM
Copernicus_DSM_COG_30_N46_00_W120_00_DEM
Copernicus_DSM_COG_30_N46_00_W119_00_DEM
Copernicus_DSM_COG_30_N46_00_W118_00_DEM
Copernicus_DSM_COG_30_N46_00_W117_00_DEM
Copernicus_DSM_COG_30_N47_00_W125_00_DEM
Copernicus_DSM_COG_30_N47_00_W124_00_DEM
Copernicus_DSM_COG_30_N47_00_W123_00_DEM
Copernicus_DSM_COG_30_N47_00_W122_00_DEM
Copernicus_DSM_COG_30_N47_00_W121_00_DEM
Copernicus_DSM_COG_30_N47_00_W120_00_DEM
Copernicus_DSM_COG_30_N47_00_W119_00_DEM
Copernicus_DSM_COG_30_N47_00_W118_00_DEM
Copernicus_DSM_COG_30_N48_00_W125_00_DEM
Copernicus_DSM_COG_30_N48_00_W124_00_DEM
Copernicus_DSM_COG_30_N48_00_W123_00_DEM
Copernicus_DSM_COG_30_N48_00_W122_00_DEM
Copernicus_DSM_COG_30_N48_00_W121_00_DEM
Copernicus_DSM_COG_30_N48_00_W120_00_DEM
Copernicus_DSM_COG_30_N48_00_W119_00_DEM
Copernicus_DSM_COG_30_N48_00_W118_00_DEM
Copernicus_DSM_COG_30_N49_00_W124_00_DEM
Copernicus_DSM_COG_30_N49_00_W123_00_DEM
Copernicus_DSM_COG_30_N49_00_W122_00_DEM
Copernicus_DSM_COG_30_N49_00_W121_00_DEM
Copernicus_DSM_COG_30_N49_00_W120_00_DEM
Copernicus_DSM_COG_30_N49_00_W119_00_DEM
Copernicus_DSM_COG_30_N49_00_W118_00_DEM
!ls -lah $outdir
total 180M
drwxr-sr-x 3 jovyan users 4.0K Feb 17 03:33 .
drwxrwsr-x 4 jovyan users 4.0K Feb 17 03:32 ..
drwxr-sr-x 2 jovyan users 4.0K Feb 17 03:33 .ipynb_checkpoints
-rw-r--r-- 1 jovyan users 5.1M Feb 17 03:33 Copernicus_DSM_COG_30_N45_00_W117_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.9M Feb 17 03:33 Copernicus_DSM_COG_30_N45_00_W118_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.9M Feb 17 03:33 Copernicus_DSM_COG_30_N45_00_W119_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.8M Feb 17 03:33 Copernicus_DSM_COG_30_N45_00_W120_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.0M Feb 17 03:33 Copernicus_DSM_COG_30_N45_00_W121_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.1M Feb 17 03:33 Copernicus_DSM_COG_30_N45_00_W122_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.4M Feb 17 03:33 Copernicus_DSM_COG_30_N45_00_W123_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.0M Feb 17 03:33 Copernicus_DSM_COG_30_N46_00_W117_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.1M Feb 17 03:33 Copernicus_DSM_COG_30_N46_00_W118_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.0M Feb 17 03:33 Copernicus_DSM_COG_30_N46_00_W119_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.8M Feb 17 03:33 Copernicus_DSM_COG_30_N46_00_W120_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.9M Feb 17 03:33 Copernicus_DSM_COG_30_N46_00_W121_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.0M Feb 17 03:33 Copernicus_DSM_COG_30_N46_00_W122_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.3M Feb 17 03:33 Copernicus_DSM_COG_30_N46_00_W123_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.3M Feb 17 03:33 Copernicus_DSM_COG_30_N46_00_W124_00_DEM.tif
-rw-r--r-- 1 jovyan users 317K Feb 17 03:33 Copernicus_DSM_COG_30_N46_00_W125_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.8M Feb 17 03:33 Copernicus_DSM_COG_30_N47_00_W118_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.7M Feb 17 03:33 Copernicus_DSM_COG_30_N47_00_W119_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.6M Feb 17 03:33 Copernicus_DSM_COG_30_N47_00_W120_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.0M Feb 17 03:33 Copernicus_DSM_COG_30_N47_00_W121_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.2M Feb 17 03:33 Copernicus_DSM_COG_30_N47_00_W122_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.6M Feb 17 03:33 Copernicus_DSM_COG_30_N47_00_W123_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.4M Feb 17 03:33 Copernicus_DSM_COG_30_N47_00_W124_00_DEM.tif
-rw-r--r-- 1 jovyan users 2.1M Feb 17 03:33 Copernicus_DSM_COG_30_N47_00_W125_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.0M Feb 17 03:33 Copernicus_DSM_COG_30_N48_00_W118_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.9M Feb 17 03:33 Copernicus_DSM_COG_30_N48_00_W119_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.0M Feb 17 03:33 Copernicus_DSM_COG_30_N48_00_W120_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.0M Feb 17 03:33 Copernicus_DSM_COG_30_N48_00_W121_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.2M Feb 17 03:33 Copernicus_DSM_COG_30_N48_00_W122_00_DEM.tif
-rw-r--r-- 1 jovyan users 3.8M Feb 17 03:33 Copernicus_DSM_COG_30_N48_00_W123_00_DEM.tif
-rw-r--r-- 1 jovyan users 3.0M Feb 17 03:33 Copernicus_DSM_COG_30_N48_00_W124_00_DEM.tif
-rw-r--r-- 1 jovyan users 3.6M Feb 17 03:33 Copernicus_DSM_COG_30_N48_00_W125_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.0M Feb 17 03:33 Copernicus_DSM_COG_30_N49_00_W118_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.8M Feb 17 03:33 Copernicus_DSM_COG_30_N49_00_W119_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.8M Feb 17 03:33 Copernicus_DSM_COG_30_N49_00_W120_00_DEM.tif
-rw-r--r-- 1 jovyan users 4.8M Feb 17 03:33 Copernicus_DSM_COG_30_N49_00_W121_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.1M Feb 17 03:33 Copernicus_DSM_COG_30_N49_00_W122_00_DEM.tif
-rw-r--r-- 1 jovyan users 5.2M Feb 17 03:33 Copernicus_DSM_COG_30_N49_00_W123_00_DEM.tif
-rw-r--r-- 1 jovyan users 3.7M Feb 17 03:33 Copernicus_DSM_COG_30_N49_00_W124_00_DEM.tif
tif_fn_list = [os.path.join(outdir, f"{fn}.tif") for fn in fn_list]
Create a vrt (virtual file) mosaic of the tif files#
Read a bit about vrt (they’re a little confusing/abstract, but once you get the concept, they’re amazing):
Can do this with API, but it’s easy to use the
gdalbuildvrt
command-line utility for this: https://www.gdal.org/gdalbuildvrt.html
tif_fn = tif_fn_list[0]
!ls $tif_fn
Copernicus_DEM_3arcsec/Copernicus_DSM_COG_30_N45_00_W123_00_DEM.tif
vrt_fn = f'{bucket}_wa.vrt'
!gdalbuildvrt -r cubic $vrt_fn $outdir/Cop*DEM.tif
0...10...20...30...40...50...60...70...80...90...100 - done.
Discussion: Review the contents of the output vrt file#
Use shell command
cat
from a notebook cell and thevrt_fn
variable (hopefully this is routine by now)This is not json, not markdown, but yet another text format: xml
Note the total width and height of the vrt (rasterXSize, rasterYSize).
How does this compare with the width and height of the individual tile from the
gdalinfo
output above?
Note the
DstRect
values (destinatioin rectangle) for each tile. Take a moment to discuss with your neighbor. How is each tile placed within the vrt?What would the values be for the next two tiles from the row to the south?
!head -n 30 $vrt_fn
<VRTDataset rasterXSize="10800" rasterYSize="6000">
<SRS dataAxisToSRSAxisMapping="2,1">GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]</SRS>
<GeoTransform> -1.2500041666666667e+02, 8.3333333333333263e-04, 0.0000000000000000e+00, 5.0000416666666666e+01, 0.0000000000000000e+00, -8.3333333333333263e-04</GeoTransform>
<VRTRasterBand dataType="Float32" band="1">
<ColorInterp>Gray</ColorInterp>
<SimpleSource resampling="cubic">
<SourceFilename relativeToVRT="1">Copernicus_DEM_3arcsec/Copernicus_DSM_COG_30_N45_00_W117_00_DEM.tif</SourceFilename>
<SourceBand>1</SourceBand>
<SourceProperties RasterXSize="1200" RasterYSize="1200" DataType="Float32" BlockXSize="2048" BlockYSize="2048" />
<SrcRect xOff="0" yOff="0" xSize="1200" ySize="1200" />
<DstRect xOff="9600" yOff="4800" xSize="1200" ySize="1200" />
</SimpleSource>
<SimpleSource resampling="cubic">
<SourceFilename relativeToVRT="1">Copernicus_DEM_3arcsec/Copernicus_DSM_COG_30_N45_00_W118_00_DEM.tif</SourceFilename>
<SourceBand>1</SourceBand>
<SourceProperties RasterXSize="1200" RasterYSize="1200" DataType="Float32" BlockXSize="2048" BlockYSize="2048" />
<SrcRect xOff="0" yOff="0" xSize="1200" ySize="1200" />
<DstRect xOff="8400" yOff="4800" xSize="1200" ySize="1200" />
</SimpleSource>
<SimpleSource resampling="cubic">
<SourceFilename relativeToVRT="1">Copernicus_DEM_3arcsec/Copernicus_DSM_COG_30_N45_00_W119_00_DEM.tif</SourceFilename>
<SourceBand>1</SourceBand>
<SourceProperties RasterXSize="1200" RasterYSize="1200" DataType="Float32" BlockXSize="2048" BlockYSize="2048" />
<SrcRect xOff="0" yOff="0" xSize="1200" ySize="1200" />
<DstRect xOff="7200" yOff="4800" xSize="1200" ySize="1200" />
</SimpleSource>
<SimpleSource resampling="cubic">
<SourceFilename relativeToVRT="1">Copernicus_DEM_3arcsec/Copernicus_DSM_COG_30_N45_00_W120_00_DEM.tif</SourceFilename>
<SourceBand>1</SourceBand>
<SourceProperties RasterXSize="1200" RasterYSize="1200" DataType="Float32" BlockXSize="2048" BlockYSize="2048" />
Open the vrt with rasterio#
Note that rasterio and GDAL can open vrt files as dataset objects (similar to a GeoTiff)! This is very useful, as you could have a vrt containing SRTM tiles for the entire planet, and open it in seconds, since you’re not actually reading each file, just the vrt “container” that points to all of the individual tif files
You can then read only the raster subwindow that you need for analysis as a NumPy array
We did this with the Landsat-8 window over Mt. Rainier
The subwindow can cross multiple tiles, and GDAL does the work behind the scenes
src = rio.open(vrt_fn)
#with rio.open(vrt_fn) as src:
#ax = rio.plot.show(src)
#This doesn't work with axes returned by rio.plot.show, should be simple fix
#grid[idx].plot(ax=ax, edgecolor='w', facecolor='none');
f, ax = plt.subplots()
ax.imshow(src.read(1, masked=True), extent=rio.plot.plotting_extent(src))
grid[idx].plot(ax=ax, edgecolor='w', facecolor='none');
Read with rioxarray#
Lazy
import rioxarray
xds = rioxarray.open_rasterio(vrt_fn, masked=True)
xds
<xarray.DataArray (band: 1, y: 6000, x: 10800)> [64800000 values with dtype=float64] Coordinates: * band (band) int64 1 * y (y) float64 50.0 50.0 50.0 50.0 50.0 ... 45.0 45.0 45.0 45.0 * x (x) float64 -125.0 -125.0 -125.0 ... -116.0 -116.0 -116.0 spatial_ref int64 0 Attributes: scale_factor: 1.0 add_offset: 0.0 grid_mapping: spatial_ref
- band: 1
- y: 6000
- x: 10800
- ...
[64800000 values with dtype=float64]
- band(band)int641
array([1])
- y(y)float6450.0 50.0 50.0 ... 45.0 45.0 45.0
array([50. , 49.999167, 49.998333, ..., 45.0025 , 45.001667, 45.000833])
- x(x)float64-125.0 -125.0 ... -116.0 -116.0
array([-125. , -124.999167, -124.998333, ..., -116.0025 , -116.001667, -116.000833])
- spatial_ref()int640
- crs_wkt :
- GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- grid_mapping_name :
- latitude_longitude
- spatial_ref :
- GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]]
- GeoTransform :
- -125.00041666666667 0.0008333333333333326 0.0 50.000416666666666 0.0 -0.0008333333333333326
array(0)
- scale_factor :
- 1.0
- add_offset :
- 0.0
- grid_mapping :
- spatial_ref
xds.spatial_ref
<xarray.DataArray 'spatial_ref' ()> array(0) Coordinates: spatial_ref int64 0 Attributes: crs_wkt: GEOGCRS["WGS 84",DATUM["World Geodetic Syst... semi_major_axis: 6378137.0 semi_minor_axis: 6356752.314245179 inverse_flattening: 298.257223563 reference_ellipsoid_name: WGS 84 longitude_of_prime_meridian: 0.0 prime_meridian_name: Greenwich geographic_crs_name: WGS 84 grid_mapping_name: latitude_longitude spatial_ref: GEOGCRS["WGS 84",DATUM["World Geodetic Syst... GeoTransform: -125.00041666666667 0.0008333333333333326 0...
- 0
array(0)
- spatial_ref()int640
- crs_wkt :
- GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- grid_mapping_name :
- latitude_longitude
- spatial_ref :
- GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]]
- GeoTransform :
- -125.00041666666667 0.0008333333333333326 0.0 50.000416666666666 0.0 -0.0008333333333333326
array(0)
- crs_wkt :
- GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- grid_mapping_name :
- latitude_longitude
- spatial_ref :
- GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]]
- GeoTransform :
- -125.00041666666667 0.0008333333333333326 0.0 50.000416666666666 0.0 -0.0008333333333333326
Get 3DEP tiles#
#Current url for 1/9th arcsec 3DEP raster products
url1='https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w122x50_wa_puget_sound_2000.zip'
fn1='ned19_n48x25_w122x50_wa_puget_sound_2000.img'
#Going to fetch and read zipfile on the fly, specifying img inside
path=f'/vsizip//vsicurl/{url1}/{fn1}'
#GUI based search for tiles
#https://prd-tnm.s3.amazonaws.com/LidarExplorer/index.html
#Contains public url for each zipfile
url_fn_3DEP = 'whidbey_USGS_19arcsec_3m.txt'
with open(url_fn_3DEP) as f:
url_list = f.read().splitlines()
url_list
['https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w122x50_wa_puget_sound_2000.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x50_wa_puget_sound_2000.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x00_w122x75_wa_puget_sound_2000.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w122x75_wa_puget_sound_2000.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x75_wa_puget_sound_2000.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x00_w122x50_wa_puget_sound_2000.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w123x00_wa_sanjuanco_2009.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w123x00_wa_puget_sound_2000.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x75_wa_northpugetsound_2006.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x50_wa_northpugetsound_2006.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x00_w123x00_wa_puget_sound_2000.zip',
'https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w123x00_wa_puget_sound_2000.zip']
os.path.splitext(os.path.split(url_list[0])[-1])[0]+'.img'
'ned19_n48x25_w122x50_wa_puget_sound_2000.img'
path_list = []
for url in url_list:
fn = os.path.splitext(os.path.split(url)[-1])[0]+'.img'
path = f'/vsizip//vsicurl/{url}/{fn}'
path_list.append(path)
path_list_str = ' '.join(path_list)
with rio.open(path) as src:
rio.plot.show(src)
vrt_fn = os.path.splitext(url_fn_3DEP)[0]+'.vrt'
tif_fn = os.path.splitext(url_fn_3DEP)[0]+'.tif'
hs_fn = os.path.splitext(tif_fn)[0]+'_hs.tif'
#This actually takes some time as file must be downloaded and unzipped to read img header
!gdalbuildvrt $vrt_fn $path_list_str
0...10...20...30...40...50...60...70...80...90...100 - done.
#Since these tiles are in EPSG:4326 can download, reproject and mosaic in one go
!gdalwarp -r cubic -tr 3.0 3.0 -dstnodata -9999 -t_srs $dst_crs \
-co COMPRESS=LZW -co TILED=YES -co BIGTIFF=IF_SAFER \
$path_list_str $tif_fn
Copying raster attribute table from /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w122x50_wa_puget_sound_2000.zip/ned19_n48x25_w122x50_wa_puget_sound_2000.img to new file.
Creating output file that is 19296P x 28706L.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w122x50_wa_puget_sound_2000.zip/ned19_n48x25_w122x50_wa_puget_sound_2000.img [1/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w122x50_wa_puget_sound_2000.zip/ned19_n48x25_w122x50_wa_puget_sound_2000.img.
Copying nodata values from source /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w122x50_wa_puget_sound_2000.zip/ned19_n48x25_w122x50_wa_puget_sound_2000.img to destination whidbey_USGS_19arcsec_3m.tif.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x50_wa_puget_sound_2000.zip/ned19_n48x50_w122x50_wa_puget_sound_2000.img [2/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x50_wa_puget_sound_2000.zip/ned19_n48x50_w122x50_wa_puget_sound_2000.img.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x00_w122x75_wa_puget_sound_2000.zip/ned19_n48x00_w122x75_wa_puget_sound_2000.img [3/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x00_w122x75_wa_puget_sound_2000.zip/ned19_n48x00_w122x75_wa_puget_sound_2000.img.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w122x75_wa_puget_sound_2000.zip/ned19_n48x25_w122x75_wa_puget_sound_2000.img [4/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w122x75_wa_puget_sound_2000.zip/ned19_n48x25_w122x75_wa_puget_sound_2000.img.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x75_wa_puget_sound_2000.zip/ned19_n48x50_w122x75_wa_puget_sound_2000.img [5/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x75_wa_puget_sound_2000.zip/ned19_n48x50_w122x75_wa_puget_sound_2000.img.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x00_w122x50_wa_puget_sound_2000.zip/ned19_n48x00_w122x50_wa_puget_sound_2000.img [6/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x00_w122x50_wa_puget_sound_2000.zip/ned19_n48x00_w122x50_wa_puget_sound_2000.img.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w123x00_wa_sanjuanco_2009.zip/ned19_n48x50_w123x00_wa_sanjuanco_2009.img [7/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w123x00_wa_sanjuanco_2009.zip/ned19_n48x50_w123x00_wa_sanjuanco_2009.img.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w123x00_wa_puget_sound_2000.zip/ned19_n48x50_w123x00_wa_puget_sound_2000.img [8/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w123x00_wa_puget_sound_2000.zip/ned19_n48x50_w123x00_wa_puget_sound_2000.img.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x75_wa_northpugetsound_2006.zip/ned19_n48x50_w122x75_wa_northpugetsound_2006.img [9/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x75_wa_northpugetsound_2006.zip/ned19_n48x50_w122x75_wa_northpugetsound_2006.img.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x50_wa_northpugetsound_2006.zip/ned19_n48x50_w122x50_wa_northpugetsound_2006.img [10/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x50_w122x50_wa_northpugetsound_2006.zip/ned19_n48x50_w122x50_wa_northpugetsound_2006.img.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x00_w123x00_wa_puget_sound_2000.zip/ned19_n48x00_w123x00_wa_puget_sound_2000.img [11/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x00_w123x00_wa_puget_sound_2000.zip/ned19_n48x00_w123x00_wa_puget_sound_2000.img.
...10...20...30...40...50...60...70...80...90...100 - done.
Processing /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w123x00_wa_puget_sound_2000.zip/ned19_n48x25_w123x00_wa_puget_sound_2000.img [12/12] : 0Using internal nodata values (e.g. -3.40282e+38) for image /vsizip//vsicurl/https://prd-tnm.s3.amazonaws.com/StagedProducts/Elevation/19/IMG/ned19_n48x25_w123x00_wa_puget_sound_2000.zip/ned19_n48x25_w123x00_wa_puget_sound_2000.img.
...10...20...30...40...50...60...70...80...90...100 - done.
!gdaldem hillshade -co COMPRESS=LZW -co TILED=YES -co BIGTIFF=IF_SAFER $tif_fn $hs_fn
0...10...20...30...40...50...60...70...80...90...100 - done.
!gdaladdo -r gauss $hs_fn
vrt_ds = rio.open(vrt_fn)
vrt_ds.profile
{'driver': 'VRT', 'dtype': 'float32', 'nodata': -3.4028234663852886e+38, 'width': 24312, 'height': 24312, 'count': 1, 'crs': CRS.from_epsg(4269), 'transform': Affine(3.0864197530864944e-05, 0.0, -123.00018518518522,
0.0, -3.086419753086406e-05, 48.500185185185195), 'blockxsize': 128, 'blockysize': 128, 'tiled': True}
Zenodo dynamic read#
test_fn='/vsicurl_streaming/https://zenodo.org/record/4558692/files/Chamoli_Feb2021_Composite_DEM2m_order_PHR_wmean.tif'
src = rio.open(test_fn)
a = src.read(1, masked=True)
a.shape
(12991, 15261)
a.size * 4 /1E9
0.793022604