Re: [GRASS-user] Re: Feed and manipulate the result of "v.distance -pa" in python
Nikos Alexandris: > > distances = grass.read_command("v.distance",\ > > flags = 'pa',\ > > _from = reference_points_map,\ > > to = lowres_vector_grid,\ > > column = gridcell_column,\ > > to_column = "cat",\ > > upload = "to_attr") Martin Landa wrote: > btw, there is no need for '\' at the of the line. Thanks, Martin. Good to know. That's my bash-habit ;-) Nikos ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Re: Feed and manipulate the result of "v.distance -pa" in python
Hi, 2010/8/6 Nikos Alexandris : > distances = grass.read_command("v.distance",\ > flags = 'pa',\ > _from = reference_points_map,\ > to = lowres_vector_grid,\ > column = gridcell_column,\ > to_column = "cat",\ > upload = "to_attr") btw, there is no need for '\' at the of the line. Martin -- Martin Landa * http://gama.fsv.cvut.cz/~landa ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] Re: Feed and manipulate the result of "v.distance -pa" in python
On Wednesday 04 of August 2010 15:20:58 schorschli wrote: > For your task the use of lists and the split tool may help. > The different lines have are seperated by a '\n' (which is interpreted as > a new line). After splitting the string into a line list you can make a > loop each item of this list. Something like this: > > output='7839|16\n7839|17\n7839|22\n7839|23\n7839|24' > > seccond_column_list=[] > max_value=0 > > line_list=output.split('\n') > > for line in line_list: > columns=line.split('|') > seccond_column_list.append(float(columns[1])) > > max_value=max(seccond_column_list) > > print seccond_column_list > print max_value > > > I may missunderstood your question but I hope this helps. Thanks Hamish and Matthias. Here one (more) solution: # get distances from v.distance -pa distances = grass.read_command("v.distance",\ flags = 'pa',\ _from = reference_points_map,\ to = lowres_vector_grid,\ column = gridcell_column,\ to_column = "cat",\ upload = "to_attr") # get max distance max_distance=max([float(d.split('|')[1]) for d in distances.splitlines() [1:]]) (Thanks to Aggelos Nikolaou for the solution. It's something trivial but when _not_ working all-the-time with python looks difficult in the beginning.) Nikos ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
[GRASS-user] Re: Feed and manipulate the result of "v.distance -pa" in python
For your task the use of lists and the split tool may help. The different lines have are seperated by a '\n' (which is interpreted as a new line). After splitting the string into a line list you can make a loop each item of this list. Something like this: output='7839|16\n7839|17\n7839|22\n7839|23\n7839|24' seccond_column_list=[] max_value=0 line_list=output.split('\n') for line in line_list: columns=line.split('|') seccond_column_list.append(float(columns[1])) max_value=max(seccond_column_list) print seccond_column_list print max_value I may missunderstood your question but I hope this helps. -- View this message in context: http://osgeo-org.1803224.n2.nabble.com/Feed-and-manipulate-the-result-of-v-distance-pa-in-python-tp5371195p5372457.html Sent from the Grass - Users mailing list archive at Nabble.com. ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user