Extraire rues à partir d'un .osm

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
Avatar de l’utilisateur
vale
Messages : 3
Inscription : dim. janv. 08, 2012 11:25 am

Extraire rues à partir d'un .osm

Message par vale » dim. janv. 08, 2012 11:35 am

Bonjour à tous,
afin de faire fonctionner l'outil de recherche offline sur l'appli java pour mobile Mgmaps, je cherche un moyen d'extraire les noms de rues à partir d'un fichier .osm. S'il vous plaît, auriez-vous une idée de script sur la chose (ou bien avec JOSM, je ne sais pas trop) ?

Le fichier en question :
http://www.2shared.com/file/IG5biI4H/map.html

Merci pour vos suggestions ;)

Edit : ok j'ai trouvé un moyen en utilisant les expressions régulières de Notepad++, j'ai pu marquer les lignes désirées, puis supprimer les lignes non marquées, et enfin les balises qui entouraient les noms de rue :)

Si des gens veulent le détail de la manip, qu'ils me le demandent :D

sly
Messages : 489
Inscription : sam. févr. 07, 2009 6:33 pm
Localisation : Chambéry - savoie

Re: Extraire rues à partir d'un .osm

Message par sly » dim. janv. 08, 2012 2:03 pm

Juste pour indiquer une solution sans doute plus performante, plus rapide mais aussi bien plus complexe à mettre en oeuvre :

- Importer ton fichier osm dans une base de données PostGIS avec l'outil osm2pgsql ou osmosis (voir wiki de openstreetmap)
- Faire une requête SQL du genre "SELECT name from rues where highway='residential'"

Si ton besoin n'est que de le faire une seule fois, pour une seule zone, ta technique est sans doute le meilleur compromis, mais tu veux pouvoir le refaire régulièrement, ou sur d'autres zones, je recommande l'import dans une base de donnée

Avatar de l’utilisateur
vale
Messages : 3
Inscription : dim. janv. 08, 2012 11:25 am

Re: Extraire rues à partir d'un .osm

Message par vale » dim. janv. 08, 2012 2:34 pm

Oulah, merci de ton conseil avisé; mais je n'ai pas trop l'envie de me mettre au sql, je ne suis qu'un modeste graphiste moi :oops:...

Cela dit je pensais aussi à importer cet osm dans JOSM, toujours pour en extraire les noms de rue uniquement, si cela est possible.

Au final, je suis toujours bloqué à la dernière étape : Mgmaps ne reconnaît pas la base de données générée par OfflineBot, mais ceci est une autre histoire.

PierreV
Messages : 34
Inscription : mer. nov. 23, 2011 7:02 pm

Re: Extraire rues à partir d'un .osm

Message par PierreV » dim. janv. 08, 2012 9:08 pm

je pense que sly parle de la "recherche" via josm puis tu colle dans un nouveau calque que tu enregistre... pas besoin de s'y connaitre en manipulations sql

Cyrille37
Messages : 7
Inscription : mar. juin 24, 2014 9:42 pm

Re: Extraire rues à partir d'un .osm

Message par Cyrille37 » sam. sept. 03, 2016 2:28 pm

Salut

On peut aussi extraire les rues directement depuis la base de données OSM avec Overpass-API.

Pour limiter le contour de la requête il y a <area-query> : on ajoute l'ID de la relation au nombre (magique) 3600000000.
Ce qui donne par exemple pour Montreuil en Touraine :

Code : Tout sélectionner

<osm-script >
<!--
http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL

Montreuil-en-Touraine
Relation : 171408
http://www.openstreetmap.org/relation/171408

area-query: relation id + 3600000000
-->
  <union>
	<query type="way">
		<has-kv k="highway" />
		<has-kv k="name" />
		<area-query ref="3600171408"/>
	</query>
   </union>
  <print mode="meta"/>
</osm-script>
Directement sur Overpass-Turbo: http://overpass-turbo.eu/s/iaS

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

Re: Extraire rues à partir d'un .osm

Message par cquest » dim. sept. 04, 2016 8:40 am

Il n'est plus nécessaire de se prendre la tête avec le numéro de relation...

http://overpass-turbo.eu/s/ibF

Code : Tout sélectionner

[out:json][timeout:25];
{{geocodeArea:montreuil-en-touraine}}->.searchArea;
way["highway"]["name"](area.searchArea);
out body;
>;
out skel qt;

On peut même utiliser le "wizard" avec tout simplement: “highway=* in montreuil-en-touraine”

Avatar de l’utilisateur
gendy54
Site Admin
Messages : 376
Inscription : ven. juil. 11, 2014 10:31 pm
Localisation : Paris, Nancy
Contact :

Re: Extraire rues à partir d'un .osm

Message par gendy54 » dim. sept. 04, 2016 2:58 pm

Avec le wizard, c'est plus propre, on a toutes les voies de la commune.
Donat ROBAUX

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

Re: Extraire rues à partir d'un .osm

Message par cquest » dim. sept. 04, 2016 10:39 pm

Si tu veux toutes les voies, il suffit de retirer le ["name"]

Plus propre ou pas, ça dépend de ce qu'on veut obtenir... autre truc possible avec overpass, la requête qui sort directement un CSV.

Répondre

Qui est en ligne ?

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