Table of Contents

Class S125AtonPortrayalProjection

Namespace
EncDotNet.S100.Datasets.S125
Assembly
EncDotNet.S100.Datasets.S125.dll

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 Topmark equipment features bound to their structure by the StructureEquipment association; S-101 carries them as the structure's topmark complex attribute. Each Topmark is lifted onto its parent structure (falling back to a co-located buoy or beacon when no association is encoded).
  • SyntheticAISAidToNavigation has no S-101 counterpart and is portrayed as PhysicalAISAidToNavigation (an AIS message broadcast for a physical aid).
  • Attribute renames: maximalPermittedDraught → maximumPermittedDraught; the orientation complex flattens to S-101's simple orientationValue where S-101 binds that; and the pre-1.0 draft spellings objectName / MMSICode map to featureName / 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

s125FeatureType string

The S-125 feature type code.

s101Catalogue FeatureCatalogue

The S-101 feature catalogue; only its non-abstract types are targets.

Returns

string

Project(S125Dataset, FeatureCatalogue)

Projects the portrayable features of dataset onto the S-101 model.

public static IReadOnlyList<S125ProjectedAton> Project(S125Dataset dataset, FeatureCatalogue s101Catalogue)

Parameters

dataset S125Dataset

The S-125 dataset.

s101Catalogue FeatureCatalogue

The S-101 feature catalogue (target types and attribute bindings).

Returns

IReadOnlyList<S125ProjectedAton>

One entry per portrayable feature, in dataset order.