OpenSeaMap-dev:Harbour-DB
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
- a) die Tabellen WPI, SG, OSM und andere müssen zu einer Hafen-DB zusammengeführt werden
- b) gleiche Objekte müssen verschmolzen werden
- c) Änderungen in SG und Fremdtabellen 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) 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
- Ziel
- Ziel ist ein integriertes Watersport-Wiki.
- Mit einem GUI-Editor sollen Häfen, Metadaten, Bilder und Wiki-Text direkt auf der Karte erfasst werden.
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 | |||
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...