[GRASS-SVN] r38452 - grass/branches/releasebranch_6_4/swig/python/examples

svn_grass at osgeo.org svn_grass at osgeo.org
Fri Jul 17 18:49:48 EDT 2009


Author: neteler
Date: 2009-07-17 18:49:48 -0400 (Fri, 17 Jul 2009)
New Revision: 38452

Modified:
   grass/branches/releasebranch_6_4/swig/python/examples/vectoraccess.py
Log:
show use of GRASS modules

Modified: grass/branches/releasebranch_6_4/swig/python/examples/vectoraccess.py
===================================================================
--- grass/branches/releasebranch_6_4/swig/python/examples/vectoraccess.py	2009-07-17 22:48:43 UTC (rev 38451)
+++ grass/branches/releasebranch_6_4/swig/python/examples/vectoraccess.py	2009-07-17 22:49:48 UTC (rev 38452)
@@ -11,6 +11,7 @@
 import os, sys
 from grass.lib import grass
 from grass.lib import vector as grassvect
+import grass.script as grassscript
 
 if not os.environ.has_key("GISBASE"):
     print "You must be in GRASS GIS to run this program."
@@ -61,6 +62,35 @@
 #print 'Number of areas:', grassvect.Vect_get_num_primitives(map,GV_AREA)
 print 'Number of areas:', grassvect.Vect_get_num_areas(map)
 
+layer = 1
+tmp = grassscript.tempfile()
+tmpf = file(tmp, 'w')
+
+try:
+    f = grassscript.vector_db(input)[int(layer)]
+except KeyError:
+    grassscript.fatal("There is no table connected to this map. Run v.db.connect or v.db.addtable first.")
+table = f['table']
+database = f['database']
+driver = f['driver']
+
+# call GRASS command
+grassscript.run_command('v.db.select', flags = 'c', map = input,
+                   stdout = tmpf)
+tmpf.close()
+
+# check if result is empty
+tmpf = file(tmp)
+if tmpf.read(1) == '':
+    grassscript.fatal("Table <%s> contains no data.", table)
+
+# print table to stdout
+for line in tmpf:
+    print line
+
+tmpf.close()
+os.remove(tmp)
+
 # close map
 grassvect.Vect_close(map)
 ## end of the python script



More information about the grass-commit mailing list