Topotoolbox
This repository contains the latest release. A newer pre-release version is available at wschwanghart/topotoolbox
Install / Use
/learn @csdms-contrib/TopotoolboxREADME
TopoToolbox - a set of Matlab functions for topographic analysis
<img src="https://github.com/wschwanghart/topotoolbox/blob/master/topotoolbox.jpg" align="center" height="100">TopoToolbox provides a set of Matlab functions that support the analysis of relief and flow pathways in digital elevation models. The major aim of TopoToolbox is to offer helpful analytical GIS utilities in a non-GIS environment in order to support the simultaneous application of GIS-specific and other quantitative methods.
If you have any questions or remarks, please contact the authors:
Wolfgang Schwanghart w.schwanghart[at]geo.uni-potsdam.de
Dirk Scherler scherler[at]gfz-potsdam.de
Requirements
TopoToolbox is plat-form independent and requires Matlab 2016b or higher and the Image Processing Toolbox. The Mapping Toolbox is not mandatory, but good to have to facilitate easy data exchange with GIS software. Some functions support parallelisation using the Parallel Toolbox. Few functions require the Optimization or Statistics and Machine Learning Toolbox.
References
When you use TopoToolbox in your work, please reference following publication:
- Schwanghart, W., Scherler, D. (2014): TopoToolbox 2 – MATLAB-based software for topographic analysis and modeling in Earth surface sciences. Earth Surface Dynamics, 2, 1-7. DOI: 10.5194/esurf-2-1-2014
If you are using version 1, then please refer to this publication:
- Schwanghart, W., Kuhn, N.J. (2010): TopoToolbox: a set of MATLAB functions for topographic analysis. Environmental Modelling & Software, 25, 770-781. DOI: 10.1016/j.envsoft.2009.12.002
In addition, various models and algorithms used in TopoToolbox have been published in the following articles.
DEM preprocessing and carving
-
Schwanghart, W., Groom, G.B., Kuhn, N.J., Heckrath, G., 2013: Flow network derivation from a high resolution DEM in a low relief, agrarian landscape. Earth Surface Processes and Landforms, 38, 1576-1586. DOI: 10.1002/esp.3452
-
Schwanghart, W., Scherler, D., 2017. Bumps in river profiles: uncertainty assessment and smoothing using quantile regression techniques. Earth Surface Dynamics, 5, 821-839. DOI: 10.5194/esurf-5-821-2017
TopoToolbox Landscape Evolution Modelling (TTLEM) and HyLands
-
Campforts, B., Schwanghart, W., Govers, G. (2017): Accurate simulation of transient landscape evolution by eliminating numerical diffusion: the TTLEM 1.0 model. Earth Surface Dynamics, 5, 47-66. DOI: 10.5194/esurf-5-47-2017
-
HyLands: Campforts B., Shobe M.C., et al. (2020): HyLands 1.0: a Hybrid Landscape evolution model to simulate the impact of landslides and landslide-derived sediment on landscape evolution. Geosci. Model Dev., 13, 3863–3886. DOI: 10.5194/gmd-13-3863-2020
Excess topography
- Blöthe, J.H., Korup, O., Schwanghart, W., 2015: Large landslides lie low: Excess topography in the Himalaya-Karakorum ranges. Geology, 43, 523-526. DOI: 10.1130/G36527.1
Knickpointfinder
- Stolle, A., Schwanghart, W., Andermann, C., Bernhardt, A., Fort, M., Jansen, J.D., Wittmann, H., Merchel, S., Rugel, G., Adhikari, B.R., Korup, O., 2019. Protracted river response to medieval earthquakes. Earth Surface Processes and Landforms, 44, 331-341. DOI: 10.1002/esp.4517 (The description here is very terse, yet)
Divide functions
-
Scherler, D., Schwanghart, W., 2020. Drainage divide networks – Part 1: Identification and ordering in digital elevation models. Earth Surface Dynamics, 8, 245–259. DOI: 10.5194/esurf-8-245-2020
-
Scherler, D., Schwanghart, W., 2020. Drainage divide networks – Part 2: Response to perturbations. Earth Surface Dynamics, 8, 261-274. DOI: 10.5194/esurf-8-261-2020
Point patterns on stream networks
- Schwanghart, W., Molkenthin, C., & Scherler, D. (2020). A systematic approach and software for the analysis of point patterns on river networks. Earth Surface Processes and Landforms, accepted. DOI: 10.1002/esp.5127
Getting started
Before working with TopoToolbox the directories and functions must be on the search path of Matlab. Enter following code into the command line:
addpath(genpath('C:\path\to\wherever\you\installed\this\TopoToolbox-2'))
To remove .git-folders from the path, run
rmpath(genpath('C:\path\to\wherever\you\installed\this\TopoToolbox-2\.git'));
To make these paths permanent, use the command
savepath
Type doc in the command line to open the main documentation page. You'll
find the TopoToolbox documentation in the section Supplemental Software.
The documentation contains several user's guides that will help you
getting started. In addition, TopoToolbox functions have extensive help
sections (e.g. help gradient8 or help STREAMobj/modify. An additional
resource for code and examples is the TopoToolbox blog.
Version History
2.4
- HyLands 1.0 added: see paper: Campforts, B. et al. (2020): HyLands 1.0: a Hybrid Landscape evolution
model to simulate the impact of landslides and landslide-derived sediment on landscape evolution
Geoscientific Model Development. DOI:10.5194/gmd-13-3863-2020 - new class: DIVIDEobj Paper 1 DOI: 10.5194/esurf-8-245-2020 Paper 2 DOI: 10.5194/esurf-8-261-2020
- new class: PPS DOI: 10.1002/esp.5127
- modification: update to ttscm to Scientific Colormaps 7.0 see Fabio Crameri's website
- new function: FLOWobj/plotdbfringe
- new function: FLOWobj/tfactor
- new function: private in FLOWobj graydistparallel
- new function: GRIDobj/diffusion
- new function: GRIDobj/histogram
- new function: GRIDobj/rand
- new function: PPS/extractvaluesaroundpoints
- new function: STREAMobj/extend2divide
- new function: STREAMobj/binarize
- modification: STREAMobj/modify
- modification: STREAMobj/wmplot
- new function: STREAMobj/loessksn
- new function: STREAMobj/STREAMobj2shape
- new function: STREAMobj/isequal
- new function: STREAMobj/isempty
- new function: STREAMobj/STREAMobj2kml
- new function: STREAMobj/getlocation
- new function: STREAMobj/fastscape
- modification: STREAMobj/smooth
- new function: STREAMobj/mnoptimvar
- modification: STREAMobj/STREAMobj2cell
- modification: STREAMobj/netdist and PPS/netdist
- new function: STREAMobj/istrunk
- modification: STREAMobj/trunk - added second output argument
- modification: GRIDobj/demprofile
- new function: ScaleBar
- new function: xlinerel and ylinerel
- new function: gif by Chad Greene see here
- topoapp was removed from this version
- updates to readopentopo
- updates to utilities: setextent and getextent
- new function: padextent
- new function: ukrainecolor
2.3
- Documentation in the documentation browser
- new function: ttcmap for creating nice colormaps for DEMs, particularly if DEMs include topography and bathymetry
- FLOWobj2gradient renamed to gradient
- new function: ttscm for access to scientific colormaps; see Fabio Crameri's website
- new function: mappingapp (lightweighed GUI for mapping points simultaneously in planform and profile view) still beta!
- new function: FLOWobj/mapfromnal
- enhancement: FLOWobj/multi2single allows area thresholding
- new function: STREAMobj/getvalue
- new function: STREAMobj/hillslopearea
- new function: STREAMobj/zerobaselevel
- new function: STREAMobj/knickpointfinder
- new function: STREAMobj/stackedplotdz
- new function: STREAMobj/sinuosity
- new function: STREAMobj/clean
- new function: STREAMobj/nal2nal
- new function: STREAMobj/netdist
- new function: STREAMobj/tribdir
- new function: GRIDobj/clip
- new function: GRIDobj/GRIDobj2im
- new function: GRIDobj/getextent
- new function: IOtools/readexample
- renamed GRIDobj/project2GRIDobj to GRIDobj/project. In addition, the function has a number of new functionalities.
- modification: STREAMobj/modify has new options for interactively modifying stream networks and to extract streams that confluence from a specified direction.
- changes to readopentopo, getcoordinates, getoutline, polygon2GRIDobj, line2GRIDobj
- new function: hydrosheds2FLOWobj (see in IOtools)
- new function: egm96heights including the grid ww15mgh.grd that contains global geoid undulations based on the EGM96 geoid.
2.2
- TTLEM is part of TopoToolbox; see our paper: Campforts, B., Schwanghart, W., Govers, G. (2017): Accurate simulation of transient landscape evolution by eliminating numerical diffusion: the TTLEM 1.0 model. Earth Surface Dynamics, 5, 47-66. DOI: 10.5194/esurf-5-47-2017
- new functions for smoothing and hydrological correction: STRE
