Class S101Document
Parsed S-101 dataset document built directly from ISO 8211 records.
public sealed class S101Document
- Inheritance
-
S101Document
- Inherited Members
Remarks
This type is the in-memory representation consumed by S101LuaDataProvider and S101VectorSource. It is public so that adapters for other product specifications (for example, S-57) can construct an equivalent graph in memory and reuse the S-101 portrayal pipeline.
Properties
AttributeTypeCatalogue
Maps numeric attribute codes to their feature catalogue acronyms.
public required IReadOnlyDictionary<ushort, string> AttributeTypeCatalogue { get; init; }
Property Value
CompositeCurves
Composite curve records keyed by record id (RCNM = 125).
public required IReadOnlyDictionary<uint, S101CompositeCurveRecord> CompositeCurves { get; init; }
Property Value
CurveSegments
Curve segment records keyed by record id (RCNM = 120).
public required IReadOnlyDictionary<uint, S101CurveSegmentRecord> CurveSegments { get; init; }
Property Value
FeatureAssociationCatalogue
Maps numeric feature association codes to their feature catalogue acronyms.
public required IReadOnlyDictionary<ushort, string> FeatureAssociationCatalogue { get; init; }
Property Value
FeatureTypeCatalogue
Maps numeric feature type codes to their feature catalogue acronyms (e.g. DepthArea).
public required IReadOnlyDictionary<ushort, string> FeatureTypeCatalogue { get; init; }
Property Value
Features
Feature records in dataset order.
public required IReadOnlyList<S101FeatureRecord> Features { get; init; }
Property Value
Identification
Dataset identification (DSID record).
public required S101DatasetIdentification Identification { get; init; }
Property Value
InformationAssociationCatalogue
Maps numeric information association codes to their feature catalogue acronyms.
public required IReadOnlyDictionary<ushort, string> InformationAssociationCatalogue { get; init; }
Property Value
InformationTypeCatalogue
Maps numeric information type codes to their feature catalogue acronyms.
public required IReadOnlyDictionary<ushort, string> InformationTypeCatalogue { get; init; }
Property Value
InformationTypes
Information type records keyed by record id.
public required IReadOnlyDictionary<uint, S101InformationRecord> InformationTypes { get; init; }
Property Value
MultiPoints
Multi-point spatial records keyed by record id (RCNM = 115). Used by features
such as Sounding whose portrayal expects a single feature with many
3D points.
public IReadOnlyDictionary<uint, S101MultiPointRecord> MultiPoints { get; init; }
Property Value
Points
Point spatial records keyed by record id (RCNM = 110).
public required IReadOnlyDictionary<uint, S101PointRecord> Points { get; init; }
Property Value
RoleCatalogue
Maps numeric role codes to their feature catalogue acronyms.
public required IReadOnlyDictionary<ushort, string> RoleCatalogue { get; init; }
Property Value
StructureInfo
Dataset structure information (DSSI record), including coordinate scale factors.
public required S101DatasetStructureInfo StructureInfo { get; init; }
Property Value
Surfaces
Surface records keyed by record id (RCNM = 130).
public required IReadOnlyDictionary<uint, S101SurfaceRecord> Surfaces { get; init; }
Property Value
Methods
ApplyChanges(S101Document)
Applies a single sequential update document onto this document and returns a new, merged S101Document (this instance is not mutated).
public S101Document ApplyChanges(S101Document update)
Parameters
updateS101DocumentAn update dataset (application profile
2) parsed into the same S101Document shape. Record-levelRUINand the inlined per-element instructions (SAUI/FAUI/IUIN/ATIN) drive insert / delete / modify per S-100 Part 10a.
Returns
- S101Document
A new document reflecting the applied changes.
Remarks
Mirrors EncDotNet.S57.S57Document.ApplyChanges: there is no separate
update document type, and merging is a pure document-to-document operation.
This single-step merge does not validate edition or update preconditions; use
Apply(S101Document, IReadOnlyList<S101Document>, out S101UpdateReport)
for sequenced, best-effort application with a report.