I am writing to propose importing United States marine navigational aids from [NOAA][]'s S-57 electronic navigation charts (ENCs) into OpenStreetMap. These charts are in the public domain and serve as the canonical source for navigational mark locations in United States waters.
While OSM currently includes some United States seamarks, a prototype import of lateral buoys suggests that the majority of these buoys are currently missing from the OSM dataset. Furthermore, many of the seamarks which are present are out-of-date in either their position or metadata.
I propose that NOAA seamarks be consistently added into OSM and be kept up-to-date via automated import.
Project Overview
I am working to develop infrastructure to import and update seamarks from NOAA ENCs into OSM. The import includes lateral (BOYLAT
/BCNLAT
), cardinal (BOYCAR
/BCNCAR
), safe-water (BOYSAW
/BCNSAW
), and special-purpose (BOYSPP
/BCNSPP
) buoys and beacons, capturing a variety of attributes of each including colour, light, and fog signal information. This is similar to a seemingly stalled import attempt from 2013.
Currently the import would entail:
- 9318 modifications to existing OSM seamarks
- 13038 new seamarks which are not currently represented in OSM
Additionally, there are 1403 seamarks in OSM which do not have an obvious corresponding NOAA seamark. This is addressed below in the “Open Questions” section.
To make the import more manageable and potentially facilitate manual review, I have broken the import into regions of each roughly 500 seamarks by state boundaries and further subdivision.
Covered tags
Imported NOAA seamarks will bear the following OSM tags using the following S-101 attributes:
OSM tag | S-101 schema analogue |
---|---|
seamark:name |
OBJNAM |
seamark:fog_signal_category |
CATFOG |
seamark:beacon_lateral:system |
MARSYS |
seamark:beacon_lateral:shape |
BOYSHP |
seamark:beacon_lateral:colour |
COLOUR |
seamark:beacon_lateral:category |
BOYCAT |
seamark:light:colour |
COLOUR |
seamark:light:visibility |
LITVIS |
seamark:light:exhibition |
EXCLIT |
seamark:light:character |
LITCHR |
seamark:light:period |
SIGPER |
seamark:light:multiple |
MLTYLT |
seamark:light:range |
VALNMR |
Provenance tracking
To track the provenance of imported seamarks, I currently use a new key, source:noaa_lnam
, to record the S100 LNAM
field used to identify the feature in the source NOAA ENCs.
In addition to LNAM
, it may also be useful to preserve the SORDAT
(source date) field from the ENCs. This would make it easy to identify changes to seamarks in future updates.
Matching algorithm
To find OSM seamarks associated with NOAA seamarks a simple distance-thresholding method is currently used, taking the closest match within 200 meters. Here we call a pair of a NOAA seamark and its closest match in the OSM dataset a pair of “correlated seamarks”.
As with all automated matching algorithms, this may fail in false-positives and false-negatives:
-
A false-positive correlation is one where two unrelated buoys are incorrectly deemed the same by the algorithm. This would have the effect of the import redefining an existing existing OSM seamark to be NOAA seamark.
-
A false-negative correlation is one where two related buoys are deemed distinct. This would mean that instead of updating the existing OSM entry, the import would introduce a new, redundant seamark.
False-positive characterisation
To quantify the false-positive rate, I conducted a study comparing the NOAA OBJNAM
and OSM seamark:name
of correlated seamarks as an oracle for buoy equivalence. Of the 1455 seamarks that satisfy the distance-threshold criteria, 114 match exactly in their names.
Of those that do not match exactly in name, the majority match via their buoy number. For instance, here are a few typical pairings:
seamark:name |
OBJNAM |
---|---|
7 | Shilshole Bay Buoy 7 |
Spa Creek Channel Junction Buoy SC | Spa Creek Channel Junction Buoy SC |
2DW | Dundalk Terminal West Channel Buoy 2DW |
Upper Chesapeake Channel Lighted Buoy 40 | Upper Chesapeake Channel Lighted Ice Buoy 40 |
R N “38” | Merrimack River Buoy 38 |
SD 4 | Sea Dog Creek Buoy SD4 |
R18 | Lewis Bay Approach Channel Lighted Buoy 18 |
R “4” Gong | Hampton Harbor Channel Gong Buoy 4 |
To match via buoy number, I compared the last tokens (as split by whitespace after dropping double-quotes) of the two names. Counting matches in buoy number, 1304 of the 1455 correlated seamarks match in name.
Examining the remaining non-matching pairs by hand revealed that only 66 of the 1455 correlated seamarks disagree substantially in their names. This suggests that the false-positive rate is quite low for this method (4.5%).
Open Questions
-
What to do with seamarks in the covered region that are not present in NOAA ENCs? Some of these may be non-NOAA seamarks while in other cases these correspond to seamarks that were previously present but have since been decommissioned. This puts us in the awkward situation of either losing useful information or keeping redundant, inaccurate marks.
-
What, if anything, should be done to mitigate false matches?
-
Currently
seamark:name
of OSM seamarks is often a descriptive string (e.g.G C 13
, short for “green can 13”) rather than the proper NOAA seamark name (that is, the S57OBJNAM
field).To take a specific example, currently the seamark with NOAA name
Piscataqua River Lighted Buoy 2
is given theseamark:name
valueR "2"
in the OSM dataset. TheR
in the latter name is redundant to theseamark:colour
attribute (which indicates that the seamark is red). To avoid this sort of redundancy, I suggest thatseamark:name
should be changed to reflect the object’s NOAA name. Is there a precedent for howseamark:name
should be defined?
Future work
Here I only propose to include coastal seamarks; seamarks for United States inland waterways are maintained by the Army Corp of Engineers, which provides a [similar ENC product][IENC] which could be similarly imported in the future.
Beyond seamarks, there is a wealth of additional navigational information in NOAA ENCs (e.g. cable areas, anchorage areas). Perhaps this would be a useful addition to OSM in the future.