Skip to content

Créer une carte topographique à partir des données OpenStreetMap.

Notifications You must be signed in to change notification settings

igeofr/osm2igeotopo

Repository files navigation

osm2igeotopo

Télécharger les données générées sur la France métropolitaine, les DOM-TOM (Découpage suivant les anciennes régions).


Objectif du projet

Utiliser la richesse des informations disponibles dans OpenStreetMap et les valoriser sous la forme d'une carte topographique libre au 1/25 000 (pseudo SCAN25® | IGN) afin qu'elles puissent être librement exploitées dans une application SIG ou plus simplement imprimées.

Rendu proposé

Exemple sur Montpellier Nord V1

Pourquoi cette idée ?

Après la création du projet OSM2IGEO, j'ai constaté qu'il n'existait pas de carte topographique "libre" ormis le projet Web : OpenTopoMap mais qui ne répond pas à certains besoins de portabilité.

En m'appuyant sur les données générées pour OSM2IGEO, j'ai donc poursuivi mes travaux pour produire une chaine de traitement permettant de générer et de communiquer des données topographiques sous forme de tuiles de 10*10km.

Les données générées

Télécharger les données générées sur la France métropolitaine, les DOM-TOM (Découpage suivant les anciennes régions). A plus long terme, nous aimerions générer des cartes topographiques sur l'Afrique Francophone ou ce type de carte est difficilement accessible.

Attention : Les fichiers générés ne respectent pas les spécifications du SCAN25® | IGN ils visent seulement à s'en rapprocher pour pallier à un besoin de données/informations libres.

Origine des données

  1. Les données OpenStreetMap utilisées pour générer les fichiers vectoriels régionaux proviennent de Geofabrik et sont ensuite mis en formes dans le cadre du projet OSM2IGEO.

  2. Le modèle numérique utilisé provient du projet européen EU-DEM (V1.1) disponible via le site internet de Copernicus - Nota : inscription obligatoire. La résolution de ce produit est de 25 mètres.

Il est possible d'adapter ce projet pour utiliser des données OSM provenant d'autres sources.

Les points forts

  • Adaptabilité de la chaîne
  • Donnée ouverte basée sur le projet collaboratif OpenStreetMap
  • Couverture régionale
  • Mise à jour en continu possible

Les points faibles

  • Hétérogénéité spatiale & attributaire (Hétérogénéités des sources et des compétences des contributeurs).
  • Rendu à améliorer sur certains points.

Formats

  • .tif

Il est possible d'envisager d'autres formats si le besoin se fait sentir.

Projections disponibles

  • Pour la France métropole : (RGF 93) projection Lambert-93 (EPSG : 2154)

Il est possible de générer les fichiers dans d'autres systèmes de projection.

Mises à jour

Nous allons essayer de proposer une mise à jour chaque mois.

Pré-requis et étapes de la chaine de traitement osm2igeotopo

Pré-requis

Télécharger la police d'écriture Noto Sans Display Condensed - Proposée par Romain Lacroix dans son tuto : Carte Topo avec QGIS

A creuser : Typography for topography : BELLTOPO SANS TYPEFACE & FREE FONT

Des données à la carte - Etapes

1. Téléchargement des données

1.1. Télécharger le modèle numérique de terrain EU-DEM (V1.1) disponible via le site internet de Copernicus - Nota : inscription obligatoire.

  • Pour la France métropolitaine télécharger les tuiles : E30N20 (principale), E30N30, E40N20 (un fichier pouvant peser jusqu'à 5Go) - Système de projection européen ETRS89 (EPSG:3035).

  • Créer un raster virtuel regroupant les différentes tuiles EU-DEM :

    cd "/OSM2IGEOTOPO/"
    gdalbuildvrt data_in/dsm/1_VRT.vrt  data_in/dsm/*.tif
    

1.2. Télécharger les zones maritimes depuis le site : https://osmdata.openstreetmap.de

cd "/OSM2IGEOTOPO/"
curl --limit-rate 100K https://osmdata.openstreetmap.de/download/water-polygons-split-4326.zip > "data_in/oceans_seas/water-polygons-split-4326.*"

2. Des données à la carte : Préparation et traitement des données :

Le script 2_osm2igeotopo25.sh exploite la puissance de gdal et d'ogr2ogr pour traiter l'information.

Exécuter cette commande pour lancer la production des tuiles.

cd "/OSM2IGEOTOPO/"
2_osm2igeotopo25.sh 11_ILE_DE_FRANCE

Etapes du script

  • 2.1. Téléchargement et décompression des données OSM2IGEO
  • 2.2. Création d'une zone tampon de 500m autour des communes de la région concernée
  • 2.3. Découpage du modèle numérique sur la région concernée
  • 2.4. Création des courbes de niveau
  • 2.5. Création d'un fichier de l'emprise régionale
  • 2.6. Découpage des courbes de niveau suivant ce fichier d'emprise régionale
  • 2.7. Sélection des mailles recouvrant la région choisie
  • 2.8. Sélection des zones maritimes bordant la région
  • 2.9. Création de raster d'ombrage à partir des données EU-DEM
  • 2.9. Export de la carte sous forme de tuiles : L'export est automatisé par un script python qui s'appuye sur l'API de QGIS (export_atlas.py)

Attention :

  • il faut modifier les chemins en fonction de votre organisation (home/...)
  • il faut modifier la fin du script si vous souhaitez exporter ou non le résultat sur un serveur FTP (Curl).

3. Mise en forme des données

Pour faciliter la mise en forme des données nous avons travaillé avec le logiciel libre QGIS3.

Pour aller plus loin :

Commission de toponymie du Québec - Toponyme et abbréviation

  • 3.2. L'orientation des labels est réalisée à l'aide du code :

    CASE
      WHEN angle_at_vertex($geometry,1) <= 180
      THEN ''
        ELSE "NUMERO"
    END
    

Source : https://gis.stackexchange.com/questions/116697/one-label-for-two-lane-roads-osm-qgis-postgis/322816#322816

5. Compression des tuiles
A suivre :

Pistes d'évolution

  • Compléter nos travaux OSM2IGEO pour compléter le rendu (bornes géodésiques, points de vue, surfaces en eau,...)
  • Créer une légende Légende OpenTopoMap
  • Créer un fichier de métadonnées
  • Affiner certaines requêtes
  • Améliorer le rendu du projet QGIS (couleurs, labels, orientation des symboles ...)
  • Améliorer la recette pour le rendu du modèle numérique et le calcul des courbes de niveau (Des cartes topographiques avec OpenStreetMap)
  • Ajouter des courbes de niveau en zone maritime : GEBCO_2019 grid

Licence

Les données sont fournies sous licence ODbL (Open Database Licence). Cette licence implique : l'attribution et le partage à l'identique.

  • Pour la mention d'attribution veuillez indiquer « osm2igeotopo par DATA\WAX - © les contributeurs d’OpenStreetMap - Copernicus programme, European Digital Elevation Model (EU-DEM), version 1.1, financement de l'Union européenne ».
  • Pour le partage à l'identique, toute amélioration des données de osm2igeotopo doit être repartagée sous licence identique.

Merci

Nous remercions tous les contributeurs du projet OpenStreetMap qui enrichissent quotidiennement cette base de données géographique mondiale.

Le mot de la fin

Merci de nous faire remonter : les erreurs et/ou les problèmes que vous rencontrez.

Pour toute question concernant le projet ou le jeu de données, vous pouvez me contacter : florian.boret)at(data-wax.com


Pour aller plus loin :


Biblio :


Sur le sujet :