Table of Contents

Interface IS131Feature

Namespace
EncDotNet.S100.Datasets.S131.DataModel
Assembly
EncDotNet.S100.Datasets.S131.dll

Common contract exposed by every typed S-131 feature (S131HarbourInfrastructure, S131LayoutFeature, S131MetadataFeature, S131OtherFeature). Allows callers to enumerate Features uniformly and dispatch on Family when the high-level classification matters.

public interface IS131Feature

Remarks

S-131 features span all three GML geometric primitives plus the geometry-less case (container features such as Authority are modelled as information types in this codebase, but a feature may still legitimately have no geometry — see FC §B.2). Consumers should consult GeometryType before indexing into the coordinate arrays.

Properties

ExtraAttributes

Source attributes that the typed model did not consume.

IReadOnlyDictionary<string, string> ExtraAttributes { get; }

Property Value

IReadOnlyDictionary<string, string>

Family

The high-level family the feature belongs to.

S131FeatureFamily Family { get; }

Property Value

S131FeatureFamily

FeatureType

The raw S-131 feature type code (e.g. "Bollard").

string FeatureType { get; }

Property Value

string

Geometry

The typed geometry payload (never null; check IsEmpty for geometry-less features).

S131Geometry Geometry { get; }

Property Value

S131Geometry

Id

The GML identifier of the source feature.

string Id { get; }

Property Value

string

ResolvedReferences

Cross-references from this feature to other objects in the dataset, resolved via xlink:href. References whose target did not resolve carry a null Target and an associated xlink.unresolved projection diagnostic.

IReadOnlyList<S131ResolvedReference> ResolvedReferences { get; }

Property Value

IReadOnlyList<S131ResolvedReference>

Source

The originating raw GML feature.

S131Feature Source { get; }

Property Value

S131Feature