ChanGeom - Channel Geometry, River Width, and along-stream distance extraction from KML files. The KML files can be created in Google Earth (manual clicking along river paths) or by automatic extraction from airphotos or satellite imagery. This is a modified and enhanced version originally described in:
Fisher, G.B., Bookhagen, B., Amos, C.B. (2013): Channel planform geometry and slopes from freely available high-spatial resolution imagery and DEM fusion: Implications for channel width scalings, erosion proxies, and fluvial signatures in tectonically active landscapes, Geomorphology, http://dx.doi.org/10.1016/j.geomorph.2013.04.011
Please cite that manuscript when using these scripts.
Contact Bodo Bookhagen ([email protected]) for questions and comments pertinent to the code.
The following major changes have been done to the original code:
- Full Python 3.6 implementation
- gdal and ogr workflows to read and write large number of shapefiles and tif files
- automatic (re-) projection of input files and fully automatized workflows
- Scipy-based channel extraction (no Matlab required) WILL BE UPDATED to allow CUDA and multi-core processing
- merging all channel width shapefiles into one coherent shapefile for each region for easier analysis
- linking channel width file with topographic information from DEM file (drainage area, flow distance, slope) through Kd trees (no ESRI arcpy or ArcMap necessary). This is a significant speed improvement over arcpy.
- generating standard output plots through matplotlib to visualize and analyze results
- Generating a Python-Pandas DataFrame with all data for efficient and fast analysis
- Saving all data to ASCII and HDF files for further analysis in Python-Pandas or Matlab
The code will run on any operating system. You will need to install a number of packages for python, but these should be standard on any Python 3.X installation (e.g., Anaconda, WinPython): gdal, ogr, numpy, scipy, matplotlib, pandas
You will only need to change/set parameters in the ChanGeom.ini file. These will need to be modifed for each region. See the ChanGeom.ini file for more information. You should create a separate ChanGeom.ini file for each region.
Will follow.