#!/usr/bin/env python #**************************************************************** #* #* MODULE: v.somma, v 1.0.0 #* #* AUTHOR(S): Antonio Alliegro #* #* PURPOSE: Calcola la somma dei valori di una colonna di #* tipo numerico #* #* COPYRIGHT: (C) 2011 Antonio Alliegro Civil Engineer #* Salerno, Italy #* antonioall(at)libero.it #* #* First Version: 2011/06/02 #* Last Version: 2011/06/02 #* #* This program is free software under the #* GNU General Public License (>=v2). #* Read the file COPYING that comes with GRASS #* for details. #* #**************************************************************** #%module #% description: Calcola la somma dei valori di una colonna di tipo numerico #% keywords: vector #%end #%option #% key: map #% type: string #% gisprompt: old,vector,vector #% key_desc: nome #% description: Nome copertura vettoriale #% required: yes #%end #%option #% key: colonna #% type: string #% key_desc: colonna #% description: Nome colonna #% required : yes #% gisprompt: old_dbcolumn,dbcolumn,dbcolumn #%end import sys, time import grass.script as grass def main(): copertura = options['map'] colonna = options['colonna'] somma = 0.00 ret = grass.read_command('v.db.select', map = copertura, columns = colonna, flags = 'c') if ret == {}: grass.fatal("Errore nella lettura dei dati della colonna") vettore = ret.split('\n') for v in vettore: if v != '': somma += float(v) grass.message("Somma: %15f" % somma) return 0 #End main if __name__ == "__main__": options, flags = grass.parser() sys.exit(main())