OpenSeaMap-dev:Harbour-DB

Aus OpenSeaMap-dev
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Geschichte

Die Hafen-DB ist 2009 entstanden, weil es in OSM zu den Häfen keine Metadaten gab, und wir glaubten, dass es unsinnig sei, Daten aus fremden Quellen in die OSM-DB zu importieren. Aus der Hafen-DB wurde der Hafen-Layer erzeugt, mit den klickbaren Icons, die in einem Popup den Namen anzeigen, und wo vorhanden einen Link zu Skipperguide.

Es gab zwei Tabellen:

World Port Index (WPI)
Skipperguide (SG)
WPI

WPI ist eine statische Tabelle mit 4300 Häfen mit 80 Attributen, aufgeteilt in die Klassen large, medium, small und very small. Die Positionen sind oft nur auf 1 Seemeile genau.

SG

SG wird aus dem Fliesstext vom SG-Wiki generiert. Derzeit etwa 1000 Objekte, kontinuierlich wachsend. Ein Skript sucht im Text nach Koordinaten, und verknüpft diese mit dem Seitentitel. Die Tabelle enthält also nur Name (Seitentitel im Wiki) und Koordinate. Da aber im SG auf einer Seite oft mehrere Häfen beschrieben sind, kommt die Seite mehrfach vor, oder es ist nur die erste Koordinate (der erste Hafen auf der Seite) erfasst. Und da es neben den Häfen auch Revier-Beschreibungen gibt, wo ebenfalls Koordinaten enthalten sind, erscheinen Tabelleneinträge mitten auf dem Land oder im Meer. SG unterscheidet erst seit 2013 zwischen Hafen, Marina und Ankerplatz (bzw. unbekannt), und Region. Das Skript muss händisch ausgeführt werden.

Tabellen mergen

Die beiden Tabellen WPI und SG überschneiden sich. Es gibt viele Doubletten. Diese sind aber wegen unterschiedlicher Namensgebung in der DB nicht klar zu erkennen. Auf der Karte erscheien sie dann doppelt, aber wegen der ungenauen Position in WPI meist an verschiedenen Orten. Es gab viele Versuche, die beiden Tabellen zusammenzuführen und die Doubletten zu mergen, die alle scheiterten. Das erste Konzept war 2010 1. An der Uni Wuppertal wurde dazu sogar eine Bachelor-Arbeit gemacht, die ebenfalls scheiterte.

Hafen-Editor

Ebenfalls gescheitert sind die Bemühungen, einen Hafen-Editor zu schreiben, mit dem die Häfen per Crowdsoucing direkt auf der Karte richtig positioniert werden können und das Ergebnis in die DB geschrieben soll. Im SG müssen Änderungen der Position händisch im Artikel erfolgen, die aber erst beim nächsten händischen Anstossen des Skriptes in die Tabelle übertragen werden. Änderungen an Namen sind nur durch Verschiebung/Umbenennung der SG-Seiten möglich, und auch da nur, wenn nicht mehrere Häfen auf einer Seite beschrieben sind. In WPI sind gar keine Änderungen möglich.

Weitere Daten

OSM hat weitere Häfen, Marinas und Ankerplätze in der OSM-DB, weitgehend aber nur Namen ohne weitere Attribute. Seit 2012 werden diese im Seezeichen-Layer gerendert. Dadurch entsteht der Konflikt, dass viele Icons nicht mehr klickbar sind, weil deren Objekte nicht in der Hafen-DB sind. Seit 1.2012 stehen uns Häfen eines Drittanbieters zur Verfügung.

Seit Mitte 2012 kümmern sich Olaf und Mario um die Hafen-DB. Am 5. Entwicklertreffen wurden strukturelle und inhaltliche Details besprochen.
Bis dato gibt es aber keine Erfolge.

ToDo

