Package: geonum
geonumprovides 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 objectsGeoPointandGeoVector3Dwhich are inherited from the respective 2D base classes of theLatLon23 moduleand were expanded to support also the vertical dimension.
Geonum features online access to topographic data from the SRTM dataset, using theSRTM module. Furthermore, topographic data from theETOPO1 Datasetis supported.CopyrightCopyright (C) 2017 Jonas Gliß (jonasgliss@gmail.com)This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License a published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along with this program. If not, seehere.RequirementsIt is recommended to use thecondaPython package manager (get it e.g. viaminiconda)Please seerequirements.txtfor 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)OpenCVnetCDF4Installationgeonum is tested and can be installed both for Python >= 3.6 and on all common OS (Windows, linux and OSX).Installation via condaThe easiest way to install geonum is to install thelatest release via the conda-forge channel:conda install -c conda-forge geonumThis will install all requirements as well.Installation via pip or from sourcePlease make sure to install all requirements beforehand (see above). You may do this by downloading therequirements fileand calling from the command line:pip install -r requirements.txtor - if you use Python 3 - by creating a new conda environment using the providedconda environment file:conda env create -n geonum_env -f geonum_env.ymlAfter installing the requirements, geonum can be installed fromPyPiusing:pip install geonumor from source by downloading and extracting the latest release or cloning the repository. After navigating to the source folder (where the setup.py file is located) call:python setup.py installInstructions and code documentationThe code documentation of geonum is hosted onRead The DocsGetting startedAfter installation try running theexample scriptsin order to test the installation. The scripts are also meant to provide an easy start into the main features of geonum.Supported ETOPO1 filesIn order to use topography data from the ETOPO1 dataset, please download and unzip one of the following files to the package foldergeonum/local_topo_data/.
Tested and supported are the following two files (grid registered):Ice surface: ETOPO1_Ice_g_gmt4.grd (downloadhere)Bedrock: ETOPO1_Bed_g_gmt4.grd (downloadhere)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 fileLOCAL_TOPO_PATHS.txtPlanned changes (for v2.0.0)See below for my (@jgliss) personal wish-list of new features, help is more than welcome as I have to work on geonum mostly in my spare time.Refactoring ofbasemapdependency tocartopyBaseTopoDataonxarray.DataArraySupport for more topographic datasets, interpolation of gaps in topodata, merging and interpolation of different topographic datasets