SlideShare une entreprise Scribd logo
1  sur  45
Une ressource pour
les géomaticiens
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 ...
Modèle de données
Une seule couche topologique
... mais tout n'est pas connecté !
Un modèle simple et extensible à volonté
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
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
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
Wiki : Map Features
Wiki : Map Features
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
Et les polygones ?
Way fermé
Relation type=multipolygon
Eléments :
role=outer
role=inner
[tag area=yes]
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
Une relation dans JOSM
On assemble le tout ...
Hétérogénéité des géométries
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”
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 ...
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
Format .osm : export d'une piscine
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
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
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
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
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
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
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
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 ...
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
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)
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
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
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
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 ...
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
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)
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
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
Overpass Turbo
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
Plugin QuickOSM pour QGis
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 ...
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
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
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
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

Contenu connexe

Tendances

Bases de données Spatiales - POSTGIS
Bases de données Spatiales - POSTGISBases de données Spatiales - POSTGIS
Bases de données Spatiales - POSTGISOmar El Kharki
 
Sig chap-3-2010 2011
Sig chap-3-2010 2011Sig chap-3-2010 2011
Sig chap-3-2010 2011imendal
 
Système d'information géographique/ Geographical Information Systems- Chérin...
Système d'information géographique/  Geographical Information Systems- Chérin...Système d'information géographique/  Geographical Information Systems- Chérin...
Système d'information géographique/ Geographical Information Systems- Chérin...Cherine Akkari
 
Chp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesChp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesLilia Sfaxi
 
Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014Amine Ouariache
 
Cartographie et SIG 2016 - Partie 3
Cartographie et SIG 2016 - Partie 3Cartographie et SIG 2016 - Partie 3
Cartographie et SIG 2016 - Partie 3Ibrahima Sylla
 
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판BJ Jang
 
[FR] Intro aux basiques de Photoshop et Lightroom
[FR] Intro aux basiques de Photoshop et Lightroom[FR] Intro aux basiques de Photoshop et Lightroom
[FR] Intro aux basiques de Photoshop et LightroomStéphane Baril
 
CV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EECV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EESid Ahmed Benkraoua
 
Language de description d’architecture ACME
Language de description d’architecture ACMELanguage de description d’architecture ACME
Language de description d’architecture ACMEAmira Hakim
 
Apache SPARK ML : principes, concepts et mise en œuvre
Apache SPARK  ML : principes, concepts et  mise en œuvre Apache SPARK  ML : principes, concepts et  mise en œuvre
Apache SPARK ML : principes, concepts et mise en œuvre MICHRAFY MUSTAFA
 
Introduction au webmapping au-dela de google maps
Introduction au webmapping  au-dela de google mapsIntroduction au webmapping  au-dela de google maps
Introduction au webmapping au-dela de google mapsVisionGÉOMATIQUE2012
 

Tendances (20)

Modele mvc
Modele mvcModele mvc
Modele mvc
 
Bases de données Spatiales - POSTGIS
Bases de données Spatiales - POSTGISBases de données Spatiales - POSTGIS
Bases de données Spatiales - POSTGIS
 
Windev
WindevWindev
Windev
 
OpenLayers 3
OpenLayers 3OpenLayers 3
OpenLayers 3
 
Sig chap-3-2010 2011
Sig chap-3-2010 2011Sig chap-3-2010 2011
Sig chap-3-2010 2011
 
Système d'information géographique/ Geographical Information Systems- Chérin...
Système d'information géographique/  Geographical Information Systems- Chérin...Système d'information géographique/  Geographical Information Systems- Chérin...
Système d'information géographique/ Geographical Information Systems- Chérin...
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Chp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesChp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de services
 
Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014
 
Cartographie et SIG 2016 - Partie 3
Cartographie et SIG 2016 - Partie 3Cartographie et SIG 2016 - Partie 3
Cartographie et SIG 2016 - Partie 3
 
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
 
introduction à MongoDB
introduction à MongoDBintroduction à MongoDB
introduction à MongoDB
 
[FR] Intro aux basiques de Photoshop et Lightroom
[FR] Intro aux basiques de Photoshop et Lightroom[FR] Intro aux basiques de Photoshop et Lightroom
[FR] Intro aux basiques de Photoshop et Lightroom
 
CV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EECV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EE
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
OpenLayers 3
OpenLayers 3OpenLayers 3
OpenLayers 3
 
Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019Partie3BI-DW-OLAP2019
Partie3BI-DW-OLAP2019
 
Language de description d’architecture ACME
Language de description d’architecture ACMELanguage de description d’architecture ACME
Language de description d’architecture ACME
 
Apache SPARK ML : principes, concepts et mise en œuvre
Apache SPARK  ML : principes, concepts et  mise en œuvre Apache SPARK  ML : principes, concepts et  mise en œuvre
Apache SPARK ML : principes, concepts et mise en œuvre
 
