Sur base des modèles numériques de terrain (MNT) fournis par la région wallonne et flamande, disponibles en accès ouvert, nous avons généré des courbes de niveaux pour l'ensemble du territoire belge. Ces courbes de niveaux, définies avec une équidistance de 5 m, sont disponibles au format Geopackage en accès libre sous licence CC BY sur ce lien. Vous pouvez utiliser ce fichier pour vos travaux cartographique en mentionnant l'attribution suivante:

Courbes de niveaux produites par Champs-Libres Coopérative, Sources des données altimétriques: MNT 2013-2014 - Service public de Wallonie & DHM Vlaanderen II - Vlaanderen.

Attention, le fichier compressé pèse près de 400 Mo.

Mais qu'est-ce qu'elles ont de spécial ces courbes de niveaux? Elles ont été fignolées avec une recette maison, car s'il est facile de générer des courbes de niveaux à partir d'un modèle numérique de terrain, divers petits trucs peuvent aider pour générer de belles courbes de niveaux. Évidemment, nous partageons notre “recette”.

Recette pour de belles courbes de niveaux

Pour cette recette, vous aurez besoin de QGIS et de gdal en ligne de commande, ainsi que bien sûr, des MNT de la Wallonie et de la Flandre.

  • Bien mélanger les MNT

Les MNT wallon et flamand ont été mélangés en utilisant gdalwarp qui agrège des rasters en ré-échantillonnant les valeurs dans les zones de recouvrement:

gdalwarp -t_srs EPSG:31370 -r average -srcnodata 0 mnt_wallon.tif dem_vlaanderen.tif dem_be.tif
  • Les faire réduire à 15 mètres de résolution

Les deux MNT d'origine ont une résolution de 1 mètre, ce qui est remarquable mais rend des courbes de niveaux trop détaillées et bourrées d'artefacts.

gdalwarp -t_srs EPSG:31370 -tr 15 15 -srcnodata 0 dem_be.tif dem_be_15x15.tif
  • Générer les courbes de niveaux (au format Geopackage) avec une équidistance de 5 mètres
gdal_contour -a ELEV -i 5.0 -f "GPKG" dem_be_15x15.tif contour.gpkg
  • Enlever les petits morceaux de courbes

Cela donne un mauvais goût aux cartes. Cela peut être effectué avec la calculatrice de champ de QGIS en calculant la longueur des segments et en filtrant sur base de cette longueur.

  • Avant de servir, lisser les courbes

C'est cette étape qui fait la différence! Pour cela, nous avons utilisé l'algorithme “snakes” de l'outil GRASS v.generalize (disponible dans QGIS), avec les paramètres par défaut. Cet algorithme donne de très beaux résultats, mais il met un temps extrêmement long dès que les courbes ont une longueur trop grande, ce qui est fréquemment le cas à l'échelle de la Belgique. Une astuce: Munissez-vous d'un outil bien tranchant, comme le “Split lines by maximum length” de QGIS pour découper finement vos courbes avant de les lisser. Cela vous fera économiser un temps fou.

Et voilà le résultat!

Voilà ce que donne les courbes avec le fond OpenArdenneMap sur deux régions des plus montagneuses du plat pays. Notez la différence avec des courbes de niveaux générées à partir du SRTM telles qu'on les retrouve sur, par exemple, OpenTopoMap (regardez ici et pour les équivalents OpenTopoMap de ces 2 cartes).

OpenArdenneMap contour lines Kemmel

OpenArdenneMap contour lines Semois