Table of Contents

Class S100FeedDocument

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

An S-100 feed (issue #680): this library's own, simple JSON format for publishing datasets to other machines — served by s100 feed serve or exported as static files by s100 feed export, and read by the viewer's Library as an online source.

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

Remarks

Items have the shape of the Library index (CollectionItem), so a feed carries everything the publisher indexed — coverage polygons, bounds, editions, display scales — and a reader can show coverage before anything is downloaded. Each item's location is a RemoteItemLocation whose URL is relative to the feed (items/<id>.zip), whose Package is the item's opaque id, and whose Layout says where the item's files lie within that zip.

See docs/s100-feed-format.md.

Constructors

S100FeedDocument(string, int, string?, DateTimeOffset, string?, IReadOnlyList<CollectionItem>, string?)

An S-100 feed (issue #680): this library's own, simple JSON format for publishing datasets to other machines — served by s100 feed serve or exported as static files by s100 feed export, and read by the viewer's Library as an online source.

public S100FeedDocument(string Format, int Version, string? Title, DateTimeOffset GeneratedAt, string? Fingerprint, IReadOnlyList<CollectionItem> Items, string? Machine = null)

Parameters

Format string

Always FormatName.

Version int

The format version.

Title string

A title for the feed, e.g. the published folder's name.

GeneratedAt DateTimeOffset

When the feed was generated.

Fingerprint string

Changes whenever the published data changes (servers use it as the ETag).

Items IReadOnlyList<CollectionItem>

The published datasets.

Machine string

The publishing computer's name (s100 feed serve sets it), which a reader can use to name the feed; null when not given.

Remarks

Items have the shape of the Library index (CollectionItem), so a feed carries everything the publisher indexed — coverage polygons, bounds, editions, display scales — and a reader can show coverage before anything is downloaded. Each item's location is a RemoteItemLocation whose URL is relative to the feed (items/<id>.zip), whose Package is the item's opaque id, and whose Layout says where the item's files lie within that zip.

See docs/s100-feed-format.md.

Properties

Fingerprint

Changes whenever the published data changes (servers use it as the ETag).

public string? Fingerprint { get; init; }

Property Value

string

Format

Always FormatName.

public string Format { get; init; }

Property Value

string

GeneratedAt

When the feed was generated.

public DateTimeOffset GeneratedAt { get; init; }

Property Value

DateTimeOffset

Items

The published datasets.

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

Property Value

IReadOnlyList<CollectionItem>

Machine

The publishing computer's name (s100 feed serve sets it), which a reader can use to name the feed; null when not given.

public string? Machine { get; init; }

Property Value

string

Title

A title for the feed, e.g. the published folder's name.

public string? Title { get; init; }

Property Value

string

Version

The format version.

public int Version { get; init; }

Property Value

int