EncDotNet.S100.Features 0.25.0

There is a newer version of this package available.
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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EncDotNet.S100.Features" Version="0.25.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EncDotNet.S100.Features" Version="0.25.0" />
                    
Directory.Packages.props
<PackageReference Include="EncDotNet.S100.Features" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EncDotNet.S100.Features --version 0.25.0
                    
#r "nuget: EncDotNet.S100.Features, 0.25.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EncDotNet.S100.Features@0.25.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EncDotNet.S100.Features&version=0.25.0
                    
Install as a Cake Addin
#tool nuget:?package=EncDotNet.S100.Features&version=0.25.0
                    
Install as a Cake Tool

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

  • FeatureCatalogueReader reads a feature catalogue from a stream or a file path and returns a FeatureCatalogue.
  • FeatureCatalogue is the parsed model. It lists feature types, information types, simple and complex attributes, roles, and feature and information associations.
  • FeatureType and InformationType define the types.
  • AttributeBinding, FeatureBinding and InformationBinding are the attributes, feature associations and information associations a type binds. A feature or information binding can allow several target types: FeatureTypeRefs and InformationTypeRefs list them all, and FeatureTypeRef and InformationTypeRef give the first.
  • SimpleAttribute, ComplexAttribute and ListedValue define attributes and enumerated values. A numeric SimpleAttribute also has a Uom, a UnitOfMeasure with a name and symbol parsed from <S100FC:uom>. For example, depthRangeMinimumValue resolves to metre / m, so you can label values with their unit from the catalogue instead of guessing it.
  • FeatureAssociation, InformationAssociation and Role describe relationships between features.
  • FeatureCatalogueDecoder looks up names in a parsed catalogue in constant time:
    • ResolveAttributeName, ResolveFeatureTypeName, ResolveInformationTypeName and IsEnumeratedAttribute.
    • For enumerated simple attributes, ResolveListedValue returns the value's label and ResolveListedValueDefinition returns its definition, such as "Grey Ice" for an S-411 stage-of-development code. Both take the attribute code and the raw value, and return null for an attribute that isn't enumerated or a value that isn't listed.
  • FeatureCatalogueManager resolves, parses and caches one FeatureCatalogue per product specification.
    • It reads catalogues through a stream resolver you supply. SetSource registers an IAssetSource as a bundled fallback for a product, and clears that product's cached catalogue, decoder and content hash.
    • GetCatalogueHashAsync(spec) (from ICatalogueProvider<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.

See also

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
Loading failed