S'abonner au Flux RSS

lundi, septembre 9 2013

bbox étendue sur l'overpass-api

L'overpass API d'OpenStreetMap permet de récupérer des données en contruisant des requêtes plus ou moins complexe. Une requête simple comme récupérer tous les noeuds de type camping sur une zone couvrant l'Europe s'écrie :

<query type="node">
       <has-kv k="tourism" v="camp_site"/>
       <bbox-query s="41" w="-11" n="71" e="31"/>
</query>
<print/>

SImple a analyser une telle requête sera malheureusement trop conséquente pour être traitée au vu de la zone couverte. Une solution consiste à découper la bbox en zones plus petites qui seront rapidement traitées par le serveur, l'automatisation de ce découpage est la raison d'être d'ovpwild.py.

ovpwild.py va lire un fichier de requête et une bbox en paramètres et effectuer autant de requêtes que de carré de 1°x1° nécessaire pour couvrir toute la zone. Pour réaliser la requête ci-dessus il suffit d'écrire un fichier de requête contenant :

<query type="node">
       <has-kv k="tourism" v="camp_site"/>
       <bbox-query s="{south}" w="{west}" n="{north}" e="{east}"/>
</query>
<print/>

et d'exécuter la commande :

ovpwild.py -n 71 -s 46 -e 31 -w -11 -q campsite.overpas -o /tmp/

Le répertoire /tmp contiendra autant de fichiers que de requêtes qu'il ne restera plus qu'à charger dans une base postgis avec osm2pgsql par exemple.

Le scripts possède différentes options comme la reprise sur erreur, le réglage du timeout, le nombre de ré-essai automatique, la taille des zones unitaires, ... Toutes les options étant consultables par ovpwild.py -h.

ovpwild.py est publié sous licence GPLv3, où il peut être téléchargé et forké sur Gitorious (lien download).

Pour obtenir tous les noeuds dans une zone élargie il est également possible de récupérer les dumps de Geofabrik et de les traiter avec osmfilter, mais dans mon cas la machine effectuant les traitements est utilisée aussi pour le rendu, un tel traitement est trop lourd et impactant pour les autres services.

dimanche, octobre 10 2010

Calculateur d'espace disque pour tuiles OpenStreetMap

L'espace disque est un aspect important de la mise à disposition de carte sur Internet. Si vous travaillez sur une zone finie du globe il est intéressant de connaître rapidement l'espace disque nécessaire à la génération à priori de l'ensemble des tuiles que vous allez servir. Confronté régulièrement à cette problématique j'ai fait un tableur (OpenOffice) pour calculer l'espace disque et le nombre de tuiles pour une zone donnée (bounding box pour les intimes). La taille moyenne de la tuile est mésurée sur un serveur de production avec le rendu mapnik par défaut, les tuiles prises en compte sont des tuiles consultées par des humains et non un extrait statistique de l'ensemble des tuiles, ceci afin de donner plus de sens à la valeur moyenne. Ce tableur est publié ici sous licence GPL v3.

mercredi, juin 23 2010

Aide à la toponymie dans OSM

Lors des imports massifs les données sources peuvent être intégralement en majuscule ou en minuscule, il faut alors reprendre un à un tous les noms pour les écrire correctement. Cette tâche est longue et fastidieuse, pour réduire cette lourdeur j'ai écris une fonction à intégrer dans une base PostgreSQL en PL/Perl qui simplifie grandement le travail de ré-écriture. La fonction osm_capitalize suit les règles définies dans le Code officiel géographique de l'INSEE. Au vu des règles suivies la fonction n'est valide que pour les toponymes français.

Un exemple d'utilisation de la fonction, la première colonne présente le nom tels que trouvés dans un import, et la colonne de gauche le même nom passé au travers de la fonction.

Le petit pré                | Le Petit Pré
Le petit du champs des prés | Le Petit du Champs des Prés
LE PETIT DU CHAMPS DES PRÉS | Le Petit du Champs des Prés
la près d'hier              | La Près d'Hier
Bourg-en-bresse             | Bourg-en-Bresse
BOURG-EN-BRESSE             | Bourg-en-Bresse
l'epine                     | L'Epine
L'EPINE                     | L'Epine
LA ROCHE-SUR-YON            | La Roche-sur-Yon
CLAVANS-EN-HAUT-OISANS      | Clavans-en-Haut-Oisans
l'isle-jourdain             | L'Isle-Jourdain
PONT D'AIN                  | Pont d'Ain
SAINT-ANDRÉ-D'HUIRIAT       | Saint-André-d'Huiriat

Mise à jour du 26 juin : le code a migré chez Gitorious

mercredi, juin 16 2010

Premier import massif

La mairie de Guipel a fournit les données géographiques en sa possession à l'équipe de contributeurs d'OpenStreetMap j'ai été chargé de procéder à cet import, je tiens ici à remercier François, Steven et Pierre pour leur confiance. Bien que modeste dans le volume des données à traiter cet import m'a permis de toucher à une autre facette du projet OpenStreetMap. J'avais déjà étudié l'import de données automatisé avec le traitement des coordonnées des éoliennes (voir billet ci-contre) mais je n'avais pas encore manipulé de shapefile, ce qui est désormais chose faîte.

Pour se rendre compte de l'intérêt de cet import on peut comparer les deux images suivantes ; avant l'import ...

Guipel avant

et après l'import

Guipel après

