Thursday, 15 October 2015

arcgis desktop - Can Compound Topographic Index (CTI) / Topographic Wetness Index (TWI) produce negative values?


I am calculating Topographic Wetness Index for a study area using SRTM DEM (90 and 30m).


I've seen several versions of TWI (CTI). I have been using: TWI = ln(As +1 / tanB) where As = catchment area, B = slope (degrees/radians??)


When I run this function, the output contains negative values (using slope in degrees and radians). Are negative values acceptable? Or does this indicate an error in the analysis??


I understand the output should be scaled to 1-10, but negative values seems counter intuitive. Could someone explain what negative values could mean (due to flat areas, no data values?)



On a side not, the calculations are being run on on a very large area, which overaps several watersheds. Is it appropriate to run TWI over such a large extent?



Answer



You should not be seeing negative values in the CTI. Since you did not provide a reproducible example I cannot speculate as to why you are getting incorrect results. The expected range is not limited 1-10. The range will be defined by flow accumulation which is influenced by the size of the basins that are accumulating flow. The index does not rely on washed boundaries so the extent of the DEM should not matter.


The common implementation of CTI can be shown as: CTI = ln(a / (tan (beta)) where; a=Upland contributing area [(flow accumulation + 1 ) * (cellsize)]and beta=slope in radians.


Here are the raster algebra steps to calculate CTI (you will have to translate syntax to your version of ArcGIS):


cellsize=30
fd = flowdirection(dem)
sca = flowaccumulation(fd)
slope = ( slope(dem) * 1.570796 ) / 90
tan_slp = con( slope > 0, tan(slope), 0.001 )

sca_scaled = ( sca + 1 ) * cellsize
cti = ln ( sca_scaled / tan_slp )

No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...