Mittwoch, 8. Oktober 2008

API

Application Programming Interface



Mit der API (Programmierschnittestelle) werden Lese- und Schreibzugriffe auf die OSM Daten ermöglicht.

Dazu werden HTML Anfragen an den Server http://api.openstreetmap.org/api/0.5/... geschickt. Dieser wertet die Anfragen aus und schickt seine Antwort in Form einer XML-Datei (MIME type "text/xml" UTF-8) zurück.

Siehe dazu auch in der Wikipedia REST (Representational State Transfer).

Grundlagen im Wiki: wiki.openstreetmap.org/index.php/Api bzw. wiki.openstreetmap.org/index.php/OSM_Protocol_Version_0.5

Wie bekommt man die Daten gespeichert?


Setzt man den Aufruf einfach per Browser ab, so zeigt z.B der FF 3 oder IE 7 unter Windows die XML-Daten an und kann diese per "Seite speichern unter" abspeichern.

Es gibt aber auch Programme mit denen sich dieser Aufruf in eine Batchdatei schreiben
läßt. Eines davon ist wget (Windows) wget (Andere)

Bei wget kann man angeben wohin das Ergebnis des Aufrufs geschrieben wird. An der Kommandozeile zeigt das Programm auch einige Infos zur Gegenseite an

wget -Obla.osm http://www.openstreetmap.org/api/0.5/relation/22046 (Landesgrenze Baden-Württemberg)

Einen bestimmten Bereich laden:


http://api.openstreetmap.org/api/0.5/map?bbox=left,bottom,right,top

In der bbox = Bounding Box (umschliessendes Rechteck) werden Longitude und Latitude
angegeben (?bbox=).

Für Deutschland ist das z.B. bbox=5.185546875,46.845703125,15.46875,55.634765625
Für Rheinland-Pfalz + Saarland z.B. bbox=6.0387,48.9638,8.6350,50.9935

Einen bestimmten Weg mit allen Nodes (Option full) laden:


http://api.openstreetmap.org/api/0.5/way//full

Wenn ich die ID des Nodes, Ways oder der Relation nicht weiss, so kann ich danach auch mit der API suchen:

http://api.openstreetmap.org/api/0.5/ways/search?type=historic&value=castle

Funktioniert zur Zeit nicht! Fehler 503 Service not available

Eine bestimmte Landesgrenze laden (wenn die Relation bekannt ist)


wget -Oboundary_Rheinland-Pfalz http://www.openstreetmap.org/api/0.5/relation/23140/full
wget -Oboundary_Baden-Württemberg http://www.openstreetmap.org/api/0.5/relation/22046/full

OSMXAPI



Die OSM Extented API ermöglicht einen einfachen nurlese Zugriff auf die OSM Daten.

OSM Extented API

OSMXAPI kann über folgende Server erreicht werden:



  • http://www.informationfreeway.org/api/0.5/... will redirect to a suitable server for the request.

  • http://osmxapi.hypercube.telascience.org/api/0.5... is a fast server located in San Diego, but prone to instability.

  • http://xapi.openstreetmap.org/api/0.5... is the standard OSM provided service, it runs on a relatively slow server.

  • http://osm.bearstech.com/osmxapi/api/0.5/... is a medium capacity virtual machine donated by Bearstech.


eine bestimmte Art von Nodes laden (aus planet.osm)


http://www.informationfreeway.org/api/0.5/node[historic=ruins]

eine bestimmte Art von Nodes laden (aus einem Rechteck=Deutschland)


http://www.informationfreeway.org/api/0.5/node[historic=ruins][bbox=5.185546875,46.845703125,15.46875,55.634765625]

Alle Grenzen in Deutschland (Staatsgrenze, Bundesländer, Gemeinde)


http://www.informationfreeway.org/api/0.5/way[boundary=administrative][bbox=5.185546875,46.845703125,15.46875,55.634765625]

Staatsgrenze


http://www.informationfreeway.org/api/0.5/way[boundary=administrative][admin_level=2][bbox=5.185546875,46.845703125,15.46875,55.634765625]

Für Deutschland
admin_level=2 = Staatsgrenze
admin_level=4 = Bundesland
admin_level=5 = Regierungsbezirk
admin_level=6 = Landkreis/kreisfreie Stadt
admin_level=7 = Bezirk
admin_level=8 = Verwaltungsgemeinschaft
admin_level=9 = Stadt/Gemeinde/Stadtbezirk
admin_level=10 = Stadtvirtel/Gemeindeteil

Keine Kommentare: