# The geodesic Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

# The geodesic Reference Manual

This is the geodesic Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Sun May 15 04:51:58 2022 GMT+0.

Next: , Previous: , Up: Top   [Contents][Index]

## 1 Introduction

```* geodesic

A Common lisp library to solve direct and inverse geodesic
problem. It implements Charles Karney's method from this paper:
https://doi.org/10.1007/s00190-012-0578-z

#+BEGIN_SRC lisp
;; Two examples from the paper
-> 0.7294308683855781d0
->  2.405847362846288d0
->  2.6021143369561823d0

-> 1.9989832879260477d7
-> 0.3160648483358468d0
-> 2.825854840938509d0
#+END_SRC

```

Next: , Previous: , Up: Top   [Contents][Index]

## 2 Systems

The main system appears first, followed by any subsystem dependency.

Previous: , Up: Systems   [Contents][Index]

### 2.1 geodesic

Author

Manuel Giraud <manuel@ledu-giraud.fr>

ISC

Description

Library for geodesic calculations.

Source

geodesic.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

## 3 Files

Files are sorted by type and then listed depth-first from the systems components trees.

Previous: , Up: Files   [Contents][Index]

### 3.1 Lisp

Next: , Previous: , Up: Lisp files   [Contents][Index]

#### 3.1.1 geodesic.asd

Location

geodesic.asd

Systems

geodesic (system)

Next: , Previous: , Up: Lisp files   [Contents][Index]

#### 3.1.2 geodesic/package.lisp

Parent

geodesic (system)

Location

package.lisp

Packages

Next: , Previous: , Up: Lisp files   [Contents][Index]

#### 3.1.3 geodesic/util.lisp

Dependency

package.lisp (file)

Parent

geodesic (system)

Location

util.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

#### 3.1.4 geodesic/poly.lisp

Dependency

util.lisp (file)

Parent

geodesic (system)

Location

poly.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

#### 3.1.5 geodesic/geodesic.lisp

Dependency

poly.lisp (file)

Parent

geodesic (system)

Location

geodesic.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

## 4 Packages

Packages are listed by definition order.

Previous: , Up: Packages   [Contents][Index]

### 4.1 geodesic

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

## 5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.

Next: , Previous: , Up: Definitions   [Contents][Index]

### 5.1 Exported definitions

Previous: , Up: Exported definitions   [Contents][Index]

#### 5.1.1 Functions

Function: cubic-roots A B C D

Roots of a·z³ + b·z² + c·z + d.

Package
Source

poly.lisp (file)

Function: degrees ANGLE
Package
Source

util.lisp (file)

Function: direct LATITUDE AZIMUTH DISTANCE

LATITUDE and AZIMUTH in radians. DISTANCE in meters.

Package
Source

geodesic.lisp (file)

Function: inverse LAT1 LAT2 LON12
Package
Source

geodesic.lisp (file)

Function: parse-float STRING

Parse float STRING into an exact rational. XXX it is really simple and the form should be "{-}[0-9]+" or "{-}[0-9]*.[0-9]+"

Package
Source

util.lisp (file)

Function: quartic-roots A B C D E
Package
Source

poly.lisp (file)

Package
Source

util.lisp (file)

Previous: , Up: Definitions   [Contents][Index]

### 5.2 Internal definitions

Next: , Previous: , Up: Internal definitions   [Contents][Index]

#### 5.2.1 Special variables

Special Variable: *a*

WGS84 equatorial Earth radius in meter.

Package
Source

geodesic.lisp (file)

Special Variable: *b*
Package
Source

geodesic.lisp (file)

Special Variable: *f*

WGS84 ellipsoid flattening.

Package
Source

geodesic.lisp (file)

Special Variable: *f-a-3*

Factors for A-3.

Package
Source

geodesic.lisp (file)

Special Variable: *n*
Package
Source

geodesic.lisp (file)

Special Variable: *p-c-3*

Polynomial factors for C-3.

Package
Source

geodesic.lisp (file)

Special Variable: *square-e*
Package
Source

geodesic.lisp (file)

Special Variable: *square-e-prime*
Package
Source

geodesic.lisp (file)

