When classification constant is defined as 'height':
1, module doesn't respect 'Sort' parameter.
2. Results in 'Module execution failed', but result looks okay (taking into account 1.)
The name 'Sort' itself is confusing. From what I understand it just depends how we look at hypsometric curve, but usually all area is above outlet, and no area higher than highest point.
When classification constant is defined as 'area', relative height goes only to ~50%.
Effective number of classes for 'height' is +1, whereas for 'area' classification I got only 1311 when requested 2651 (I wanted 2652 in fact).
I attach the snapshot with SAGA's hypsometry plot and that from ArcMap. To get hypsometric curve in ArcMap, I multiplied all values by 100 and converted them to integer. It allowed me to get a table with elevation and cell count that I used in MS Excel to produce plot. Elevation was divided by 100 in Excel, of course, and cumulative area was calculated from cell count.
P.S. I used 1m DEM in ArcMap and 3m DEM in SAGA, but it shouldn't result in such behavior.
Anonymous
MS Excel snapshot with results from ArcMap & SAGA
@ Mikhail, please help me by providing the detail procedures to create hypsometric curve from DEM in ArcGIS..Thanking you..
@Jigme This is not an ArcGIS support forum. I wrote what one can do for hyspsometric curve with ArcGIS. Only integer valued rasters have Raster Attribute Table that ArcGIS populates with value count that can be converted to an area using cell size.
If you want an alternative open source solution, consider http://plugins.qgis.org/plugins/hypsometry/ . Otherwise SAGA GIS will do the job just fine. I hope this was fixed a while ago although I did not check.
Here is a quick link to the snapshot since sf.net requires to download image instead of just showing it.
http://img132.imageshack.us/img132/2417/sagahypsometryexcel.png
I've fixed the bug that the module returned 'Module execution failed' when method 'height' is used. The module just reported back false, the computational method itself is not affected.
I have not read the references that were used to program this module, so I can't say much about the other issues.
But I think that it is intended that the output returns the number of classes + 1. This way you get the complete range (0-100) in order to plot a complete diagram.
Regarding the requested 2651 classes with method 'area' in your example - I think 1311 is the maximum number that can be computed in this case. The stepping used is calculated as
nSteps = number of grid cells / number of classes
and thus depends on the number of cells in your grid.
I can't see any discrepancies between ArcGIS and SAGA in your screen shot, besides that the naming of the methods might be different and that you see more detail with SAGA.
Hopefully we can clarify the remaining issues in order to close the bug,
Volker
Yeah... I had a feeling that it was just a glitch with return value.
In my opinion references are a bit unrelated :-) I didn't read them thoroughly though, but they talk about statistical moments calculation as a kind of fingerprint instead of looking just at the shape. Module doesn't calculate any such integrals. At least I don't see them among results.
I don't mind against +1 issue, though it would be nice to have a note about it.
For method "area", I feel like I tried different values for classes, I end up with 50% relative height anyway. I'll double check that.
Well.. for ArcMap result I can see that for 380 m elevation, I have 20 square miles area, while for SAGA I have it for 390 meters. Also I don't understand why shape is so different for relative units for "area" method (up-most right-most figure on the picture).
And what about "Sort" parameter? It influences results for "area" method, but is ignored for "height" method.
I confirm that even for default 100 classes I get relative height up to 49% only with "area" classification and sort "down" and from 51% to 100% if sort is "up".
I'm working through older bug reports and came across this one. I've just committed some changes to the module and did some test, seems like it is working now as expected.
Hypsometry module: rework/add module and parameter descriptions, add parameter en/disable methods to reflect possible parameter configurations and add error messages in case of module execution failure; refers to bug #110 http://sourceforge.net/p/saga-gis/code-0/2103/