Class CoverageSymbolField
The oriented symbols (e.g. S-111 current arrows) of one styled coverage grid, flattened to row-major arrays in EPSG:3857: one entry per grid cell, with the resolved symbol band, the band's symbol scale, the rotation and the thinning priority. Shared by the Mapsui and headless Skia arrow renderers so both place, size and thin the same arrows.
public sealed class CoverageSymbolField
- Inheritance
-
CoverageSymbolField
- Inherited Members
Properties
Bands
Per-cell resolved symbol band, null for a cell without a symbol.
public SymbolBand?[] Bands { get; }
Property Value
Cols
Number of grid columns.
public int Cols { get; }
Property Value
Priority
Per-cell thinning priority: the band-selecting value (for S-111, the speed).
public float[] Priority { get; }
Property Value
- float[]
Rotation
Per-cell rotation, degrees clockwise from north.
public float[] Rotation { get; }
Property Value
- float[]
Rows
Number of grid rows.
public int Rows { get; }
Property Value
Scale
Per-cell symbol scale from the band (ScaleFor(float)), NaN for a cell without a symbol (no data, or no band for the value).
public float[] Scale { get; }
Property Value
- float[]
X
Per-cell EPSG:3857 x of the cell centre; NaN for a cell beyond ±MaxLatitude, which has no symbol.
public double[] X { get; }
Property Value
- double[]
Y
Per-cell EPSG:3857 y of the cell centre; NaN like X.
public double[] Y { get; }
Property Value
- double[]
Methods
Build(StyledCoverageLayer, ICrsTransform)
Builds the field for layer's symbol scheme.
public static CoverageSymbolField Build(StyledCoverageLayer layer, ICrsTransform nativeToWgs84)
Parameters
layerStyledCoverageLayerA styled coverage layer with a SymbolScheme.
nativeToWgs84ICrsTransformTransform from the grid's native CRS to WGS84.
Returns
- CoverageSymbolField
The field; every cell is marked symbol-less when the layer has no symbol scheme.