Logo

FreieTonne

Forum Kontakt Seekarte Logbuch Download Windows Download Linux Download Mac Download Mobilgeräte Menu

OSM-Schnittstellen

Hinweis: Entgegen dem Glauben einiger weniger, ist der OSM-Datenaustausch nur ein kleiner und unwesentlicher Bestandteil des Projektes FreieTonne. Wir fanden es nur eine schöne Sache, unsere Daten auch der OSM-Gemeinde zur Verfügung zu stellen.

Für OSM-Fanatiker haben wir hier eine Beschreibung erstellt, wann und wie wir mit der OSM-Datenbank kommunizieren. Folgende vier Programmteile sind dafür erstellt worden:

1. TAG-Editor und Automatisierung


Verzahnt mit unseren Symbol-Editor, können schnell und einfach TAGs zu jedem Symbol geschrieben werden. Dafür sind drei Bereiche für die Eingabe erstellt worden:
Aus dem Ersten und Letzen werden automatisch Reglen erstellt, welche Nodes von OSM für uns interessant sind, und welches Symbol diese bei uns bekommen (siehe OSM-Import). Aus den ersten beiden werden auch Rules und Presets für andere Systeme/ Projekte automatisch generiert (Garmin-Renderer, JOSM-Vorlagen, JOSM-Symboldarstellung, usw.). Mit diesem System können innerhalb von Minuten, TAGs von vielen Seezeichen geändert werden, welche mit sofortiger Wirkung für alles eben benannte in Kraft treten.


2. OSM-Uplink & Del-Bot

Unser OSM-Uplink (ein Programmteil) liefert alle in der FreienTonne erstellten/ geänderten Daten an die OSM-API. Dabei kann es sich um neue, zu löschende oder zu bearbeitende Nodes handeln. Schauen wir uns im Detail an, welche Funktionen wann aufgerufen werden.
Der Del-Bot wird in unregelmäßigen Abständen gestartet, und überprüft alle in der FreienTonne eingetragenen Positionen mit einer OSM-ID, ob diese in OSM gelöscht wurde. Die Prüfung achtet dabei nur auf den Ausgabe-Header der API "410 Gone", und löscht in diesem Fall die Position bei uns in der Datenbank, und die zugehörige OSM-ID.


3. OSM-Update & Del-Bot2 (& Konverter & FT-Import)

Dieses kleine Meisterwerk, bestehend aus drei Programmteilen, beschäftigt sich nur damit, Daten von OSM in die FreieTonne zu befördern. Der OSM-Konverter und der FT-Import sind bereits auf den anderen Seiten des Bereiches OSM-Import beschrieben.

Das OSM-Update, ist ein drittes Programm, welches für einen kompletten Konvertierungs- und Import-Vorgang benötigten Dateien sammelt und entsprechende Programme startet. Der Vorgang sieht im wie folgt aus:
  1. OSM / OSC Daten
    Es können OSC oder OSM Daten als gz gepackt oder ungepackt von einer URL bezogen werden, oder direkt eine Datei angegeben werden. Diese werden heruntergeladen/ kopiert.

  2. Verkleinern
    OSM/ OSC Datei wird verkleinert: Löschen von Relations, Ways und Nodes ohne Seezeichen-Tags (OSC: und Nodes ohne Tags welche neu oder bearbeitet wurden).

  3. Rules & OSM-IDs
    Für den Konverter benötigten Rules (TAG-Regeln der Symbole) weden aktuell geladen, sowie die aktuellen OSM-IDs/ Versionsnummern unserer Positionen in unserer Datenbank (als csv und log  für Conditions und bereits geprüfte Versionen).

  4. Konverter
    Die Datei wird nach Nodes durchsucht (siehe für Details OSM-Konverter und Rules.XML).

  5. Import
    Der Konverter gibt eine FT-Datei aus, mit Daten von den Nodes, welche für die FreieTonne interessant sind (TAGs oder bekannte OSM-ID). Der Importer prüft nochmals die Aktualität und trägt die Daten in unsere Datenbank ein (Neue Positionen oder bearbeitet neue Versionen).

  6. Löschen
    Im Falle, das der Konverter eine OSC-Datei bearbeitet hat, und dort gelöschte Nodes enthalten sind, welche die FreieTonne kennt (OSM-ID), wird eine Datei mit der OSM-ID und Versionsnummer an den Del-Bot2 gegeben (siehe unten).

  7. Programm Ende
    Löschen aller genutzten Daten - Logfile beenden.
Bei diesem Vorgang werden keine Daten bei OSM verändert/ hochgeladen, sondern er dient als reine Eingabeschnittstelle (von OSM-, OSC- und FT-Dateien) für die FreieTonne.

Der Del-Bot2 erhält eine Liste mit vermeindlich gelöschten OSM-Nodes mit OSM-ID und Versionsnummer. Diese Liste wird zum Beispiel vom OSM-Konverter erzeugt, wenn diese eine OSC-Datei (OpenStreetMapChanges) bearbeitet, in welcher sich der FreienTonne bekannte und als gelöscht markierte Nodes befinden können. Bekannt meint hier, wie schon auf den anderen Seiten erwähnt, wenn die FreieTonne die OSM-ID kennt. Der Bot prüft, wenn die OSM-Version höher ist, als die in unserer Datenbank, ob diese Position bei uns nicht bereits gelöscht ist, ob er tatsächlich bei OSM gelöscht wurde, und löscht die Position dann gegebenenfalls auch bei uns in der Datenbank (sowie auch die OSM-ID bei uns gelöscht wird).

4. FreieTonne-Online-Editor

Der Editor startet beim Abschicken der Daten den OSM-Uplink, entweder mit "Erstellen" für eine neue Position, oder mir "Bearbeiten" für eine bearbeitete Position (siehe oben).

Wird eine Position in der FreienTonne bearbeitet, startet folgender Prozess bevor die Eingabemaske erscheint:
Danach wird immer die Bearbeitungsmaske der Position angezeigt.