Skip to main content

Toolbox for 3D geonumerical calculations

Project description

build-status docs

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 to support also the vertical dimension. 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

  • Version 1.4.3 released (20/05/2019)
  • Version 1.4.0 released (22/04/2019, more information)
  • Now also available and tested in Python > 3
  • Changed requirement LatLon -> LatLon23 to support Python 3


It is recommended to use Anaconda as Python package manager.

Please see requirements.txt for a list of requirements. Note that these are only the minimum required dependencies. Further, optional requirements are listed below. Note, that dependent on your OS and python version, some of these may be tricky to install:

Optional dependencies (to use extra features)

  • basemap (plotting of maps)
  • OpenCV
  • netCDF4


Geonum is tested and can be installed both for Python 2.7 and Python >= 3.6 and on all common OS (Windows, linux and OSX).

Installation via conda

The easiest way to install geonum is to install the latest release via the conda-forge channel:

conda install -c conda-forge geonum

This will install all the requirements as well.

Installation via pip or from source

Please make sure to install all requirements beforehand (see above). You may do this by downloading the requirements file and calling from the command line:

pip install -r requirements.txt

or - if you use Python 3 - by creating a new conda environment using the provided conda environment file:

conda env create -n geonum_env -f geonum_env_py3.yml

After installing the requirements, geonum can be installed from PyPi using:

pip install geonum

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

python install

Instructions and code documentation

The code documentation of geonum is hosted on Read The Docs

Getting 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

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

Planned changes

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

Project details

Download files

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

Files for geonum, version 1.4.4
Filename, size File type Python version Upload date Hashes
Filename, size geonum-1.4.4-py3-none-any.whl (82.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size geonum-1.4.4.tar.gz (62.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page