SlideShare une entreprise Scribd logo
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
OpenStreetMap pour les géomaticiens
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

PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판 PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
SANGHEE SHIN
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환
BJ Jang
 
공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정
BJ Jang
 
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
MinPa Lee
 
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
Byeong-Hyeok Yu
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기
Byeong-Hyeok Yu
 
QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0
Byeong-Hyeok Yu
 
FOSS4G Firenze 2022 참가기
FOSS4G Firenze 2022 참가기FOSS4G Firenze 2022 참가기
FOSS4G Firenze 2022 참가기
SANGHEE SHIN
 
SIG ET ANALYSE SPATIALE, SESSION 3
SIG ET ANALYSE SPATIALE, SESSION 3SIG ET ANALYSE SPATIALE, SESSION 3
SIG ET ANALYSE SPATIALE, SESSION 3
YOUSSOUPHA MBODJI
 
Cartographie et sig 2014
Cartographie et sig 2014Cartographie et sig 2014
Cartographie et sig 2014
Ibrahima Sylla
 
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
MinPa Lee
 
QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현
SANGHEE SHIN
 
PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS
MinPa Lee
 
QGIS 개요
QGIS 개요QGIS 개요
QGIS 개요
SANGHEE SHIN
 
Qgis 기초 2019
Qgis 기초 2019Qgis 기초 2019
Qgis 기초 2019
Joonho Lee
 
"Dataviz"? la visualisation de données 201213
"Dataviz"? la visualisation de données 201213"Dataviz"? la visualisation de données 201213
"Dataviz"? la visualisation de données 201213
christophe tallec
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초
slhead1
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
MinPa Lee
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
MinPa Lee
 
전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)
Kyu-sung Choi
 

Tendances (20)

PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판 PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환
 
공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정
 
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
 
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기
 
QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0
 
FOSS4G Firenze 2022 참가기
FOSS4G Firenze 2022 참가기FOSS4G Firenze 2022 참가기
FOSS4G Firenze 2022 참가기
 
SIG ET ANALYSE SPATIALE, SESSION 3
SIG ET ANALYSE SPATIALE, SESSION 3SIG ET ANALYSE SPATIALE, SESSION 3
SIG ET ANALYSE SPATIALE, SESSION 3
 
Cartographie et sig 2014
Cartographie et sig 2014Cartographie et sig 2014
Cartographie et sig 2014
 
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
 
QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현
 
PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS
 
QGIS 개요
QGIS 개요QGIS 개요
QGIS 개요
 
Qgis 기초 2019
Qgis 기초 2019Qgis 기초 2019
Qgis 기초 2019
 
"Dataviz"? la visualisation de données 201213
"Dataviz"? la visualisation de données 201213"Dataviz"? la visualisation de données 201213
"Dataviz"? la visualisation de données 201213
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
 
전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)
 

Similaire à OpenStreetMap pour les géomaticiens

Osmose-QA
Osmose-QAOsmose-QA
Open streetmap pour CocoaHeads Paris
Open streetmap pour CocoaHeads ParisOpen streetmap pour CocoaHeads Paris
Open streetmap pour CocoaHeads Paris
CocoaHeads France
 
Tisséo opendata
Tisséo opendataTisséo opendata
Tisséo opendata
Xavier Raffin
 
L'état de l'Osmose
L'état de l'OsmoseL'état de l'Osmose
L'état de l'Osmose
Frédéric Rodrigo
 
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
Antoine 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
 
Osmose-QA
Osmose-QAOsmose-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
Open Source Experience
 
Adopte une BDD
Adopte une BDDAdopte une BDD
Adopte une BDD
Aymeric Brisse
 
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
Gautier Poupeau
 
Osm 20141112-montesquieu
Osm 20141112-montesquieuOsm 20141112-montesquieu
Osm 20141112-montesquieu
Frédéric Rodrigo
 
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
Frédéric Rodrigo
 
PostGIS @ Pgday.eu 2009
PostGIS @ Pgday.eu 2009PostGIS @ Pgday.eu 2009
PostGIS @ Pgday.eu 2009
Oslandia
 
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 noSQL
Hervé 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'ABES
ABES
 
Développement Web
Développement WebDéveloppement Web
Développement Web
mastertic
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
yboussard
 
Développement Web
Développement WebDéveloppement Web
Développement Web
mastertic
 

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 OpenStreetMap
Antoine Riche
 
À vélo avec OpenStreetMap
À vélo avec OpenStreetMapÀ vélo avec OpenStreetMap
À vélo avec OpenStreetMap
Antoine 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 OpenStreetMap
Antoine Riche
 
La cartographie indoor sur OpenStreetMap
La cartographie indoor sur OpenStreetMapLa cartographie indoor sur OpenStreetMap
La cartographie indoor sur OpenStreetMap
Antoine 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 prospects
Antoine 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 Paris
Antoine 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 Web
Antoine Riche
 
Atelier osm brest 2015
Atelier osm brest 2015Atelier osm brest 2015
Atelier osm brest 2015
Antoine Riche
 
OpenStreetMap pour le tourisme
OpenStreetMap pour le tourismeOpenStreetMap pour le tourisme
OpenStreetMap pour le tourisme
Antoine Riche
 
OpenStreetMap, l'open data du territoire
OpenStreetMap, l'open data du territoireOpenStreetMap, l'open data du territoire
OpenStreetMap, l'open data du territoire
Antoine Riche
 
OpenStreetMap pour les collectivités territoriales
OpenStreetMap pour les collectivités territorialesOpenStreetMap pour les collectivités territoriales
OpenStreetMap pour les collectivités territoriales
Antoine 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
  • 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)