Table of Contents

Class CollectionItem

Namespace
EncDotNet.S100.Collections
Assembly
EncDotNet.S100.Collections.dll

One dataset described by a collection source: its identification, currency, scale and coverage metadata, and where its data lives. Indexing produces items without loading the datasets.

public sealed record CollectionItem : IEquatable<CollectionItem>
Inheritance
CollectionItem
Implements
Inherited Members

Properties

Bounds

The item's geographic bounds, or null when the source could not supply them cheaply (the item is then listed but not drawn).

public GeoBounds? Bounds { get; init; }

Property Value

GeoBounds?

CompilationScale

The compilation scale denominator (S-57 CSCL), if known.

public int? CompilationScale { get; init; }

Property Value

int?

Coverage

The item's coverage polygons, or null when only Bounds are known.

public GeoCoverage? Coverage { get; init; }

Property Value

GeoCoverage

Edition

The edition number.

public int? Edition { get; init; }

Property Value

int?

GroupKey

Identifies the exchange set this item belongs to within its source, or null for a loose dataset. Items with the same group key share a RootPath and catalogue.

public string? GroupKey { get; init; }

Property Value

string

IssueDate

The issue date of the latest file in the dataset (base edition or its latest update).

public DateOnly? IssueDate { get; init; }

Property Value

DateOnly?

Key

The item's identifier, stable within its source (an S-57 cell name, an exchange-set-relative dataset path, a loose file's source-relative path, or an S-128 product number).

public required string Key { get; init; }

Property Value

string

Location

Where the item's data lives.

public required ItemLocation Location { get; init; }

Property Value

ItemLocation

MaximumDisplayScale

The finest scale denominator at which the dataset is intended to display.

public int? MaximumDisplayScale { get; init; }

Property Value

int?

MinimumDisplayScale

The coarsest scale denominator at which the dataset is intended to display.

public int? MinimumDisplayScale { get; init; }

Property Value

int?

Name

The dataset name (e.g. "US5AK1AM"), usually the file stem.

public required string Name { get; init; }

Property Value

string

ProductSpec

The product specification in canonical short form ("S-57", "S-101", "S-102", …), or "Unknown".

public required string ProductSpec { get; init; }

Property Value

string

ProductSpecVersion

The product specification edition, if known (e.g. "2.0.0").

public string? ProductSpecVersion { get; init; }

Property Value

string

Properties

Source-specific facts that have no dedicated property (producing agency, classification, protection, …), for generic display.

public IReadOnlyDictionary<string, string> Properties { get; init; }

Property Value

IReadOnlyDictionary<string, string>

Status

The item's currency status as declared by the source.

public CollectionItemStatus Status { get; init; }

Property Value

CollectionItemStatus

Title

A human-readable title, when the source supplies one.

public string? Title { get; init; }

Property Value

string

Update

The number of the latest update applied to (or available for) this edition.

public int? Update { get; init; }

Property Value

int?

UpdateApplicationDate

The update application date of the edition, when the source declares one.

public DateOnly? UpdateApplicationDate { get; init; }

Property Value

DateOnly?

UsageBand

The ENC usage band 1–6 (from the S-57 cell name), if applicable.

public int? UsageBand { get; init; }

Property Value

int?