Cet import a été rendu possible grâce à la documentation de François Van Der Biest sur l'import de Crozon.

Si vous cherchez Guipel sur la carte en ligne c'est ici

J'ai pris beaucoup de plaisir dans l'étude et la réalisation de cet import massif, j'espère avoir l'occasion d'en réaliser d'autres très prochainement.

Que soit ici remercié la mairie de Guipel pour la fourniture de ces données, l'import n'est qu'une étape dans l'intégration de Guipel dans la carte OSM, la seconde aura lieu le samedi 19 juin 2010 avec une carto-partie sur place.

lundi, mai 31 2010

50 éoliennes supplémentaires

Logo Valorem La société Valorem a répondu positivement à ma sollicitation pour obtenir les coordonnées de leurs éoliennes. Celle-ci m'a transmis les coordonnées Lambert de leurs turbines que j'ai pu intégrer dans OpenStreetMap après conversion des coordonnées en WGS84 avec OsmApi.

L'ajout en masse des 50 points ont été faits au sein du changeset 4860587.

jeudi, avril 29 2010

Première carte publiée

Afin de regouper dans un même lieu numérique les cartes que je publie j'ai mis en place un espace nommé carto.quiedeville.org. Celui-ci est inauguré avec la publication de la carte des éoliennes en France présente dans OpenStreetMap, j'en dénombre 193 ce jour.

Carto

vendredi, avril 16 2010

Nouveaux parcs éoliens dans OpenStreetMap

Premiers retours encourageants dans la collecte des données des parcs éoliens. J'ai sollicité plusieurs exploitants de parcs éoliens pour d'obtenir de leur part les positions géographiques de leurs éoliennes afin de les ajouter à OpenStreetMap ; Energiequelle GmbH a été la première société à me transmettre les positions de chaque éoliennes.

Après avoir saisit les données dans une base postgis j'ai utilisé la lib OsmApi (merci au passage à Etienne Chové) afin d'inclure les éoliennes sans trop de saisies rébarbatives.

Les 6 nouvelles éoliennes sont visibles directement sur la carte aux adresses http://bit.ly/bRyTUQ et http://bit.ly/dhHXMU.

jeudi, décembre 10 2009

Combien d'éoliennes dans OpenStreetMap ?

Je me suis amusé à écrire un script pour compter les éoliennes référencées dans OpenStreetMap (OSM) et les classer par région, j'en dénombre 134 à ce jour, réparties de la façon suivante :

eoliennes-1209.png

Le site The Wind Power en dénombre 2709 sur l'hexagone, il reste du travail à faire visiblement. Ces 2 sujets de l'éolien et du SIG m'intéressant, j'essaierai de faire régulièrement d'autres billets pour suivre l'évolution de la représentation de la puissance éolienne dans OSM. Je pense qu'OSM peut devenir un outil de veille citoyenne, des pays comme l'Allemagne étant presque complet on peut aujourd'hui avoir accès à des données non publiées ou simplement inexistante. Un exemple personne ne sait dire aujourd'hui combien la France dispose de point de recyclage, personne ne peut répondre à la question 'Ma ville est-elle bien équipée en terme de point de collecte ?' J'aime à penser qu'une initiative citoyenne et libre comme l'est OpenStreetMap nous permettra de bientôt répondre à ce genre de question.

En attendant les analyses, mappons !

lundi, juin 15 2009

OSM et Journées Géomatiques de l'Ouest

Des mappeurs sont invités cette années aux Journées Géomatiques de l'Ouest organisée par le Réseau Géomatique de l'Ouest à la Roche-sur-Yon ces 15 et 16 juin 2009, pour présenter différents aspects d'OpenStreetMap. Pour ma part j'y ferais une présentation des serveurs de tuiles lors des ateliers pratiques.

Le vélo-partage dans OSM

Adepte du Vélopartage je trouvais regrettable de ne pas trouver de symbolisation des stations dans les cartes d'OpenStreetMap, qu'à ne cela tienne OSM étant un projet libre si celui-ci ne me convient il me reste à l'améliorer.

Première chose il va falloir trouver une icône au format svg simple et représentative, je me suis basé sur l'icône de milovanderlinden publiée sous licence PublicDomain sur openclipart.org. Les règles de création d'icônes ont été définies dans une page du wiki, vous y trouvererz les règles de taille d'image et de réduction du poids du fichier final. Le résultat est ensuite uploadé dans le répertoire svn idoine.

Deuxième étape la modification du fichier de règles de rendu. Dans ce cas je me limite au niveau de zoom 17. J'ai ajouté le bloc de code suivant au fichier osm-map-features-z17.xml :

 <rule e="node" k="amenity" v="bicycle_rental"> 
       <symbol ref="bicycle_rental"  position="center"/> 
 </rule> 

J'indique au moteur de rendu d'utiliser l'image nommée bicycle_rental pour les noeuds (node) de service (amenity) taggé bicycle_rental.

Le tour est joué il reste à demander un nouveau rendu avec InformationFreeway sur Nantes par exemple et de visualiser le résultat

L'étape suivante sera de symboliser différement les stations simples des stations où il est possible de s'abonner. Il faut avant cela faire évoluer le tag pour ajouter ces informations.

Lien OSM de l'image : http://www.openstreetmap.org/?lat=47.20709&lon=-1.57181&zoom=17&layers=0B00FTF

- page 1 de 2