short solution
a) Merge WPI and SG tables into a Harbour-DB
b) Merge identical objekts
c) Edits in SG need to be imported dayly into the Harbour-DB
d) Build the Harbour-layer from Harbeour-DB
second
e) Names need to be unique (endonym in latin writing system)
f) OSM-data need to be integrated dayly into the Harbour-DB
g) Edits in OSM need to be integrated dayly into the Harbour-DB
h) Data from third parties need to be integrated dayly into the Harbour-DB
i) Edits from third parties need to be integrated dayly into the Harbour-DB
j) Later, the Harbour data shold be transfered into the OSM-DB
  Master is OSM-DB, Slave is Harbour-DB


Schnelle Lösung
a) WPI und WPI und SG müssen zu einer Hafen-DB zusammengeführt werden
b) gleiche Objekte müssen verschmolzen werden
c) Änderungen in SG müssen täglich in der Hafen-DB aktualisiert werden
d) aus der Hafen-DB wird der klickbare Hafen-Layer erzeugt
2. Schritt
e) Namen müssen eindeutig sein (Endonym in lateinischer Schrift)
f) OSM-Daten müssen in die Hafen-DB integriert werden
g) Änderungen in OSM müssen täglich in der Hafen-DB aktualisiert werden
h) Daten von Drittanbietern müssen in die Hafen-DB integriert werden
i) Änderungen von Drittanbietern müssen täglich in der Hafen-DB aktualisiert werden
j) Mittelfristig sollen die Hafendaten in die OSM-DB überführt werden
  Master sei die OSM-DB, Slave sei die Hafen-DB
Aim
Aim is an integrierted Watersport-Wiki.
By a new GUI-editor users should be able to edit harbours, metadata, pictures and Wiki-text direct via the OpenSeaMap chart.

Merging-Tool

Die Übersichtskarte zeigt ab z=6 Häfen und Marinas der verschiedenen Datenbanken in unterschiedlichen Farben.

Dient als Merging-Editor, mit dem der Benutzer entscheiden kann

ob zwei Einträge das selbe Objekt abilden?
und wenn ja: diese zu einem Objekt zusammenfassen, ggf. unter Anpassung der Feldinhalte

und das Ergebnis in eine neue Hafen-DB speichern kann.

Aus dieser Hafen-DB sollen dann später in einem weiteren Schritt Einträge für OSM generiert werden.

Datenschema

Nr neue Hafen-DB WPI SG ADAC Bemerkungen
1 ID - - inkrementell
2 Koordinate 1 sm x x 100 m seewärts der Hafeneinfahrt
3 Name internationaler endonymer Name in lateinischer Schrift 1
4 Name_lokal endonymer Name in lokaler Schrift
5 Name_long Langname, Firmierung
6 LOCODE endonymer englischer Name in lateinischer Schrift
7 Port-Nr x WPI-Index-Nr
8 URL Website
9 Tel-Nr Hafenmeisterei +## ##### ########-#####
10 Fax-Nr Hafenmeisterei
11 VHF Hafenmeisterei
12 MMSI Hafenmeisterei
14 Adresse Hafenmeisterei
15 Land ISO 3166-2
16 Sourcee WPI, SG, OSM, ...
18 Size x large, medium, small, very small (Definition unklar)
19 Typ Ferry, Fishing, Military, Container, Oil, Bulk, Sport, ...
20 Shelter 8 Hauptwindrichtungen, Ampelsystem
21 Draft max draft
22 Tide_low max draft at MNWS
23 Tide_high max draft at MHWS
24 Crane max load
25 Travellift max load
26 WLAN open, free, price/h, no
27 Fuel-Station
28 Fuel-Tel-Nr +## ##### ########-#####
29 Wikipedia http://en.wikipedia.org/wiki/<name>
30 Wikidata http://www.wikidata.org/wiki/Q#######
##

Source

SG

