OpenSeaMap-dev:Hafen-DB
Inhaltsverzeichnis
Grundlagen
Die Idee ist es Einträge neuer Häfen des SkipperGuide direkt in OpenSeaMap/JOSM vorzunehmen und dazu eine Extension im SkipperGuide zu implementieren, die OpenSeaMap/JOSM aufruft und später die Ergebnisse direkt als Template in die SkipperGuide-Seite einfügt.
Mögliche Richtungen der Synchronisation
- SkipperGuide>OpenSeaMap: OpenSeaMap holt bei SkipperGuide die aktuellen Marina-Koordinaten und synchronisiert diese mit der DB
- OpenSeaMap->SkipperGuide: Änderungen aus OpenSeaMap werden an SkipperGuide gesendet.
Aktuelle Situation
Die Häfen werden im SkipperGuide eingetragen und über ein Import-Skript in die OpenSeaMap-Hafen-Datenbank importiert:
[Karte Häfen-POI-Layer] | [Hafen-DatenBank]--- | | [OSeaM-Import] [WPI] | <XML> | [SG Mediawiki] [OSeaM-Export] | | [SkipperGuide Mediawiki-Datenbank]
Aktuelle OSM Einbindung von OpenSeaMap
-------------PC--------- | | | [Browser] [JOSM] [Export-Batches] | | | [Online-Editor] | | | | | ------[OSM-Datenbank]---
Workflow
- OpenSeaMap->SkipperGuide:
- Karte im Edit-Modus laden
- Hafen-Position per Klick in Karte eintragen
- Hafendaten in Hafen-Editor eintragen
- Daten in Hafen-DB speichern
- automatisch SG-Wiki-Seite erzeugen und dort eine Infobox (Template) mit den neuen Daten aus der Hafen-DB füllen
- SG-Wiki-Seite öffnen zum Editieren (Hafenbeschreibung, Bilder, etc) Wenn Daten der Infobox editiert werden sollen, dann erfolgt das über die Karte mit dem Hafen-Editor direkt in die Hafen-DB.
- per Klick auf die Infobox im SG-Wiki kommt man (wie bisher per Klick auf die Koordinate) auf die Karte zur Hafenposition. Dort können die Daten editiert werden. Sie werden dierekt in die Hafen-DB geschrieben. Aus der Hafen-DB werden sie dann wieder automatisch in die Infobox im SG-Wiki geschrieben.
Mögliches Vorgehen
- SkipperGuide->OpenSeaMap
- Der bestehende Import in OpenSeaMap sollte automatisiert werden.
- wenn es aus universitären Gründen erforderlich ist, diese Schnittstelle Online-Fähig zu machen, könnte man eine solche Online-Schnittstelle bauen. Der Aufruf sollte dann aber nicht durch SG-Mediawiki Direkt, sondern über einen Zwischenlayer erfolgen, welcher ein DIFF über die XML-Exportdatei macht und jede Änderung in einen Online-Call wandelt.
- OpenSeaMap->SkipperGuide
- Änderungen am SkipperGuide-relevanten Datenbestand in OpenSeaMap müssen in irgendeiner Form erkannt werden.
- eine Änderungsschnittstelle muss in SkipperGuide implementiert werden. Diese Schnittstelle muss Änderungen aus OpenSeaMap entgegen nehmen und als Mediawiki-BOT die Daten im !Content! von SkipperGuide modifizieren.
OnlineEditor
Source SVN: https://openseamap.svn.sourceforge.net/svnroot/openseamap
Eventuelle Probleme
- der SkipperGuide-Server befindet sich schon teilweise an seiner Last-Grenze, insbesondere kann die Latenzzeit für die Kommunikation mit OpenSeaMap zu Problemen führen, so dass schlechtesten falls die Datenstände der Systeme auseinander laufen.