Package-level declarations

Types

Link copied to clipboard
@Serializable
value class Distance : Comparable<Distance>
Link copied to clipboard
@Serializable
class GeodeticMapCoordinates(val latitude: Angle, val longitude: Angle, val elevation: Distance? = null) : Vector2D<Angle>

Geodetic coordinated

Link copied to clipboard
@Serializable
class GeoEllipsoid(val equatorRadius: Distance, val polarRadius: Distance)
Link copied to clipboard

Short name for GeodeticMapCoordinates

Link copied to clipboard
class GmcCurve

A directed straight (geodetic) segment on a spheroid with given start, direction, end point and distance.

Link copied to clipboard
@Serializable
data class GmcPose(val coordinates: GeodeticMapCoordinates, val bearing: Angle)

A coordinate-bearing pair

Link copied to clipboard
interface MapProjection<T : Any>
Link copied to clipboard
@Serializable
open class MercatorProjection(val baseLongitude: Angle = Angle.zero, val ellipsoid: GeoEllipsoid = GeoEllipsoid.sphere) : MapProjection<ProjectionCoordinates>
Link copied to clipboard
data class ProjectionCoordinates(val x: Distance, val y: Distance)
Link copied to clipboard
data class WebMercatorCoordinates(val zoom: Int, val x: Float, val y: Float)
Link copied to clipboard

Properties

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
operator fun ClosedRange<Radians>.contains(angle: Angle): Boolean
Link copied to clipboard
fun GeoEllipsoid.curveBetween(start: Gmc, end: Gmc, precision: Double = 1.0E-6): GmcCurve

Taken from https://github.com/mgavaghan/geodesy

Link copied to clipboard
fun GeoEllipsoid.curveInDirection(start: GmcPose, distance: Distance, precision: Double = 1.0E-6): GmcCurve

Taken from https://github.com/mgavaghan/geodesy https://github.com/mgavaghan/geodesy/blob/ab1c6969dc964ff34929911f055b27525909ef3f/src/main/java/org/gavaghan/geodesy/GeodeticCalculator.java#L58

Link copied to clipboard
operator fun Distance.div(number: Number): Distance
operator fun Distance.div(other: Distance): Double
Link copied to clipboard

Compute distance between two map points using giv https://en.wikipedia.org/wiki/Geographical_distance#Lambert's_formula_for_long_lines

Link copied to clipboard
fun GeoEllipsoid.meridianCurve(longitude: Angle, fromLatitude: Angle, toLatitude: Angle, step: Radians = 0.015.radians): GmcCurve

Compute a curve alongside a meridian

Link copied to clipboard
operator fun Distance.minus(other: Distance): Distance
Link copied to clipboard
fun GeoEllipsoid.parallelCurve(latitude: Angle, fromLongitude: Angle, toLongitude: Angle): GmcCurve

Compute a curve alongside a parallel

Link copied to clipboard
operator fun Distance.plus(other: Distance): Distance
Link copied to clipboard
fun GeoEllipsoid.reducedRadius(latitude: Angle): Distance

A radius of circle normal to the axis of the ellipsoid at given latitude

Link copied to clipboard

Reverse direction and order of ends

Link copied to clipboard
operator fun Distance.times(number: Number): Distance