Import/Catalogue/Seamark import for Norway
Goals
I plan to import all nautical beacons, buoys, simple lights ("lanterns") and signs in Norway from the official database provided by The Norwegian Coastal Administration (“Kystverket”). The import is currently seeking approval from the OSM community.
The goal of this import is to add all nautical beacons, buoys, simple lights ("lanterns") and notice marks for the Norway so that they together with the existing lights in OSM will provide a more complete repository of navigational installations. The import will cover mainland Norway, off shore oil & gas platforms and Svalbard/Spitsbergen.
Schedule
Files for the import has already been produced and will be imported into OSM as soon as the import plan has been verified by the OSM community, including:
- The Norwegian mailing list - pipermail
- The Import mailing list (formal approval)
The import plan has also been discussed with members of the Seamap/Nautical OSM community.
The import will start 5 January 2018.
Import data
Background
The Norwegian Coastal Administration's maintains the official database for "navigational installations" (beacons, buoys, lights and notice marks). It provides access through a WFS service.
Data source site: https://nfs.kystverket.no/arcgis/services/nfs/NFSSistOperativ/MapServer/WFSServer?request=GetCapabilities&service=WFS
Data license: https://kartkatalog.geonorge.no/metadata/uuid/73e46cf4-d9f5-4d75-b148-bb5edf888c4a
Type of license: NLOD - https://data.norge.no/nlod/en/2.0 (listed as compatible with CC-BY 4.0)
Link to permission (if required): Explicit permission received from Kystverket 7 December 2017: https://lists.nuug.no/pipermail/kart/2017-December/006320.html
OSM attribution (if required): Yes, for "Kystverket"
ODbL Compliance verified: Explicit permission to upload to OpenStreetMap under ODbL
The dataset may be inspected at https://kart.kystverket.no (layer "Temalag"->"Farled og merker"->"Navigasjonsinstallasjoner") and through WMS at https://nfs.kystverket.no/arcgis/services/nfs/NFSSistOperativ/MapServer/WMSServer?request=GetCapabilities&service=WMS
OSM data files
The original data as well as proposed OSM tagging may be inspected in this folder: https://drive.google.com/open?id=1XpjJiGXyCX0_xmjbBMfbg4Bslv5BdCBn The data was extracted 3 November 2017. The files contain both the original data attributes and the proposed OSM tags.
Please note that Lights with Klasse="FL - Fyrlykt" and "FS - Fyrstasjon" will not be imported (they are larger light_major and light_minor lights which already has been imported through the earlier LoL import).
Import type
This is a one-time import. The data has been downloaded from Kystverket through its WFS service. There are 4 different sections of data which is relevant for this import:
- Beacons
- Buoys
- Lights on beacons and buoys ("lanterns")
- Indirect lights/flood lights
- Notice marks
The WFS data was downloaded using QGIS and exported as GML files to JOSM. In JOSM, each category of beacons, buoys etc was identified and manually given proper seamark tagging according to the translation table in the next section.
Data preparation
Data reduction and simplification
Each object is represented by one node, so no simplification is needed. Internal data attributes will not be imported.
There is some overlap between lights and the beacons/buoys/indirect lights. They will be conflated during import.
Tagging plans
Each OSM object will be tagged according to the following tables.
Beacons
Norwegian term: “Fast sjømerke”.
Description | Original data | OSM tagging | Beacons | Comments |
---|---|---|---|---|
Port-hand Lateral Beacon | TypeID=BabordLateralMerke | seamark:type=beacon_lateral
seamark:beacon_lateral:category=port seamark:beacon_lateral:colour=red seamark:beacon_lateral:system=iala-a |
300 | |
Starboard-hand Lateral Beacon | TypeID=StyrbordLateralMerke | seamark:type=beacon_lateral
seamark:beacon_lateral:category=starboard seamark:beacon_lateral:colour=green seamark:beacon_lateral:system=iala-a |
291 | |
Isolated Danger Beacon | TypeID=IsolertFareMerkeFast | seamark:type=beacon_isolated_danger | 10,691 | |
Special Purpose Beacon | TypeID=SpesialmerkeFast | seamark:type=beacon_special_purpose | 129 | |
Other | TypeID=AndreFastmerker | seamark:type=beacon_isolated_danger | 2,350 | A collection of beacons with unknown purpose. From inspection and verification with the nautical charts, most of them seem to correspond to the other Isolated Danger Beacons in the dataset. |
Shapes are added if "Merkeform" contains information:
Description | Original data | OSM tagging | Beacons | Comments |
---|---|---|---|---|
Pole | Merkeform=Stang | seamark:<beacon_type>:shape=stake | 12,538 | |
Tower beacon | Merkeform=Varde | seamark:<beacon_type>:shape=tower
man_made=beacon |
998 | Mostly historic landmarks, dating 100 to several hundred years back. |
Lattice beacon | Merkeform=Båke | seamark:<beacon_type>:shape=lattice
man_made=beacon |
254 | Mostly historic landmarks, dating 100 to several hundre years back, and regularly maintained. |
Topmarks are added if "ToppmerkeType" contains information. There is one top mark type for which I have not found an OSM tag. It is an arrow pointing away from a rock and with the direction of the arrow point towards safe water. In the table below, these arrows are called "Viser" (a simple arrow) and "Krekse" (a lattice shaped arrow). An information note has been added for these 6,790 beacons and they have been tagged with seamark:topmark.shape=arrow. Examples here: http://kystverket.no/Maritim-infrastruktur/Fyr-og-merker-/Faste-merker/
Description | Original data | OSM tagging | Beacons | Comments |
---|---|---|---|---|
Simple arrow | ToppmerkeType=Viser | seamark:topmark:shape=arrow
seamark:topmark:information="Arrow" seamark:topmark:national_information="Viser" |
5,349 | + Orientation |
White lattice arrow | ToppmerkeType=Hvit krekse | seamark:topmark:shape=arrow
seamark:topmark:information="White arrow" seamark:topmark:national_information="Hvit krekse" |
1,111 | + Orientation |
Black lattice arrow | ToppmerkeType=Sort krekse | seamark:topmark:shape=arrow
seamark:topmark:information="Black lattice arrow" seamark:topmark:national_information="Sort krekse" |
273 | + Orientation |
White and black
lattice arrow |
ToppmerkeType=Hvit & sort krekse | seamark:topmark:shape=arrow
seamark:topmark:information="White & black lattice arrow" seamark:topmark:national_information="Hvit & sort krekse" |
6 | + Orientation |
Single sphere | ToppmerkeType=Kule | seamark:topmark:shape=sphere | 158 | |
Single sphere with
arrow above |
ToppmerkeType=Kule med viser | seamark:topmark:shape=arrow
seamark:topmark:information="Sphere with arrow" seamark:topmark:national_information="Kule med viser" |
46 | + Orientation |
Single sphere with
lattice arrow above |
ToppmerkeType=Kule med krekse | seamark:topmark:shape=arrow
seamark:topmark:information="Sphere with lattice arrow" seamark:topmark:national_information="Kule med krekse" |
5 | + Orientation |
Cone | ToppmerkeType=Kjegle | seamark:topmark:shape=cone, point up | 12 | |
Horizontal barrel | ToppmerkeType=Tønne | seamark:topmark:shape=cylinder | 6 | |
Cross | ToppmerkeType=Kors | seamark:topmark:shape=cross | 7 | |
X cross | ToppmerkeType=Kryss | seamark:topmark:shape=x-shape | 7 |
5,396 topmarks with arrows also have data for the orientation of the arrow in degrees, which will be tagged with seamark:topmark:orientation (numerical value without degree sign). The value 0 has been omitted as it is likely to represent a "no data" code.
Colours are given by "Farge1", "Farge2" and "Farge3". 691 beacons have 1 colour. 21 beacons have 2 colours, 18 beacons have 3 colours. Direct translation into seamark:<beacon_type>:colour. There is no information about colour pattern (based on observations horizontal is the prevailing colour pattern, most likely for all towers ("varder") and lattices ("båker")).
6,077 beacons have information about their retro reflective colour, to be set as seamark:retro_reflector:colour=<colour>.
Special purpose marks are given by "Merketype". Translation table between national codes and CATSPM is here: https://objektkatalog.geonorge.no/Objekttype/Index/EAID_632DD749_3D8F_4086_A49F_216418FE67A1 Only Special purpose beacons will get marks (129 beacons).
Description | Original data | OSM tagging | Beacons | Comments |
---|---|---|---|---|
Leading mark | Merketype=Overettmerke | seamark:beacon_special_purpose:category=leading | 33 | |
Foul ground mark | Merketype=Foul ground mark (yachting) | seamark:beacon_special_purpose:category=foul_ground | 94 | |
Mark with unknown purpose | Merketype=Merke med ukjent formål | seamark:beacon_special_purpose:category=unknown_purpose | 13 |
Other tags:
- 58 beacons have a radar reflector, "RadarReflektor"="Ja" in dataset --> seamark:radar_reflector=yes
- 774 beacons have a water depth --> depth=value of "Vanndybde" (in meters with decimal)
- 1043 beacons have a height of the structure --> seamark:<beacon_type>:height=value of "Byggehoyde" (in meters with decimal). Value 0 omitted.
Buoys
Norwegian terms: "Bøye".
Description | Original data | OSM tagging | Buoys | Comments |
---|---|---|---|---|
Port-hand lateral buoy | TypeID=BabordLateralBøye | seamark:type=buoy_lateral
seamark:buoy_lateral:category=port seamark:buoy_lateral:colour=red seamark:buoy_lateral:system=iala-a |
737 | |
Starboard lateral buoy | TypeID=StyrbordLateralBøye | seamark:type=buoy_lateral
seamark:buoy_lateral:category=starboard seamark:buoy_lateral:colour=green seamark:buoy_lateral:system=iala-a |
826 | |
North cardinal buoy | TypeID=NordKardinalBøye | seamark:type=buoy_cardinal
seamark:buoy_cardinal:category=north seamark:buoy_cardinal:colour=black;yellow seamark:buoy_cardinal:colour_pattern=horizontal |
95 | |
East cardinal buoy | TypeID=ØstKardinalBøye | seamark:type=buoy_cardinal
seamark:buoy_cardinal:category=east seamark:buoy_cardinal:colour=black;yellow;black seamark:buoy_cardinal:colour_pattern=horizontal |
61 | |
South cardinal buoy | TypeID=SørKardinalBøye | seamark:type=buoy_cardinal
seamark:buoy_cardinal:category=south seamark:buoy_cardinal:colour=yellow;black seamark:buoy_cardinal:colour_pattern=horizontal |
89 | |
West cardinal buoy | TypeID=VestKardinalBøye | seamark:type=buoy_cardinal
seamark:buoy_cardinal:category=west seamark:buoy_cardinal:colour=yellow;black;yellow seamark:buoy_cardinal:colour_pattern=horizontal |
80 | |
Isolated danger buoy | TypeID=IsolertFareBøye | seamark:type=buoy_isolated_danger
seamark:buoy_isolated_danger:colour=black;red;black seamark:buoy_isolated_danger:colour_pattern=horizontal |
97 | |
Special purpose buoy | TypeID=SpesialBøye | seamark:type=buoy_special_purpose | 78 | Please see Special purpose marks below |
Shapes are added if "Bøyeform" contains information:
Description | Original data | OSM tagging | Buoys | Comments |
---|---|---|---|---|
Spar/spindle | Bøyeform=Stake | seamark:<buoy_type>:shape=spar | 1,815 | |
Pillar | Bøyeform=Bøyestake | seamark:<buoy_type>:shape=pillar | 139 | |
Conical | Bøyeform=Konisk bøye | seamark:<buoy_type>:shape=conical | 31 | |
Spherical | Bøyeform=Kulebøye | seamark:<buoy_type>:shape=spherical | 26 | |
Ice buoy | Bøyeform=Isbøye | seamark:<buoy_type>:shape=ice_buoy | 17 | |
Barrel/tun | Bøyeform=Tønnebøye | seamark:<buoy_type>:shape=barrel | 13 | |
Can/cylindrical | Bøyeform=Sylindrisk bøye | seamark:<buoy_type>:shape=can | 11 | |
Super-buoy | Bøyeform=Superbøye | seamark:<buoy_type>:shape=super-buoy | 11 | Hyphen, not underscore |
Colour for Special Purpose buoy is given by "Farge1" (77 yellow, 1 orange).
There are no topmarks in the dataset. In general, topmarks are not used on buoys in Norway because of rough sea and maintenance problems.
Special purpose marks are given by "Merketype". Translation table between national codes and CATSPM is here: https://objektkatalog.geonorge.no/Objekttype/Index/EAID_632DD749_3D8F_4086_A49F_216418FE67A1 Only Special purpose buoys will get marks (78 buoys).
Description | Originial data | OSM tagging | Buoys | Comments |
---|---|---|---|---|
Outfall mark | Merketype=8 | seamark:buoy_special_purpose:category=outfall | 4 | |
ODAS | Merketype=9 | seamark:buoy_special_purpose:category=odas | 1 | Ocean Data Acquisition System |
Recording mark | Merketype=10 | seamark:buoy_special_purpose:category=recording | 2 | Data recording |
Recreation zone mark | Merketype=12 | seamark:buoy_special_purpose:category=recreation_zone | 1 | |
Mooring mark | Merketype=14 | seamark:buoy_special_purpose:category=mooring | 7 | |
LANBY | Merketype=15 | seamark:buoy_special_purpose:category=lanby | 7 | Large Automatic Navigational Buoy |
TSS mark | Merketype=19 | seamark:buoy_special_purpose:category=tss | 1 | Traffic Separation System |
Control mark | Merketype=42 | seamark:buoy_special_purpose:category=control | 4 | Location of restriction or requirement |
Mark with unknown purpose | Merketype=52 | seamark:buoy_special_purpose:category=unknown_purpose | 51 |
Other tags:
- 141 buoys have a radar reflector, "RadarReflektor"="Ja" in dataset --> seamark:radar_reflector=yes
- 8 buoys have a water depth --> depth=value of "Vanndybde" (in meters with decimal)
Lights on beacons and buoys
The dataset for lights also includes 2,560 lights for beacons and buoys as well as 1,840 indirect lights. They are classified as "lanterns" by Kystverket. The beacons and buoys structures are tagged as described above. The lights on those objects will be tagged as specified in this section. The other lights which are located neither on beacons nor buoys have already been imported during the LOL import.
Description | Original data | OSM tagging | Lights | Comments |
---|---|---|---|---|
Light character | LysKarakter=
|
seamark:light:character=
|
Each:
509 550 656 30 728+9 62+9 |
Characters:
|
Light colour | LysFarge
|
seamark:light:colour
|
Each:
326 12 1,139 1,066 |
|
Light group | FyrlisteKarakter, 2nd part | seamark:light:group | 75 | E.g. "3+1" |
Light period | FyrlisteKarakter, last part | seamark:light:period | 2,294 | |
Light sequence | KarakterTid (excluding "FastLys") | seamark:light:sequence | 1,590 | E.g. "0.5+(0.5)+0.5+(0.5)+0.5+(0.5)+1.5+(1.5) |
Light elevation | Lyshoyde | seamark:light:elevation | 2,324 | Elevation above sea level |
Light height | Byggehoyde | seamark:light:height | 1,005 | Height of structure |
Light range | RekkeviddeHvit (white)
RekkeviddeGul (yellow) RekkeviddeRød (red) RekkeviddeGrønn (green) |
seamark:light:range | 332 | One colour only for each light.
Range in nautical miles. |
Multiplicity of lights | AntallIdentiskeLys | seamark:light:multiple | 1 | |
Directional light/
Light orientation |
RetningslysRetning | semark:light:category=directional
seamark:light:1:orientation |
9 | Exclude "0" (uncertain data)
All light attributes to be grouped as sector 1 |
Leading light | Lystype=Overettmerke | seamark:light:category=front, rear, upper, lower (as apropriate) | 102 | Need to verify map/elevation |
Aero light | Lystype=Luftfartsfyr/lykt | seamark:light:category=aero | 2 | |
Air obstruction light | Lystype=Lufthindringslys | seamark:light:category=air_obstruction | 1 |
Indirect lights are either additional lights on beacons and buoys, or separate structures. For separate structures, "TypeId" determines the type of beacon or buoy, as above. Indirect light renders as P63 yellow floodlight on national nautical maps. Most of these lights are used as navigational aids in narrow fjords and straits for high-speed passenger vessels. They light the associated beacon and/or the surrounding area. Example here: http://kystverket.no/Maritim-infrastruktur/Fyr-og-merker-/Indirekte-belysning/ Also described here: https://www.iho.int/mtg_docs/com_wg/CSPCWG/CSPCWG6/CSPCWG6-INF2_HIB.pdf
Description | Original data | OSM tagging | Lights | Comments |
---|---|---|---|---|
HIB light | Klasse=HIB - Hurtigbåtmerke med indirekte belysning | seamark:type=light
seamark:topmark:shape=triangle, point up seamark:topmark:status=illuminated |
598 | Special additional light for high-speed vessels, illuminating its topmark triangle and the area around it.
The visible number of the topmark is given by the two last digits of SjomerkeNr (to be verified). |
Indirect light (light posts) | Indirekte_lys | seamark:type=light_minor
seamark:light:category=floodlight seamark:light:character=F seamark:light:colour=yellow |
1,840 | Additional or separate indirect lights/floodlights.
There is an overlap with HIBs and other lights, around 400 light_minor with one light ("lanterns") and around 200 light_minor with light sectors. Use seamark:<seamark_type>:status=illuminated (instead of the given OSM tagging to the left) for other objects than lights. |
The Indirect Lights partly overlap with Lights. The overlapping objects have been combined into Lights through adding seamark:<seamark_type>:status=illuminated to the relevant Lights. Beacon attributes have been added to the HIB lights.
Notice marks
Notice marks will be tagged with seamark:type=notice. The dataset for some reason contains only a fraction of all existing notice marks.
Description | Original data | OSM tagging | Notice marks | Comments |
---|---|---|---|---|
No anchoring | Skilttekst=Ankring forbudt | seamark:type=notice
seamark:notice:function=prohibition seamark:notice:category=no_anchoring |
67 | |
Sea cable | Skilttekst=Livsfarlig kabel | seamark:type=notice
seamark:notice:function=restriction seamark:notice:category=no_anchoring |
6 | |
Overhead cable | Skilttekst=Livsfarlig ledning | seamark:type=notice
seamark:notice:function=information seamark:notice:category=overhead_cable |
62 | |
Low speed | Skilttekst=Sakte fart | seamark:type=notice
seamark:notice:function=regulation seamark:notice:category=speed_limit |
7 |
Additional text in seamark:notice:information (typically meters of claerance etc).
Common attributes
Description | Original data | OSM tagging | Objects | Comments |
---|---|---|---|---|
Kystverket identification | SjomerkeNr | seamark:kystverket:reference | 13,244 beacons
604 buoys 2,540 lights 1,827 indirect lights |
|
Name | Navn | seamark:name | 7,688 beacons
1,697 buoys 2,529 lights 1,809 indirect lights |
Exclude 12 beacons without proper names |
Source | source=Kystverket |
Changeset tags
The import will be tagged with "Kystverket seamark import" and source="Kystverket Navigasjonsinstallasjoner, 3 November 2017", using the account NKA_import.
Data transformation
No specific data transformations apart from the translations described in tables above.
Data transformation results
The OSM files may be inspected in this folder: https://drive.google.com/open?id=1XpjJiGXyCX0_xmjbBMfbg4Bslv5BdCBn
There is one file each for beacons, buoys, lights, indirect lights and notice marks.
Note: The original attributes has been kept as-is in addition to the proposed OSM tagging in these files. The original attributes will be removed before import. Lights with Klasse="FL - Fyrlykt" and "FS - Fyrstasjon" will not be imported (they are larger light_major and light_minor).
Data merge workflow
Team approach
I (NKA) plan to do the import myself, using the account NKA_import. It is a one time job. I appreciate very much contributions from malcolmh who also adapted the OpenSeaMap.org rendering and JOSM SeaChart plug-in for this dataset. Skippern and archie also reviewed this document and provided comments.
Workflow
This is the proposed workflow:
- Download existing seamarks for Norway to prepare for conflation.
- Remove the overlapping objects from Indirect lights. Identify the overlapping objects with the Validate function in JOSM.
- Conflate Buoys and Lights. Idenfity the overlapping objects with the Validate function in JOSM.
- The input files will be imported with JOSM in this order: 1) Beacons, 2) Buoys, 3) Lights, 4) Indirect lights (the separate floodlights), 5) Notice marks.
- For each input file, merge the new seamarks with the existing seamarks and upload to OSM.
Conflation
The overlap between each file will be removed before upload using the JOSM Validation function to identify overlap.
There are only 157 beacons and 103 buoys in OSM in the given geographical area, so a manual conflation is possible. For each file, the corresponding existing objects in OSM will be downloaded through the Overpass API i JOSM and merging of nodes at the same geographical position will take place. In the case of non-matching data, the official data from the Norwegian Coastal Administration will prevail. Overlapping positions will first be determined using the Validation function in JOSM, and then through a one-by-one inspection of the existing objects using the To-do plug-in.
There are 1795 lantern lights in OSM from the earlier LoL import. Quality is medium as LoL did not use the official Norwegian data source. They will be conflated using the Conflation plugin in JOSM. In the case of non-matching data, the official data from the Norwegian Coastal Administration will prevail.
Next steps
The larger lights which are not part of this import may at a later stage be supplemented to lights already imported into OSM during the LoL import.
Also, Kystverket provides a list of harbours/ports and other navigational geodata which may be imported at a later stage.
Future updates: Kystverket is announcing changes to its navigational seamarks in "Notices to Mariners/Etterretninger for sjøfarende": https://www.kartverket.no/en/efs/#/
QA
Samples of the end result will be compared with the corresponding WMS service as well as official nautical raster charts as separate layers in JOSM before uploading to OSM. Samples will also be inspected using the JOSM SeaChart plugin.
- Kystverket WMS service for beacon, buoys, lights: https://nfs.kystverket.no/arcgis/services/nfs/NFSSistOperativ/MapServer/WMSServer?request=GetCapabilities&service=WMS (each seamark:type per layer)
- Same WMS layer with all seamarks on one layer: http://nfs.kystverket.no/arcgis/services/nfs/NFSSistOperativ/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=6,9,10,11,12,18,19,&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}
- Kartverket WMS service for official nautical raster charts: http://openwms.statkart.no/skwms1/wms.sjokartraster?request=GetCapabilities&service=WMS This is already a default imagery layer in JOSM.
- Eniro TMS nautical chart, which has used this dataset: https://map0{switch:1,2,3,4}.eniro.no/geowebcache/service/tms1.0.0/nautical2x/{zoom}/{x}/{-y}.png (tracing not permitted)
When needed, individual seamarks will also be verified against S-57 coding in the official ENC maps using the OpenCPN application and Norwegian charts from o-charts.org.