Présentation de la version 20

OpenStreetMap-Notes diverses

Récupération de données

Bouding boxes

  bbox=longitude est, latitude sud, longitude ouest, latitude nord
  bbox=1,2,3,4
  
                 4 
  -----------------
  |               |3
  |               |
  |               |
  |               |
 1|               |
  -----------------
   2

Limites de la Belgique, avec une petite marge:

  lw 2.54, Ls 49.49, le 6.41, Ln 51.55

Le 50ème parallèle ayant une longueur de 23 038 km (Wikipedia[1]), un degré de longitude y vaut approximativement 64km.

Un degré de méridien vaut environ 111km.

L'API principale restreignant la couverture d'une requête à 0.25°, on peut donc obtenir dans ces limites un territoire d'environ 15km de large et 25km de haut.

Utilisation de l'API principale

Via http, les données individualisées peuvent être obtenues via:

  http://www.openstreetmap.org/browse/[node|way|relation]/#id

qui affiche de manière conviviale toutes les propriétés. Les données brutes xml peuvent être téléchargées (avec wget ou curl, ce qui est plus rapide) via:

  http://api.openstreetmap.org/api/0.6/[node|way|relation]/#id

La frontière de la Belgique: http://api.openstreetmap.org/api/0.6/relation/52411

qui renvoie:

  <osm version="0.6" generator="OpenStreetMap server">
   <relation id="52411" visible="true" timestamp="2009-10-28T23:30:32Z" version="295" changeset="2977966" user="Ldp" uid="48796">
     <member type="way" ref="24718735" role="enclave"/>
     <member type="way" ref="25417004" role="enclave"/>
  
  (etc.)
     <member type="way" ref="43312486" role=""/>
     <tag k="admin_level" v="2"/>
     <tag k="boundary" v="administrative"/>
     <tag k="ISO3166-1" v="be"/>
     <tag k="name" v="België - Belgique - Belgien"/>
  (etc.)
     <tag k="TMC:cid_58:tabcd_1:Class" v="Area"/>
     <tag k="TMC:cid_58:tabcd_1:LCLversion" v="8"/>
     <tag k="TMC:cid_58:tabcd_1:LocationCode" v="3"/>
     <tag k="type" v="boundary"/>
    </relation>
  </osm>

En ajoutant /full à la fin de l'url, on obtient de manière récursive toutes les données correspondant aux références.

La même relation peut être visualisée, mise en valeur, via la page principale du projet http://www.openstreetmap.org/?relation=52411 mais il faudra zoomer et s'agissant d'un sensemble de données assez conséquent, l'affichage est lent.

API étendue

  http://www.informationfreeway.org/api/0.6/node[tag=xxx][bbox=lw,Ls,le,Ln]

La liste des serveurs: http://wiki.openstreetmap.org/wiki/Osmxapi#Servers

Attention que dans l'état actuel des choses, la XAPI ne permet de spécifier qu'un seul tag et une seule bbox à la fois. La requête qui suit a donc renvoyé tous les lieux de culte au lieu de limiter le résultat à ceux de culte israëlite:

  http://www.informationfreeway.org/api/0.6/node[amenity=place_of_worship][religion=jewish][bbox=2.54,49.49,6.41,51.55]

Si on ne peut restreindre une sélection en spécifiant plusieurs tags, on peut par contre l'étendre avec l'opérateur "|" :

  http://www.informationfreeway.org/api/0.6/node[religion=jewish|christian][bbox=2.54,49.49,6.41,51.55]

Pour la liste des tags, voir http://wiki.openstreetmap.org/wiki/Tags

Divers à classer

AFAIRE: Destination de ce type d'URL: http://tile.openstreetmap.nl/?zoom=16&lat=50.6374&lon=4.7811

kmlexport

http://toolserver.org/~para/cgi-bin/kmlexport

kmlexport renvoie les coordonnées géographiques d'une page ou d'une catégorie Wikipédia au format KML

Usage: kmlexport?article=Article (English Wikipedia)

       kmlexport?project=project&article=Article (others)

Exemple: http://toolserver.org/~para/cgi-bin/kmlexport?article=Brussel

 Optional parameters:
  linksfrom=1   - Return the coordinates on the pages linked from the given  page in addition to its own coordinates
  l=0,1,2,3,... - Category recursion, where 0 means unlimited
  redir=google  - Redirect to Google Maps for the results of the query (or  Bing Maps with redir=bing)
  usecache=1    - Use cached results, if any
  icon=url      - Url of icon to use instead of the default
  section=Name  - Only parse a single named section of the article

OpenGeoDB

At the current state, opengeodb provide geo coordinates and several other data (city name, zip) mainly for the german speaking area

http://sourceforge.net/projects/opengeodb/files/

Lat et Lon via Yahoo Maps

Une api de Yahoo permet de recueillir les coordonnées géographiques d'une adresse:

http://api.maps.yahoo.com/ajax/geocode?appid=onestep&qt=1&id=Grand-Place+Bruxelles+Belgique

Voir l'article dans le Linuxjournal [2] avec un script.