DE:JOSM-Dateiformat

From OpenStreetMap Wiki
Jump to navigation Jump to search

Das JOSM-Dateiformat wird von JOSM genutzt, um Daten in Dateien zu speichern und diese zu lesen. Die Dateien haben die Endung .osm und haben einen ähnlichen Aufbau zu denen von Planet.osm und denen der API, allerdings gibt es einige Ergänzungen. Das Dateiformat kann einerseits die Daten selbst speichern, andererseits auch Änderungen an Daten. Es ist folglich möglich, dass eine Datei dieses Formats einen Datenabzug vom Server und die Änderungen des Benutzers nach dem Herunterladen beinhaltet.

Beispiel

<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.6' generator='JOSM'>
  <bounds minlat='51.5076478723889' minlon='-0.127989783553507' maxlat='51.5077445145483' maxlon='-0.127774884645096' origin='OpenStreetMap server' />
  <node id='26821100' timestamp='2009-02-16T21:34:57+00:00' user='dankarran' visible='true' lat='51.5077286' lon='-0.1279688'>
    <tag k='created_by' v='Potlatch 0.10f' />
    <tag k='name' v='Nelson&apos;s Column' />
    <tag k='tourism' v='attraction' />
    <tag k='monument' v='statue' />
    <tag k='historic' v='monument' />
  </node>
  <node id='-1' visible='true' lat='51.507661490456606' lon='-0.1278000843634869' />
  <node id='346364767' action='delete' timestamp='2009-02-16T21:34:44+00:00' user='dankarran' visible='true' lat='51.5076698' lon='-0.1278143' />
</osm>

Das Format entspricht dem des Servers, aber mit einigen Änderungen:

  • Zusätzliche bounds-Elemente geben ein umschließendes Rechteck um die heruntergeladenen Daten an (falls bekannt). Diese haben ein die Datenquelle benennendes origin-Attribut.
  • Datenobjekte können ein Attribut namens action mit den Werten modify oder delete haben. Ersteres kennzeichnet eine Änderung (= Ersetzung der alten Objektversion).
  • Das OSM-Element kann das Attribut upload haben. Mögliche Werte sind hier: false (vom Hochladen abraten/warnen) und never (hochladen verhindern).
  • Die Erstellung neuer Objekte wird mit einer negativen Nummer (id) gekennzeichnet. Die Nummer wird bereits als Platzhalter für abhängige Objekte wie way Wege genutzt. Sie müssen innerhalb einer Datei einzigartig sein.

Im Gegensatz zu anderen Dateiformaten entspricht die Reihenfolge der Elemente ihren Typen und nicht der späteren Reihenfolge beim Hochladen. Dadurch sind die Dateien immer konsistent, d.h. es gibt immer eine mögliche Reihenfolge beim Hochladen, sodass die Referentielle Integrität sichergestellt wird.

Nutzungsmöglichkeiten

Das Dateiformat eignet sich für folgende Benutzungskonzepte:

  • verändern der Karte
  • Batch-Skripte (automatisiertes Ändern)

Es ist nicht sinnvoll für Geräte mit geringem Hintergrund- oder Hauptspeicher.

Folgende Anwendungen unterstützen das Dateiformat: