[GRASS-user] Feed and manipulate the result of "v.distance -pa" in
python
Nikos Alexandris
nikos.alexandris at felis.uni-freiburg.de
Wed Aug 4 00:48:30 EDT 2010
Hi!
I need to convert the following bash-one-liner:
v.distance --q -pa from=ref_points to=coi_points upload=cat column=anycol |
cut -d"|" -f2 | sort -nu | tail -1
into python.
My unsolved problem is that "v.distance -pa" returns for example thousands of
lines in the following format:
...
7839|16
7839|17
7839|22
7839|23
7839|24
Reading the main command in python is not the problem (although I am a bit
confused between grass.pipe, grass.feed, grass.read). Are there any examples
(scripts in grass trunk maybe?) to follow in order to split the output, keep
the second "column", sort and keep the maximum? Actually the "split" is what
worries me most. I 've been looking for quite some time to find something that
gives me a strait answer but no luck yet.
The idea is to feed later on v.what.vect with a "dmax=" as this seems to
reduce the eXtremely slow "v.distance" process as suggested by MoritzL in [1]
("v.distance" is running for 2 days here over large files[*]!).
I timed two different versions of v.what.vect (with and without "dmax=") and
it seems to make a difference (tested however in small spearfish vector data).
All this as part of a horrible script of mine [2]. I feel however that this
fits as an enhancement to "v.what.vect" itself.
Regards, Nikos
---
[1] <http://lists.osgeo.org/pipermail/grass-user/2009-May/050330.html>
[*] e.g. first result after >10h:
Finding nearest lines...
Finding nearest areas...
404347 categories read from the map
404347 categories exist in the table
404347 categories read from the map exist in the table
404347 records updated
...
[2] Script "pareto_3" within the tarred attached file in
<http://trac.osgeo.org/grass/ticket/804>
More information about the grass-user
mailing list