egm2008

Crates.ioegm2008
lib.rsegm2008
version0.1.0
sourcesrc
created_at2023-11-01 14:15:34.366387
updated_at2023-11-01 14:15:34.366387
descriptionEarth Gravitational Model (EGM2008)
homepagehttps://github.com/flightaware/egm2008
repositoryhttps://github.com/flightaware/egm2008
max_upload_size
id1021108
size74,717
FlightAware Staff (github:flightaware:flightaware-staff)

documentation

README

Earth Gravitational Model (EGM2008)

The coordinate system used by GPS is WGS 84, which expresses altitudes as a "height above ellipsoid". Because this ellipsoid is a mathematical simplification, the height given by GPS does not necessarily reflect the height above the actual ground beneath.

The Earth Gravitational Models published by the National Geospatial Intelligence Agency are a way to approximate how high an altitude given in WGS 84 coordinates truly is above the ground.

This library includes data derived from EGM 2008 along with an interpolation function. Together, these allow for an approximate offset to be obtained for arbitrary points on the globe.

The geoid.rs file containing terrain data is generated using the Fortran program provided by NGA.

Updating geoid.rs

The src/geoid.rs file is generated by a Python script (generate.py) that runs NGA's Fortran interpolation program. In order to run the script, you'll need to download the EGM model data from the NGA's website.

You will also need to install gfortran. There are a few ways to do this:

  • On macOS, through Homebrew with brew install gfortran.
  • Use the included Nix dev shell with nix develop.

For convenience, you can run generate_geoid.sh which will download and verify the model data from NGA, compile the interpolation program, and update src/geoid.rs.

Commit count: 3

cargo fmt