EncDotNet.S100.Portrayals
0.25.1
dotnet add package EncDotNet.S100.Portrayals --version 0.25.1
NuGet\Install-Package EncDotNet.S100.Portrayals -Version 0.25.1
<PackageReference Include="EncDotNet.S100.Portrayals" Version="0.25.1" />
<PackageVersion Include="EncDotNet.S100.Portrayals" Version="0.25.1" />
<PackageReference Include="EncDotNet.S100.Portrayals" />
paket add EncDotNet.S100.Portrayals --version 0.25.1
#r "nuget: EncDotNet.S100.Portrayals, 0.25.1"
#:package EncDotNet.S100.Portrayals@0.25.1
#addin nuget:?package=EncDotNet.S100.Portrayals&version=0.25.1
#tool nuget:?package=EncDotNet.S100.Portrayals&version=0.25.1
EncDotNet.S100.Portrayals
EncDotNet.S100.Portrayals parses S-100 portrayal catalogues (S-100 Part 9):
the symbols, line styles, area fills, colour profiles, rules, viewing groups
and display modes used to draw S-100 data. Reference it when you need to read
a portrayal catalogue or its assets directly. The
EncDotNet.S100 facade uses it for you through
S100PortrayalCatalogue.
Install
dotnet add package EncDotNet.S100.Portrayals
Example: open a catalogue folder
using EncDotNet.S100.Core;
using EncDotNet.S100.Portrayals;
using var provider = await PortrayalCatalogueProvider.OpenAsync(
FileSystemAssetSource.Create("path/to/PortrayalCatalog"));
PortrayalCatalogue catalogue = provider.Catalogue;
Console.WriteLine($"{catalogue.ProductId} {catalogue.Version}: {catalogue.RuleFiles.Count} rule files");
OpenAsync reads portrayal_catalogue.xml from the source unless you pass
another path. The provider disposes the source when you dispose it.
Main entry points
PortrayalCatalogueProviderloads a catalogue and fetches the assets it references (rule files, symbols, line styles and others) from anIAssetSource.PortrayalCatalogueis the parsed model: symbols, line styles, area fills, colour profiles, pixmaps, style sheets, rule files, viewing groups, display modes, display planes and context parameters.PortrayalCatalogueReaderparses portrayal catalogue XML from a stream or a file path.ColorProfileReader,LineStyleReaderandAreaFillReaderparse individual portrayal components.ViewingGroup,DisplayMode,DisplayPlaneandContextParameterdescribe display configuration.PortrayalCatalogueManagermanages the portrayal catalogues for several product specifications.SetPathandSetSourceset where a product's catalogue comes from.- It implements
ICatalogueProvider<PortrayalCatalogueProvider>, includingGetCatalogueHashAsync(spec). That returns a lowercase hexadecimal SHA-256 over the catalogue XML and the bytes of every asset it declares: rule files, symbols, line styles, area fills, colour profiles, pixmaps and style sheets. Use it as a cache-invalidation key. - The hash is computed once per product, when first requested, and cleared
by
SetPathandSetSource. A failure (null) isn't cached, so the next call tries again.
- It implements
See also
- Custom catalogues and validation: use your own portrayal catalogue with the facade.
EncDotNet.S100.Specifications: the official catalogues bundled with the library.
| 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.1)
-
net8.0
- EncDotNet.S100.Core (>= 0.25.1)
NuGet packages (19)
Showing the top 5 NuGet packages that depend on EncDotNet.S100.Portrayals:
| Package | Downloads |
|---|---|
|
EncDotNet.S100.Datasets.S101
Libraries for manipulating S-100 based nautical charts. |
|
|
EncDotNet.S100.Renderers.Skia
Headless SkiaSharp rasteriser for the IHO S-100 portrayal pipeline. Renders the backend-neutral scene IR from EncDotNet.S100.Rendering.Scene (VectorScene / PaintOp) to an image with no GUI or map framework: SkiaDisplayListRenderer.RenderOnto, HeadlessVectorRenderer, CoverageHeadlessRenderer, and the multi-layer HeadlessCompositeRenderer. Lets a consumer embed just the renderer + IR without the EncDotNet.S100 facade or Mapsui. |
|
|
EncDotNet.S100.Datasets.S102
Libraries for manipulating S-100 based nautical charts. |
|
|
EncDotNet.S100.Datasets.S111
Libraries for manipulating S-100 based nautical charts. |
|
|
EncDotNet.S100.Renderers.Mapsui
Libraries for manipulating S-100 based nautical charts. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.25.1 | 405 | 10/12/2026 |
| 0.25.0 | 412 | 10/12/2026 |
| 0.24.0 | 445 | 10/4/2026 |
| 0.23.0 | 433 | 9/17/2026 |
| 0.22.0 | 514 | 7/19/2026 |
| 0.21.0 | 529 | 7/10/2026 |
| 0.20.0 | 510 | 6/29/2026 |
| 0.19.0 | 508 | 6/27/2026 |
| 0.18.0 | 502 | 6/17/2026 |
| 0.17.1 | 485 | 6/16/2026 |
| 0.17.0 | 486 | 6/15/2026 |
| 0.16.0 | 492 | 6/8/2026 |
| 0.15.0 | 221 | 6/6/2026 |
| 0.14.0 | 221 | 6/6/2026 |
| 0.13.0 | 199 | 6/3/2026 |
| 0.12.0 | 198 | 5/29/2026 |
| 0.11.0 | 200 | 5/19/2026 |
| 0.10.0 | 199 | 5/16/2026 |
| 0.9.0 | 188 | 5/15/2026 |
| 0.8.0 | 201 | 5/13/2026 |