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(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ₙ)
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.Cartesian2DType
Cartesian2D(x, y)
Cartesian2D{Datum}(x, y)
Cartesian2D((x, y))
Cartesian2D{Datum}((x, y))

Alias to Cartesian with 2 coordinates.

Examples

Cartesian2D(1, 1) # add default units
Cartesian2D(1u"m", 1u"m") # integers are converted converted to floats
Cartesian2D(1.0u"km", 1.0u"km")
Cartesian2D{WGS84Latest}(1.0u"m", 1.0u"m")
CoordRefSystems.Cartesian3DType
Cartesian3D(x, y, z)
Cartesian3D{Datum}(x, y, z)
Cartesian3D((x, y, z))
Cartesian3D{Datum}((x, y, z))

Alias to Cartesian with 3 coordinates.

Examples

Cartesian3D(1, 1, 1) # add default units
Cartesian3D(1u"m", 1u"m", 1u"m") # integers are converted converted to floats
Cartesian3D(1.0u"km", 1.0u"km", 1.0u"km")
Cartesian3D{WGS84Latest}(1.0u"m", 1.0u"m", 1.0u"m")
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{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(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(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(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.HelmertTransformType
HelmertTransform(; δx=0.0, δy=0.0, δz=0.0, θx=0.0, θy=0.0, θz=0.0, s=0.0)

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

References

CoordRefSystems.ITRFType
ITRF{Year}

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

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(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(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{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(1.0u"m", 45u"°", 45u"°") # degrees are converted to radians
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. Currently, WGS84 has realizations in the following GPS weeks: 0, 730, 873, 1150, 1674 and 1762, 2139, 2296.

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.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.constructorMethod
CoordRefSystems.constructor(coords)

CRS type of coords that can be used to construct a new instance or in conversions.

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.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.projinvMethod
projinv(fx, fy, x, y, λₒ, ϕₒ; maxiter=10, tol=atol(x))

Approximates the inverse of a projection with the Newton-Raphson method using its forward formulas fx and fy, x and y values, initial guess λₒ and ϕₒ, maxiter iterations, and tolerance tol.

References

CoordRefSystems.rotationMethod
rotation(T, transform)

RotZYX rotation from parameters of transform 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.timedephelmertMethod
timedephelmert(Datumₛ, Datumₜ, δx=0.0, δy=0.0, δz=0.0, θx=0.0, θy=0.0, θz=0.0, s=0.0,
dδx=0.0, dδy=0.0, dδz=0.0, dθx=0.0, dθy=0.0, dθz=0.0, ds=0.0)

Create a Helmert transform from time-dependent parameters: epoch difference dt = epoch(Datumₛ) - epoch(Datumₜ), translation rates dδx, dδy, dδz in meters per year, rotation rates dθx, dθy, dθz in arc seconds per year and scale rate ds in ppm (parts per million) per year.

See also HelmertTransform.

References

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.

CoordRefSystems.transformFunction
transform(Datumₛ, Datumₜ)

Transform that converts the source datum Datumₛ to target datum Datumₜ.

CoordRefSystems.@reversibleMacro
@reversible Datum₁ Datum₂ transform

Define the methods to apply and reverse the transform with Datum₁ and Datum₂.