Comment télécharger des modèles numériques de terrain avec Earth Engine
Earth Engine
Earth Engine (EE) est la plateforme de données géospatiales de Google. Elle abrite une énorme quantité de données géospatiales ouvertes au public et qui peuvent être téléchargées gratuitement pour des fins éducatives ou de recherche scientifique.
On y retrouve notamment le modèle numérique de terrain (MNT) global produit par interférométrie radar à bord de la navette spatiale Endeavour dans le cadre de la SRTM en 2000.
L’analyse des MNT est très utile pour interpréter les levés géophysiques parce qu’on peut s’en servir pour corriger numériquement les données en fonction de la topographie. Même si le produit de la SRTM a une résolution spatiale relativement faible (1 seconde d’arc, soit environ 30 m), il est très pratique de pouvoir se procurer des MNT gratuitement et ce à n’importe quel endroit dans le monde.
Définir la zone d’intérêt
La zone où on veut le MNT est délimitée par un polygone (shapefile). Le polygone peut être soit importé ou tracé directement sur la carte avec l’outil “Draw a shape” :
On peut aussi explicitement décrire les sommets d’un polygone dans l’éditeur de texte :
var geometry = ee.Geometry.Polygon(
[[[-70.75403911456439, 47.82681695860448],
[-70.21227580890033, 47.82220679593597],
[-70.21570903643939, 48.01180650054785],
[-70.74991924151752, 48.011347148135584]]]);
Le polygone que j’ai tracé couvre le Parc national des Hautes‑Gorges-de-la-Rivière‑Malbaie dans Charlevoix.
Importer les données SRTM
Il suffit de créer un objet ee.Image
avec l’adresse EE des données désirées pour les importer. On trouve ces adresses en parcourant le catalogue des données.
// Aller chercher les données avec leur adresse sur EE
var dataset = ee.Image('USGS/SRTMGL1_003');
var dataset = dataset.clip(geometry); // seulement les données dans le polygone
Calculs et visualisation
Il est possible de faire des calculs dans EE avant d’exporter les données. Ça peut être utile parce que toutes sortes d’algorithmes sont implémentés dans EE et parce que les calculs à grande échelle se font très rapidement dans le nuage.
Par exemple on peut calculer la pente du terrain (la dérivée horizontale) du MNT avec :
var elevation = dataset.select('elevation'); // sélectionner une bande
var slope = ee.Terrain.slope(elevation); // calculer la pente, par exemple
Et on peut visualiser les résultats en les plaçant sur la carte :
var centre = geometry.centroid(); // le centre du polygone
Map.setCenter(ee.Number(centre.coordinates().get(0)).getInfo(),
ee.Number(centre.coordinates().get(1)).getInfo(),
10); // placer la vue au centre (x, y, zoom)
Map.addLayer(slope, {min: 0, max: 60}, 'slope'); // ajouter la pente calculeé
Voyez à quoi cette topographie ressemble du haut des airs :
Exporter vers Google Drive
Finalement, les données peuvent être exportées directement dans Drive.
// Exporter les données
// en choisisant la région d'intérêt
// et la résolution de l'image
Export.image.toDrive({
image: dataset, // le MNT
fileFormat: 'GeoTIFF', // format (.tif)
description: 'MNT-Hautes-Gorges', // description du fichier
scale: 30, // 1 pixel = 30 m
region: geometry, // le polygone qui délimite le MNT
});
Appuyer sur “Run” dans l’onglet “Tasks” pour commencer le téléversement vers Drive. Ça prend plusieurs minutes.
Vous savez maintenant comment obtenir des MNT avec une résolution spatiale de 30 mètres et ce n’importe où dans le monde. Notez toutefois que les résultats du SRTM ont une très faible résolution à des latitudes extrêmes. Le processus pour télécharger des données est très semblable pour tous les autres jeux de données disponibles sur EE.