Introduction au webmapping au-dela de google maps
Introduction au webmapping  au-dela de google mapsIntroduction au webmapping  au-dela de google maps
Introduction au webmapping au-dela de google maps
 

Similaire à OpenStreetMap pour les géomaticiens

Open streetmap pour CocoaHeads Paris
Open streetmap pour CocoaHeads ParisOpen streetmap pour CocoaHeads Paris
Open streetmap pour CocoaHeads ParisCocoaHeads France
 
Suivi des modifications des données OpenStreetMap sur 380 gares
Suivi des modifications des données OpenStreetMap sur 380 garesSuivi des modifications des données OpenStreetMap sur 380 gares
Suivi des modifications des données OpenStreetMap sur 380 garesAntoine Riche
 
Presentation OpenStreetMap (OSM) au Pole Numerique de la Drome le 06 Juillet ...
Presentation OpenStreetMap (OSM) au Pole Numerique de la Drome le 06 Juillet ...Presentation OpenStreetMap (OSM) au Pole Numerique de la Drome le 06 Juillet ...
Presentation OpenStreetMap (OSM) au Pole Numerique de la Drome le 06 Juillet ...quicky_osm
 
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usagesPostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usagesOpen Source Experience
 
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieRéalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieGautier Poupeau
 
4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contribution4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contributionFrédéric Rodrigo
 
PostGIS @ Pgday.eu 2009
PostGIS @ Pgday.eu 2009PostGIS @ Pgday.eu 2009
PostGIS @ Pgday.eu 2009Oslandia
 
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLHervé Leclerc
 
code4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABEScode4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABESABES
 
Développement Web
Développement WebDéveloppement Web
Développement Webmastertic
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Pythonyboussard
 
Développement Web
Développement WebDéveloppement Web
Développement Webmastertic
 

Similaire à OpenStreetMap pour les géomaticiens (20)

Osmose-QA
Osmose-QAOsmose-QA
Osmose-QA
 
Open streetmap pour CocoaHeads Paris
Open streetmap pour CocoaHeads ParisOpen streetmap pour CocoaHeads Paris
Open streetmap pour CocoaHeads Paris
 
Tisséo opendata
Tisséo opendataTisséo opendata
Tisséo opendata
 
L'état de l'Osmose
L'état de l'OsmoseL'état de l'Osmose
L'état de l'Osmose
 
Suivi des modifications des données OpenStreetMap sur 380 gares
Suivi des modifications des données OpenStreetMap sur 380 garesSuivi des modifications des données OpenStreetMap sur 380 gares
Suivi des modifications des données OpenStreetMap sur 380 gares
 
Presentation OpenStreetMap (OSM) au Pole Numerique de la Drome le 06 Juillet ...
Presentation OpenStreetMap (OSM) au Pole Numerique de la Drome le 06 Juillet ...Presentation OpenStreetMap (OSM) au Pole Numerique de la Drome le 06 Juillet ...
Presentation OpenStreetMap (OSM) au Pole Numerique de la Drome le 06 Juillet ...
 
Osmose-QA
Osmose-QAOsmose-QA
Osmose-QA
 
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usagesPostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
PostgreSQL, plus qu'une base de données, une plateforme aux multiples usages
 
Adopte une BDD
Adopte une BDDAdopte une BDD
Adopte une BDD
 
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieRéalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
 
Osm 20141112-montesquieu
Osm 20141112-montesquieuOsm 20141112-montesquieu
Osm 20141112-montesquieu
 
4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contribution4/5 Osm 20141118-l2.2-collecte et contribution
4/5 Osm 20141118-l2.2-collecte et contribution
 
PostGIS @ Pgday.eu 2009
PostGIS @ Pgday.eu 2009PostGIS @ Pgday.eu 2009
PostGIS @ Pgday.eu 2009
 
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
A1 Flux Sitra
A1   Flux Sitra A1   Flux Sitra
A1 Flux Sitra
 
code4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABEScode4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABES
 
Développement Web
Développement WebDéveloppement Web
Développement Web
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
 
Développement Web
Développement WebDéveloppement Web
Développement Web
 

Plus de Antoine Riche

Acquisition et maintenance des données vélo sur OpenStreetMap
Acquisition et maintenance des données vélo sur OpenStreetMapAcquisition et maintenance des données vélo sur OpenStreetMap
Acquisition et maintenance des données vélo sur OpenStreetMapAntoine Riche
 
À vélo avec OpenStreetMap
À vélo avec OpenStreetMapÀ vélo avec OpenStreetMap
À vélo avec OpenStreetMapAntoine Riche
 
Étude géomatique sur les véloroutes avec OpenStreetMap
Étude géomatique sur les véloroutes avec OpenStreetMapÉtude géomatique sur les véloroutes avec OpenStreetMap
Étude géomatique sur les véloroutes avec OpenStreetMapAntoine Riche
 
