SkillAgentSearch skills...

Topotoolbox

This repository contains the latest release. A newer pre-release version is available at wschwanghart/topotoolbox

Install / Use

/learn @csdms-contrib/Topotoolbox
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

TopoToolbox - a set of Matlab functions for topographic analysis

<img src="https://github.com/wschwanghart/topotoolbox/blob/master/topotoolbox.jpg" align="center" height="100">

View TopoToolbox on File Exchange

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
View on GitHub
GitHub Stars39
CategoryDevelopment
Updated7mo ago
Forks114

Languages

HTML

Security Score

82/100

Audited on Aug 27, 2025

No findings