Table of Contents

Class BundledDatasetProcessorFactory

Namespace
EncDotNet.S100
Assembly
EncDotNet.S100.dll

A ready-to-use IDatasetProcessorFactory seeded with the official S-100 feature and portrayal catalogues bundled in EncDotNet.S100.Specifications and supporting every built-in product.

public sealed class BundledDatasetProcessorFactory : IDatasetProcessorFactory, IDisposable
Inheritance
BundledDatasetProcessorFactory
Implements
Inherited Members

Remarks

Hand it to S100MapsuiOptions.DatasetPipelineFactory (or any other IDatasetProcessorFactory consumer) so a host can load datasets from a path without hand-wiring the portrayal / feature catalogue managers, the Lua engine, the CRS transform factory, and the product registry. This is the one-call replacement for the multi-step bootstrap a host would otherwise copy from the viewer or CLI.

The factory owns long-lived catalogue managers whose parse caches survive for its lifetime; Dispose() releases them, so keep one instance alive for as long as datasets are loaded and dispose it with (or before) the owning session.

Methods

Create()

Creates a factory seeded with the bundled official catalogues for every available product specification.

public static BundledDatasetProcessorFactory Create()

Returns

BundledDatasetProcessorFactory

CreateProcessor(string)

Creates a processor for the dataset file at path, detecting the product specification from the file. Throws NotSupportedException when the file is unrecognized or no processor is registered for its product.

public IDatasetProcessor CreateProcessor(string path)

Parameters

path string

Returns

IDatasetProcessor

CreateProcessor(string, string?)

Creates a processor for the file at path, honouring an optional caller-declared product specification (declaredProductSpec) — e.g. a --spec hint or an exchange-set catalogue spec — instead of re-detecting it from the file. When the declared spec is null, blank, or unrecognised, detection from the file is used, identical to CreateProcessor(string). Lets a host load a dataset whose product cannot be sniffed from its bytes but is known from an out-of-band source.

public IDatasetProcessor CreateProcessor(string path, string? declaredProductSpec)

Parameters

path string

Path to the dataset file on the local file system.

declaredProductSpec string

The caller-declared product specification (e.g. "S-101"), or null/blank to detect the product from the file instead.

Returns

IDatasetProcessor

The dataset processor for the file.

CreateProcessorWithFilesystemUpdates(string)

Creates a processor for the base cell file at path, discovering and applying any sibling sequential update files that live in the same directory (S-57 / S-101 Part 10a). Products that never carry .000 sequential updates, or a base cell with no updates on disk, behave identically to CreateProcessor(string).

public IDatasetProcessor CreateProcessorWithFilesystemUpdates(string path)

Parameters

path string

Returns

IDatasetProcessor

Dispose()

Releases the bundled catalogue managers and their caches.

public void Dispose()