Ticket #1555 (new defect)
python-scripts in wingrass64svn
| Reported by: | hellik | Owned by: | grass-dev@… |
|---|---|---|---|
| Priority: | normal | Milestone: | 6.4.4 |
| Component: | Python | Version: | 6.4.2 RCs |
| Keywords: | wingrass, python scripts | Cc: | |
| Platform: | MSWindows Vista | CPU: | x86-32 |
Description
how is the best way to start/launch additional python-scipts in standalone wingrass642 (not yet tested in osgeo4w-wingrass)
tested and working examples of python-scipts
http://grass.osgeo.org/wiki/GRASS_AddOns#r.basin http://grass.osgeo.org/wiki/GRASS_AddOns#r.ipso http://grass.osgeo.org/wiki/GRASS_AddOns#r.wf
r.basin.py invokes r.ipso.py and r.wf
(also needed for test: all r.stream*-addons: http://grass.osgeo.org/wiki/GRASS_AddOns#r.stream.angle http://grass.osgeo.org/wiki/GRASS_AddOns#r.stream.basins http://grass.osgeo.org/wiki/GRASS_AddOns#r.stream.del http://grass.osgeo.org/wiki/GRASS_AddOns#r.stream.distance http://grass.osgeo.org/wiki/GRASS_AddOns#r.stream.extract http://grass.osgeo.org/wiki/GRASS_AddOns#r.stream.order http://grass.osgeo.org/wiki/GRASS_AddOns#r.stream.pos http://grass.osgeo.org/wiki/GRASS_AddOns#r.stream.stats)
all case studies with a self compiled wingrass64svn (newly based on python272) tested on a WinVista?32-box without any installed stock python, only the wingrass-bundled.
working example in the nc-sample-dataset (sqlite as vector-db-backend needed):
g.region -a rast=elevation@PERMANENT r.basin --verbose map=elevation@PERMANENT prefix=a easting=637515 northing=224615 threshold=50
case study (1)
r.basin.py,r.ipso.py,r.wf.py manually added in C:\Program Files\GRASS 6.4.2svn\scripts r.basin.bat,r.ipso.bat,r.wf.bat manually added in C:\Program Files\GRASS 6.4.2svn\bin
the content of the bat-files:
@"%GRASS_PYTHON%" "%GISBASE%/scripts/r.basin.py" %* @"%GRASS_PYTHON%" "%GISBASE%/scripts/r.ipso.py" %* @"%GRASS_PYTHON%" "%GISBASE%/scripts/r.wf.py" %*
it's needed to change in r.basin.py
from
grass.message( "##################################" )
grass.run_command('r.wf.py', map = r_distance,
image = prefix)
grass.message( "##################################" )
# Ipsographic curve
grass.message( "##################################" )
grass.run_command('r.ipso.py', map = 'r_elevation_crop',
image = prefix,
flags = 'ab')
to
grass.message( "##################################" )
grass.run_command('r.wf', map = r_distance,
image = prefix)
grass.message( "##################################" )
# Ipsographic curve
grass.message( "##################################" )
grass.run_command('r.ipso', map = 'r_elevation_crop',
image = prefix,
flags = 'ab')
(1)a => following command in the wxgui-command-line is working
r.basin --verbose map=elevation@PERMANENT prefix=a easting=637515 northing=224615 threshold=50 ABSCHNITT 1a (von 4): Initiiere den Speicher. ABSCHNITT 1b (of 4): Ermittle den Fluß aus der Karte heraus. [...] Bifurcation Ratio (Horton) : 3.5606 Length Ratio (Horton) : 2.3439 Area ratio (Horton) : 3.3353 Slope ratio (Horton): 1.3381 ################################## Done!
(1)b => only r.basin in the wxgui-command-line, r.basin-wxgui is starting, but by starting r.basin from his r.basin-wxgui, it's interpreted as
r.basin.py map=elevation@PERMANENT prefix=b easting=637515 northing=224615 threshold=50
and there is following error:
r.basin.py map=elevation@PERMANENT prefix=b easting=637515 northing=224615 threshold=50 C:\Program Files\GRASS 6.4.2svn\extrabin\python.exe: can't open file 'r.basin.py': [Errno 2] No such file or directory
case study (2)
r.basin.py, r.ipso.py, r.wf.py are in i.e. c:\grassscripts
File -> Launch script: c:\grassscripts\r.basin.py
=> r.basin-wxgui is starting, but by starting r.basin from his r.basin-wxgui, again the same error like above:
r.basin.py map=elevation@PERMANENT prefix=a easting=637515 northing=224615 threshold=50 C:\Program Files\GRASS 6.4.2svn\extrabin\python.exe: can't open file 'r.basin.py': [Errno 2] No such file or directory
case study (3)
scripts installed by g.extension
g.extension.py extension=r.basin svnurl= http://svn.osgeo.org/grass/grass-addons/grass6 Downloading precompiled GRASS Addons <r.basin>... Updating metadata file... Installation of <r.basin> successfully finished
g.extension.py extension=r.ipso svnurl= http://svn.osgeo.org/grass/grass-addons/grass6 Downloading precompiled GRASS Addons <r.ipso>... Updating metadata file... Installation of <r.ipso> successfully finished
g.extension.py extension=r.wf svnurl= http://svn.osgeo.org/grass/grass-addons/grass6 Downloading precompiled GRASS Addons <r.wf>... Updating metadata file... Installation of <r.wf> successfully finished
the addons are installed:
C:\Users\syringia\AppData\Roaming\GRASS6\addons bin docs modules.xml r.ipso.py r.wf.py
C:\Users\syringia\AppData\Roaming\GRASS6\addons\bin r.basin.py.bat r.ipso.py.bat r.wf.py.bat
the content of the bat-files:
@"%GRASS_SH%" "%GISBASE%/scripts/r.basin.py" %* @"%GRASS_SH%" "%GISBASE%/scripts/r.ipso.py" %* @"%GRASS_SH%" "%GISBASE%/scripts/r.wf.py" %*
(3)a => r.basin in the wxgui-command-line, a window pops up because .py is an ankown extension and it's asked how to open
(3)b => r.basin.py in the wxgui-command-line, again following error:
C:\Program Files\GRASS 6.4.2svn\extrabin\python.exe: can't open file 'r.basin.py': [Errno 2] No such file or directory
any ideas how the situation for python-script in wingrass642 can be improved?
so it seems the corresponding wrapper-bat-files should at least contain "%GRASS_PYTHON%" instead of "%GRASS_SH%"
Helmut
