Import/Catalogue/Seamarks/SHOM Balisage Import
Goals
The plan to import or integrate all nautical beacons, buoys, lights in France from the official database provided by the French Naval Hydrographic and Oceanographic Service (“SHOM”). This includes all seamarks managed by the DAM (Direction des Affaires Maritimes), so most but not all beacons.
The goal of this import/integration is to add all nautical beacons, buoys, lights for France so that they together with the existing lights in OSM will provide a more complete repository of navigational installations. The import will cover France, including remote territories.
Schedule
Channels used:
- The French mailing list - Balisage maritime francais en OpenData
- The Import mailing list (formal approval if we decide to do an import
The plan is first to discuss:
- with members of the Seamap/Nautical OSM community for an import
- and with members of the Osmose community for an integration
Available data
Background
The Direction des Affaire Maritimes maintains most nautical beacons, buoys, lights for France. The SHOM produces the French official S-100 nautical charts but offers a sub-part as shapefiles available under open license (Licence Ouverte 2.0 Etalab). Source attribution is required (SHOM balisage 03-2019). The data is a subset, for instance for lights it doesn't the character or sequence. The format used is S-57.
Data source site: https://services.data.shom.fr/geonetwork/srv/fre/catalog.search#/metadata/BDML_BALISAGE_PACK.xml
Queryable WMS: https://data.shom.fr/donnees/contexte/balisage This includes more data like photos of lighthouses. See QGIS WMS Configuration to use within QGIS
Data license: Utilisation libre sous réserve de citer les sources. Licence Ouverte (version 2.0 d'avril 2017), définie par la mission Etalab.
Ne pas utiliser pour la navigation.
Free of usage as long as source quoted, Open License 2.0 (Etalab April 2017) Not for navigation
Type of license: OL - https://github.com/etalab/licence-ouverte/blob/master/LO.md (listed as compatible with ODbL)
Link to permission (if required): Not required
OSM attribution (if required): Yes, for "SHOM Balisage"
ODbL Compliance verified: Etalab license created to be compatible with ODbL.
The dataset may be downloaded at https://services.data.shom.fr/INSPIRE/telechargement/prepackageGroup/BALISAGE_PACK_DL/prepackage/BALISAGE/file/BALISAGE.7z
Layer | Position | InspireId | Position Accuracy | sm:name | Has Fog signal? | Has signaling station? | Has Lights? | Shape | Category | Physical Color (NOT the light color) | Physical Height (NOT the light height) | Function | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BCNCAR_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | bcnshp | catcam | colour | height | |
BCNISD_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | bcnshp | X | colour | height | |
BCNLAT_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | bcnshp | catlam | colour | height | |
BCNSPP_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | bcnshp | catspm | colour | height | |
BOYCAR_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | boyshp | catcam | colour | X | |
BOYISD_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | boyshp | X | colour | X | |
BOYLAT_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | boyshp | catlam | colour | X | |
BOYSAW_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | boyshp | X | colour | X | |
BOYSPP_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | boyshp | catspm | colour | X | |
DAYMAR_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | X | catspm | colour | height | |
FORSTC_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | X | catfor | X | X | |
LNDMRK_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | X | catlmk | colour | height | functn |
MORFAC_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | boyshp | catmor | colour | height | |
NEWOBJ_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | X | X | X | X | aisfct |
PILPNT_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | X | catple | colour | height | |
SILTNK_PT | wkt_geom | inspireid | posacc | objnam | numald | topmar | fogsig | radrfl | retrfl | radsta | rtpbcn | rdosta | sistat | sistaw | lights | buishp | catsil | colour | height |
layer | position | InspireId | sm:range | sm:light:colour |
---|---|---|---|---|
LIGHTS_PT | wkt_geom | inspireid | valnmr | colour |
QGIS WMS Configuration
Due to a bug, the endpoint https://services.data.shom.fr/wms/v? can be used but only if you ask to ignore announced GetMap/GetTile and GetInfo. Check both check boxes in QGIS 3.4, then it works fine.
Osmose integration
- Categories without light (lights=0) will be managed first.
- Categories with simple light (light=1) and only one corresponding line in LIGHTS will then be managed.
- Complex lights may be managed later (in this data set and in OSM, sectors numbering is random). LOL has already imported most of those lights. We may check that a seamark exists at this position an try to sort in OSM order. Some important features (character, sequence, period) are missing from the dataset.
Import type
To be defined, based on Norway import or using Osmose.
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. The LIGHTS
Tagging plans
Each OSM object will be tagged according to the S-57/OpenSeaMap model.
Changeset tags
To be defined.
Data transformation
No specific data transformations apart from the translations described in tables above.
Data transformation results
To be defined.
Data merge workflow
To be defined.
Team approach
- Osmose: work with Frédéric Rodrigo, developper of Osmose.
- OpenSeaMap/OpenNauticalChart: To be defined.
Workflow
1. Using JOSM with the OpenData plugin, read in the SHP files for each object type.
2. SAVE-AS an OSM XML file.
3. Run this command-line tool with that XML file as input to generate an OSM file with the converted tags.
Some notes about the SHOM data:
Topmarks are not detailed - only their existence is indicated.
Lights are very incomplete. Apart from colour & range, no character, group or period is specified. More data has been requested to the provider.
Likewise fog signals.
Sectored lights are specified with a separate object for each sector at the same lat/lon
Likewise, where a light is part of a buoy or beacon, it is a separate object at the same same lat/lon as the buoy/beacon.
This requires careful merging work before the Planet merge to build up each complete object. - The old JOSM SeaMap Editor plugin is very useful for this.
Conflation
Merging with the Planet DB will need to be done manually as many of the imported objects already exist. Careful decisions about conflicting tags & positions will need to be made for each object.
Next steps
To be defined.
QA
To be defined.