Library

GeographicLib started off as a C++ library. However the component of the library solving the geodesic problem was sufficiently novel and sufficiently important that there was a need to port it to several other languages.

Infrastructure

The repositories for all implementations are on GitHub. The project is hosted on SourceForge and it hosts GeographicLib’s web pages and the file system for package distribution.

Supported languages

The C++ version of GeographicLib offers the broadest range of features. However, the geodesic routines are available several other languages. Here is a list of the supported languages.

language

information

repository[1]

download[2]

C++

C++ doc

C++ repo[3]

C++ packages[4]

C

C doc

C repo

C packages[5]

Fortran

Fortran doc

Fortran repo

Fortran packages

Python

Python doc

Python repo

Python packages[6]

Octave[7]

Octave doc

Octave repo

Octave packages[8]

Java[9]

Java doc

Java repo

Java packages[10]

JavaScript[11]

JS doc

JS repo

JS packages[12]

Online utilities

The C++ library provides some online tools using GeographicLib

Datasets

Some classes in the C++ library and the geoid functions in the Octave package require datasets to be available. Here are the links for the instructions for how to download and install these.

Dataset

geoids

geoid data

geoid instructions

gravity models

gravity data

gravity instructions

magnetic models

magnetic data

magnetic instructions

Test data

High quality test data is used to test GeographicLib for

Other implementations

Others have written independent implementations of the geodesic algorithms or have built other tools using GeographicLib: