Table of Contents

Namespace EncDotNet.S100.Features

Classes

AttributeBinding

Binds a SimpleAttribute or ComplexAttribute to a FeatureType or InformationType, with the multiplicity and value restrictions that apply to it on that type. Parsed from an S100FC:attributeBinding element.

ComplexAttribute

A complex attribute from the Feature Catalogue: a named group of simple and/or complex sub-attributes, each bound through a SubAttributeBinding. Parsed from S100_FC_ComplexAttributes/S100_FC_ComplexAttribute; bound to types like any other attribute via AttributeBinding.

FeatureAssociation

A feature association: a named relationship between two feature types, parsed from S100_FC_FeatureAssociations/S100_FC_FeatureAssociation. Types take part in it through a FeatureBinding, which names the association, one of its Roles and the target type(s). See also InformationAssociation.

FeatureBinding

Declares that a FeatureType may be linked, through a FeatureAssociation and one of its Roles, to one or more feature types. Parsed from an S100FC:featureBinding element.

FeatureCatalogue

An S-100 Part 5 Feature Catalogue: the root of the model produced by FeatureCatalogueReader. It carries the catalogue's identity and producer plus every FeatureType, InformationType, attribute, Role and association the product specification defines. Wrap it in a FeatureCatalogueDecoder for code-to-name lookups.

FeatureCatalogueDecoder

Provides human-readable resolution of S-100 Feature Catalogue codes: attribute codes → names, listed-value (enumeration) codes → labels, and feature-type codes → names.

FeatureCatalogueManager

Caches parsed FeatureCatalogue and FeatureCatalogueDecoder instances by product specification reference, so that the (relatively expensive) XML parse happens at most once per spec per manager lifetime.

FeatureCatalogueReader

Parses S-100 Part 5 Feature Catalogue XML into a FeatureCatalogue. The S100FC, S100Base and S100CI namespace URIs are taken from the root element's declarations, so versioned namespaces (e.g. http://www.iho.int/S100FC/5.2) are accepted. Each parse emits an s100.featurecatalogue.parse tracing activity.

FeatureType

A feature type from the Feature Catalogue: a class of real-world phenomenon (e.g. a depth area or a light) whose instances are normally located by geometry (see PermittedPrimitives), parsed from S100_FC_FeatureTypes/S100_FC_FeatureType. It binds attributes via AttributeBindings and relates to other types via FeatureBindings and InformationBindings. Compare InformationType, which has no geometry.

GmlCoordinateParser

Shared GML coordinate parsing utilities for S-100 Part 10b encoded datasets.

GmlDatasetIdentification

Helpers for reading the declared product-specification edition from the DatasetIdentificationInformation block of an S-100 GML dataset.

GmlNamespaces

Common GML and S-100 GML namespace constants used across all GML-encoded product specifications.

GmlReference

An xlink-style cross-reference from one GML-encoded S-100 object to another, as parsed from xlink:href / xlink:arcrole attributes on association elements. Shared across all GML-encoded product datasets (S-421, S-124, and later S-125 / S-201 / S-128 / S-129 / S-131 …).

InformationAssociation

An information association: a named relationship between a feature or information type and an information type, parsed from S100_FC_InformationAssociations/S100_FC_InformationAssociation. Types take part in it through a InformationBinding, which names the association, one of its Roles and the target type(s). See also FeatureAssociation.

InformationBinding

Declares that a FeatureType or InformationType may be linked, through an InformationAssociation and one of its Roles, to one or more information types. Parsed from an S100FC:informationBinding element.

InformationType

An information type from the Feature Catalogue: a class of non-spatial information (e.g. contact details or a nautical publication reference) that features and other information types reference through InformationBindings. Parsed from S100_FC_InformationTypes/S100_FC_InformationType; compare FeatureType.

ListedValue

One enumerant of an enumerated SimpleAttribute, parsed from listedValues/listedValue. Dataset values carry the numeric Code; FeatureCatalogueDecoder maps it back to Label or Definition.

Multiplicity

The permitted number of occurrences of a bound attribute, feature or information type, parsed from a binding's multiplicity element (S100Base:lower / S100Base:upper). Used by AttributeBinding, SubAttributeBinding, FeatureBinding and InformationBinding.

Producer

The organisation responsible for a FeatureCatalogue, parsed from its S100FC:producer element (an S100CI responsible-party structure). Every member is null when the corresponding element is absent.

Role

A named end of a FeatureAssociation or InformationAssociation, parsed from S100_FC_Roles/S100_FC_Role. Associations list their roles by code in RoleRefs, and bindings select one via RoleRef / RoleRef.

SimpleAttribute

A simple (scalar) attribute from the Feature Catalogue, parsed from S100_FC_SimpleAttributes/S100_FC_SimpleAttribute. Types bind it through an AttributeBinding, and a ComplexAttribute through a SubAttributeBinding; enumerated attributes carry ListedValues.

SubAttributeBinding

Binds a member attribute into a ComplexAttribute, with the multiplicity that applies to it there. Parsed from an S100FC:subAttributeBinding element; the counterpart of AttributeBinding for complex-attribute members.

SurfacePart

One surface of a feature: an exterior ring and the interior rings (holes) that belong to it.

UnitOfMeasure

Unit of measure for a simple attribute whose value type is numeric, parsed from the Feature Catalogue's <S100FC:uom> element (S-100 Part 5 / ISO 19103). For example, depth-valued S-101 attributes such as depthRangeMinimumValue carry a uom of Name = "metre", Symbol = "m".

Interfaces

IS100ComplexAttribute

Encoding-neutral shape shared by all S-100 complex (nested) attribute instances.

IS100Feature

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

IS100InformationType

Encoding-neutral shape shared by all S-100 information type instances.

Enums

GmlAxisOrder

The ordinate order GmlCoordinateParser reads EPSG:4326 positions in.

S100GeometryType

The geometry primitive associated with an S-100 feature.