Class BundledDatasetProcessorFactory
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
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
pathstring
Returns
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
pathstringPath to the dataset file on the local file system.
declaredProductSpecstringThe caller-declared product specification (e.g.
"S-101"), ornull/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
pathstring
Returns
Dispose()
Releases the bundled catalogue managers and their caches.
public void Dispose()