:: Python :: v.test_colonna :: |
|---|
|
Si riporta di seguito uno script Python mediante il
quale, una volta scelta una copertura vettoriale e selezionata una sua colonna, è possibile
sapere la tipologia di valori contenuti nella colonna stessa.
#!/usr/bin/env python
#****************************************************************
#*
#* MODULE: v.test_colonna, v 1.0.0
#*
#* AUTHOR(S): Antonio Alliegro
#*
#* PURPOSE: Verifica la tipologia di una colonna
#* appartenente ad una copertura vettoriale
#*
#* COPYRIGHT: (C) 2011 Antonio Alliegro Civil Engineer
#* Salerno, Italy
#* antonioall(at)libero.it
#*
#* First Version: 2011/07/06
#* Last Version: 2011/07/06
#*
#* This program is free software under the
#* GNU General Public License (>=v2).
#* Read the file COPYING that comes with GRASS
#* for details.
#*
#****************************************************************
#%module
#% description: Verifica la tipologia di una colonna appartenente ad una copertura vettoriale
#% 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: nome
#% description: Nome colonna su cui verificare la tipologia del dato
#% required : yes
#% gisprompt: old_dbcolumn,dbcolumn,dbcolumn
#%end
import sys, time
import grass.script as grass
def test_column_type(cover_name, column_name):
grass.message("Estrazione informazioni dal database...")
ret = grass.read_command('v.info',
flags = 'c',
map = cover_name,
layer = None,
quiet = True)
if ret == "" or ret == {}:
grass.fatal("")
result = dict()
for line in ret.splitlines():
ctype, cname = line.split('|')
result[cname] = ctype
grass.message('completata')
try:
s = result[column_name]
except:
s = 1
grass.fatal("La colonna <%s> non esiste." % column_name)
return s
#End test_column_type
def main():
copertura = options['map']
colonna = options['colonna']
grass.message("--------------------------------------------")
grass.message("La colonna <%s> e' del tipo: %s" % (colonna,
test_column_type(copertura, colonna)))
grass.message("--------------------------------------------")
return 0
#End main
if __name__ == "__main__":
options, flags = grass.parser()
sys.exit(main())
Visualizza il file sorgente di v.test_colonna.py
Argomenti correlati:
|