Entwicklung

Openstreetmap-API zur Suche

Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!

Gerade seit Google bei der intensiven Benutzung seines Kartendienstes Bezahlung fordert ist ein Aufschwung in der Benutzung von Openstreetmap zu spüren. Die Vorteile sind klar und überzeugend:

  • Offenes Kartenmaterial zur Verwendung für alle erdenklichen Zwecke
  • Möglichkeit zur Abfrage von Polygonen
  • besseres Kartenmaterial als kommerzielle Anbieter
  • Möglichkeit zur eigenen Bearbeitung

Als Schnittstelle zur Abfrage von Kartendaten ist der Nominatim-Dienst gedacht. Damit sind Suchanfragen nach Orten möglich, die dann als Punkt oder Polygon zurückgegeben werden.

Die Abfrage http://nominatim.openstreetmap.org/search?q=Westerland,Sylt&format=json gibt beispielsweise das folgende JSON-Objekt zurück:

[
  {
    "place_id":"154218904",
    "licence":"Data Copyright OpenStreetMap Contributors, Some Rights Reserved. CC-BY-SA 2.0.",
    "osm_type":"node",
    "osm_id":"27385079",
    "boundingbox":[
      "54.896578063965",
      "54.916581878662",
      "8.2956716918945",
      "8.3156726455688"
    ],
    "lat":"54.9065808",
    "lon":"8.3056721",
    "display_name":"Westerland, Sylt, Kreis Nordfriesland, Nordfriesland, Schleswig-Holstein, Deutschland, Europa",
    "class":"place",
    "type":"town",
    "icon":"http://nominatim.openstreetmap.org/images/mapicons/poi_place_town.p.20.png"
  },
  {
    "place_id":"8034707",
    "licence":"Data Copyright OpenStreetMap Contributors, Some Rights Reserved. CC-BY-SA 2.0.",
    "osm_type":"node",
    "osm_id":"794524754",
    "boundingbox":[
      "54.897264709473",
      "54.91726852417",
      "8.2999899291992",
      "8.3199908828735"
    ],
    "lat":"54.9072656",
    "lon":"8.3099903",
    "display_name":"Westerland, Bahnhofsvorplatz, Westerland, Sylt, Kreis Nordfriesland, Nordfriesland, Schleswig-Holstein, 25980, Deutschland",
    "class":"railway",
    "type":"station",
    "icon":"http://nominatim.openstreetmap.org/images/mapicons/transport_train_station2.p.20.png"
  }
]

Es werden uns alle Elemente zurückgegeben, die Westerland/Sylt heißen. Darunter ist der Ort und auch der Bahnhof, den wir jedoch durch die Eigenschaften class und type unterscheiden können. Die Daten können in Form einer HTML-Seite, im JSON- und im XML-Format angefordert werden.

Richtig interessant wird es jedoch, wenn man polygon=1 anhängt. Dadurch erhält man die Begrenzung des aktuellen Objektes, um es zu zeichnen oder zum Beispiel die Fläche zu berechnen. Weitere Parameter finden Sie hier.