Seamarks/Seamark Tagging Schema

From OpenStreetMap Wiki
Jump to navigation Jump to search


International Hydrographic Organization (IHO) defined an universal data model S-100 (document) with standardized objects, sub-groups of objects (called categories of objects), attributes with value lists and value formats. The S-100 standard is the basis for further product specifications including S-101 for Electronic Navigational Charts (ENCs). IHO grants free access to related documents in a Geospatial Information Registry. This database allows to search and browse in a Data Dictionary and so called Portrayal Register, which contains map symbols including their SVG and XML origin.

Seamark schema

There is a tag schema based on elements defined in the S-57 & S-101 catalogues. The six-letter mnemonics used in that standard have been replaced by words or underscore separated English phrases for human readability:

The format of tags is as follows:

Scheme form Description
seamark:type=<object> Parent object. Any given node node or way way can be tagged with more than one S-57/S-101 object - e.g. a buoy with a light and topmark would be tagged with three objects and their attributes (see example below). These objects are structured as a parent-child relationship ( Hierarchical database model) with one parent object and zero or more child objects. The parent object is indicated with a tag in this scheme form with a value corresponding to a valid object key. This tag must be used (once and only once) on a node or way to be rendered in nautical charts. If it is absent, the renderer will ignore all other seamark tags on that node node or way way.

Note that in the case of lights, there are two possible symbols (light_major & light_minor).

Attributes with more than one value should specify those values by a semi-colon separated list.

seamark:<object>:<attribute>=<value> <object> is the object key, <attribute> is the attribute key and <value> is the attribute value.
seamark:<attribute>=<value> Attributes that are common to all objects on a node node or way way should be specified in this scheme form.
seamark:name=<text string> E.g. there is usually only one name associated with all objects on a node node or way way. This name should be specified by this tag.


An example of this tagging scheme is illustrated here. This is of a buoy with topmark and light: