Table of Contents

Class AxisOrderAssessment

Namespace
EncDotNet.S100.DataModel
Assembly
EncDotNet.S100.Core.dll

The result of Assess(IEnumerable<GeoPosition>, BoundingBox?, string?, bool, bool): whether a dataset's positions are latitude first, the evidence behind the decision, and the counts that support it. Readers attach it to the dataset model so hosts can report it (s100 info, validation findings, the viewer's dataset list).

public sealed record AxisOrderAssessment : IEquatable<AxisOrderAssessment>
Inheritance
AxisOrderAssessment
Implements
Inherited Members

Properties

DeclaredExtent

The declared extent used as the anchor, if any.

public BoundingBox? DeclaredExtent { get; init; }

Property Value

BoundingBox

Evidence

The anchor the decision rests on.

public required AxisOrderEvidence Evidence { get; init; }

Property Value

AxisOrderEvidence

ExtentMayBeSwapped

Whether the positions fit the declared extent only swapped, but the extent is an ordinal GML envelope too loose around them to say whether the positions or the envelope are the swapped ones. The outcome is then Inconsistent.

public bool ExtentMayBeSwapped { get; init; }

Property Value

bool

FitAsEncoded

The number of positions inside the declared extent as encoded, or 0 when there is no declared extent.

public int FitAsEncoded { get; init; }

Property Value

int

FitSwapped

The number of positions inside the declared extent with latitude and longitude swapped, or 0 when there is no declared extent.

public int FitSwapped { get; init; }

Property Value

int

IsNotice

Whether the outcome deserves a notice: anything other than AsEncoded.

public bool IsNotice { get; }

Property Value

bool

IsWarning

Whether the outcome is a warning: the positions were swapped, or do not fit the declared extent. Unverified is a notice but not a warning.

public bool IsWarning { get; }

Property Value

bool

Normalized

Whether the reader swapped the positions. True exactly when Outcome is Swapped and the reader normalises; a reader that only reports (for example for gridded coverages, whose georeferencing it does not rewrite) leaves this false.

public bool Normalized { get; init; }

Property Value

bool

OutOfPhysicalBounds

The number of positions whose encoded latitude is beyond ±90°.

public int OutOfPhysicalBounds { get; init; }

Property Value

int

Outcome

The decision.

public required AxisOrderOutcome Outcome { get; init; }

Property Value

AxisOrderOutcome

PositionCount

The number of positions checked.

public required int PositionCount { get; init; }

Property Value

int

Source

What the positions were checked from, for messages (for example "/WaterLevel/WaterLevel.01/Positioning/geometryValues" or "gml:pos/gml:posList").

public string? Source { get; init; }

Property Value

string

Methods

BuildMessage()

Builds a one-sentence, human-readable description of the outcome.

public string BuildMessage()

Returns

string