Class S122DatasetProcessor
IDatasetProcessor for IHO S-122 Marine Protected Areas GML datasets. Drives the standard S-100 Part 9 XSLT vector portrayal pipeline inherited from GmlDatasetProcessorBase<TFeature>.
public sealed class S122DatasetProcessor : GmlDatasetProcessorBase<S122Feature>, IDatasetProcessor, IVectorPortrayalSource, IHeadlessImageRenderer, IDisplayModeAwareDatasetProcessor, ILoadedDatasetProjection
- Inheritance
-
S122DatasetProcessor
- Implements
- Inherited Members
Remarks
Normally created through the S122 registration (used by DatasetPipelineFactory) rather than constructed directly.
Constructors
S122DatasetProcessor(IAssetSource, string, PortrayalCatalogueManager, IDisplayPlaneAuthorityProvider, FeatureCatalogueManager?)
Initializes a new S122DatasetProcessor by reading the
dataset file relativePath from
source (e.g. FileSystemAssetSource or
ZipAssetSource). Used by exchange-set bulk loading.
public S122DatasetProcessor(IAssetSource source, string relativePath, PortrayalCatalogueManager catalogueManager, IDisplayPlaneAuthorityProvider authorityProvider, FeatureCatalogueManager? featureCatalogueManager = null)
Parameters
sourceIAssetSourcerelativePathstringcatalogueManagerPortrayalCatalogueManagerauthorityProviderIDisplayPlaneAuthorityProviderfeatureCatalogueManagerFeatureCatalogueManager
S122DatasetProcessor(string, PortrayalCatalogueManager, IDisplayPlaneAuthorityProvider, FeatureCatalogueManager?)
Initializes a new S122DatasetProcessor by reading and parsing the
dataset file at path. The file is read in full and
closed before the constructor returns.
public S122DatasetProcessor(string path, PortrayalCatalogueManager catalogueManager, IDisplayPlaneAuthorityProvider authorityProvider, FeatureCatalogueManager? featureCatalogueManager = null)
Parameters
pathstringPath to the S-122 GML dataset file.
catalogueManagerPortrayalCatalogueManagerSupplies the S-122 portrayal catalogue.
authorityProviderIDisplayPlaneAuthorityProviderResolves the default S-98 display plane for the dataset's content.
featureCatalogueManagerFeatureCatalogueManagerOptional source of the S-122 feature catalogue, used to decode attribute values in feature info; null leaves them undecoded.
Properties
Features
The parsed features from the dataset.
protected override IReadOnlyList<S122Feature> Features { get; }
Property Value
ProductDescription
Human-readable product description for info strings (e.g. "Navigational Warnings", "Marine Aids to Navigation").
protected override string ProductDescription { get; }
Property Value
Methods
CreateFeatureXmlSource()
Creates the spec-appropriate feature XML source.
protected override IFeatureXmlSource CreateFeatureXmlSource()
Returns
CreateLoadedData()
Allocates the LoadedDatasetData variant wrapping this processor's already-parsed model. Never re-reads the source bytes.
public override LoadedDatasetData CreateLoadedData()
Returns
- LoadedDatasetData
The catalog payload wrapping the resident model (e.g. an
S125DatasetDataorS102CoverageData).
Remarks
Each GML subclass wraps its resident, already-parsed model in the
matching LoadedDatasetData variant (e.g.
new S125DatasetData(_dataset)) — no second parse.
ValidateDataset()
Runs the product's rule pack, or returns null when the product
has none. Called once by Validate(), which caches the
result.
protected override ValidationReport? ValidateDataset()
Returns
Remarks
Overrides should typically delegate to
ValidationRunner.Run(...) so that an
InvalidOperationException from the typed
projection (e.g. an empty dataset) surfaces as an empty report rather
than propagating out of Validate().