DE:JOSM-Dateiformat
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'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 benennendesorigin
-Attribut. - Datenobjekte können ein Attribut namens
action
mit den Wertenmodify
oderdelete
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) undnever
(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 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: