Namespace EncDotNet.S100.Datasets.S57
Classes
- ResolvedAttribute
Result of resolving an S-57 attribute in the context of a ResolvedFeature: the chosen S-101 attribute name and the (possibly remapped) value.
- ResolvedFeature
Result of resolving an S-57 feature against the mapping rules: the chosen S-101 Feature Catalogue code and the effective attribute overrides to apply when translating attributes for that feature.
- S101AllowedEnumValues
Lookup of allowable enumerate values per S-101 simple attribute, derived from the bundled S-101 Feature Catalogue.
- S101FeatureAttributeBindings
Lookup of which S-101 feature classes directly bind a given (complex or simple) attribute, derived from the attribute bindings declared on each feature type in the bundled S-101 Feature Catalogue.
- S101ToS57AttributeRule
How an S-101 simple attribute converts to an S-57 attribute in S101ToS57Translator.
- S101ToS57ClauseCoverage
How S101ToS57Translator covers one S-65 Annex C clause.
- S101ToS57Coverage
The coverage of S-65 Annex C §3–§30 by S101ToS57Translator and Default: every feature type, information type and attribute clause, with the rule that converts it or the reason it is dropped.
- S101ToS57FeatureRedirect
A condition under which an S-101 feature converts to another S-57 object class (see Redirects), or creates a further object (see Companions).
- S101ToS57FeatureRule
How an S-101 feature class converts to an S-57 object class in S101ToS57Translator.
- S101ToS57Rules
The rule tables for S101ToS57Translator: S-101 feature classes and attributes to S-57 object classes and attributes, following S-65 Annex C (S-101 to S-57 ENC Conversion Guidance, Ed 1.0.0).
- S101ToS57TranslationDiagnostics
Optional diagnostics for Translate(S101Document, S101ToS57TranslationDiagnostics?): aggregate counts of what the translation read, wrote, dropped, folded and truncated, with the S-65 Annex C clause where a rule caused it. It mirrors S57TranslationDiagnostics for the forward direction.
- S101ToS57TranslationOptions
The choices S-65 Annex C leaves to the converter, for S101ToS57Translator.
- S101ToS57Translator
Translates an S101Document into an in-memory S-57 S57Document, following S-65 Annex C (S-101 to S-57 ENC Conversion Guidance, Ed 1.0.0, May 2025). This is a preview: it covers Annex C §2–§30 (see S101ToS57Coverage), but not yet the attributes of spatial records.
- S57AttributeOverride
Per-feature attribute override: changes the target S-101 attribute name and/or remaps individual enum values.
- S57AttributeRule
Rule describing how an S-57 attribute (ATTL) maps to an S-101 Feature Catalogue attribute.
- S57Dataset
Thin wrapper over S57Document from the upstream
EncDotNet.S57package. Provides the IsS57File(string) discriminator used byDatasetPipelineFactoryto disambiguate.000files between S-57 and S-101 (which share the extension and ISO 8211 envelope).
- S57DatasetHeader
The identification facts of an S-57 dataset file (a base cell
….000or a sequential update….001, …), read from its leadingDSID/DSPMrecords without parsing the rest of the file.
- S57ExchangeSetCatalog
Enumerates the renderable base cells of an S-57 / S-63 exchange set by reading its
CATALOG.031via the upstreamEncDotNet.S57catalogue reader and grouping the catalogued files into base-cell + update sets.
- S57ExchangeSetCell
One base cell discovered in an S-57 / S-63 exchange-set catalogue (
CATALOG.031), together with its in-set sequential update files and (optionally) its geographic extent.
- S57ExchangeSetVerification
Adapts the upstream
EncDotNet.S57exchange-set verifier (S-57 / S-63CATALOG.031CRC + digital-signature checks) onto this repository's S-100 ExchangeSetVerificationResult model, so S-57 exchange sets are integrity-verified and surfaced exactly like S-100 ones.
- S57FeatureRedirect
Conditional redirect on an S57FeatureRule: when the redirect's conditions are all satisfied, the feature is mapped to TargetS101Code instead of the rule's default S-101 code. A redirect may test an S-57 attribute (via ConditionAttribute), the feature's geometric primitive (via ConditionPrimitives), or both; when both are present they are combined with logical AND. At least one condition must be specified.
- S57FeatureRule
Rule describing how an S-57 feature class (object class, OBJL) maps to one or more S-101 feature classes.
- S57ProductSpecification
Codes an S-57 dataset declares in the product specification (
PRSP) subfield of its Data Set Identification (DSID) field, which names the product specification the exchange was produced under (S-57 Edition 3.1, Part 1 §1.4.1 and Part 3 §7.3.1.1).
- S57S101Mapping
Mapping from the S-57 (Edition 3.1) Object Catalogue to the S-101 Feature Catalogue. Encodes feature-class and attribute mappings, plus richer rule types used by the S-57 to S-101 conversion: cross-class redirects, per-feature attribute overrides, and per-value enum remaps.
- S57S101Mapping.Builder
Builder for composing custom mapping tables.
- S57ToS101Translator
Translates a parsed S-57 S57Document (from the
EncDotNet.S57NuGet package) into the S-101 in-memory document model so that the existing S-101 portrayal pipeline can drive rendering of S-57 ENC data.
- S57TopologyCheck
Checks the chain-node topology of an S-57 dataset as S101ToS57Translator builds it: every edge ends at connected nodes, every area closes, the skin of the earth (Group 1) covers the coverage without gaps or overlaps, and
M_COVRtiles its bounding box (S-57 Appendix B.1 §3.5, S-65 Annex C §2.5.1.1 and §3.5).
- S57TopologyIssue
A topology problem S57TopologyCheck found in an S-57 dataset.
- S57TranslationDiagnostics
Optional, opt-in diagnostics collector for Translate(S57Document, S57TranslationDiagnostics?). It records — as compact aggregate counters rather than per-instance events — exactly what the translator dropped and why, so a caller (e.g. a corpus-wide conversion audit) can quantify coverage gaps in the embedded S57S101Mapping without re-deriving the translator's logic externally.
- S57TranslationTarget
The S-100 product an S-57 dataset is translated into by S57ToS101Translator: whose bundled Feature Catalogue the translation checks enumerate values and complex-attribute bindings against, and which product specification the translated document declares.
- S57UnknownObject
The feature an S-57 object becomes when its object class has no rule in the S57S101Mapping: the translator keeps it, with its geometry, as an FeatureTypeCode feature instead of dropping it.
- S57UpdateApplicator
Applies S-57 sequential updates to a base cell, checking each update's DSID against the cell's first (S-57 Part 3, sequential updating; tested by S-64 §2.2).
- S57UpdateReport
What happened when S-57 updates were applied to a cell. Application is best-effort: the updates up to the first problem are applied, and the problem is recorded here rather than stopping the cell from loading.
Structs
- S101AttributeDrop
An S-101 attribute dropped by an S-65 Annex C rule.
- S101FeatureDrop
An S-101 feature class dropped by an S-65 Annex C rule.
- S101UnmappedAttribute
An S-101 attribute with no conversion rule on a feature class.
- S57AttributeDrop
Identifies a specific S-57 attribute drop, distinguishing the owning S-57 object class from the attribute code so a corpus-wide audit can tell whether an unmapped attribute matters (a critical attribute on a common feature) or is incidental (an attribute the S-101 destination class never carries).
- S57AttributeNulled
A mandatory S-57 attribute written empty because the S-101 source had no value.
- S57EnumValueDrop
Identifies an S-101 enumerated value that was dropped during translation because the destination S-101 Feature Catalogue does not list it as an allowable code for the target attribute (see S101AllowedEnumValues).
- S57StructureEquipmentPair
Identifies an S-57 master/slave pair the translator couldn't convert to a
StructureEquipmentassociation, because the destination Feature Catalogue doesn't let the structure's class carry the equipment's class.
- S57UpdateMessage
A message produced while applying S-57 updates.
Enums
- S101InformLengthPolicy
What S101ToS57Translator does with an
INFORMorNINFOMlonger than MaxInformLength.
- S101NameWithoutUsage
What S101ToS57Translator does with a
featureNamewhosenameUsageis not populated.
- S101ToS57PrimitiveChange
How S101ToS57Translator changes a feature's geometric primitive where S-57 doesn't allow the S-101 one (Annex C Table 2-1).
- S57GeometryPrimitive
S-57 geometric primitive of a feature instance, used to drive geometry-conditional feature-class redirects (S-57 Appendix B.1 §3.2: point / line / area). The numeric values match the S-57 spatial primitive codes (1 = point, 2 = line/curve, 3 = area/surface).
- S57UpdateSeverity
Severity of a message produced while applying S-57 updates.