SG enthält derzeit (8.2012) über 1000 Marinas, Häfen und Ankerplätze, die per Skript aus dem Fliesstext des Wiki's ausgelesen werden. Dabei wird nach Vorlage:Koordinate gesucht und diese mit der Kapitelüberschrift, bzw wo keine solche vorhanden mit mit dem Seitentitel verknüpft. Vorlage:Koordinate enthält seit 6.2012 einen Parameter zur Unterscheidung von Häfen, Marinas, Ankerplätzen und Revieren. Der Parameter lautet aber in vielen Artikeln "U" (wie unbekannt):

U = unbekannt,  muss noch einer der folgenden Kategorien zugeordnet werden:    
H = Hafen       (zur Beschreibung eines Industrie, Handels- oder Fährhafens)   
M = Marina      (zur Beschreibung eines Sportboot-Hafens)                       
A = Ankerplatz  (zur Beschreibung eines Ankerplatzes für Sportboote)              
R = Region      (zur Beschreibung eines Seegebietes, einer Insel oder Gegend)  

Einige Häfen enthalten eine Kurzbeschreibung als Attribut. Weitere Attribute sind nicht vorhanden.

WPI

WPI enthält 4300 Häfen (5080? Häfen 10.2014, 3686 Häfen 03.2016) mit 80 Attributen. Die Attribute sind aber teilweise ziemlich veraltet (Telex-Nr), oder unspezifisch (y/n) und damit wenig brauchbar. Nützlich sind die englischen Namen, LOCODE, WPI-Index-Nr, Land (196), Region (403), Size.

OSM

OSM hat vielfältig unterschiedliche Schlüssel für Häfen, Marinas und Ankerplätze:

Anzahl 12.2012 11.2013 10.2014 05.2015 03.2016 Key Value URL Bemerkungen
9000 10945 14300 16.220 17.239 18.894 leisure marina [1] Punkt, Fläche
9139 11020 23.248 24.146 28.405 seamark:type mooring [2]
7.036 8.270 9.070 9536 10.787 amenity ferry_terminal [3]
1.071 1.533 2.086 2.431 2.953 ferry * [4]
2.028 2.328 1.290 1.869 2.174 harbour * [5]
1.140 1.180 1.667 1.859 2.144 harbour yes [6]
790 407 0 0 183 harbour:category * [7] gelöscht
0 0 0 0 harbour:category harbour [8] gelöscht
428 223 0 0 130 harbour:category marina [9] gelöscht
57 0 0 13 harbour:category fishing [10] gelöscht
458 2.310 3.156 3.299 3.756 seamark:harbour:category * [11]
424 1.990 2.479 2.575 2.915 seamark:harbour:category marina [12]
180 211 216 251 seamark:harbour:category marina_no [13]
89 113 144 seamark:harbour:category fishing [14]
36 64 65 73 seamark:harbour:category container [15]
32 461 2.510 3.690 3.855 4.504 seamark:type harbour [16]
0 0 0 0 seamark:type marina [17] see: harbour:category=marina
105 561 960 1.213 1.265 1.404 seamark:type anchorage [18]
337 380 1.127 1.229 1.444 seamark:type berth [19]
13 19 3 17 2 2 amenity marina [20]

Plus:

name=*
seamark:name=*
seamark:harbour:category=marina|marina_no_facilities|fishing|container|shipyard|bulk|ferry|tanker|cargo|passenger|harbour|roro|naval

Weitere Attribute sind eher selten.

  • An hourly update of the OSM's seamark data is to be found at harbours.xml (~1.5 MB)

WD

Wikidata kennt folgende Häfen:

Klasse Query 2014-11 2015-05 Karte Bemerkungen
44782 Häfen 239 588 Karte

Gibt es noch andere Klassen? (harbour, harbor, port, ...)

potentielle Partner

Partner 1
mit 2000 Marinas.
(called mf_marinas or just Marinas in some harbour-db related content)

Wassersport-Wiki

SG scheint sich strukturell nicht weiterzuentwickeln.

Deshalb wurde das Projekt Wassersport-Wiki gestartet. Dazu gibt es schon detallierte Pläne (Integration von OpenSeaMap, Mediawiki, Wikidata, Commons). Aber noch keinen Maintainer...