Impressum   

unerwartete Beschreibungen

In OpenStreetMap (OSM) werden die Datenobjekte (Knoten, Wege und Relationen) durch Tag's (bestehend aus einem Schlüssel (Key) und einen Wert (Value)) beschrieben. Dieses Programm liest entweder eine OSM-Datei oder eine Änderungsdatei von OSM-Daten (*.osc) und berichtet über unerwartete Tags.

Neben einer geringen Anzahl von Verwendungen können Fehler aber auch in den zugeordneten Werten (z.B. bei Zahlen die Nichtverwendung des englischen Zahlenformates) oder aber ein falscher Objekttype (z.B. das Schlüsselwert oneway an einem Punkt) sein. Da es keine für alle relevante, festgelegte Beschreibung für die Ausprägungen gibt, kann man die akzeptierten Werte in einem Konfigurationsfile pflegen.

Trotz aller Bemühungen bei der Pflege der Konfiguration sind die angemerkten OSM-Objekte nur verdächtigt einen Fehler zu besitzen. Eine Kontrolle des Objektes mit Sachverstand vor Korrektur und/oder Nachfrage bei Autor sind auf jeden Fall angebracht.

Files

checkosm.php

Das php-Script checkosm.php (Version 2.00) im Archiv kann im Browser laufen. Aufgabe beider Skriptes ist es die Änderungsdateien von OSM [Beschreibung und Quelle siehe im OSM-Wiki] oder die eigentlichen OSM-Dateien zu lesen und gegen eine Liste von erlaubten Werten abzugleichen. Diese Liste steht in den begleitenden Dateien check_value.txt und check_replace.txt (hier sind z.B. die Länder und Sprachen aufgeführt, die in check_value.txt referenziert werden). Den Unterschied zwischen den beiden Versionen der Programmdateien ist im Abschnitt Hinweis beschrieben.

Um z.B. fehlerhaft geschriebene Zahlen (OSM erwartet einen Dezimalpunkt statt eines Kommas) hinter einem Schlüssel zu reporten, wird z.B. in der Konfigurationsdatei check_value.txt nach dem Schlüsselnamen als zweites Attribut statt des erwarteten Wertes in spitze Klammer <number> geschrieben. Kommentare werden mit einem // eingeleitet, Blockkommentare sind nicht möglich. Weitere Details stehen im Kommentarheader der Dateien.

Text-AusgabeHTML-Ausgabe

    php checkosm.php 691.osc
    Loading 691.osc ...
    26.09.2010 16:10:24
    26.09.2010 16:10:24 - 2228 - 2162 - 6906
.. gelöscht ..
    W 67760895 1: maxheight = 1,9
.. gelöscht ..
    R 193177 101: type = rail
    Array
    (
     [highway = crossing;motorway_junction] => 1
     [natural = feature] => 2
.. gelöscht ..
    )
    26.09.2010 16:11:00 - 50447 - 82 - 31732 - 18547



Die Ausgabe besteht aus einigen protokollarischen Uhrzeitausgaben (, die Zahlen dahinter sind hier nicht näher erläuterte Statistikzahlen), dann folgen die kritisierten Objekte. Die protokollarischen Informationen sind übrigens in der HTML-Ausgabe unter der Überschrift Statistik gesammelt dargestellt worden.

Im Text-Beispiel hat der Weg 67.760.895 in der Version 1 im Schlüssel maxheight den schon erwähnten Fehler des Dezimalpunktes. Und zur Erinnerung: Nicht jede Ausgabe ist ein Fehler und manchmal muss eine höfliche Mail mit einer Nachfrage an den Autor herausgeschickt werden, um den Sinn eines Tags zu verstehen. Bitte haben Sie Verständnis, dass in den Grafiken der HTML- Ausgabe andere Beispiele gezeigt werden, da dort ein Löschen schlechter möglich ist.

Der Fehler kann in der Zwischenzeit von einem Fehlerkorrekturprogramm (z.B. xyboot) behoben sein (, deshalb steht zur Kontrolle auch die Version hinter der Nummer).
Anschließend kommt noch eine Statistik mit den ersten 200 Tag's und deren Häufigkeit im untersuchtem File. Dies kann -nach einer Verifizierung im Wiki oder Taginfo- auch zur Pflege der Konfigurationsdatei check_value.txt verwendet werden.

Die drei Grafiken der HTML-Ausgabe sind im Original doppelt so groß, zum besseren Lesen wird die Browser Funktion zum alleinigen Anzeigen der Grafik empfohlen.

Da aber direkte Beispiele immer besser sind, stelle ich hier von Zeit zur Zeit aktuelle Analysen zur Verfügung.