-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Description
First of all, thank you for the work on the OpenSeaMap-vector project. The vector representation of nautical marks is extremely useful for navigation and mapping applications.
While exploring the data structure used for navigation marks, I noticed that many objects share exactly the same attributes and differ only by their geographic position. This occurs frequently with groups of aids to navigation such as lateral marks, cardinal marks, or isolated danger marks.
For example, several lateral marks may share identical characteristics:
- Type of mark (e.g., lateral)
- Shape
- Color pattern
- Topmark
- Light characteristics
- Sector visibility
- Metadata attributes
In many cases, the only attribute that changes between instances is the coordinate position.
Because of this, it might be beneficial to introduce a template or parameterized mark definition system, where the common properties of a navigation mark type are defined once and individual marks simply reference that template while specifying their coordinates.
A conceptual approach could be:
-
Mark template definition
- Defines shared characteristics (shape, color, light pattern, etc.)
-
Mark instance
-
References the template
-
Defines only:
- Latitude
- Longitude
- Optional local overrides
-
This approach could potentially provide several advantages:
- Reduced duplication of attribute data
- Smaller and cleaner datasets
- Easier maintenance and updates
- Consistent representation of navigation aids
- Simpler large-scale editing of mark properties
This pattern is commonly used in GIS systems and vector tile pipelines where many objects share identical symbolization or metadata.
I am not sure whether this has already been considered in the current architecture, but I thought it might be a useful discussion point for improving maintainability and scalability of the navigation mark dataset.
Thank you again for the project and for any thoughts you may have on this idea.