coordinates library

Position, bounding box and positions series (with coordinate arrays).

Contains also geographic (longitude-latitude) and projected positions and bounding boxes, scalable coordinates, and projection abstraction classes.

This libary exports a subset of package:geobase/geobase.dart.

Usage: import package:geobase/coordinates.dart

Classes

Aligned
An aligned point within a geospatial box or tile.
Bounded
A positionable object with position data (directly or within child objects) and methods to resolve bounding boxes.
Box
A base class for axis-aligned bounding boxes with min & max coordinates.
GeoBox
A geographic bounding box with west, south, east and north values.
Geographic
A geographic position with longitude, latitude and optional elevation and m.
Position
A base class for geospatial positions.
Positionable
A positionable object contains data structures for (geospatial) position data, directly or within child objects.
PositionScheme
A position scheme encapsulates position and bounding box factories for certain type of position data.
PositionSeries
A fixed-length (and random-access) view to a series of positions.
ProjBox
A bounding box with minX, minY, maxX and maxY coordinates.
Projected
A projected position with x, y, and optional z and m coordinates.
Scalable
A scalable object at the zoom level (a positive number).
Scalable2i
Scalable x, y coordinates at the zoom level.
ValuePositionable
A positionable object that has (geospatial) coordinate values directly available.

Enums

AxisOrder
The axis order of coordinate values in position and point representations.
CardinalPrecision
The precision for cardinal directions (compass point).
Coords
An enum for coordinate types (by spatial dimension and whether is measured).
Dimensionality
An enum for dimensionality or topological dimension in the context of geospatial applications.
DmsType
An enum for common representation of geographic positions by coordinates (using degrees, minutes and seconds as components).
GeoRepresentation
An enum for spatial representations that can be used to code logic when need to choose some options based on a representation.

Mixins

Projection
A mixin defining an interface for (geospatial) projections.
ProjectionAdapter
A projection adapter bundles forward and inverse projections.

Extensions

BoxArrayExtension on Iterable<Box?>
A helper extension on Iterable<Box?>.
CoordinateArrayExtension on List<double>
A helper extension on List<double> to handle coordinate values.
PositionArrayExtension on Iterable<Position>
A helper extension on Iterable<Position>.

Constants

defaultEpsilon → const double
The default epsilon value 1.0e-9 used as a tolerance in equals2D, equals3D and similar methods in this package.
doublePrecisionEpsilon → const double
The maximum relative precision of double numbers (IEEE 754).

Typedefs

CreateBox<T extends Box> = T Function({double? maxM, required double maxX, required double maxY, double? maxZ, double? minM, required double minX, required double minY, double? minZ})
Creates a new bounding box from minX, minY, maxX and maxY values.
CreatePosition<T extends Position> = T Function({double? m, required double x, required double y, double? z})
Creates a new position of T from x and y, and optional z and m.
ExpandPosition = Iterable<T> Function<T extends Position>(Position source, {required CreatePosition<T> to})
A function to expand the source position to an iterable of zero or more positions of T using to as a factory.
TransformPosition = T Function<T extends Position>(Position source, {required CreatePosition<T> to})
A function to transform the source position to a position of T using to as a factory.