Class S125Feature
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
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
ComplexAttributes
Complex attribute groups, each containing sub-attribute values.
public required IReadOnlyList<IS100ComplexAttribute> ComplexAttributes { get; init; }
Property Value
Curves
Curve geometries as ordered coordinate sequences.
public IReadOnlyList<IReadOnlyList<GeoPosition>> Curves { get; init; }
Property Value
ExteriorRing
Surface exterior ring coordinates.
public IReadOnlyList<GeoPosition> ExteriorRing { get; init; }
Property Value
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
FeatureType
The feature type code (PascalCase, e.g. "LateralBuoy").
public required string FeatureType { get; init; }
Property Value
GeometryType
The geometry primitive type.
public S100GeometryType GeometryType { get; init; }
Property Value
Id
The GML identifier of the feature.
public required string Id { get; init; }
Property Value
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
InteriorRings
Surface interior ring coordinates (holes).
public IReadOnlyList<IReadOnlyList<GeoPosition>> InteriorRings { get; init; }
Property Value
Points
Point geometries (latitude, longitude pairs).
public IReadOnlyList<GeoPosition> Points { get; init; }