La cartographie indoor sur OpenStreetMap
La cartographie indoor sur OpenStreetMapLa cartographie indoor sur OpenStreetMap
La cartographie indoor sur OpenStreetMapAntoine Riche
 
OSM goes indoors: usages, tools and prospects
OSM goes indoors: usages, tools and prospectsOSM goes indoors: usages, tools and prospects
OSM goes indoors: usages, tools and prospectsAntoine Riche
 
SOTM FR 2016 Cartographie des gares de Paris
SOTM FR 2016 Cartographie des gares de ParisSOTM FR 2016 Cartographie des gares de Paris
SOTM FR 2016 Cartographie des gares de ParisAntoine Riche
 
Communiquez avec des cartes : a cartographie interactive sur le Web
Communiquez avec des cartes : a cartographie interactive sur le WebCommuniquez avec des cartes : a cartographie interactive sur le Web
Communiquez avec des cartes : a cartographie interactive sur le WebAntoine Riche
 
Atelier osm brest 2015
Atelier osm brest 2015Atelier osm brest 2015
Atelier osm brest 2015Antoine Riche
 
OpenStreetMap pour le tourisme
OpenStreetMap pour le tourismeOpenStreetMap pour le tourisme
OpenStreetMap pour le tourismeAntoine Riche
 
OpenStreetMap, l'open data du territoire
OpenStreetMap, l'open data du territoireOpenStreetMap, l'open data du territoire
OpenStreetMap, l'open data du territoireAntoine Riche
 
OpenStreetMap pour les collectivités territoriales
OpenStreetMap pour les collectivités territorialesOpenStreetMap pour les collectivités territoriales
OpenStreetMap pour les collectivités territorialesAntoine Riche
 

Plus de Antoine Riche (11)

Acquisition et maintenance des données vélo sur OpenStreetMap
Acquisition et maintenance des données vélo sur OpenStreetMapAcquisition et maintenance des données vélo sur OpenStreetMap
Acquisition et maintenance des données vélo sur OpenStreetMap
 
À vélo avec OpenStreetMap
À vélo avec OpenStreetMapÀ vélo avec OpenStreetMap
À vélo avec OpenStreetMap
 
Étude géomatique sur les véloroutes avec OpenStreetMap
Étude géomatique sur les véloroutes avec OpenStreetMapÉtude géomatique sur les véloroutes avec OpenStreetMap
Étude géomatique sur les véloroutes avec OpenStreetMap
 
La cartographie indoor sur OpenStreetMap
La cartographie indoor sur OpenStreetMapLa cartographie indoor sur OpenStreetMap
La cartographie indoor sur OpenStreetMap
 
OSM goes indoors: usages, tools and prospects
OSM goes indoors: usages, tools and prospectsOSM goes indoors: usages, tools and prospects
OSM goes indoors: usages, tools and prospects
 
SOTM FR 2016 Cartographie des gares de Paris
SOTM FR 2016 Cartographie des gares de ParisSOTM FR 2016 Cartographie des gares de Paris
SOTM FR 2016 Cartographie des gares de Paris
 
Communiquez avec des cartes : a cartographie interactive sur le Web
Communiquez avec des cartes : a cartographie interactive sur le WebCommuniquez avec des cartes : a cartographie interactive sur le Web
Communiquez avec des cartes : a cartographie interactive sur le Web
 
Atelier osm brest 2015
Atelier osm brest 2015Atelier osm brest 2015
Atelier osm brest 2015
 
OpenStreetMap pour le tourisme
OpenStreetMap pour le tourismeOpenStreetMap pour le tourisme
OpenStreetMap pour le tourisme
 
OpenStreetMap, l'open data du territoire
OpenStreetMap, l'open data du territoireOpenStreetMap, l'open data du territoire
OpenStreetMap, l'open data du territoire
 
OpenStreetMap pour les collectivités territoriales
OpenStreetMap pour les collectivités territorialesOpenStreetMap pour les collectivités territoriales
OpenStreetMap pour les collectivités territoriales
 

OpenStreetMap pour les géomaticiens

  • 1. Une ressource pour les géomaticiens
  • 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. Modèle de données Une seule couche topologique ... mais tout n'est pas connecté ! Un modèle simple et extensible à volonté
  • 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. 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. 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. Wiki : Map Features
  • 8. Wiki : Map Features
  • 9.
  • 10. 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
  • 11. Et les polygones ? Way fermé Relation type=multipolygon Eléments : role=outer role=inner [tag area=yes]
  • 12. 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
  • 14. On assemble le tout ...
  • 16. 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”
  • 17. 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 ...
  • 18. 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
  • 19. Format .osm : export d'une piscine
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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 ...
  • 28. 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
  • 29. 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)
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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 ...
  • 34. 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
  • 35. 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)
  • 36. 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
  • 37. 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
  • 39. 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
  • 41. 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 ...
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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

Notes de l'éditeur

  1. uid = user id car user peut êter modifé (display name)