I wish to use a Grass module (v.to.db) in QGis, without the grass toolbox.
I tried with the Python console, but to no avail :
- Using Sextante plugin but obviously it didn't know all the grass modules.
from sextante.core.Sextante import Sextante
Sextante.alghelp("grass:v.to.db")
–> Algorithm not found
- An other test :
grass.run_command("v.to.db", map='bl@PERMANENT', layer='2', option='start', units='meters', columns='X,Y,Z')
–>Traceback (most recent call last):
File "", line 1, in module
NameError: name 'grass' is not defined
Do you know if there is an other way to use the grass module ?
I don't want to use it in the grass toolbox because I can select only one colums in "attribute field", and I would like to choose several columns.
Best Answer
To use grass functions from a plugin or from the console, you must first import the grass module like this:
Forgetting the import will cause the NameError for
grass
.Follow detailed instructions on using grass from within python
If you are running on windows and you get a Bad Handle error when you try to import grass, this is a result of an unresolved python bug that occurs on some window systems. To work around the problem, put the code that imports and calls grass in a separate script. Then, run this script as an independent process from within your plugin.
Good Luck!