Class S57AttributeOverride
Per-feature attribute override: changes the target S-101 attribute name and/or remaps individual enum values.
public sealed record S57AttributeOverride : IEquatable<S57AttributeOverride>
- Inheritance
-
S57AttributeOverride
- Implements
- Inherited Members
Properties
Drop
When true, the attribute is dropped entirely on features to which
this override applies, regardless of value. Used when a feature-class
redirect moves an S-57 attribute's owner to an S-101 class that does not
bind the attribute's default target — e.g. CATMOR is dropped when
MORFAC redirects to ShorelineConstruction, which has no
categoryOfDolphin. Takes precedence over all other members.
public bool Drop { get; init; }
Property Value
S101Code
Override S-101 attribute name. null means "keep the default
attribute mapping". Set to a non-null string to redirect the attribute
(e.g. CATCTR on a Landmark redirect maps to
category of landmark).
public string? S101Code { get; init; }
Property Value
S101CodeByValue
Per-source-value override of the target S-101 attribute name. When the
S-57 value matches a key, the redirect attribute name takes precedence
over both S101Code and the rule-level default. Used to
model conditional cross-attribute mapping such as
COALNE/CATCOA selectively redirecting to natureOfSurface
(IHO Conversion Guidance § 4.5.1).
public IReadOnlyDictionary<string, string> S101CodeByValue { get; init; }
Property Value
ValueRemap
Per-value remap. A key with a non-null value rewrites the S-57 value
to the given S-101 value. A key with a null value drops the
attribute entirely. Missing keys leave the value unchanged.
public IReadOnlyDictionary<string, string?> ValueRemap { get; init; }