Extraction données OSM

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
Thom
Messages : 5
Inscription : jeu. avr. 27, 2017 11:15 am

Extraction données OSM

Message par Thom » jeu. avr. 27, 2017 11:37 am

Bonjour à tous,

Je souhaite obtenir un data set avec les points de map OSM (commerces, écoles ...).

Il me faut : id / longitude / latitude / amenity / brand / shop / source / name

Merci par avance de votre aide,

Thomas

Avatar de l’utilisateur
cquest
Messages : 1826
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Extraction données OSM

Message par cquest » ven. avr. 28, 2017 9:36 am

Le plus simple c'est d'utiliser l'overpass-API via overpass-turbo

Exemple pour les écoles: http://overpass-turbo.eu/s/oGf

Code : Tout sélectionner

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“amenity=school in bordeaux”
*/
[out:json][timeout:300];
// fetch area “bordeaux” to search in
{{geocodeArea:bordeaux}}->.searchArea;
// gather results
(
  // query part for: “amenity=school”
  node["amenity"="school"](area.searchArea);
  way["amenity"="school"](area.searchArea);
  relation["amenity"="school"](area.searchArea);
);
// print results
out center;
le "out center" sort une latitude/longitude unique pour les POI qui sont surfaciques.

Il suffit de changer le "geocodeArea:bordeaux" en "geocodeArea:xxx" pour récupérer des données ailleurs.

Thom
Messages : 5
Inscription : jeu. avr. 27, 2017 11:15 am

Re: Extraction données OSM

Message par Thom » mar. mai 02, 2017 10:03 am

Salut,

Merci pour ta réponse.

Je vois qu'après avoir fait les modifs, la carte s'est bien ajusté à ma région, en l’occurrence la gironde.

Comment faire pour exporter ce data en CSV maintenant ?

Encore Merci :)

Thomas

Thom
Messages : 5
Inscription : jeu. avr. 27, 2017 11:15 am

Re: Extraction données OSM

Message par Thom » mar. mai 02, 2017 10:22 am

Le data set obtenu ne me donne le résultat que pour les écoles alors qu'il me faut l'ensemble des points d'OSM : centres sportifs, hôpitaux ....

Est ce que tu peux m'expliquer comment adapter le code stp ? :)

Thomas

Avatar de l’utilisateur
cquest
Messages : 1826
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Extraction données OSM

Message par cquest » mar. mai 02, 2017 3:54 pm

"L'ensemble des points d'OSM" c'est un peu vague ou alors tu va avoir toutes les données OSM qui couvrent sûrement des thématiques qui ne te sont pas utiles...

les tags amenity=* vont regrouper les services (écoles, hopitaux, police, mairie, etc)
shop=* les commerces
leisure=* ce qui touche aux loisirs, sports

Donc remplacer dans la requête "amenity"="school" par "amenity" va tout remonter sur cette thématique et pas que les écoles, etc...

Thom
Messages : 5
Inscription : jeu. avr. 27, 2017 11:15 am

Re: Extraction données OSM

Message par Thom » mar. mai 02, 2017 4:02 pm

Yes c'est ce que j'ai fait et ça a fonctionné. :)

Par contre, ça me sort un fichier JSON impossible à convertir en CSV car trop lourd.

Et quand je remplace [out:json] par [out:csv], le code ne fonctionne plus :/

Merci pour ton aide,

Thomas

Avatar de l’utilisateur
cquest
Messages : 1826
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Extraction données OSM

Message par cquest » mar. mai 02, 2017 11:05 pm

avec out:csv, on peut choisir les champs qu'on veut dans les colonnes du csv.

Voir la doc d'overpass... http://wiki.openstreetmap.org/wiki/Over ... _.28out.29

Thom
Messages : 5
Inscription : jeu. avr. 27, 2017 11:15 am

Re: Extraction données OSM

Message par Thom » mer. mai 03, 2017 10:41 am

Ok, merci pour le lien.

Tu peux m'aider à corriger mon code stp ?

Le voici :

Code : Tout sélectionner

[out:csv(::id,amenity,name,"contact:website",brand,source,::type,::lon,::lat,::count;true;"|")];
  area[name="Gironde"]->.a;
  ( node(area.a)[amenity];
    way(area.a)[amenity];
    rel(area.a)[amenity];
	node(area.a)[shop];
    way(area.a)[shop];
    rel(area.a)[shop];
 	node(area.a)[leisure];
    way(area.a)[leisure];
    rel(area.a)[leisure];
  );
  out;
out count;
/*

Comment je fais pour l'exporter en CSV ? Quand je fais export, il n'est proposé que les formats JSON ...
Normal que la carte ne s'adapte pas en fonction et ne se focus pas sur la gironde ?

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités