OpenSeaMap-dev:Lights-WP-WD

Aus OpenSeaMap-dev
Wechseln zu:Navigation, Suche
Deutsch English


Leuchtfeuer mit Wikidata auf OpenSeaMap.jpg
Structure

Store all lighthouses-/lights-data in Wikidata,
and from there show together with article-links und pictures in OpenSeaMap.

Aim

Nautical lights in Wikidata
store all lighthouse-/lights-data in Wikidata.
You can use the data from there as you like:
  • in all WP-articles
  • in WP-infoboxes
  • in all lists in any combinations
  • across languages
By this, you need to catch the data only once for the whole world, and maintain it central.
Lights in OpenSeaMap
Show all lights on OpenSeaMap:
  • Positions as marker in OpenSeaMap
  • Link to Wikipedia
  • Pictures from Commons
  • Data from OSM/Wikidata

Daten

Source Number Link Remarks
OSM 40'000
Wikipedia:de 1390 1390 list items, 430 Articles
Wikipedia:en ~1225
Wikipedia:es
Commons
WP>OSM 77 ways|relation&request=Submit&iwl=yes]

OSM

In OSM we have about 40'000 lights:

tag Number Remarks
seamark:type=light_major 4557 [1]
seamark:type=light_minor 32692 [2]
seamark:type=light_vessel 18 [3]
seamark:type=light_float 58 [4]

Each object is described by attributes in a differentiated way.

Queries via Overpass-API: query link

[out:json];
(
  node["seamark:type"~"light_float|light_vessel|minor_light|major_light|light"]({{bbox}});>;
  way["seamark:type"~"light_float|light_vessel|minor_light|major_light|light"]({{bbox}});>;
);
out;

Wikipedia

Wikipedia:de

In Wikipedia:de there are 1390 list items and 430 Articles
in this lists about lights:

List Number Artile Remarks
Lighthouses in Europe 359 204
Lighthouses in Europa-Dänemark 98 17
Lighthouses in Europa-Norwegen 155 40
Lighthouses in Europa-Estland 45 4
Lighthouses in Europa-Friesland 9 8
Lighthouses in Europa-Spanien 244 7
Lighthouses in Europa-England 72 13
Lighthouses in Europa-Schottland 82 19
Lighthouses in Afrika 35 9
Lighthouses in Asien 18 4
Lighthouses in Asien-Osttimor 3 0 in Asien einarbeiten
Lighthouses in Amerika 52 42
Lighthouses in Australien 192 30
Lighthouses in Neuseeland 26 23

Kategory:Leuchtturm_in_Europa is used 298 times.

Infobox "Leuchtturm"

de: Vorlage:Infobox_Leuchtturm is used 42 articles.
Thaughts about Infobox

en: Template:Infobox_lighthouse is used in 42 articles.
s.a. Infobox_lighthouse Talk

Woring groups

Wikidata

Class Query Number Chart Remarks
39715 Lighthouses 1687 (2014.04)
1997 (2014-11)
2136 (2015-03)
2333 (2016-03)
Chart

Gibt es noch andere Klassen? (Leuchtfeuer, nautical light, ...)

Commons

Bild

In Commons there are a few hundreds pictures commons:Lighthouse
and many categories and subcategories:

Example

Roter Sand
OpenSeaMap
Wikipedia: Roter_Sand
Commons: Category:Leuchtturm_Roter_Sand
Wikidata: Q220034
Resonator: Q220034
OSM-DB: node/635484478
Alte Weser
OpenSeaMap
Wikipedia: Alte_Weser
Commons: Category:Leuchtturm_Alte_Weser
Wikidata: Q436392
Resonator: Q436392
OSM-DB: node/538969144
Kiel
OpenSeaMap
Wikipedia: Leuchtturm_Kiel
Commons: Category:Leuchtturm_Kiel
Wikidata: Q1821432
Resonator: Q1821432
OSM-DB: node/330119702

ToDo

Concept

Wich data should be in which DB the "Master"?

OSM
WD

How we get the DBs congruent?

How we can manage inconsistencies?

Wikidata-classes

We need a class for lights in WD.

This class has to picture this structures:

OSM-class "seamark:light"
Vorlage:Infobox_Leuchtturm

All lights in WP needs to be entered as objects in this WD-class.

All lights in OSM needs to be entered as objects in this WD-class.

WP-link in OSM

All lights in WP needs to be entered as WP-Link in OSM

Tools

Script a tool/GUI which search all WP-links in OSM and write this into WD.

Script a tool/GUI which searches all OSM-lights and write this into WD.

Attribute-List

Key Value list Typ Source Remarks
name:lol * str OSM: seamark:name ASCII
ref a ##### str OSM: seamark:light:ref
lat g,gggggg real OSM - = Süd
lon g,gggggg real OSM + = West
hight_of_fire ###,# int OSM: seamark:light:hight Feuerhöhe
hight_of_tower ###,# int OSM: seamark:landmark:hight Turmhöhe
range:w ## int OSM: seamark:light:range Maximum of w/r/g
..

Wikidata

Data strukture

Exemple

Field name Typ Format Remarks Exemple
ID incrementel
right_ref-nr String
position Coordinate LAT/LON
name_lol String ASCII like in List of Lights
name_local String UTF-8 local language und writing system
wp-link URL
commons-link URL
light_hight Quantity m,mm light hight about sea
..

Exemple of OSM-Code

OSM-code about "Alte Weser":

