[GRASS-dev] Parsing output of r.category which includes labels

Nikos Alexandris nik at nikosalexandris.net
Wed Aug 22 08:57:26 PDT 2018


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]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20180822/5ff1e97b/attachment.sig>


More information about the grass-dev mailing list