Previous: , Up: Internal definitions   [Contents][Index]

#### 5.2.2 Functions

Function: 3rt NUMBER

Cubic root that handles negative numbers.

Package
Source

poly.lisp (file)

Function: a-1 EPSILON
Package
Source

geodesic.lisp (file)

Function: a-2 EPSILON
Package
Source

geodesic.lisp (file)

Function: ac-3 EPSILON
Package
Source

geodesic.lisp (file)

Function: alpha-beta ALPHA0 SIGMA
Package
Source

geodesic.lisp (file)

Function: alpha0 BETA AZIMUTH
Package
Source

geodesic.lisp (file)

Function: alpha2 ALPHA1 BETA1 BETA2
Package
Source

geodesic.lisp (file)

Function: best-2-roots ROOTS
Package
Source

poly.lisp (file)

Function: c-1 EPSILON
Package
Source

geodesic.lisp (file)

Function: c-2 EPSILON
Package
Source

geodesic.lisp (file)

Function: c-prime-1 EPSILON
Package
Source

geodesic.lisp (file)

Function: delta-alpha1 DELTA-L12 M12 ALPHA2 BETA2
Package
Source

geodesic.lisp (file)

Function: dereduce-latitude BETA
Package
Source

geodesic.lisp (file)

Function: horner X &rest P

Horner’s method of P at X.

Package
Source

poly.lisp (file)

Function: i SIGMA AN CN
Package
Source

geodesic.lisp (file)

Function: init-alpha1 LAT1 LAT2 LON12 BETA1 BETA2 OMEGA12
Package
Source

geodesic.lisp (file)

Function: j SIGMA EPSILON
Package
Source

geodesic.lisp (file)

Function: longitude OMEGA ALPHA0 I3
Package
Source

geodesic.lisp (file)

Function: m12 K2 SIGMA1 SIGMA2 EPSILON

Returns m12 and M12.

Package
Source

geodesic.lisp (file)

Function: nearly-antipodal-p LAT1 LAT2 LON12
Package
Source

geodesic.lisp (file)

Function: normalize ANGLE

Normalize angle between -π and π.

Package
Source

util.lisp (file)

Function: normalize-azimuth ANGLE

Normalize angle between 0 and π.

Package
Source

util.lisp (file)

Function: normalize-latitudes LAT1 LAT2

lat1 <= 0 and lat1 <= lat2 <= -lat1 (i.e. lat2 is closest to zero).

Package
Source

geodesic.lisp (file)

Function: omega ALPHA0 SIGMA
Package
Source

geodesic.lisp (file)

Function: omega-bar BETA1 BETA2
Package
Source

geodesic.lisp (file)

Function: plusp-and-value STRING
Package
Source

util.lisp (file)

Function: reduce-latitude LATITUDE
Package
Source

geodesic.lisp (file)

Function: sigma BETA AZIMUTH
Package
Source

geodesic.lisp (file)

Function: sigma-tau TAU C-PRIME-1
Package
Source

geodesic.lisp (file)

Function: sigma12 BETA1 BETA2 OMEGA12 Z1
Package
Source

geodesic.lisp (file)

Function: solve-triangle ALPHA1 BETA1 BETA2
Package
Source

geodesic.lisp (file)

Function: z1 BETA1 BETA2 OMEGA12
Package
Source

geodesic.lisp (file)

Function: z2 BETA1 BETA2 OMEGA12
Package
Source

geodesic.lisp (file)

Previous: , Up: Top   [Contents][Index]

## Appendix A Indexes

Next: , Previous: , Up: Indexes   [Contents][Index]

### A.1 Concepts

Next: , Previous: , Up: Indexes   [Contents][Index]

### A.2 Functions

Jump to: 3   A   B   C   D   F   H   I   J   L   M   N   O   P   Q   R   S   Z
Jump to: 3   A   B   C   D   F   H   I   J   L   M   N   O   P   Q   R   S   Z

Next: , Previous: , Up: Indexes   [Contents][Index]

### A.3 Variables

Index Entry Section `geodesic`: The geodesic system `geodesic`: The geodesic package `Package, geodesic`: The geodesic package `System, geodesic`: The geodesic system