OpenStreetMap pour les géomaticiens

2 800 vues

Publié le

Formation à l'utilisation des données OpenStreetMap.
Explication du modèle de données et du système de tags.
Extraction de données OpenStreetMap brutes ou formatées, intégration des données dans une base de données (PostGIS) et utilisation dans un SIG (QGis). Requêtes avec Overpass Turbo.

Publié dans : Logiciels
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 800
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
64
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • uid = user id car user peut êter modifé (display name)
  • OpenStreetMap pour les géomaticiens

    1. 1. Une ressource pour les géomaticiens
    2. 2. Modèle de données Utiliser des données brutes Utiliser des données formatées Requêtes directes sur la base Pour aller plus loin ...
    3. 3. Modèle de données Une seule couche topologique ... mais tout n'est pas connecté ! Un modèle simple et extensible à volonté
    4. 4. Eléments du modèle de données Node : id, lon, lat (WGS84) Avec ou sans tag Way : 2 à 2000 nodes Au moins 1 tag Relation : liste ordonnée d'éléments Chaque élément peut avoir un rôle
    5. 5. Les tags décrivent les éléments Tag : clef = valeur ● Clef et valeur sont des chaînes de caractères libres (max. 255) ● Chaque élément peut porter plusieurs tags qui le décrivent ● exemple : highway=primary ref=N10 name=Nationale 10 maxspeed=90 lanes=2
    6. 6. Les tags sont libres mais ... Tags principaux et secondaires : Conventions documentées sur le Wiki : http://wiki.openstreetmap.org/wiki/FR:Map_Features amenity=bicyle_parking bicycle_parking=stands name=Nantes name:br=Naoned Namespace : cycleway:right=busway parking:condition=ticket
    7. 7. Wiki : Map Features
    8. 8. Wiki : Map Features
    9. 9. Quelques tags fréquents Tag Utilisation Exemple name Affiché sur la carte Château des Ducs de Bretagne source Origine de la donnée cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009 ref:FR:* Numéro externe ref:FR:FANTOIR = 910450022G addr:* Adresse addr:housenumber = 4 addr:postcode = 44000 addr:street = Place Marc Elder website Lien vers site Web www.chateau-nantes.fr wikipedia Nom article Wikipédia fr:Château des ducs de Bretagne opening_hours Horaires d'ouverture Mo-Sa 10:00-20:00; Tu off heritage Lieux classés heritage=2 heritage:operator=mhs mhs:inscription_date=1840 wheelchair Accès en fauteuil yes / no / limited layer Pour superposer de -5 à +5 note Pour les mappeurs Piste cyclable à cartographier
    10. 10. Et les polygones ? Way fermé Relation type=multipolygon Eléments : role=outer role=inner [tag area=yes]
    11. 11. Les relations Pour associer logiquement des objets proches ● polygones, limites administratives, cours d'eau ● rue : sections + adresses ● restrictions à un carrefour (ex. tourne à gauche) ● itinéraires de bus, parcours balisé PAS pour grouper des objets par catégories : ● tous les sentiers de Bretagne ● tous les restaurants d'une chaîne
    12. 12. Une relation dans JOSM
    13. 13. On assemble le tout ...
    14. 14. Hétérogénéité des géométries
    15. 15. Historique Toutes les versions de chaque élément sont conservées. Chaque node, way et relation porte ces attributs : version=”3” user=”BrunoC” uid=”125252” changeset=”6421205” timestamp="2010-11-21T10:45:10Z" visible=”true”
    16. 16. Modèle de données Utiliser des données brutes Utiliser des données formatées Requêtes directes sur la base Pour aller plus loin ...
    17. 17. Principaux formats de fichiers .osm : format XML Lisible et éditable mais volumineux .pbf : Protocolbuffer Binary Format Binaire et rapide mais illisible .o5m : un compromis entre .osm et .pbf Binaire, + rapide mais + vol. que .pbf .osc : OsmChange Proche de .osm + create/modify/delete
    18. 18. Format .osm : export d'une piscine
    19. 19. Utiliser des données brutes Fichiers aux formats .osm et .pbf Où trouver des données brutes : ● fichier planet (27Gb au format .pbf) ● fichiers préparés par GeoFabrik, Mapzen, etc. ● Exporter depuis www.openstreetmap.org Comment les utiliser : ● import dans PostGIS avec osm2pgsql ● import dans QGis via SpatiaLite ● utilitaires pour convertir en d'autres formats
    20. 20. Données brutes → PostGis Utilitaire osm2pgsql : ➔ accepte les formats .osm, .pbf, .o5m, .bz2 … ➔ peut charger les fichiers diffs pout tenir la base à jour ➔ création de 4 tables par défaut : Table Description Colonnes planet_osm_point tous les points 70 colonnes planet_osm_line toutes les lignes 69 colonnes planet_osm_polygon toutes les surfaces 69 colonnes planet_osm_roads routes principales 69 colonnes Conçu pour créer un serveur de tuiles avec Mapnik http://wiki.openstreetmap.org/wiki/Osm2pgsql
    21. 21. Données brutes → QGis Menu Vecteur > OpenStreetMap en 3 étapes : ● export d'un fichier .osm depuis le serveur (cette étape peut être remplacée pour tout autre export) ● import du fichier dans une base SpatiaLite ● accès au fichier pour chaque type de géométrie 3 tables, possibilité de sélectionner les colonnes OK pour de petits volumes de données
    22. 22. 2 feuilles de styles disponibles : https://github.com/anitagraser/QGIS-resources Style “googlemaps” Style “tonerlite” Utilisables pour un import PostGis (osm2pgsql) Données brutes → QGis
    23. 23. Deux utilitaires simples osmconvert ➔ conversion entre les différents formats OSM ➔ filtre spatial par bounding_box ou polygone ➔ conversion de polygones en point osmfilter ➔ filtre sur les type d'objets (nodes, ways, relations) ➔ filtre sur les clefs et valeurs osmconvert normandie.pbf -B=orne.poly -o=orne.osm osmfilter orne.osm --keep="shop=bakery" -o=pain.osm http://wiki.openstreetmap.org/wiki/Osmconvert http://wiki.openstreetmap.org/wiki/Osmfilter
    24. 24. Un utilitaire complet mais complexe osmosis ➔ conçu pour enchaîner plusieurs opérations ➔ lecture et écriture dans une base de données ➔ peut déduire les différences entre deux versions des données, ou les appliquer à un fichier ou une BD ➔ extrait sur une zone, filtrage par clefs-valeurs ➔ concaténation de fichiers ... osmosis --read-xml file="planet.osm" –write-pgsql host="x" database="x" user="x" password="x" http://wiki.openstreetmap.org/wiki/FR:Osmosis
    25. 25. La librairie GDAL ogr2ogr ➔ inclut un pilote pour les formats .osm et .pbf ➔ inclut la librarie SQLite qui fournit une interface SQL aux données OSM ➔ conversion en formats SIG: SHP, Mapinfo, ... ➔ changement de projection ➔ filtrage et sélection des tags, etc. Excellent tutoriel sur http://www.portailsig.org/ http://www.gdal.org/ogr2ogr.html http://www.gdal.org/drv_osm.html
    26. 26. Modèle de données Utiliser des données brutes Utiliser des données formatées Requêtes directes sur la base Pour aller plus loin ...
    27. 27. Utiliser des données préparées Fournisseur Zones courvertes Mise à jour Formats Geofabrik.de Continents, pays et régions Quotidienne .pbf, .shp Mapzen.com metro extracts +400 grandes villes Hebdomadaire .osm, .pbf, .shp, .geojson Bbike.org +200 grandes villes ou zone à définir Hebdomadaire .osm, .pbf, .shp Fichiers SIG : SHP, GeoJSON ... Principaux fournisseurs : Données structurées en tables et colonnes
    28. 28. Exports GeoFabrik – format SHP Exports par continents, pays, régions Données structurées en 7 tables : Table Description Colonnes landuse occupation du sol osm_id, name, type natural terrains naturels osm_id, name, type waterways cours d'eau osm_id, name, type, width railways réseau ferroviaire osm_id, name, type roads réseau routier osm_id, name, type, ref, oneway, bridge, tunnel, maxspeed places villes, villages, hameaux osm_id, name, type, population points un peu de tout ... osm_id, name, type Pas de bâtiments et peu d'équipements (amenity)
    29. 29. Import GeoFabrik SHP → QGis Feuilles de styles pour QGis partagées par 3Liz : https://github.com/3liz/osm-in-qgis Echelle 1:100 000 Echelle 1:10 000 … mais pas de pictogramme
    30. 30. Exports Mapzen +400 villes dans le monde Mise à jour hebdomadaire 6 formats pour chaque export : ● données OSM : .osm et .pbf ● osm2pgsql : formats SHP et GeoJSON ● imposm : formats SHP et GeoJSON … mais pas de feuille de styles disponible
    31. 31. Mapzen – format IMPOSM SHP Table Description Colonnes admin zones administratives osm_id, name, type, admin_leve aeroways pistes d'aéroports osm_id, name, type landusages occupation du sol osm_id, name, type, area, z_order waterareas plans d'eau osm_id, name, type, area waterways cours d'eau linéaires osm_id, name, type roads réseau routier osm_id, name, type, ref, class, oneway, tunnel, bridge, access, service, z_order places lieux : villages etc. osm_id, name, type, population, z_order buildings bâtiments osm_id, name, type transport_areas gares, aéroports osm_id, name, type transport_points arrêts de bus osm_id, name, type, ref amenities équipements : écoles etc. osm_id, name, type Données structurées en 11 tables + 7 généralisées
    32. 32. Modèle de données Utiliser des données brutes Utiliser des données formatées Requêtes directes sur la base Pour aller plus loin ...
    33. 33. Requêtes sur la base Avantages ● données à jour ● sélection sur bounding box et tags Plusieurs APIs ● API v0.6 : API pour l'édition des données Ne pas utiliser pour les requêtes ● XAPI : OSM Extended API Accès direct et prédicats ● Overpass API : langage de requête complet
    34. 34. L'API Overpass Optimisé pour les requêtes ● rapide et puissant ● nombreux filtres pouvant être combinés Plusieurs serveurs (capacité: 1 M requêtes/jour) ● http://overpass-api.de/api/ ● http://overpass.osm.rambler.ru/cgi/ ● http://api.openstreetmap.fr/oapi/ Nombreuses utilisations dont 2 IDEs : ● http://overpass-turbo.eu/ ● plugin Quick OSM pour QGis (par 3Liz)
    35. 35. 2 syntaxes pour un même langage <osm-script> <query type="node"> <has-kv k="name" v="Toulouse"/> </query> <print/> </osm-script> node["name"="Toulouse"]; out; http://overpass-api.de/api/interpreter?data=node["name"="Toulouse"];out; Requête XML Overpass QL Requête HTTP GET
    36. 36. API Overpass : fonctionnalités Sélection par type (node, way, relation) ou id Filtres : ● spatial : bbox, polygon, distance ● tags : k=v, k~v, k!=v, k!~v (regex) Opérations ensemblistes : union, difference Récursion : node ↔ way ↔ relation Résultat : ● format : XML, JSON, HTML, carte ● contenu : ids, geoms avec/sans tags, historique http://wiki.openstreetmap.org/wiki/Overpass_API
    37. 37. Overpass Turbo
    38. 38. Wizard pour générer facilement des requêtes amenity=restaurant in Toulouse amenity=bar or amenity=cafe around Auch boundary=administrative and admin_level=8 in Gers Carte interactive avec le résultat de la requête Export des données en GeoJSON, GPX, KML … Sauvegarde et partage de requêtes (permalien) Possibilité de définir des styles en MapCSS http://overpass-turbo.eu/ http://wiki.openstreetmap.org/wiki/Overpass_turbo
    39. 39. Plugin QuickOSM pour QGis
    40. 40. Modèle de données Utiliser des données brutes Utiliser des données formatées Requêtes directes sur la base Pour aller plus loin ...
    41. 41. Autres outils Géocodage avec Nominatim ● Service en ligne : https://nominatim.openstreetmap.org/ ● Intégration possible dans PostgreSQL http://wiki.openstreetmap.org/wiki/Nominatim/ Calcul d'itinéraires ● Service en ligne : http://project-osrm.org/ ● pgRouting dans PostgreSQL : pgrouting.org http://wiki.openstreetmap.org/wiki/Routing
    42. 42. Sources d'information Manuels en ligne ➔ Learn OSM : http://learnosm.org/ ➔ Switch2OSM : http://switch2osm.org/ ➔ FLOSS : http://fr.flossmanuals.net/openstreetmap/ Forum ➔ français : http://forum.openstreetmap.fr/ ➔ anglais : http://forum.openstreetmap.org/ Mailing lists ➔ https://lists.openstreetmap.org/listinfo ➔ http://listes.openstreetmap.fr/wws/lists
    43. 43. Remerciements Geofabrik [www.geofabrik.de], Mapzen [mapzen.com], Bbbike [www.bbbike.org] ➔ Exports formatés de données OSM Maxime Résibois [http://www.portailsig.org/] ➔ Tutoriel "Récupérer des données OpenStreetMap via GDAL:OGR" Martin Raifer ➔ Overpass Turbo 3Liz [www.3liz.com] ➔ Feuilles de styles et plugin QuickOSM pour QGis ... et les dizaines de milliers de contributeurs OpenStreetMap
    44. 44. Antoine Riche 06 76 88 13 49 antoine.riche@cartocite.fr Carto'CITÉ Agence de géomatique www.cartocite.fr Vous pouvez partager et adapter cette présentation à condition de l'attribuer à son auteur et de partager vos adaptations dans les mêmes conditions. http://creativecommons.fr

    ×