Class S125AtonPortrayalProjection
Projects S-125 Marine Aids to Navigation features onto the S-101 feature and attribute model so the bundled S-101 Portrayal Catalogue's AtoN rules (buoys, beacons, topmarks, daymarks, landmarks, lights and light sectors, AIS aids, navigation lines and tracks) can portray them.
public static class S125AtonPortrayalProjection
- Inheritance
-
S125AtonPortrayalProjection
- Inherited Members
Remarks
The S-125 Edition 1.0.0 Portrayal Catalogue (PS clause 13 / Annex D) only portrays AtoN status indications and data coverage: S-125 is designed as an overlay on the ENC's own AtoN symbology rather than a replacement for it. Portraying the aids themselves is therefore an implementation choice of this library, made by reusing S-101 symbology — see the S-125 dataset README.
Both feature catalogues draw their AtoN feature types and attributes from
the IHO GI Registry, so most features map one-to-one (same type code, same
attribute codes and listed values, same sectorCharacteristics /
rhythmOfLight complex structure). The remaining differences are
bridged here:
-
S-125 models topmarks as separate
Topmarkequipment features bound to their structure by theStructureEquipmentassociation; S-101 carries them as the structure'stopmarkcomplex attribute. EachTopmarkis lifted onto its parent structure (falling back to a co-located buoy or beacon when no association is encoded). -
SyntheticAISAidToNavigationhas no S-101 counterpart and is portrayed asPhysicalAISAidToNavigation(an AIS message broadcast for a physical aid). -
Attribute renames:
maximalPermittedDraught→maximumPermittedDraught; theorientationcomplex flattens to S-101's simpleorientationValuewhere S-101 binds that; and the pre-1.0 draft spellingsobjectName/MMSICodemap tofeatureName/mMSICode.
Features that S-125 portrays itself (AtonStatusIndication,
DataCoverage), geometry-less aggregations, and meta features with no
AtoN symbology are not projected.
Methods
MapFeatureType(string, FeatureCatalogue)
The S-101 feature type an S-125 feature type is portrayed as, or null when the type is not portrayed through the S-101 rules.
public static string? MapFeatureType(string s125FeatureType, FeatureCatalogue s101Catalogue)
Parameters
s125FeatureTypestringThe S-125 feature type code.
s101CatalogueFeatureCatalogueThe S-101 feature catalogue; only its non-abstract types are targets.
Returns
Project(S125Dataset, FeatureCatalogue)
Projects the portrayable features of dataset onto
the S-101 model.
public static IReadOnlyList<S125ProjectedAton> Project(S125Dataset dataset, FeatureCatalogue s101Catalogue)
Parameters
datasetS125DatasetThe S-125 dataset.
s101CatalogueFeatureCatalogueThe S-101 feature catalogue (target types and attribute bindings).
Returns
- IReadOnlyList<S125ProjectedAton>
One entry per portrayable feature, in dataset order.