Table of Contents

Class RemoteS100Catalogue

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

A remote S-100 exchange catalogue read into online items: one per dataset, with its coverage, edition, folder and download URL.

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

Constructors

RemoteS100Catalogue(Uri, Uri, DateTimeOffset?, IReadOnlyList<CollectionItem>, IReadOnlyList<IndexDiagnostic>)

A remote S-100 exchange catalogue read into online items: one per dataset, with its coverage, edition, folder and download URL.

public RemoteS100Catalogue(Uri CatalogUri, Uri RootUri, DateTimeOffset? IssuedAt, IReadOnlyList<CollectionItem> Items, IReadOnlyList<IndexDiagnostic> Diagnostics)

Parameters

CatalogUri Uri

Where the catalogue was read from.

RootUri Uri

The exchange set's root: the deepest folder holding both the catalogue's folder and every dataset (ending in /). Item folders are relative to it.

IssuedAt DateTimeOffset?

The catalogue's own date-time (identifier/dateTime), if it parses.

Items IReadOnlyList<CollectionItem>

Every dataset, in catalogue order, without sizes.

Diagnostics IReadOnlyList<IndexDiagnostic>

Problems met while reading; none are fatal.

Fields

FolderProperty

The item property holding the dataset's folder relative to RootUri (e.g. Northeast/Long_Island_Sound; empty at the root). It is also the item's group (GroupProperty).

public const string FolderProperty = "group"

Field Value

string

GridResolutionProperty

The item property holding the coverage's approximate grid resolution in metres (e.g. 4).

public const string GridResolutionProperty = "gridResolution"

Field Value

string

NavigationPurposeProperty

The item property holding the catalogue's navigationPurpose (e.g. port).

public const string NavigationPurposeProperty = "navigationPurpose"

Field Value

string

Properties

CatalogUri

Where the catalogue was read from.

public Uri CatalogUri { get; init; }

Property Value

Uri

Diagnostics

Problems met while reading; none are fatal.

public IReadOnlyList<IndexDiagnostic> Diagnostics { get; init; }

Property Value

IReadOnlyList<IndexDiagnostic>

IssuedAt

The catalogue's own date-time (identifier/dateTime), if it parses.

public DateTimeOffset? IssuedAt { get; init; }

Property Value

DateTimeOffset?

Items

Every dataset, in catalogue order, without sizes.

public IReadOnlyList<CollectionItem> Items { get; init; }

Property Value

IReadOnlyList<CollectionItem>

RootUri

The exchange set's root: the deepest folder holding both the catalogue's folder and every dataset (ending in /). Item folders are relative to it.

public Uri RootUri { get; init; }

Property Value

Uri

Methods

FolderName(string)

A folder's display name: its last segment with underscores as spaces ("Long Island Sound").

public static string FolderName(string folder)

Parameters

folder string

Returns

string

FolderOf(CollectionItem)

The folder of item, relative to the root.

public static string FolderOf(CollectionItem item)

Parameters

item CollectionItem

Returns

string

FolderUri(string)

The URL of a folder (relative to RootUri), ending in /.

public Uri FolderUri(string folder)

Parameters

folder string

Returns

Uri

TopFolder(string)

The first segment of a folder (the region, for NOAA's S-102), or empty at the root.

public static string TopFolder(string folder)

Parameters

folder string

Returns

string