OpenSeaMap-dev:Harbour-DB

Aus OpenSeaMap-dev
Version vom 23. August 2012, 13:41 Uhr von Markus (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== 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 …“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

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 5000 Häfen mit 40 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 auch nich zwischen Hafen, Marina und Ankerplatz. 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. 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 vom ADAC 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.

ToDo

a) die Tabellen 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
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) ADAC-Daten müssen in die Hafen-DB integriert werden
i) Änderungen in ADAC 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

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
4 Name_lokal endonymer Name in lokaler Schrift
5 Name_long Langname, Firmierung
6 LOCODE endonymer Name in lokaler 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
15 Land ISO 3166-2
16 Sourcee WPI, SG, OSM, ...
18 Size
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-Tel-Nr
##

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 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 Key Value Bemerkungen
2028 harbour yes
32 seamark:type harbour
105 seamark:type anchorage
13 amenity marina
9000 leisure marina Punkt, Fläche

Weitere Attribute sind eher selten.