Projet de map [FabLabs], contribuer + extraire des POI

Bonjour,

J’aurai besoin de conseils pour réaliser un projet, voici les détails :

Il s’agirait d’ajouter à l’OSM des POI bien spécifiques, des FabLabs (pour ceux qui ne connaissent pas ce sont des labos ouverts au public pour découvrir l’électronique et/ou la robotique), au nombre d’une vingtaine (à terme peut-être beaucoup plus - dans la centaine).

1°) Comment intégrer un grand nombre de POI en une seule fois ? Je veux bien le faire manuellement pour les 20 premiers, mais vers la centaine ça commencera à être fatiguant^^

2°) Quel tag utiliser ? School ? Building ? Sinon peut-être en créer un spécifique, je ne sais pas quelles sont les règles pour cela.

Enfin une fois ces données intégrées, j’aimerai pouvoir les présenter sur un site Web dans une carte de France. J’ai vu qu’il était possible d’extraire tout un tas de données via l’API, donc je suppose qu’il faudra sélectionner quelles données (routes, batiments, pio, etc), mais

3°) Quel outil utiliser pour extraire les POI et créer une telle map pour le Web ?

Remarque : je ne demande pas forcément des réponses prémachées, j’ai déjà fait un peu le tour de quelques documentations, sans trouver réponse à mes questions, donc de simples références à des documents ou outils seraient super !
Merci d’avance pour votre aide
Johann.

Bonjour,

1°) Prendre son temps pour intégrer les POI, c’est la meilleure façon de procéder.
Cela permet d’affiner la localisation du point par rapport à l’état de la base OSM

2°) Quel tag utiliser ?
Bonne question, et si l’on en croit les discussions qui ont eu lieu sur la mailing list francophone [1], ce n’est pas tranché.

3°) Extraction des données
Tu peux choisir de prendre l’ensemble des données OSM pour la France, mais c’est l’approche compliquée
Pourquoi ne pas plutôt extraire uniquement les POI de fablabs entrés dans la base OSM, pour ensuite les mettre spécifiquement en valeur, par dessus une carte OSM “standard”
_ Pour l’extraction, tu peux chercher des informations concernant Overpass API [2] et Overpass Turbo [3] qui en découle
_ Pour la mise en valeur de ces données, peut être que u{map} [4] t’apportera satisfaction

J’espère que ce sont des pistes qui te seront utiles

[1] http://lists.openstreetmap.org/pipermail/talk-fr/2012-October/048815.html
[2] http://wiki.openstreetmap.org/wiki/Overpass_API
[3] http://wiki.openstreetmap.org/wiki/Overpass_turbo
[4] http://umap.fluv.io/

Merci pour ces infos !

Peut-être que le tag DIY serait approprié ? DIY=Do It Yourself. Plutôt adapté je pense, affaire à suivre.

u{map} semble correspondre parfaitement à ce que je recherche, je vais faire quelques essais. Il semble que l’on puisse exporter les data de son compte OSM, c’est très pratique maintenant la quesiton est si quelqu’un d’autre ajoute des données elles n’apparaitront pas sur ma carte…

Un bon moyen d’essayer les outils, c’est de chercher des éléments dans la base en partant de taginfo
Cet outil est très utile pour se faire une idée de la popularité d’un tag dans OSM

Par exemple, l’occurence des infos concernant les types de restaurants (clef Cuisine) :
http://taginfo.openstreetmap.org/keys/cuisine#values

La fenêtre propose des liens en haut à droite, dont un vers Overpass Turbo. Clique dessus, positionne la carte sur une zone qui t’intéresse, et clique sur le bouton “run” en haut à gauche. Pour cette recherche, les restaurants pour lesquels l’information “cuisine = *” est renseignée vont être identifiés par des cercles.

Les données brutes sont disponibles en cliquant sur l’onglet “data”.
Selon ta requête, ce sera au format json, ou bien xml (le format des données osm)

Pour la mise en valeur de tes données, tu peux également t’inspirer de cette méthode, en ligne avec l’esprit fablab ^^
http://www.swblabs.com/?p=871

Super intéressant taginfo.

Par contre l’overpass turbo peut être super lent sur une grande map… J’ai testé avec la cle fablab sur toute la france (il y en a qu’un pour l’instant) et il galérait j’ai du l’arrêter.
Je pense que u{map} est plus adapté à ce que je recherche même si j’ai encore un doute sur le problème de la mise à jour des données.

Par mal le poster raspberry^^

Il y a aussi Openlayers [1] et Leaflet [2] pour mettre une couche de son choix sur une carte OSM.


[1] http://openlayers.org/
[2] http://leafletjs.com/

Merci CepVingraunais, Leaflet a l’air vraiment pas mal, mais par contre je ne comprends pas l’utilisation des “tiles” : il faut obligatoirement passer par CloudMade ? Quel est le lien avec OSM, c-à-d comment sélectionner une carte d’OSM avec certains tags ?

Non, ce n’est pas obligatoire de prendre des tuiles Cloudmade.
Regarde par exemple ce tuto du site “Switch to OSM”, qui permet d’intégrer les tuiles du rendu principal “Mapnik” d’openstreetmap.org :
http://switch2osm.org/using-tiles/getting-started-with-leaflet/

Et soit dit en passant, l’outil u{map} utilise également Leaflet, mais en épargnant la moindre écriture de code
(pour moi par exemple, c’est salutaire !)

Pour info, j’ai fait une proposition de tag, une clé “workshop” qui je pense serait bien adaptée pour les fab labs et éventuellement d’autres types d’ateliers.

PS : Merci Ad_fab, switch2osm va être très utile.

Bonjour,

Bon alors je parviens à générer une map avec leaflet, mais je ne trouve pas comment récupérer les coordonnées d’un ensemble de tags pour en faire des markers (en temps réel, pas en téléchargeant une map et en filtrant les données)…
Cela semble se faire par une requete AJAX dans javascript mais je sais pas comment formuler cette requete et ne trouve pas d’infos là dessus sur le site de leaflet.

Si quelqu’un peut m’aider à interpréter ce code, il me semble que tout se joue dans la fonction askForPlots() :
function askForPlots() {
// request the marker info with AJAX for the current bounds
var bounds=map.getBounds();
var minll=bounds.getSouthWest();
var maxll=bounds.getNorthEast();
var msg=‘leaflet/findbybbox.cgi?format=leaflet&bbox=’+minll.lng+’,’+minll.lat+’,’+maxll.lng+’,’+maxll.lat;
ajaxRequest.onreadystatechange = stateChanged;
ajaxRequest.open(‘GET’, msg, true);
ajaxRequest.send(null);
}

En particulier, que fait la variable msg, quelle est sa syntaxe ?

Merci d’avance si quelqu’un peu m’aider ^^

Bonjour,

Projet terminé, finalement j’ai utilisé OpenLayers pour à la fois récupérer des données en “live” et permettre d’afficher des informations en info-bulle pour certains FabLabs.
Le résultat est publié ici pour ceux que ça intéresse.

Merci pour votre aide ! Hésitez pas à demander si vous voulez le code utilisé
Johann.