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)
../../_images/07_Raster2_DEM_download_strategies_11_0.png

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
../../_images/07_Raster2_DEM_download_strategies_25_0.svg
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#

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 the vrt_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');
../../_images/07_Raster2_DEM_download_strategies_41_0.png

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
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...

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)
../../_images/07_Raster2_DEM_download_strategies_54_0.png
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