Hi there, sorry for the late reply. I went looking in the paper by Hobson (1972), and the original formula for Fischer K is: (N-1)/(N-R), but in the module (and in my paper) I used the *inverse* of it (so smooth areas would end up with a low value). Inverting the formula gives (N-R)/(N-1).
As for merging the modules, I'm ok with it. makes more senso to have a generic roughness module with several options on methods. best Carlos On Wed, Jan 25, 2017 at 8:54 PM, Steven Pawley <[email protected]> wrote: > Hi Stefan, > > +1 for that suggestion. There might be a few variants / other > directional measures that could be included with a 'method' argument like > real surface area. > > Cheers, > > Steve > > On Wed, Jan 25, 2017 at 3:32 PM, Blumentrath, Stefan < > [email protected]> wrote: > >> Hi Steven, >> >> >> >> And many thanks for clarification and contrasting results in detail… >> >> And sorry for throwing the question at the list without having checked >> that (I just scanned the module code). >> >> >> >> I noticed the difference in the references referred to in both modules. >> From scanning the code they seemed to do the same thing, but now I see >> that the main difference is probably that r.vector.ruggedness uses slope >> directly for weighting vector strength, while r.roughness.vector uses the >> “inverted” slope / colatitude angle (90 – slope). Apart from that both >> modules look quite similar (as are the names) in terms of what they do to >> the DEM. >> >> >> >> So, there might still be a point of consolidating them into one module >> which offers both the “Sappington et al. 2007 metric” and the “Hobson 1972 >> metric”… >> >> >> >> Just a thought… >> >> >> >> Kind regards, >> >> Stefan >> >> >> >> >> >> *From:* Steven Pawley [mailto:[email protected]] >> *Sent:* onsdag 25. januar 2017 21.18 >> *To:* Luca Delucchi <[email protected]> >> *Cc:* Blumentrath, Stefan <[email protected]>; >> [email protected]; [email protected] >> *Subject:* Re: [GRASS-dev] [GRASS GIS] #3269: r.roughness.vector: bug in >> rescale formula >> >> >> >> Hi, >> >> >> >> There seems to be some difference in the calculation between these two >> add-ons. Apologies for any duplication, but in the way of explanation I >> wrote the parallelized r.vector.ruggedness because I needed to calculate >> the VRM measure in a hurry and was confused about the results from >> r.roughness.vector. >> >> >> >> The result from r.vector.ruggedness is identical (apart from how slope >> and aspect are calculated) to the result from the Sappington et al. 2007 >> paper and the Sappington-authored script in ArcGIS (see attached derived >> from the nc_spm_08 grass dataset). The form of the calculation is slightly >> different (but the end result is the same) because I average rather than >> sum the x,y, and z rasters to avoid a strong edge effect because AFAIK >> r.mapcalc doesn't have an automated method of dealing with bordering nulls >> (hence the averaging workaround). The r.vector.ruggedness results are also >> the same as how SAGA GIS calculates this metric, and it is this version of >> the 'VRM' metric that has been used extensively in the literature over the >> past few years. >> >> >> >> r.roughness.vector appears to produce a very different result (see >> attached). Perhaps this represents an alternative implementation, but the >> main difference lies in how the DEM is decomposed into its x,y, and z >> components. >> >> >> >> So if the add-ons are to be merged then perhaps this needs to be resolved? >> >> >> >> Steve >> >> >> >> On Tue, Jan 24, 2017 at 3:43 PM, Luca Delucchi <[email protected]> >> wrote: >> >> On 24 January 2017 at 09:55, Blumentrath, Stefan >> <[email protected]> wrote: >> > Hi, >> > >> >> Hi, >> >> > Another related question: There are now two AddOns for this purpose: >> > >> > r.roughness.vector (last changed 2 years ago) >> > >> > and from 2016: r.vector.ruggedness >> > >> > Both basically calculate the same metric(s), though they have their >> differences and both have their pros: >> > r.roughness.vector offers more advanced options (esp. useful for multi >> scale application) >> > r.vector.ruggedness uses parallelization >> > >> > Having two modules for one task / metric, which are not conceptually >> different is a bit confusing... >> > IMHO both should be merged into one, keeping the strength of each of >> them... >> > >> >> +1 for merging... this could be a work for the next code sprint >> >> > Other thoughts? >> > >> > Cheers >> > Stefan >> > >> >> -- >> ciao >> Luca >> >> www.lucadelu.org >> _______________________________________________ >> grass-dev mailing list >> [email protected] >> https://lists.osgeo.org/mailman/listinfo/grass-dev >> >> >> > > -- Prof. Carlos Henrique Grohmann Institute of Energy and Environment - Univ. of São Paulo, Brazil - Digital Terrain Analysis | GIS | Remote Sensing - http://carlosgrohmann.com http://orcid.org/0000-0001-5073-5572 ________________ Can’t stop the signal.
_______________________________________________ grass-dev mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-dev
