OpenStreetMap

Die verwendeten XML-Datensätze stammen von OpenStreetMap und wurden mit der Overpass API exportiert.

Es gibt drei Demodatensätze:

  1. Berlin_Ausschnitt.xml
  2. Muenchen_Ausschnitt.xml
  3. Stutgart_Mitte.xml

Die XML-Datensätze sind für alle drei Städte gleich aufgebaut. Diese enthalten Information zu den Städten wie Straßennamen, erlaubte Geschwindigkeit, Geschäfte, Öffnungszeiten und weitere Informationen, die über OpenStreetMap zugänglich sind. Diese XML-Dateien werden für Übung 8 (Gelbe Seiten) benötigt.

Der Aufbau der Dateien ist im folgenden Code-Beispiel dargestellt.

Anmerkung der data2type-Redaktion:
Da die genannten Demodatensätze den Rahmen sprengen würden, folgt hier nur ein beispielhafter Auszug aus einer der drei Demo-Dateien.

Code-Beispiel: Stuttgart_Mitte.xml (Auszug).

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API">
  ...
  <bounds minlat="48.7691" minlon="9.173" maxlat="48.7856" maxlon="9.1872"/>
  ...
  <node id="2294018427" lat="48.7832579" lon="9.1822727" version="2" timestamp="2015-05-01T10:12:31Z" changeset="30685626" uid="287306" user="Matthias Frank">
    <tag k="historic" v="memorial"/>
    <tag k="note" v="Gedenktafel zur Errichtung des Stuttgarter Hauptbahnhofs"/>
    <tag k="source" v="extrapolation"/>
  </node>
  <node id="2294018428" lat="48.7830822" lon="9.1823510" version="3" timestamp="2015-05-01T09:58:26Z" changeset="30685626" uid="287306" user="Matthias Frank">
    <tag k="level" v="0"/>
    <tag k="name" v="Reisebüro im Bahnhof"/>
    <tag k="opening_hours" v="Mo-Fr 09:00-19:00; Sa 09:00-14:00; Su, PH off"/>
    <tag k="shop" v="travel_agency"/>
    <tag k="wheelchair" v="yes"/>
  </node>
  ...
  <way id="91264210" version="2" timestamp="2015-02-08T06:04:56Z" changeset="28696094" uid="12982" user="miscosm">
    <nd ref="1059527186"/>
    <nd ref="1059525141"/>
    <nd ref="3337321162"/>
    <nd ref="1059525545"/>
    <nd ref="1059526563"/>
    <nd ref="1059527186"/>
    <tag k="addr:city" v="Stuttgart"/>
    <tag k="addr:country" v="DE"/>
    <tag k="addr:housenumber" v="18"/>
    <tag k="addr:postcode" v="70173"/>
    <tag k="addr:street" v="Hirschstraße"/>
    <tag k="building" v="yes"/>
  </way>
  ...
  <relation id="2724366" version="4" timestamp="2015-01-24T15:02:12Z" changeset="28374636" uid="109062" user="Jojo4u">
    <member type="way" ref="273859591" role="to"/>
    <member type="way" ref="45122771" role="via"/>
    <member type="way" ref="203016572" role="from"/>
    <tag k="restriction" v="only_left_turn"/>
    <tag k="type" v="restriction"/>
  </relation>
  ...
</osm>

Aufbau der XML-Dateien von OpenStreetMap.

Zeile 2: OpenStreetMap-Element.

Zeile 4: Das <bounds>-Element beschreibt die Boundingbox mit der der zu exportierende Bereich gewählt wurde.

Zeile 6: Die <node>-Elemente besitzen eine ID und Informationen zur geografischen Position, der Version, zum Autor, zum Zeitstempel etc.

Zeile 7: Die Kindelemente <tag> stellen über Key-Value-Paare weitere Informationen, wie Art des Gebäudes, Öffnungszeiten etc., zu dem Knoten bereit.

Zeile 19: Die <way>-Elemente beinhalten Straßeninformationen wie Postleitzahl, Hausnummer etc. und Referenzen zu <node>-Elementen, die zu dem jeweiligen Element gehören.

Zeile 34: Die <relation>-Elemente beschreiben Verbindungen zwischen Knoten. Beispielsweise wie hier <way>-Elemente, die nur linksabbiegen erlauben oder als weiteres Beispiel <node>-Elemente, die Stationen auf einer Bahnverbindung darstellen etc.

Wichtig für die OpenstreetMap-Dateien ist vor allem, dass die Werte über Key-Values angesprochen werden können, wie im Beispiel: <tag k="shop" v="travel_agency"/>.

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: