CoordRefSystems.AuthalicLatLonType
AuthalicLatLon(lat, lon)
AuthalicLatLon{Datum}(lat, lon)

Authalic latitude lat ∈ [-90°,90°] and longitude lon ∈ [-180°,180°] in angular units (default to degree) with a given Datum (default to WGS84).

Examples

AuthalicLatLon(45, 45) # add default units
AuthalicLatLon(45u"°", 45u"°") # integers are converted converted to floats
AuthalicLatLon((π/4)u"rad", (π/4)u"rad") # radians are converted to degrees
AuthalicLatLon(45.0u"°", 45.0u"°")
AuthalicLatLon{WGS84Latest}(45.0u"°", 45.0u"°")
CoordRefSystems.BehrmannType
Behrmann(x, y)
Behrmann{Datum}(x, y)

Behrmann coordinates in length units (default to meter) with a given Datum (default to WGS84).

Examples

Behrmann(1, 1) # add default units
Behrmann(1u"m", 1u"m") # integers are converted converted to floats
Behrmann(1.0u"km", 1.0u"km") # length quantities are converted to meters
Behrmann(1.0u"m", 1.0u"m")
Behrmann{WGS84Latest}(1.0u"m", 1.0u"m")

See ESRI:54017.

CoordRefSystems.CartesianType
Cartesian(x₁, x₂, ..., xₙ)
Cartesian{Datum}(x₁, x₂, ..., xₙ)

N-dimensional Cartesian coordinates x₁, x₂, ..., xₙ in length units (default to meter) with a given Datum (default to NoDatum). The first 3 coordinates can be accessed with the properties x, y and z, respectively.

Examples

Cartesian(1, 1) # add default units
Cartesian(1u"m", 1u"m") # integers are converted converted to floats
Cartesian(1.0u"km", 1.0u"km", 1.0u"km")
Cartesian{WGS84Latest}(1.0u"m", 1.0u"m")

References

CoordRefSystems.CylindricalType
Cylindrical(ρ, ϕ, z)
Cylindrical{Datum}(ρ, ϕ, z)

Cylindrical coordinates with radius ρ ∈ [0,∞) in length units (default to meter), angle ϕ ∈ [0,2π) in angular units (default to radian), height z ∈ [0,∞) in length units (default to meter) and a given Datum (default to NoDatum).

Examples

Cylindrical(1, π/4, 1) # add default units
Cylindrical(1u"m", (π/4)u"rad", 1u"m") # integers are converted converted to floats
Cylindrical(1.0u"m", 45u"°", 1.0u"m") # degrees are converted to radians
Cylindrical(1.0u"km", (π/4)u"rad", 1.0u"km")
Cylindrical{WGS84Latest}(1.0u"m", (π/4)u"rad", 1.0u"m")

References

CoordRefSystems.EqualAreaCylindricalType
EqualAreaCylindrical{latₜₛ,lonₒ,Datum}

Equal Area Cylindrical CRS with latitude of true scale latₜₛ and longitude origin lonₒ in degrees and a given Datum.

CoordRefSystems.GallPetersType
GallPeters(x, y)
GallPeters{Datum}(x, y)

Gall-Peters coordinates in length units (default to meter) with a given Datum (default to WGS84).

Examples

GallPeters(1, 1) # add default units
GallPeters(1u"m", 1u"m") # integers are converted converted to floats
GallPeters(1.0u"km", 1.0u"km") # length quantities are converted to meters
GallPeters(1.0u"m", 1.0u"m")
GallPeters{WGS84Latest}(1.0u"m", 1.0u"m")
CoordRefSystems.GeocentricLatLonType
GeocentricLatLon(lat, lon)
GeocentricLatLon{Datum}(lat, lon)

Geocentric latitude lat ∈ [-90°,90°] and longitude lon ∈ [-180°,180°] in angular units (default to degree) with a given Datum (default to WGS84).

Examples

GeocentricLatLon(45, 45) # add default units
GeocentricLatLon(45u"°", 45u"°") # integers are converted converted to floats
GeocentricLatLon((π/4)u"rad", (π/4)u"rad") # radians are converted to degrees
GeocentricLatLon(45.0u"°", 45.0u"°")
GeocentricLatLon{WGS84Latest}(45.0u"°", 45.0u"°")
CoordRefSystems.GeodeticLatLonType
GeodeticLatLon(lat, lon)
GeodeticLatLon{Datum}(lat, lon)

Geodetic latitude lat ∈ [-90°,90°] and longitude lon ∈ [-180°,180°] in angular units (default to degree) with a given Datum (default to WGS84Latest).

Examples

GeodeticLatLon(45, 45) # add default units
GeodeticLatLon(45u"°", 45u"°") # integers are converted converted to floats
GeodeticLatLon((π/4)u"rad", (π/4)u"rad") # radians are converted to degrees
GeodeticLatLon(45.0u"°", 45.0u"°")
GeodeticLatLon{WGS84Latest}(45.0u"°", 45.0u"°")

See EPSG:4326.

CoordRefSystems.GeodeticLatLonAltType
GeodeticLatLonAlt(lat, lon, alt)
GeodeticLatLonAlt{Datum}(lat, lon, alt)

Geodetic latitude lat ∈ [-90°,90°] and longitude lon ∈ [-180°,180°] in angular units (default to degree) and altitude in length units (default to meter) with a given Datum (default to WGS84Latest).

Examples

GeodeticLatLonAlt(45, 45, 1) # add default units
GeodeticLatLonAlt(45u"°", 45u"°", 1u"m") # integers are converted converted to floats
GeodeticLatLonAlt((π/4)u"rad", (π/4)u"rad") # radians are converted to degrees
GeodeticLatLonAlt(45.0u"°", 45.0u"°", 1.0u"km") # length quantities are converted to meters
GeodeticLatLonAlt(45.0u"°", 45.0u"°", 1.0u"m")
GeodeticLatLonAlt{WGS84Latest}(45.0u"°", 45.0u"°", 1.0u"m")
CoordRefSystems.ITRFType
ITRF{Year}

ITRF (International Terrestrial Reference Frame) datum with a given realization Year (default to 2020). Currently, ITRF has eleven realizations in the following years: 1991, 1992, 1993, 1994, 1996, 1997, 2000, 2005, 2008, 2014 and 2020.

ITRFLatest is an alias to ITRF{2020}.

See The International Terrestrial Reference Frame (ITRF)

CoordRefSystems.LambertType
Lambert(x, y)
Lambert{Datum}(x, y)

Lambert cylindrical equal-area coordinates in length units (default to meter) with a given Datum (default to WGS84).

Examples

Lambert(1, 1) # add default units
Lambert(1u"m", 1u"m") # integers are converted converted to floats
Lambert(1.0u"km", 1.0u"km") # length quantities are converted to meters
Lambert(1.0u"m", 1.0u"m")
Lambert{WGS84Latest}(1.0u"m", 1.0u"m")

See ESRI:54034.

CoordRefSystems.LatLonType
LatLon(lat, lon)
LatLon{Datum}(lat, lon)

Alias to GeodeticLatLon.

Examples

LatLon(45, 45) # add default units
LatLon(45u"°", 45u"°") # integers are converted converted to floats
LatLon((π/4)u"rad", (π/4)u"rad") # radians are converted to degrees
LatLon(45.0u"°", 45.0u"°")
LatLon{WGS84Latest}(45.0u"°", 45.0u"°")

See EPSG:4326.

CoordRefSystems.LatLonAltType
LatLonAlt(lat, lon, alt)
LatLonAlt{Datum}(lat, lon, alt)

Alias to GeodeticLatLonAlt.

Examples

LatLonAlt(45, 45, 1) # add default units
LatLonAlt(45u"°", 45u"°", 1u"m") # integers are converted converted to floats
LatLonAlt((π/4)u"rad", (π/4)u"rad") # radians are converted to degrees
LatLonAlt(45.0u"°", 45.0u"°", 1.0u"km") # length quantities are converted to meters
LatLonAlt(45.0u"°", 45.0u"°", 1.0u"m")
LatLonAlt{WGS84Latest}(45.0u"°", 45.0u"°", 1.0u"m")
CoordRefSystems.MercatorType
Mercator(x, y)
Mercator{Datum}(x, y)

Mercator coordinates in length units (default to meter) with a given Datum (default to WGS84).

Examples

Mercator(1, 1) # add default units
Mercator(1u"m", 1u"m") # integers are converted converted to floats
Mercator(1.0u"km", 1.0u"km") # length quantities are converted to meters
Mercator(1.0u"m", 1.0u"m")
Mercator{WGS84Latest}(1.0u"m", 1.0u"m")

See EPSG:3395.

CoordRefSystems.OrthoNorthType
OrthoNorth(x, y)
OrthoNorth{Datum}(x, y)

Orthographic North Pole coordinates in length units (default to meter) with a given Datum (default to WGS84).

Examples

OrthoNorth(1, 1) # add default units
OrthoNorth(1u"m", 1u"m") # integers are converted converted to floats
OrthoNorth(1.0u"km", 1.0u"km") # length quantities are converted to meters
OrthoNorth(1.0u"m", 1.0u"m")
OrthoNorth{WGS84Latest}(1.0u"m", 1.0u"m")
CoordRefSystems.OrthoSouthType
OrthoSouth(x, y)
OrthoSouth{Datum}(x, y)

Orthographic South Pole coordinates in length units (default to meter) with a given Datum (default to WGS84).

Examples

OrthoSouth(1, 1) # add default units
OrthoSouth(1u"m", 1u"m") # integers are converted converted to floats
OrthoSouth(1.0u"km", 1.0u"km") # length quantities are converted to meters
OrthoSouth(1.0u"m", 1.0u"m")
OrthoSouth{WGS84Latest}(1.0u"m", 1.0u"m")
CoordRefSystems.OrthographicType
Orthographic{latₒ,lonₒ,S,Datum}

Orthographic CRS with latitude origin latₒ and longitude origin lonₒ in degrees, spherical mode S enabled or not and a given Datum.

CoordRefSystems.PlateCarreeType
PlateCarree(x, y)
PlateCarree{Datum}(x, y)

Plate Carrée coordinates in length units (default to meter) with a given Datum (default to WGS84).

Examples

PlateCarree(1, 1) # add default units
PlateCarree(1u"m", 1u"m") # integers are converted converted to floats
PlateCarree(1.0u"km", 1.0u"km") # length quantities are converted to meters
PlateCarree(1.0u"m", 1.0u"m")
PlateCarree{WGS84Latest}(1.0u"m", 1.0u"m")

See EPSG:32662.

CoordRefSystems.PolarType
Polar(ρ, ϕ)
Polar{Datum}(ρ, ϕ)

Polar coordinates with radius ρ ∈ [0,∞) in length units (default to meter), angle ϕ ∈ [0,2π) in angular units (default to radian) and a given Datum (default to NoDatum).

Examples

Polar(1, π/4) # add default units
Polar(1u"m", (π/4)u"rad") # integers are converted converted to floats
Polar(1.0u"m", 45u"°") # degrees are converted to radians
Polar(1.0u"km", (π/4)u"rad")
Polar{WGS84Latest}(1.0u"m", (π/4)u"rad")

References

CoordRefSystems.RobinsonType
Robinson(x, y)
Robinson{Datum}(x, y)

Robinson coordinates in length units (default to meter) with a given Datum (default to WGS84).

Examples

Robinson(1, 1) # add default units
Robinson(1u"m", 1u"m") # integers are converted converted to floats
Robinson(1.0u"km", 1.0u"km") # length quantities are converted to meters
Robinson(1.0u"m", 1.0u"m")
Robinson{WGS84Latest}(1.0u"m", 1.0u"m")

See ESRI:54030.

CoordRefSystems.ShiftedCRSType
ShiftedCRS{CRS,lonₒ,xₒ,yₒ}

Shifted CRS with longitude origin lonₒ in degrees, false easting xₒ and false northing yₒ in meters.

CoordRefSystems.SphericalType
Spherical(r, θ, ϕ)
Spherical{Datum}(r, θ, ϕ)

Spherical coordinates with radius r ∈ [0,∞) in length units (default to meter), polar angle θ ∈ [0,π] and azimuth angle ϕ ∈ [0,2π) in angular units (default to radian) and a given Datum (default to NoDatum).

Examples

Spherical(1, π/4, π/4) # add default units
Spherical(1u"m", (π/4)u"rad", (π/4)u"rad") # integers are converted converted to floats
Spherical(1.0u"m", 45u"°", 45u"°") # degrees are converted to radians
Spherical(1.0u"km", (π/4)u"rad", (π/4)u"rad")
Spherical{WGS84Latest}(1.0u"m", (π/4)u"rad", (π/4)u"rad")

References

CoordRefSystems.TransverseMercatorType
TransverseMercator{k₀,latₒ,lonₒ,Datum}

Transverse Mercator CRS with scale factor k₀, latitude origin latₒ and longitude origin lonₒ in degrees and a given Datum.

CoordRefSystems.UTMType
UTM{Hemisphere,Zone,Datum}

UTM (Universal Transverse Mercator) CRS in Hemisphere with Zone (1 ≤ Zone ≤ 60) and a given Datum.

CoordRefSystems.UTMNorthType
UTMNorth{zone}(x, y)
UTMNorth{zone,Datum}(x, y)

UTM (Universal Transverse Mercator) North coordinates in length units (default to meter) with zone (1 ≤ zone ≤ 60) and a given Datum (default to WGS84).

Examples

UTMNorth{1}(1, 1) # add default units
UTMNorth{1}(1u"m", 1u"m") # integers are converted converted to floats
UTMNorth{1}(1.0u"km", 1.0u"km") # length quantities are converted to meters
UTMNorth{1}(1.0u"m", 1.0u"m")
UTMNorth{1,WGS84Latest}(1.0u"m", 1.0u"m")
CoordRefSystems.UTMSouthType
UTMSouth{zone}(x, y)
UTMSouth{zone,Datum}(x, y)

UTM (Universal Transverse Mercator) South coordinates in length units (default to meter) with zone (1 ≤ zone ≤ 60) and a given Datum (default to WGS84).

Examples

UTMSouth{1}(1, 1) # add default units
UTMSouth{1}(1u"m", 1u"m") # integers are converted converted to floats
UTMSouth{1}(1.0u"km", 1.0u"km") # length quantities are converted to meters
UTMSouth{1}(1.0u"m", 1.0u"m")
UTMSouth{1,WGS84Latest}(1.0u"m", 1.0u"m")
CoordRefSystems.WGS84Type
WGS84{GPSWeek}

WGS84 (World Geodetic System) datum with a given realization GPSWeek (default to 1762). Currently, WGS84 has six realizations in the following GPS weeks: 0, 730, 873, 1150, 1674 and 1762.

WGS84Latest is an alias to WGS84{1762}.

See NGA - WORLD GEODETIC SYSTEM 1984

CoordRefSystems.WGS84LatestType
WGS84{GPSWeek}

WGS84 (World Geodetic System) datum with a given realization GPSWeek (default to 1762). Currently, WGS84 has six realizations in the following GPS weeks: 0, 730, 873, 1150, 1674 and 1762.

WGS84Latest is an alias to WGS84{1762}.

See NGA - WORLD GEODETIC SYSTEM 1984

CoordRefSystems.WebMercatorType
WebMercator(x, y)
WebMercator{Datum}(x, y)

Web Mercator coordinates in length units (default to meter) with a given Datum (default to WGS84).

Examples

WebMercator(1, 1) # add default units
WebMercator(1u"m", 1u"m") # integers are converted converted to floats
WebMercator(1.0u"km", 1.0u"km") # length quantities are converted to meters
WebMercator(1.0u"m", 1.0u"m")
WebMercator{WGS84Latest}(1.0u"m", 1.0u"m")

See EPSG:3857.

CoordRefSystems.WinkelTripelType
WinkelTripel(x, y)
WinkelTripel{Datum}(x, y)

Winkel Tripel coordinates in length units (default to meter) with a given Datum (default to WGS84).

Examples

