Table of Contents

Interface IS100Feature

Namespace
EncDotNet.S100.Features
Assembly
EncDotNet.S100.Core.dll

Encoding-neutral shape shared by all S-100 feature instances, regardless of how they are encoded on disk.

public interface IS100Feature

Remarks

Implemented by per-spec GML feature classes (e.g. S124Feature, S421Feature) and by the generic vector-pipeline Feature used by the ISO 8211-encoded S-101 / S-57 path, so that generic pipeline components (FeatureGeometryProvider<TFeature>, shared FeatureXML builders, extent calculators) and the MCP query tools can operate over any S-100 product without encoding-specific coupling.

Properties

Attributes

Simple attributes keyed by code.

IReadOnlyDictionary<string, string> Attributes { get; }

Property Value

IReadOnlyDictionary<string, string>

ComplexAttributes

Complex (nested) attributes associated with the feature.

IReadOnlyList<IS100ComplexAttribute> ComplexAttributes { get; }

Property Value

IReadOnlyList<IS100ComplexAttribute>

Curves

Curve geometries as ordered coordinate sequences.

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

Property Value

IReadOnlyList<IReadOnlyList<GeoPosition>>

ExteriorRing

Surface exterior ring coordinates.

IReadOnlyList<GeoPosition> ExteriorRing { get; }

Property Value

IReadOnlyList<GeoPosition>

FeatureType

The feature type code (the GML element local name, or the S-101 acronym).

string FeatureType { get; }

Property Value

string

GeometryType

The geometry primitive type.

S100GeometryType GeometryType { get; }

Property Value

S100GeometryType

Id

The identifier of the feature (GML id, or decimal RCID for S-101).

string Id { get; }

Property Value

string

InteriorRings

Surface interior ring coordinates (holes).

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

Property Value

IReadOnlyList<IReadOnlyList<GeoPosition>>

Points

Point geometries (latitude, longitude pairs).

IReadOnlyList<GeoPosition> Points { get; }

Property Value

IReadOnlyList<GeoPosition>

Surfaces

The feature's surfaces, each with its own holes. A feature with several surfaces lists each; ExteriorRing and InteriorRings then hold them all joined, which is not a valid polygon, so area tests should use this instead. By default a single surface built from ExteriorRing and InteriorRings, or none when there is no exterior ring.

IReadOnlyList<SurfacePart> Surfaces { get; }

Property Value

IReadOnlyList<SurfacePart>