Import/Catalogue/Seamark import for Norway

From OpenStreetMap Wiki
Jump to navigation Jump to search


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.


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


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:
Data license:
Type of license: NLOD - (listed as compatible with CC-BY 4.0)
Link to permission (if required): Explicit permission received from Kystverket 7 December 2017:
OSM attribution (if required): Yes, for "Kystverket"
ODbL Compliance verified: Explicit permission to upload to OpenStreetMap under ODbL

The dataset may be inspected at (layer "Temalag"->"Farled og merker"->"Navigasjonsinstallasjoner") and through WMS at

OSM data files

The original data as well as proposed OSM tagging may be inspected in this folder: 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.


Norwegian term: “Fast sjømerke”.

Description Original data OSM tagging Beacons Comments
Port-hand Lateral Beacon TypeID=BabordLateralMerke seamark:type=beacon_lateral




Starboard-hand Lateral Beacon TypeID=StyrbordLateralMerke seamark:type=beacon_lateral




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


998 Mostly historic landmarks, dating 100 to several hundred years back.
Lattice beacon Merkeform=Båke seamark:<beacon_type>:shape=lattice


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:

Description Original data OSM tagging Beacons Comments
Simple arrow ToppmerkeType=Viser seamark:topmark:shape=arrow



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: 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.


Norwegian terms: "Bøye".

Description Original data OSM tagging Buoys Comments
Port-hand lateral buoy TypeID=BabordLateralBøye seamark:type=buoy_lateral




Starboard lateral buoy TypeID=StyrbordLateralBøye seamark:type=buoy_lateral




North cardinal buoy TypeID=NordKardinalBøye seamark:type=buoy_cardinal




East cardinal buoy TypeID=ØstKardinalBøye seamark:type=buoy_cardinal




South cardinal buoy TypeID=SørKardinalBøye seamark:type=buoy_cardinal




West cardinal buoy TypeID=VestKardinalBøye seamark:type=buoy_cardinal




Isolated danger buoy TypeID=IsolertFareBøye seamark:type=buoy_isolated_danger



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: 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=
  • Fast
  • Fl
  • Iso
  • Oc
  • Q (+ LFI)
  • VQ (+ LFI)
  • F
  • Fl
  • Iso
  • Oc
  • Q (+ LFI)
  • VQ (+LFI)







  • Fixed
  • Flashing
  • Isophased
  • Occulting
  • Quick-flashing
  • Very quick flashing
Light colour LysFarge
  • Hvit
  • Gul
  • Rød
  • Grønn
  • white
  • yellow
  • red
  • green





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


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: Also described here:

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


598 Special additional light for high-speed vessels, illuminating its topmark triangle and the area around it.
  • seamark:type according to TypeID
  • seamark:light according to table above

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




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



Sea cable Skilttekst=Livsfarlig kabel seamark:type=notice



Overhead cable Skilttekst=Livsfarlig ledning seamark:type=notice



Low speed Skilttekst=Sakte fart seamark:type=notice




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:

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 rendering and JOSM SeaChart plug-in for this dataset. Skippern and archie also reviewed this document and provided comments.


This is the proposed workflow:

  1. Download existing seamarks for Norway to prepare for conflation.
  2. Remove the overlapping objects from Indirect lights. Identify the overlapping objects with the Validate function in JOSM.
  3. Conflate Buoys and Lights. Idenfity the overlapping objects with the Validate function in JOSM.
  4. 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.
  5. For each input file, merge the new seamarks with the existing seamarks and upload to OSM.


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":


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.

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