Datum class

A geodetic datum with a reference ellipsoid and datum transformation parameters.

This class also contains definitions (as static constants) for some historical geodetic datums: a latitude/longitude point defines a geographic location on or above/below the earth’s surface, measured in degrees from the equator & the International Reference Meridian and metres above the ellipsoid, and based on a given datum. The datum is based on a reference ellipsoid and tied to geodetic survey reference points.

Modern geodesy is generally based on the WGS84 datum (as used for instance by GPS systems), but previously various reference ellipsoids and datum references were used.

This class provides references to ellipsoid parameters and datum transformation parameters, and methods for converting between different (generally historical) datums.

The datum transformation parameters are Helmert 7-parameter transformations.

Ellipsoids of historical datums are defined as static constants in the HistoricalEllipsoids class.

Annotations
  • @immutable

Constructors

Datum.fromParameters({bool isWGS84 = false, required Ellipsoid ellipsoid, required List<double> transform})
Create a geodesic datum with a reference ellipsoid and datum parameters to transform coordinates.
const

Properties

ellipsoid Ellipsoid
The reference ellipsoid for the datum.
final
hashCode int
The hash code for this object.
no setteroverride
isWGS84 bool
Whether this datum is WGS84 based on the WGS84 ellipsoidal and defining a "null" datum transformation.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

convertGeocentricCartesian(Position cartesian, {required Datum target}) Position
Converts the geocentric cartesian position (X, Y, Z) in this datum to another datum a specified by target using the Helmert 7-parameter transformation.
convertGeographic(Geographic geographic, {required Datum target}) Geographic
Converts the geographic position in this datum to another datum specified by target.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
override

Constants

ED50 → const Datum
The ED50 (European Datum 1950) datum.
ETRS89 → const Datum
The ETRS89 (European Terrestrial Reference System 1989) datum.
Irl1975 → const Datum
The Irl1975 (Ireland 1975) datum.
NAD27 → const Datum
The NAD27 (North American Datum 1927) datum.
NAD83 → const Datum
The NAD83 (North American Datum 1983) datum.
NTF → const Datum
The NTF (Nouvelle Triangulation Francaise) datum.
OSGB36 → const Datum
The OSGB36 (Ordnance Survey Great Britain 1936) datum.
Potsdam → const Datum
The Potsdam datum.
TokyoJapan → const Datum
The TokyoJapan datum.
WGS72 → const Datum
The WGS72 (World Geodetic System 1972) datum.
WGS84 → const Datum
The WGS84 (World Geodetic System 1984) datum.