EncDotNet.S100.Features
0.25.0
See the version list below for details.
dotnet add package EncDotNet.S100.Features --version 0.25.0
NuGet\Install-Package EncDotNet.S100.Features -Version 0.25.0
<PackageReference Include="EncDotNet.S100.Features" Version="0.25.0" />
<PackageVersion Include="EncDotNet.S100.Features" Version="0.25.0" />
<PackageReference Include="EncDotNet.S100.Features" />
paket add EncDotNet.S100.Features --version 0.25.0
#r "nuget: EncDotNet.S100.Features, 0.25.0"
#:package EncDotNet.S100.Features@0.25.0
#addin nuget:?package=EncDotNet.S100.Features&version=0.25.0
#tool nuget:?package=EncDotNet.S100.Features&version=0.25.0
EncDotNet.S100.Features
EncDotNet.S100.Features parses S-100 feature catalogue XML (ISO 19110,
S-100 Part 5) into a model of feature types, information types, attributes,
roles and associations. Reference it when you need to read a feature catalogue
directly, for example to look up attribute names or enumerated values. The
EncDotNet.S100 facade uses it for you through
S100FeatureCatalogue.
Install
dotnet add package EncDotNet.S100.Features
Example: read a catalogue and decode codes
using EncDotNet.S100.Features;
FeatureCatalogue catalogue = FeatureCatalogueReader.Read("path/to/feature_catalogue.xml");
Console.WriteLine($"{catalogue.Name} {catalogue.VersionNumber}: {catalogue.FeatureTypes.Count} feature types");
var decoder = new FeatureCatalogueDecoder(catalogue);
Console.WriteLine(decoder.ResolveFeatureTypeName("DepthArea"));
Main entry points
FeatureCatalogueReaderreads a feature catalogue from a stream or a file path and returns aFeatureCatalogue.FeatureCatalogueis the parsed model. It lists feature types, information types, simple and complex attributes, roles, and feature and information associations.FeatureTypeandInformationTypedefine the types.AttributeBinding,FeatureBindingandInformationBindingare the attributes, feature associations and information associations a type binds. A feature or information binding can allow several target types:FeatureTypeRefsandInformationTypeRefslist them all, andFeatureTypeRefandInformationTypeRefgive the first.SimpleAttribute,ComplexAttributeandListedValuedefine attributes and enumerated values. A numericSimpleAttributealso has aUom, aUnitOfMeasurewith a name and symbol parsed from<S100FC:uom>. For example,depthRangeMinimumValueresolves tometre/m, so you can label values with their unit from the catalogue instead of guessing it.FeatureAssociation,InformationAssociationandRoledescribe relationships between features.FeatureCatalogueDecoderlooks up names in a parsed catalogue in constant time:ResolveAttributeName,ResolveFeatureTypeName,ResolveInformationTypeNameandIsEnumeratedAttribute.- For enumerated simple attributes,
ResolveListedValuereturns the value's label andResolveListedValueDefinitionreturns its definition, such as"Grey Ice"for an S-411 stage-of-development code. Both take the attribute code and the raw value, and returnnullfor an attribute that isn't enumerated or a value that isn't listed.
FeatureCatalogueManagerresolves, parses and caches oneFeatureCatalogueper product specification.- It reads catalogues through a stream resolver you supply.
SetSourceregisters anIAssetSourceas a bundled fallback for a product, and clears that product's cached catalogue, decoder and content hash. GetCatalogueHashAsync(spec)(fromICatalogueProvider<T>) returns the lowercase hexadecimal SHA-256 of the catalogue XML that the resolver returns. Because it hashes the resolved bytes, it reflects any command-line or settings override. That makes it a safer cache-invalidation key than the declared version, which an override can leave unchanged. The hash is computed once per product, when first requested. A failure (null) isn't cached, so the next call tries again.
- It reads catalogues through a stream resolver you supply.
See also
- Custom catalogues and validation: use your own feature catalogue with the facade.
- Typed data models: typed views over feature attributes.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- EncDotNet.S100.Core (>= 0.25.0)
-
net8.0
- EncDotNet.S100.Core (>= 0.25.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on EncDotNet.S100.Features:
| Package | Downloads |
|---|---|
|
EncDotNet.S100.Datasets.S101
Libraries for manipulating S-100 based nautical charts. |
|
|
EncDotNet.S100.Datasets.S131
Libraries for manipulating S-100 based nautical charts. |
|
|
EncDotNet.S100.Datasets.S125
Libraries for manipulating S-100 based nautical charts. |
|
|
EncDotNet.S100.Datasets.Pipelines
Per-spec IDatasetProcessor implementations, the DatasetPipelineFactory (file -> processor detection), the headless image-render capability, the S-98 interoperability authority, and the validation runner for IHO S-100 product datasets. Consumed by the EncDotNet.S100 convenience package, the viewer, and the s100 CLI. |
|
|
EncDotNet.S100
Open an IHO S-100 dataset, read its features and render it to an image using the bundled feature and portrayal catalogues. Wraps EncDotNet.S100.Specifications and EncDotNet.S100.Datasets.Pipelines behind a small, format-agnostic API; the underlying readers and catalogues remain available for custom wiring. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.25.1 | 0 | 10/12/2026 |
| 0.25.0 | 0 | 10/12/2026 |
| 0.24.0 | 193 | 10/4/2026 |
| 0.23.0 | 194 | 9/17/2026 |
| 0.22.0 | 254 | 7/19/2026 |
| 0.21.0 | 244 | 7/10/2026 |
| 0.20.0 | 254 | 6/29/2026 |
| 0.19.0 | 236 | 6/27/2026 |
| 0.18.0 | 254 | 6/17/2026 |
| 0.17.1 | 244 | 6/16/2026 |
| 0.17.0 | 256 | 6/15/2026 |
| 0.16.0 | 245 | 6/8/2026 |
| 0.15.0 | 169 | 6/6/2026 |
| 0.14.0 | 165 | 6/6/2026 |
| 0.13.0 | 157 | 6/3/2026 |
| 0.12.0 | 159 | 5/29/2026 |
| 0.11.0 | 173 | 5/19/2026 |
| 0.10.0 | 161 | 5/16/2026 |
| 0.9.0 | 159 | 5/15/2026 |
| 0.8.0 | 168 | 5/13/2026 |