Skip to main content

Toolbox for 3D geonumerical calculations

Project description


NEW: Supports both Python 2.7 and 3.6 from now.

geonum provides functionality for geographical calculations in three dimensions and includes interfaces for accessing and processing of topographic data. Most of the features (e.g. distance retrievals) are based on the two fundamental objects GeoPoint and GeoVector3D which are inherited from the respective 2D base classes of the LatLon23 module and were expanded including the 3rd dimension (altitude). Geonum features online access to topographic data from the SRTM dataset, using the SRTM module. Furthermore, topographic data from the ETOPO1 Dataset is supported.

News / Notifications

  • Now also available and tested in Python 3.6
  • Changed requirement LatLon -> LatLon23 to support Python 3

Planned changes

  • Refactoring of basemap dependency to cartopy
  • TopoData should be based on xarray.DataArray
  • Support for more topographic datasets, interpolation of gaps in topodata


It is recommended to use Anaconda as Python package manager as it includes many of the required dependencies and makes life easier when it comes to the installation or upgrade of non-straight forward installations of additional requirements such as OpenCV or basemap.

  • numpy
  • matplotlib >= 1.4.3
  • matplotlib basemap (installation of this module may not be straight forward - especially on Windows machines -, please follow the instructions provided on the web page)
  • LatLon23 >= 1.0.7
    • LatLon23 requires installation of pyproj
  • Scipy (including scipy.ndimage)

Optional dependencies (to use extra features)

  • OpenCV (used for changing resolution of topographic elevation maps, for installation remarks, see here)
  • netCDF4 (needed in case ETOPO1 data acess is required).


Geonum can be installed from PyPi using:

pip install geonum

or from source by downloading and extracting the latest release. After navigating to the source folder (where the file is located) call:

python install

If the installation fails make sure, that all dependencies (see above) are installed correctly. geonum is tested for Python 2.7.

Instructions and code documentation

The code documentation of geonum is hosted on Read The Docs

Get started

After installation try running the example scripts in order to test the installation. The scripts are also meant to provide an easy start into the main features of geonum.

Supported ETOPO1 files

In order to use topography data from the ETOPO1 dataset, please download and unzip one of the following files to the package folder geonum/local_topo_data/. Tested and supported are the following two files (grid registered):

  1. Ice surface: ETOPO1_Ice_g_gmt4.grd (download here)
  2. Bedrock: ETOPO1_Bed_g_gmt4.grd (download here)

The local installation folder can be accessed via:

import geonum
print geonum.LOCAL_TOPO_PATH

If a valid data file is stored in this folder, it will be detected automatically. It is also possible to store the topodata at another location (e.g. <data_path>). In this case, the local path to the folder containing the topograph files needs to be provided, e.g.:

import geonum
access = geonum.topodata.TopoDataAccess(mode = "etopo1", local_path = <data_path>)

If the path is valid, it will be added to the installation file LOCAL_TOPO_PATHS.txt

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
geonum-1.3.2-py2-none-any.whl (55.2 kB) Copy SHA256 hash SHA256 Wheel py2
geonum-1.3.2.tar.gz (44.3 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page