This plugin provides tools to help geomorphological analysis, especially in drainage basins.
Author = João Vitor Pimenta
Email = jvpjoaopimenta@gmail.com
The following technologies were used in processing the algorithms of this plugin:
- QGIS
- GeoPandas
- Numpy
- Plotly
- GDAL
- OGR
With QGIS open, follow these steps: plugins -> manage and install plugins -> install from ZIP Then select the ZIP containing this plugin -> install plugin or place this plugin in the folder corresponding to plugins installed in QGIS.
This plugin offers tools for studying the geomorphology of drainage basins, are they:
This tool calculates all morphometric parameters of the watershed as shown in the table below. If any known parameter is not being calculated, feel free to message me.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
Channel network - Vector layer containing the drainage network of the drainage basins.
Channel coordinate precision - It is the precision of the channel coordinates, for example: for a precision of 0.000001 the coordinate xxxxxx.xxxxxxxxxxxx becomes xxxxxx.xxxxxx. It is recommended to use 0.000001 to correct possible geometry errors when selecting channels that intersect the basin.
DEM - Digital Elevation Model in the area of the drainage basins.
Output:
All morphometric parameters - All morphometric parameters calculated, for each basin, in .csv.
This tool calculates linear parameters of the watershed as shown in the table below. If any known parameter is not being calculated, feel free to message me.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
Channel network - Vector layer containing the drainage network of the drainage basins.
Channel coordinate precision - It is the precision of the channel coordinates, for example: for a precision of 0.000001 the coordinate xxxxxx.xxxxxxxxxxxx becomes xxxxxx.xxxxxx. It is recommended to use 0.000001 to correct possible geometry errors when selecting channels that intersect the basin.
DEM - Digital Elevation Model in the area of the drainage basins.
Output:
All morphometric parameters - Linear parameters calculated, for each basin in .csv.
This tool calculates relief parameters of the watershed as shown in the table below. If any known parameter is not being calculated, feel free to message me.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
Channel network - Vector layer containing the drainage network of the drainage basins.
Channel coordinate precision - It is the precision of the channel coordinates, for example: for a precision of 0.000001 the coordinate xxxxxx.xxxxxxxxxxxx becomes xxxxxx.xxxxxx. It is recommended to use 0.000001 to correct possible geometry errors when selecting channels that intersect the basin.
DEM - Digital Elevation Model in the area of the drainage basins.
Output:
Shape parameters - Relief parameters calculated, for each basin, in .csv.
This tool calculates shape parameters of the watershed as shown in the table below. If any known parameter is not being calculated, feel free to message me.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
Channel network - Vector layer containing the drainage network of the drainage basins.
Channel coordinate precision - It is the precision of the channel coordinates, for example: for a precision of 0.000001 the coordinate xxxxxx.xxxxxxxxxxxx becomes xxxxxx.xxxxxx. It is recommended to use 0.000001 to correct possible geometry errors when selecting channels that intersect the basin.
Output:
Shape parameters - Shape parameters calculated, for each basin, in .csv.
This tool calculates the elevation area volume curves (above) for all features provided in the drainage basin layer as input.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
DEM - Digital Elevation Model in the area of the drainage basins.
Distance between contour lines - The spacing between contour lines, between the first and last contour lines.
Base level - The reference elevation to calculate the area and volume above.
Output:
Elevation area volume data - Elevation Area Volume data, for each basin, in .csv.
Graphs - Graphs with elevation-area and elevation-volume curves, for each basin, stored in .HTML format in a folder.
This tool calculates the elevation area volume curves (below) for all features provided in the drainage basin layer as input.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
DEM - Digital Elevation Model in the area of the drainage basins.
Distance between contour lines - The spacing between contour lines, between the first and last contour lines.
Base level - The reference elevation to calculate the area and volume below.
Output:
Elevation area volume data - Elevation Area Volume data, for each basin, in .csv.
Graphs - Graphs with elevation-area and elevation-volume curves, for each basin, stored in .HTML format in a folder.
This tool calculates the elevation area volume curves (above and below) for all features provided in the drainage basin layer as input.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
DEM - Digital Elevation Model in the area of the drainage basins.
Distance between contour lines - The spacing between contour lines, between the first and last contour lines.
Minimum level - The minimum elevation of the elevation area volume curve.
Maximum level - The maximum elevation of the elevation area volume curve.
Output:
Elevation area volume data - Elevation Area Volume data, for each basin, in .csv.
Graphs - Graphs with elevation-area and elevation-volume curves, for each basin, stored in .HTML format in a folder.
This tool calculates and plots the hypsometric curves, with absolute or relative values (from 0 to 1). The hypsometric curves represents the area above a certain elevation.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
DEM - Digital Elevation Model in the area of the drainage basins.
Distance between contour lines - The spacing between contour lines, between the first and last contour lines.
Output:
Hypsometric curves - The data used to create the hypsometric curves, for each basin, in .csv.
Graph - The graph with the hypsometric curves, for each basin, in .html.
This tool calculates the inundated area from the EAV curve, it uses the elevation associated with a user-given curve parameter, and then plots the area below that elevation.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
DEM - Digital Elevation Model in the area of the drainage basins.
Parameter - The elevation - area - volume graph variable to be used to calculate the elevation of the inundated area.
Parameter value - The numerical value of the elevation - area - volume graph variable to be used to calculate the elevation of the inundated area.
Nodata value for output band - The NoDataValue value of the output raster layer band.
Output:
Inundation raster - The raster of the inundated area, the raster band represents the depth related to the inundated area, that is, the bathymetry.
Inundation vector - The vector with the inundated area, in the vector attribute table has the EAV curve variables related to the parameter provided by the user.
This tool calculates the cutted area as a raster, for each basin, and as a vector, for each basin, with the attribute table containing the height, elevation, area and volume values.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
DEM - Digital Elevation Model in the area of the drainage basins.
Parameter - The elevation - area - volume (above) graph variable to be used to calculate the elevation of the cutted area.
Parameter value - The numerical value of the elevation - area - volume (above) graph variable to be used to calculate the elevation of the cutted area.
Nodata value for output band - The NoDataValue value of the output raster layer band.
Output:
Cutted DEM - The raster of the cutted area.
Modified area - The vector with the cutted area, in the vector attribute table has the EAV curve variables related to the parameter provided by the user.
This tool calculates the filled area as a raster, for each basin, and as a vector, for each basin, with the attribute table containing the height, elevation, area and volume values.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
DEM - Digital Elevation Model in the area of the drainage basins.
Parameter - The elevation - area - volume (below) graph variable to be used to calculate the elevation of the filled area.
Parameter value - The numerical value of the elevation - area - volume (below) graph variable to be used to calculate the elevation of the filled area.
Nodata value for output band - The NoDataValue value of the output raster layer band.
Output:
Cutted DEM - The raster of the filled area.
Modified area - The vector with the filled area, in the vector attribute table has the EAV curve variables related to the parameter provided by the user.
This tool calculates the filled/cutted area as a raster, for each basin, and as a vector, for each basin, with the attribute table containing the height, elevation, area and volume values.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
DEM - Digital Elevation Model in the area of the drainage basins.
Parameter - The elevation - area - volume (above and below) graph variable to be used to calculate the elevation of the filled area.
Parameter value - The numerical value of the elevation - area - volume (above and below) graph variable to be used to calculate the elevation of the filled/cutted area.
Nodata value for output band - The NoDataValue value of the output raster layer band.
Output:
Cutted DEM - The raster of the filled/cutted area.
Modified area - The vector with the filled/cutted area, in the vector attribute table has the EAV curve variables related to the parameter provided by the user.
This tool calculates all morphometric parameters selected of each basin feature individually and then calculates a priority order for the basins, based on the parameters selected by the user and the morphometric method.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
Channel network - Vector layer containing the drainage network of the drainage basins.
Channel coordinate precision - It is the precision of the channel coordinates, for example: for a precision of 0.000001 the coordinate xxxxxx.xxxxxxxxxxxx becomes xxxxxx.xxxxxx. It is recommended to use 0.000001 to correct possible geometry errors when selecting channels that intersect the basin.
DEM - Digital Elevation Model in the area of the drainage basins.
Parameters for morphometric analysis (directly proportional) - Morphometric parameters directly proportional to the priority the user wants to analyze.
Parameters for morphometric analysis (indirectly proportional) - Morphometric parameters indirectly proportional to the priority the user wants to analyze.
Decimal places of the result - Number of decimal places in results.
Output:
Morphometric parameters - Morphometric parameters calculated, for each basin, in .csv.
Ranking table with compound parameter values - Table with ranked and compound values with the final ranking.
Ranked basins PCA - Original basin vector with two columns added, one with the compound parameter and the other with the final basin ranking.
This tool calculates all morphometric parameters selected of each basin feature individually and then calculates a priority order for the basins, based on the parameters selected by the user and the PCA method.
Inputs:
Drainage basins - Vector layer containing drainage basin features.
Channel network - Vector layer containing the drainage network of the drainage basins.
Channel coordinate precision - It is the precision of the channel coordinates, for example: for a precision of 0.000001 the coordinate xxxxxx.xxxxxxxxxxxx becomes xxxxxx.xxxxxx. It is recommended to use 0.000001 to correct possible geometry errors when selecting channels that intersect the basin.
DEM - Digital Elevation Model in the area of the drainage basins.
Parameters for morphometric analysis (directly proportional) - Morphometric parameters directly proportional to the priority the user wants to analyze.
Parameters for morphometric analysis (indirectly proportional) - Morphometric parameters indirectly proportional to the priority the user wants to analyze.
Decimal places of the result - Number of decimal places in results.
Output:
Morphometric parameters - Morphometric parameters calculated, for each basin, in .csv.
Correlation table - File containing the table with the intercorrelation matrix of the parameters selected by the user.
Total variance explained table - Amount of variance explained by each component of the PCA analysis (eigenvectors and eigenvalues), selected based on Kaiser's rule (eigenvectors with eigenvalues > 1).
Unrotated and rotated matrix - Matrix with the correlation of the parameters in relation to the selected components, unrotated and rotated by the varimax method.
Ranking table with compound parameter values - Table with ranked and compound values with the final ranking.
Ranked basins PCA - Original basin vector with two columns added, one with the compound parameter and the other with the final basin ranking.
All inputs must be in a projected coordinate system for consistent results.
Special thanks to the authors of all the technologies used in this plugin and who made it possible, to my parents, friends and teachers.
" If I have seen farther than others, it is because I have stood on the shoulders of giants. " - Isaac Newton
If you have any questions, suggestions, errors or need information/training about the plugin, please contact: jvpjoaopimentadev@gmail.com
GNU General Public License, version 3
Category | Parameter | Symbol | Formula | Description | References |
---|---|---|---|---|---|
Linear | Stream Order | u | Hierarchical | Order of watercourses (Strahler method). | Strahler (1957) |
Linear | Stream Number | Nu | Count | Number of stream segments of order u. | Horton (1945) |
Linear | Stream Length Total | Lu | Sum of lengths | Sum of lengths of streams of order u. | Horton (1945) |
Linear | Stream Length Mean | Lmean | Lu / Nu | Average length of streams of the same order. | Horton (1945) |
Linear | Stream Length Ratio | RL | Lu / Lu-1 | Ratio between lengths of consecutive orders. | Horton (1945) |
Linear | Mean Stream Length Ratio | ⟨RL⟩ | Average of RL | Average of length ratios between orders. | Horton (1945) |
Linear | Bifurcation Ratio | Rb | Nu / Nu+1 | Ratio between number of channels of consecutive orders. | Horton (1945) |
Linear | Mean Bifurcation Ratio | ⟨Rb⟩ | Average of Rb | Average of bifurcation ratios. | Horton (1945) |
Linear | RHO Coefficient | ρ | ⟨RL⟩ / ⟨Rb⟩ | Correlation between length ratio and bifurcation. | Horton (1945) |
Linear | Main Channel Sinuosity Index | SI | Lch / Ls | Ratio between main channel length and the length of the main channel if it were a straight line. | Leopold & Wolman (1957). |
Linear | Fitness Ratio | Rf | Lch / P | Ratio between main channel length and basin perimeter. | Melton (1957) |
Linear | Wandering Ratio | Rw | Lch / Lg | Ratio between main channel length and basin length. | Smart & Surkan(1967) |
Linear | Drainage Density | Dd | Lt / A | Ratio of total channel length to basin area. | Horton (1945) |
Linear | Stream Frequency | Fs | N / A | Ratio of total number of segments to basin area. | Horton (1945) |
Linear | Drainage Texture | Dt | N / P | Ratio of number of channels to basin perimeter. | Smith (1950) |
Linear | Length of Overland Flow | Lg | 1 / (2 × Dd) | Average length of surface (overland) flow. | Horton (1945) |
Linear | Constant of Channel Maintenance | Ccm | 1 / Dd | Area required to sustain 1 km of channel. | Schumm (1956) |
Linear | Drainage Intensity | Di | Fs / Dd | Ratio of stream frequency to drainage density. | Faniran (1968) |
Linear | Infiltration Number | If | Dd × Fs | Product of drainage density and stream frequency. | Faniran (1968) |
Shape | Area | A | Direct measurement | Basin area. | Shape data |
Shape | Perimeter | P | Direct measurement | Basin perimeter. | Shape data |
Shape | Basin Length | Lb | Direct measurement | Length of a straight line passing through the starting and ending points of the highest-order channel to the boundary of the basin. | Horton (1932) |
Shape | Circulatory Ratio | Rc | 4πA / P² | Measures circularity. | Miller (1953) |
Shape | Elongation Ratio | Re | (2 × √(A/π)) / Lb | Ratio of diameter of equivalent-area circle to basin length. | Schumm (1956) |
Shape | Form Factor | Ff | A / Lb² | Measures compactness of area relative to length. | Horton, R. E. (1932) |
Shape | Lemniscate Ratio | K | Lb² / 4A | index of adjustment of drainage basin shape to the ideal. | Chorley et al. (1957) |
Shape | Shape Index | Sb | Lb² / A | Inverse of Form Factor. | Horton (1932) |
Shape | Compactness Coefficient | Cc | P / 2 × √(πA) | Compactness normalized for a circle. | Horton (1932) |
Relief | Minimum Elevation | Emin | Direct measurement | Minimum elevation within basin. | DEM Data |
Relief | Maximum Elevation | Emax | Direct measurement | Maximum elevation within basin. | DEM Data |
Relief | Mean Elevation | Emean | (Emax + Emin) / 2 | Average of highest and lowest elevations. | DEM Data |
Relief | Relief (Bh) | Bh | Emax – Emin | Total relief (elevation range). | DEM Data |
Relief | Relief Ratio | Rh | Bh / Lb | Ratio of relief to basin length. | Schumm (1956) |
Relief | Relative Relief | Rhp | Emax / P | Ratio of relief to basin area. | Melton (1957) |
Relief | Ruggedness Number | Rn | Bh × Dd | Product of relief and drainage density. | Strahler (1954) |
Relief | Dissection Index | Di | (Emax - Emin) / Emax | Ratio of relief to perimeter. | Nir Dov (1957) |
Relief | Gradient Ratio | Gr | (Relief source - Relief mouth) / Lch | Ratio between the difference in altitude of the main channel and its length. | Sreedevi (2005) |
Elevation (m) | Area (m2) | Volume (m3) |
---|---|---|
Pixel elevation data crescent | Pixel elevation count × (Pixel width × Pixel height) (cumulative) | Elevation difference × area mean (trapezoid rule) (cumulative) |
Strahler (1952)
If the user inputs contour lines, the values will be calculated taking into account all elevations in the DEM, and then the area and volumes values will be interpolated to the contour lines input by the user.
This tool calculates the empty volume of the DEM by elevation.
Elevation (m) | Area (m2) | Volume (m3) |
---|---|---|
Pixel elevation data decrescent | Pixel elevation count × (Pixel width × Pixel height) (cumulative) | Absolute elevation difference × area mean (trapezoid rule) (cumulative) |
Strahler (1952)
If the user inputs contour lines, the values will be calculated taking into account all elevations in the DEM, and then the area and volumes values will be interpolated to the contour lines input by the user.
This tool calculates the solid volume of the DEM by elevation.
This tool has the same logic as the calculation of the volume above and below. The volume and area is the difference between the values above and the values below.
Relative height | Relative area | Hypsometric integral |
---|---|---|
(Elevation - Minimum elevation)/(Maximum elevation - Minimum elevation) | Pixel elevation count × (Pixel width × Pixel height) (cumulative) | Integral of the curve formed by elevation and area, using the trapezoidal rule. |
Absolute elevation (m) | Absolute area (m2) | Hypsometric integral |
---|---|---|
Elevation | Area (cumulative) | Integral of the curve formed by elevation and area, using the trapezoidal rule. |
Strahler (1952)
If the user inputs contour lines, the values will be calculated taking into account all DEM elevations, and then area values will be interpolated for the contour lines the user input.
Elevation (m) | Area (m2) | Volume (m3) |
---|---|---|
Fist elevation from curve | First area from curve | First volume from curve |
... | ... | ... |
Interpolated elevation or elevation provided by the user (if the user has chosen the elevation parameter) | Interpolated area or area provided by the user (if the user has chosen the area parameter) | Interpolated volume or volume provided by the user (if the user has chosen the volume parameter) |
... | ... | ... |
Last elevation from curve | Last area from curve | Last volume from curve |
The inundated area, in both raster and vector layers, is the area of pixels below the interpolated or given elevation (bathymetry).
The inundated raster layer band is the elevation value of the pixels minus the lowest elevation value within the basin.
The attribute table of the vector layer contains information about all the parameters associated with what was provided by the user. (Example: if the volume of X is provided, the attribute table will have the height, elevation and interpolated area for X)
This tool cuts the DEM based on the elevation - area - volume curve (above), for example, the tool will select the equivalent elevation of that parameter and "cut" what is on top.
This tool fills the DEM based on the elevation - area - volume curve (below), for example, the tool will select the equivalent elevation of that parameter and "fill" what is below.
This tool fills and cuts the DEM based on the elevation - area - volume curve (above and below), for example, the tool will select the equivalent elevation of that parameter and "fill" what is below and "cut" what is above.
This tool is used to calculate basin priority based on user-selected parameters. Examples of scientific studies that use this method include (Pastor et al., 2024) and (Rosado Victoria et al., 2025). Basin ranking is performed using the compound parameter, which is the average of the parameter rankings for each parameter.
This tool is used to calculate basin priority based on user-selected parameters prioritized using the Principal Component Analysis statistical method. Examples of scientific studies using this method include (Ojha et al., 2023) and (Govarthanambikai & Sridhar, 2024). After a PCA analysis to select the morphometric parameters that best explain the physical phenomenon, a weight is assigned to each parameter (based on the correlation with the eigenvectors). The compound parameter is then averaged by calculating the rankings of the selected parameters with assigned weights.
-
Horton, R. E. (1932). Drainage-basin characteristics. Transactions of the American Geophysical Union, 13, 350–361.
-
Smith, K. (1950). Standards for Grading Textures of Erosional Topography. American Journal of Science, 248, 655–668.
-
Strahler, A. N. (1952). Hypsometric (Area-Altitude) Analysis of Erosional Topography. Geological Society of America Bulletin, 63(11), 1117–1142.
-
Miller, V. C. (1953). A quantitative geomorphologic study of drainage basin characteristics in the Clinch mountain area, Virginia and Tennessee (Technical Report No. 3). Columbia University, New York.
-
Strahler, A. N. (1954). Quantitative geomorphology of drainage basins and channel networks. In V. T. Chow (Ed.), Handbook of Applied Hydrology (Vol. 4, pp. 39–76). McGraw-Hill.
-
Schumm, H. J. (1956). Evolution of drainage systems and slopes in badlands at Perth Amboy, New Jersey. Geological Society of America Bulletin, 67(5), 597–646.
-
Melton, M. A. (1957). An analysis of the relations among the elements of climate, surface properties and geomorphology (Technical Report No. 11). Department of Geology, Columbia University, New York.
-
Leopold, L. B., & Wolman, M. G. (1957). River channel patterns: Braided, meandering, and straight (U.S. Geological Survey Professional Paper 282–B). U.S. Government Printing Office.
-
Strahler, A. N. (1957). Quantitative analysis of watershed geomorphology. Transactions of the American Geophysical Union, 38(6), 913–920.
-
Dov, N. (1957). The ratio of relative relief and absolute altitudes of Mt.Carmel. Geographical Review, 47, 565.
-
Chorley, R. J., Malm, D. E. G., & Pogorzelski, H. A. (1957). A new standard for estimating drainage basin shape. American Journal of Science, 225, 138–141.
-
Smart, J. S., & Surkan, A. J. (1967). The relation between mainstream length and area in drainage basins. Water Resources Research, 3(4), 963–973.
-
Faniran, A. (1968). The Index of Drainage Intensity—A Provisional New Drainage Factor. Australian Journal of Science, 31, 328–330.
-
Sreedevi, P. D., Subrahmanyam, K., & Ahmed, S. (2005). The Significance of Morphometric Analysis for Obtaining Groundwater Potential Zones in a Structurally Controlled Terrain. Environmental Geology, 47, 412–420.
-
Pastor, I., Tanislav, D., Nedelea, A., Dunea, D., Serban, G., Haghighi, A. T., Sabau, D., & Bretcan, P. (2024). Morphometric Analysis and Prioritization of Sub-Watersheds Located in Heterogeneous Geographical Units—Case Study: The Buzău River Basin. Sustainability, 16(17), 7567. https://doi.org/10.3390/su16177567
-
Rosado Victoria, B., Vaca, V., Menoscal Menoscal, M., Garces, D., Larreta, E., & Mulas, M. (2025). Morphometric watershed prioritization for sustainable agriculture and water management on Santa Cruz Island, Galápagos. Environmental and Sustainability Indicators, 27, 100843. https://doi.org/10.1016/j.indic.2025.100843
-
Ojha, S., Puri, L., Bist, S. P., Bastola, A. P., & Acharya, B. (2023). Watershed prioritization of Kailali district through morphometric parameters and land-use/land-cover datasets using GIS. Heliyon, 9(6), e16489. https://doi.org/10.1016/j.heliyon.2023.e16489
-
Govarthanambikai, K., & Sridhar, S. (2024). Prioritization of watershed using morphometric parameters through geospatial and PCA technique for Noyyal River Basin, Tamil Nadu, India. Journal of Water and Climate Change, 15(3), 1218–1231. https://doi.org/10.2166/wcc.2024.546