DE:RAPI

From OpenStreetMap Wiki
Jump to navigation Jump to search

REST API für OpenStreetMap

Mit einer REST URL können OSM Daten aus mit Osmosis/PostGIS_Setup aufgesetzen Datenbank in Text oder XML Form abgerufen werden.

Die Abfrage ich ähnlich der Xapi

Es können Nodes, Ways, Relations und Users abgefragt werden.

Beispiele

http://localhost:8080/rapi/seam/resource/browse/node/125799

Liefert den Knoten 125799 mit sein Attributen als Text zurück.


http://localhost:8080/rapi/seam/resource/browse/node/list/dummy=1;amenity=restaurant;cuisine=chinese

Liefert alle Chinarestaurants als Textliste.


http://localhost:8080/rapi/seam/resource/browse/node/list/dummy=1;highway=bus_stop

Listet alle Bushaltestellen als Text


http://localhost:8080/rapi/seam/resource/browse/node/xml/dummy=1;amenity=restaurant;polygon=((8.0 53.0, 9 53.0, 9 54, 8 54, 8.0 53.0))

Liefert alle Restaurants im angegeben Polygon als XML


Es werden maximal 1000 Daten geliefert.

Der erste Parameter, hier mit dummy=1 angegeben, wird von der Anwendung ignoriert. Es kann für dummy=1 jeder andere Key/Value angegeben werden.


Die RAPI ist in Java geschrieben und setzt auf den Frameworks JBoss Seam, JBoss Resteasy und Hibernate auf. Es wird ein Osmosis/PostGIS_Setup Datenbank Schema vorrausgesetzt.

Source Code

Der Source Code ist bei Launchpad gehostet

https://launchpad.net/rapi

Installation

Zum Betrieb der RAPI wird ein JBoss Application Server (JBoss AS) benötigt. Getestet wurde mit dem JBoss-5.1.0, welcher unter http://www.jboss.org/jbossas/downloads heruntergeladen werden kann. Das heruntergeladene Archiv ist zu entpacken, dabei wird das Verzeichnis jboss-5.1.0.GA erstellt, welches das JBOSS_HOME Verzeichnis ist.


Die Sourcen mit dem Befehl

bzr branch lp:rapi

herunterladen.

Es wird ein Verzeichnis rapi angelegt. Im Verzeichnis rapi müssen folgende Datei angepasst werden:

build.properties

jboss.home=/jbosshome

Der Eintrag /jbosshome ist durch das JBOSS_HOME Verzeichnis zu ersetzen.

In der Datei resources/jboss-rapi-ds.xml ist der Eintrag

<connection-url>jdbc:postgresql_postGIS://localhost/osmosis</connection-url>

ist anzupassen. Dabei ist localhost der Servername und osmosis der Datenbankname.


Die Anwendung wird mit

ant deploy

erstellt. Die Datei rapi.ear wird in das Verzeichnis JBOSS_HOME/server/default/deploy kopiert und vom JBoss AS automatisch deployed.


Der Applikation Server wird im JBOSS_HOME Verzeichnis mit run.sh gestartet.

Im Webbrowser ist die URL http://localhost:8080/rapi einzugeben. Es erscheint Startseite mit Bespiellinks. Die Beispiel verweisen auf Orte in Bremen.