Table of Contents

Class GeoPolyline

Namespace
EncDotNet.S100.Datasets.Pipelines.Geometry
Assembly
EncDotNet.S100.Datasets.Pipelines.dll

A geographic polyline (open line string) in WGS-84.

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

Remarks

Segments are treated as planar in lat/lon space — no great-circle reprojection. For route-corridor queries the polyline is converted to a bbox per segment using a fast equirectangular approximation (1° lat ≈ 111 320 m; 1° lon ≈ 111 320 m · cos(lat)), then per-feature bbox intersection is used. This is sufficient for "near this route" coarse filtering and matches the precision of the underlying spec bounding boxes.

Constructors

GeoPolyline(IReadOnlyList<GeoPoint>, double?)

A geographic polyline (open line string) in WGS-84.

public GeoPolyline(IReadOnlyList<GeoPoint> Vertices, double? CorridorWidthMeters = null)

Parameters

Vertices IReadOnlyList<GeoPoint>

Ordered list of at least two points in lat lon.

CorridorWidthMeters double?

Optional buffer applied around the line for corridor-style spatial queries (e.g. "features along this route"). null means "line only — no buffer". A positive value is a half-width: the distance from the line to the corridor's edge, applied on both sides, so the corridor is twice this wide. A route's cross-track limits (port and starboard XTD) are already half-widths and map onto it directly; don't halve them (#555). The route check (ChartCheck) takes port and starboard separately.

Remarks

Segments are treated as planar in lat/lon space — no great-circle reprojection. For route-corridor queries the polyline is converted to a bbox per segment using a fast equirectangular approximation (1° lat ≈ 111 320 m; 1° lon ≈ 111 320 m · cos(lat)), then per-feature bbox intersection is used. This is sufficient for "near this route" coarse filtering and matches the precision of the underlying spec bounding boxes.

Properties

CorridorWidthMeters

Optional buffer applied around the line for corridor-style spatial queries (e.g. "features along this route"). null means "line only — no buffer". A positive value is a half-width: the distance from the line to the corridor's edge, applied on both sides, so the corridor is twice this wide. A route's cross-track limits (port and starboard XTD) are already half-widths and map onto it directly; don't halve them (#555). The route check (ChartCheck) takes port and starboard separately.

public double? CorridorWidthMeters { get; init; }

Property Value

double?

Vertices

Ordered list of at least two points in lat lon.

public IReadOnlyList<GeoPoint> Vertices { get; init; }

Property Value

IReadOnlyList<GeoPoint>