Table of Contents

Class S125Feature

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

A geographic feature parsed from an S-125 GML dataset. Concrete feature classes include AtoN structures (Landmark, CardinalBuoy, LateralBeacon, …), aggregations (AtonAggregation, AtonAssociation), and dataset metadata features such as DataCoverage. See the S-125 Edition 1.0.0 Feature Catalogue for the full set.

public sealed class S125Feature : IS100Feature
Inheritance
S125Feature
Implements
Inherited Members

Properties

AttributeTree

The feature's thematic attributes as an ordered, lossless tree: repeated simple attributes (e.g. the three colour values of a red-green-red buoy) appear once per occurrence in document order, and complex attributes keep their nested sub-structure (e.g. sectorCharacteristics/lightSector/sectorLimit/sectorLimitOne).

public IReadOnlyList<S125AttributeNode> AttributeTree { get; init; }

Property Value

IReadOnlyList<S125AttributeNode>

Remarks

Attributes and ComplexAttributes are flat, last-value-wins views kept for the XSLT projection and pick reports; the tree is what the S-101-based AtoN portrayal reads (S-100 Part 9A attribute paths such as sectorCharacteristics:1;lightSector:2).

Attributes

Simple attributes keyed by code.

public required IReadOnlyDictionary<string, string> Attributes { get; init; }

Property Value

IReadOnlyDictionary<string, string>

ComplexAttributes

Complex attribute groups, each containing sub-attribute values.

public required IReadOnlyList<IS100ComplexAttribute> ComplexAttributes { get; init; }

Property Value

IReadOnlyList<IS100ComplexAttribute>

Curves

Curve geometries as ordered coordinate sequences.

public IReadOnlyList<IReadOnlyList<GeoPosition>> Curves { get; init; }

Property Value

IReadOnlyList<IReadOnlyList<GeoPosition>>

ExteriorRing

Surface exterior ring coordinates.

public IReadOnlyList<GeoPosition> ExteriorRing { get; init; }

Property Value

IReadOnlyList<GeoPosition>

FeatureReferences

Feature-to-feature association references (e.g. the parent role of the StructureEquipment association binding a light to its host beacon, or the peerAtonAggregation role on AtonAggregation). Each entry preserves the original role name and the raw xlink:href value so the strongly-typed projection (S-125 Edition 1.0.0 §AtonStatusIndicationAssociation, §StructureEquipment, §AtonAggregations, §AtonAssociations, §PhysicalAIS, §SyntheticAIS, §VirtualAIS, §DangerousFeatureAssociation, §RangeSystem) can resolve them at projection time.

public IReadOnlyList<S125FeatureReference> FeatureReferences { get; init; }

Property Value

IReadOnlyList<S125FeatureReference>

FeatureType

The feature type code (PascalCase, e.g. "LateralBuoy").

public required string FeatureType { get; init; }

Property Value

string

GeometryType

The geometry primitive type.

public S100GeometryType GeometryType { get; init; }

Property Value

S100GeometryType

Id

The GML identifier of the feature.

public required string Id { get; init; }

Property Value

string

InformationReferences

Information-type association references (e.g. AtoNStatus bindings to S125InformationType instances). Preserved so XSLT portrayal rules can resolve cross-references.

public required IReadOnlyList<S125InformationReference> InformationReferences { get; init; }

Property Value

IReadOnlyList<S125InformationReference>

InteriorRings

Surface interior ring coordinates (holes).

public IReadOnlyList<IReadOnlyList<GeoPosition>> InteriorRings { get; init; }

Property Value

IReadOnlyList<IReadOnlyList<GeoPosition>>

Points

Point geometries (latitude, longitude pairs).

public IReadOnlyList<GeoPosition> Points { get; init; }

Property Value

IReadOnlyList<GeoPosition>