WinkelTripel(1, 1) # add default units
WinkelTripel(1u"m", 1u"m") # integers are converted converted to floats
WinkelTripel(1.0u"km", 1.0u"km") # length quantities are converted to meters
WinkelTripel(1.0u"m", 1.0u"m")
WinkelTripel{WGS84Latest}(1.0u"m", 1.0u"m")

See ESRI:54042.

Base.isapproxMethod
isapprox(coords₁, coords₂; kwargs...)

Checks whether the coordinates coords₁ and coords₂ are approximate using the isapprox function.

CoordRefSystems.addunitMethod
addunit(x, u)

Adds the unit only if the argument is not a quantity, otherwise an error is thrown.

CoordRefSystems.allapproxMethod
allapprox(coords₁, coords₂; kwargs...)

Checks whether all fields of coords₁ and coords₂ are approximate using the isapprox function.

CoordRefSystems.atanposMethod
atanpos(x, y)

Adjusts the interval of values returned by the atan(y, x) function from [-π,π] to [0,2π].

CoordRefSystems.atolMethod
atol(T)
atol(x::T)

Absolute tolerance used in source code for approximate comparison with numbers of type T.

CoordRefSystems.ellipfromabMethod
ellipfromab(a, b)

Calculates the parameters of the ellipsoid with a given major axis a and minor axis b.

CoordRefSystems.ellipfromaf⁻¹Method
ellipfromaf⁻¹(a, f⁻¹)

Calculates the parameters of the ellipsoid with a given major axis a and flattening inverse f⁻¹.

CoordRefSystems.formulasFunction
formulas(CRS::Type{<:Projected}, T)

Returns the forward formulas of the CRS: fx(λ, ϕ) and fy(λ, ϕ), with f(λ::T, ϕ::T) -> T for both functions.

CoordRefSystems.getFunction
CoordRefSystems.get(::Type{EPSG{code}})
CoordRefSystems.get(::Type{ESRI{code}})

Returns a CRS type that has the EPSG/ESRI code.

CoordRefSystems.helmertMethod
helmert(T, Datumₛ, Datumₜ)

Translation, Rotation and scale of the Helmert transform that converts the source Datumₛ to target Datumₜ.

The type T is the resulting machine type of the parameters.

CoordRefSystems.helmertparamsFunction
helmertparams(Datumₛ, Datumₜ)

Helmert translation parameters (δx, δy, δz) in meters, rotation parameters (θx, θy, θz) in arc seconds and scale parameter s in ppm (parts per million).

CoordRefSystems.helmertratesMethod
helmertrates(Datumₛ, Datumₜ)

Helmert translation rate (dδx, dδy, dδz) in meters per year, rotation rate (dθx, dθy, dθz) in arc seconds per year and scale rate ds in ppm (parts per million) per year.

Notes

Must be defined only for time-dependent Helmert transforms.

CoordRefSystems.inboundsMethod
inbounds(CRS::Type{<:Projected}, λ, ϕ)

Checks whether λ and ϕ in radians are within the CRS domain.

CoordRefSystems.indomainMethod
indomain(CRS::Type{<:Projected}, latlon::LatLon)

Checks whether latlon coordinates are within the CRS domain.

CoordRefSystems.newtonMethod
newton(f, df, xₒ; maxiter=10, tol=atol(xₒ))

Newton's method approximates the root of the function f using its derivative df, initial guess xₒ, maxiter iterations, and tolerance tol.

CoordRefSystems.rotationMethod
rotation(T, θ)

RotZYX rotation from parameters θ = (θx, θy, θz) with machine type T.

CoordRefSystems.shiftMethod
CoordRefSystems.shift(CRS::Type{<:Projected}; lonₒ=0.0u"°", xₒ=0.0u"m", yₒ=0.0u"m")

Shifts the CRS with given longitude origin lonₒ in degrees, false easting xₒ and false northing yₒ in meters.

CoordRefSystems.shiftMethod
CoordRefSystems.shift(Datum, epoch)

Shifts the Datum with a given epoch in decimalyear.

CoordRefSystems.tolMethod
CoordRefSystems.tol(coords)

Absolute tolerance for the underlying machine type (e.g. Float64) used to represent the coords. The result inherits the unit of the coords after conversion to Cartesian.