<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.6' upload='true' generator='JOSM'>
  <bounds minlat='53.8629884' minlon='8.1265541' maxlat='53.8637962' maxlon='8.1282868' origin='CGImap 0.3.3 (29865 thorn-03.openstreetmap.org)' />
  <node id='538969144' timestamp='2014-04-29T16:56:32Z' uid='449569' user='Nautic' visible='true' version='14' changeset='22026785' lat='53.8634041' lon='8.1275255'>
    <tag k='building:height' v='40' />
    <tag k='man_made' v='lighthouse' />
    <tag k='name' v='Leuchtturm Alte Weser' />
    <tag k='ref' v='B 1188' />
    <tag k='seamark:fog_signal:category' v='horn' />
    <tag k='seamark:fog_signal:group' v='AL' />
    <tag k='seamark:fog_signal:period' v='60' />
    <tag k='seamark:information' v='Fog detector light' />
    <tag k='seamark:light:10:character' v='F' />
    <tag k='seamark:light:10:colour' v='white' />
    <tag k='seamark:light:10:radius' v='0.8' />
    <tag k='seamark:light:10:sector_end' v='238' />
    <tag k='seamark:light:10:sector_start' v='196' />
    <tag k='seamark:light:11:character' v='F' />
    <tag k='seamark:light:11:colour' v='white' />
    <tag k='seamark:light:11:radius' v='0.8' />
    <tag k='seamark:light:11:sector_end' v='352' />
    <tag k='seamark:light:11:sector_start' v='288' />
    <tag k='seamark:light:12:character' v='F' />
    <tag k='seamark:light:12:colour' v='red' />
    <tag k='seamark:light:12:radius' v='0.7' />
    <tag k='seamark:light:12:sector_end' v='3' />
    <tag k='seamark:light:12:sector_start' v='352' />
    <tag k='seamark:light:1:character' v='F' />
    <tag k='seamark:light:1:colour' v='white' />
    <tag k='seamark:light:1:radius' v='0.8' />
    <tag k='seamark:light:1:sector_end' v='17' />
    <tag k='seamark:light:1:sector_start' v='3' />
    <tag k='seamark:light:2:character' v='F' />
    <tag k='seamark:light:2:colour' v='green' />
    <tag k='seamark:light:2:radius' v='0.6' />
    <tag k='seamark:light:2:sector_end' v='45' />
    <tag k='seamark:light:2:sector_start' v='17' />
    <tag k='seamark:light:3:character' v='F' />
    <tag k='seamark:light:3:colour' v='white' />
    <tag k='seamark:light:3:radius' v='0.8' />
    <tag k='seamark:light:3:sector_end' v='74' />
    <tag k='seamark:light:3:sector_start' v='45' />
    <tag k='seamark:light:4:character' v='F' />
    <tag k='seamark:light:4:colour' v='green' />
    <tag k='seamark:light:4:radius' v='0.6' />
    <tag k='seamark:light:4:sector_end' v='118' />
    <tag k='seamark:light:4:sector_start' v='74' />
    <tag k='seamark:light:5:character' v='F' />
    <tag k='seamark:light:5:colour' v='white' />
    <tag k='seamark:light:5:radius' v='0.8' />
    <tag k='seamark:light:5:sector_end' v='123' />
    <tag k='seamark:light:5:sector_start' v='118' />
    <tag k='seamark:light:6:character' v='F' />
    <tag k='seamark:light:6:colour' v='red' />
    <tag k='seamark:light:6:radius' v='0.7' />
    <tag k='seamark:light:6:sector_end' v='140' />
    <tag k='seamark:light:6:sector_start' v='123' />
    <tag k='seamark:light:7:character' v='F' />
    <tag k='seamark:light:7:colour' v='green' />
    <tag k='seamark:light:7:radius' v='0.6' />
    <tag k='seamark:light:7:sector_end' v='175' />
    <tag k='seamark:light:7:sector_start' v='140' />
    <tag k='seamark:light:8:character' v='F' />
    <tag k='seamark:light:8:colour' v='white' />
    <tag k='seamark:light:8:radius' v='0.8' />
    <tag k='seamark:light:8:sector_end' v='183' />
    <tag k='seamark:light:8:sector_start' v='175' />
    <tag k='seamark:light:9:character' v='F' />
    <tag k='seamark:light:9:colour' v='red' />
    <tag k='seamark:light:9:radius' v='0.7' />
    <tag k='seamark:light:9:sector_end' v='196' />
    <tag k='seamark:light:9:sector_start' v='183' />
    <tag k='seamark:name' v='Alte Weser' />
    <tag k='seamark:reference' v='B 1188' />
    <tag k='seamark:type' v='landmark' />
    <tag k='source' v='US NGA Pub. 114. 2011-04-02' />
    <tag k='wikidata' v='Q436392' />
    <tag k='wikipedia' v='de:Alte Weser' />
  </node>
</osm>

Lösungen

Hier sammeln wir Lösungen und Lösungs-Ideen.

Bilder aus Commons

Zu einem Buch bibt es eine Bildersammlung: Buchtext, Portraits der Autoren (WD-Beispiel)

Platzhalter für Artikel

Beispiel für eine Article-Placeholder-Seite für ein Leuchtfeuer, für das noch kein Artikel existiert: https://nn.wikipedia.org/wiki/Spesial:AboutTopic/Q432291

Falls ein Artikel existiert, findet automatisch eine Weiterleitung statt. Man braucht also nur die Special:AboutTopic-Adresse und muss sich um nichts weiter kümmern.

Das funktioniert aktuell nur in sehr wenigen kleinen Wikis, in denen der Article-Placeholder ausgeliefert ist.