Class GeoPolyline
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
VerticesIReadOnlyList<GeoPoint>Ordered list of at least two points in
lat lon.CorridorWidthMetersdouble?Optional buffer applied around the line for corridor-style spatial queries (e.g. "features along this route").
nullmeans "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
Vertices
Ordered list of at least two points in lat lon.
public IReadOnlyList<GeoPoint> Vertices { get; init; }