GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • index
  • next
  • previous
  • Library
  • Show Source

This view

  • Original page
  • New address

GeezerVison is showing geographiclib.sourceforge.io — Library — GeographicLib 2.5 documentation

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]

[1]

Active branches are main and devel. For the C++ repository, releases are available on the release branch.

[2]

The download links offered here are the ones updated as soon as there’s a release. The packages are also available, as noted, from other downstream providers. Prior to version 2.0, all the languages were bundled into a single source package available here.

[3]

This repository also hold the implementations in other languages for versions before 2.0.

[4]

Also available in several Linux distributions (Debian, Ubuntu, Fedora, etc.) and as packages on conda-forge (C++), vcpkg, and brew.

[5]

The C library is incorporated into PROJ and the R package geosphere.

[6]

Also available as a PyPI package and in conda-forge (Python)

[7]

This is compatible with both Octave and MATLAB. This package also includes several other components of the C++ library and a treatment of great ellipses and triaxial ellipsoid (not in C++ library).

[8]

Also available as a MATLAB Central package.

[9]

Also includes the gnomonic projections.

[10]

Also available as a Maven Central package

[11]

Consists of 2 packages geographiclib-geodesic and geographiclib-dms for handling geodesic calculations and DMS strings, respectively.

[12]

Also available as npm packages geographiclib-geodesic and geographiclib-dms.

Online utilities¶

The C++ library provides some online tools using GeographicLib

  • geographic coordinate conversions between latitude/longitude, UTM or UPS, and MGRS;

  • direct and inverse geodesic calculations;

  • calculate the perimeter and area of geodesic polygons;

  • various geodesic calculations using JavaScript;

  • a tool for displaying geodesics on Google Maps;

  • rhumb line calculator;

  • evaluate the geoid height for EGM84, EGM96, and EGM2008.

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

  • the geodesic problem

  • the transverse Mercator projection

  • geoid heights

Other implementations¶

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

  • Mathematica: Kei Misawa, mathematica-geodesic.

  • R: R. J. Hijmans, geosphere.

  • Rust: Michael Kirk, Rust implementation of GeographicLib.

  • Go: Patrick Yukman, A Go port of GeographicLib.

  • Python via Cython: Sergey Serebryakov, Cython extension module for GeographicLib.

  • JavaScript via emscripten: William Wall, OpenSphere ASM.

  • JavaScript: Jaco, a graphical tool for geodesic calculations.

  • Swift native: Mike Roncone, Swift Implementation of the geodesic routines in GeographicLib.

  • Swift wrapper: Scott Hoyt, Swift wrapper for the geodesic routines in GeographicLib-C.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.