[GRASS-dev] Parsing output of r.category which includes labels
Stefan Blumentrath
Stefan.Blumentrath at nina.no
Thu Aug 23 00:23:12 PDT 2018
Dear Nikos,
Can you give us a bit more context?
What is it you want to achieve? How are you using r.stats and what is it you want to do with the output?
Personally, I am not too familiar with performance implications of NumPy vs. plain Python, but rather use NumPy for convenience in matrix/table operations (avoiding pandas)...
Cheers
Stefan
-----Original Message-----
From: Nikos Alexandris <nik at nikosalexandris.net>
Sent: onsdag 22. august 2018 17:57
To: Stefan Blumentrath <Stefan.Blumentrath at nina.no>
Cc: GRASS-GIS development mailing list <grass-dev at lists.osgeo.org>
Subject: Re: [GRASS-dev] Parsing output of r.category which includes labels
Stefan,
a somewhat irrelevant question to the original subject:
do you think the NumPy way is worth to collage a series of `r.stats` outputs?
Imagine administrative boundaries and one `r.stats` call for each. They may be tenths, or hundreds, or thousands as the script is meant to cover European wide extents.
Or should I just work this out using native Python?
Thank you for any thoughts,
Nikos
* Stefan Blumentrath <Stefan.Blumentrath at nina.no> [2018-08-20 10:48:34 +0000]:
>Hi Nikos,
>
>You could use numpy and genfromtxt() to parse the output string...
>genfromtxt() requires an StringIO object (or file) and StringIO (from io) requires unicode()...
>
>So you could do:
>
>from io import StringIO
>import numpy as np
>output =
>np.genfromtxt(StringIO(unicode(grass.read_command('r.category',
>map=base))) , delimiter='\t', dtype=None, names=['cat', 'label'])
>
>That causes however some overhead [1]. So if it makes sense depends on what you want to do with the data in the further processing chain...
>
>Cheers
>Stefan
>
>1: https://docs.scipy.org/doc/numpy/user/basics.io.genfromtxt.html
[rest deleted]
More information about the grass-dev
mailing list