On 25/04/17 22:14, Markus Metz wrote:
On Tue, Apr 25, 2017 at 3:31 PM, Moritz Lennert
<mlennert@club.worldonline.be <mailto:mlennert@club.worldonline.be>> wrote:
On 07/04/17 14:05, Markus Metz wrote:
[...]
If you compile GRASS from source, you can svn checkout the r.pi folder,
manually run make and (as root) make install.
Trying this, I get two errors while compiling:
make[1] : on entre dans le répertoire «
/data/home/mlennert/SRC/GRASS/grass-addons/grass7/raster/r.pi/r.pi.grow »
and
make[1] : on entre dans le répertoire «
/data/home/mlennert/SRC/GRASS/grass-addons/grass7/raster/r.pi/r.pi.lm »
Fixed in r70952. Please test (not only compilation, but also actual
results).
Here are some rapid tests based on the man pages examples (with me not understanding most of the metrics, yet):
*********************************************
r.pi.index
I get identical area and perimeter values as from r.object.geometry.
Compactness and fractal dimension are not identical to the respective either measures of r.object.geometry (for compactness for neither of the two in r.object.geometry), but I haven't read through the Fragstat manual nor though the code to see how they are calculated here.
If r.pi.index allowed an output of all indicators directly to text file this could possibly supersede r.object.geometry. No need to maintain two similar modules, or ?
*********************************************
r.pi.enn:
r.pi.enn input=landclass96 output=dist1.c5 keyval=5 method=distance number=1 statmethod=average --o
Loading patches...
100%
Performing operation distance ...
100%
Writing output...
100%
ERROR: Raster map <dist1.c5@user1> not found
Probably because of lines 392ff in main.c:
Rast_write_cats(newname, &cats);
if (copycolr)
Rast_write_colors(newname, G_mapset(), &colr);
which try to write to newnames, but maps are actually named with
sprintf(fullname, "%s.NN%d.%s", newname, parseres[j],
menu[methods[m]].name);
and so there is no map newname. The resulting map does not seem correct, either:
r.info -r dist1.c5.NN1.distance
min=-nan
max=-nan
Same issue with all other examples on that man page. And there is an error in the output name of the third example: output=dist1.5.10,c5 should probably be output=dist1.5.10.c5 (period instead of comma).
*********************************************
********************************************
r.pi.energy
r.pi.energy input=landclass96 output=energy1 keyval=5 n=1000 step_length=5 energy=10 percent=80
It runs and there are results. At this stage I don't understand the module enough to judge the quality of the results, but:
1) output=name [required]
Name for output raster map
This should be described as "Prefix of output raster map names" (or similar). In addition, it would be nice to be able to choose which maps are created.
2) The module silently overwrites existing maps which is not a good idea IMHO.
**********************************************
**********************************************
r.pi.nlm
r.pi.nlm output=nlm.1 landcover=5 --o
r.stats -p nlm.1 --q
1 0.28%
* 99.72%
r.pi.nlm output=nlm.1 landcover=10 --o
r.stats -p nlm.1 --q
1 3.22%
* 96.78%
r.pi.nlm output=nlm.1 landcover=25 --o
r.stats -p nlm.1 --q
1 49.25%
* 50.75%
r.pi.nlm output=nlm.1 landcover=50 --o
r.stats -p nlm.1 --q
1 50.77%
* 49.23%
r.pi.nlm output=nlm.1 landcover=75 --o
r.stats -p nlm.1 --q
1 51.97%
* 48.03%
So, I don't really understand the landcover parameter which is indicated as meaning "Landcover in percent".
***********************************************
**********************************************
r.pi.searchtime
r.pi.searchtime input=landclass96 output=searchtime1 keyval=5 step_length=5 stats=average,variance percent=80 n=1000
There is this output in stdout, which looks like debug info:
average:
frag0: 4.35 frag1: 20.37 frag2: 16.56 frag3: 1.61 frag4: 4.90 frag5: 2.45 frag6: 10.70 frag7: 2.01 frag8: 2.88 frag9: 1.32 frag10: 1.39 frag11: 8.68 frag12: 1.72 frag13: 1.56 frag14: 1.71 frag15: 8.87 frag16: 10.01 frag17: 10.86 frag18: 7.54 frag19: 7.82 frag20: 12.36 frag21: 10.35 frag22: 8.88 frag23: 5.30 frag24: 4.54 frag25: 3.22 frag26: 9.74 frag27: 2.80 frag28: 8.76 frag29: 1.70 frag30: 11.07 frag31: 8.89 frag32: 7.59 frag33: 1.87 frag34: 4.70 frag35: 8.68 frag36: 1.65 frag37: 1.96 frag38: 1.29[...
Again, output=name [required] should be described as "Prefix of output map names" and output overwrites an existing map.
I can't judge the quality of the results.
******************************************************
That's all I have time for right now. Probably at one point this should all go through the bug tracker ?
Moritz