[GRASS-user] Re: mapcalc problem in python script!!

Joshua Arnott josh at snorfalorpagus.net
Thu Feb 3 12:15:28 EST 2011


On 3 Feb 2011, at 16:55, "Johannes Radinger" <JRadinger at gmx.at> wrote:

> 
> -------- Original-Nachricht --------
>> Datum: Thu, 3 Feb 2011 16:26:47 +0000
>> Von: Joshua Arnott <josh at snorfalorpagus.net>
>> An: "grass-user at lists.osgeo.org" <grass-user at lists.osgeo.org>
>> Betreff: [GRASS-user] Re: mapcalc problem in python script!!
> 
>> Johannes,
>> 
>> Looking at your Python code and the error, I expect the issue is with the
>> way you are calling the script, rather than it's content.
>> 
>> From the documentation, g.parser returns a Python dictionary. The options
>> "command" is a variable, rather than a function.
>> 
>> http://grass.osgeo.org/grass64/manuals/html64_user/g.parser.html
>> 
>> The key error occurs when you attempt to access a key, in your case
>> upstream_shreve, when it does not exist.
>> 
>> http://wiki.python.org/moin/KeyError
>> 
>> I suspect the problem is that you're not setting a value for
>> upstream_shreve from the command line, i.e.,
>> 
>> ./test3.py upstream_shreve=newmapname upstream_part=upstreammap
>> shreve=anothermap
>> 
>> In your Python script, if you throw in:
>> 
>> print options
>> 
>> You'll be able to quickly check it contains the key-value pairs you
>> expect.
>> 
>> Hope this helps,
>> Josh.
> 
> Hello Josh,
> 
> first thank you for looking over my code...
> 
> Sr but I don't know what you're meaning excactly... the print options command gives me {}... but how should the executable .py file look like?
> 
> /johannes

If {} is all that is returned, it means the dictionary is empty. How are you running your Python script? What do you type at the grass command prompt?

Josh.


More information about the grass-user mailing list