Hi Mohammed, Thanks for your answer. However, when I tried to run your python script I get errors. I run GRASS 6.4.0 on a Mac, downloaded the file wx.path.py, changed permissions. This is what I get:
Welcome to GRASS 6.4.0 (2010) GRASS homepage: http://grass.osgeo.org/ This version running thru: Bash Shell (/bin/bash) Help is available with the command: g.manual -i See the licence terms with: g.version -c Start the GUI with: g.gui wxpython When ready to quit enter: exit GRASS 6.4.0 (spearfish60):~ > ls -l wx.path.py -rwxr-xr-x@ 1 robbie staff 12384 18 sep 10:38 wx.path.py GRASS 6.4.0 (spearfish60):~ > g.gisenv GISDBASE=/Users/robbie/grassdata LOCATION_NAME=spearfish60 MAPSET=PERMANENT GRASS_GUI=text GRASS 6.4.0 (spearfish60):~ > python wx.path.py Traceback (most recent call last): File "wx.path.py", line 371, in <module> path_app = PathApp(0) File "/Users/Shared/unix/wxpython-snow/lib/python2.6/site-packages/wx-2.8-mac-unicode/wx/_core.py", line 7978, in __init__ File "/Users/Shared/unix/wxpython-snow/lib/python2.6/site-packages/wx-2.8-mac-unicode/wx/_core.py", line 7552, in _BootstrapApp File "wx.path.py", line 361, in OnInit size=globalvar.MAP_WINDOW_SIZE) File "wx.path.py", line 131, in __init__ self.AddToolbar(toolb) File "wx.path.py", line 336, in AddToolbar self.toolbars['map'] = toolbars.MapToolbar(self, self.Map) File "/Applications/GRASS-6.4.app/Contents/MacOS/etc/wxpython/gui_modules/toolbars.py", line 165, in __init__ log = self.parent.gismanager.goutput AttributeError: 'NoneType' object has no attribute 'goutput' So, I tried to run an example from http://grass.osgeo.org/wiki/GRASS_and_Python. I created a new text-file with following code, saved it to regnrowcol.py, changed permissions,... #!/usr/bin/env python#-*- coding:utf-8 -*-############################################################################### MODULE: g.region.resolution# AUTHOR(S): based on a post at GRASS-USER mailing list [1] # PURPOSE: Parses "g.region -g", prints out number of rows, cols# COPYLEFT: ;-)# COMMENT: ...a lot of comments to be easy-to-read for/by beginners################################################################################%Module#% description: Print number of rows, cols of current geographic region#% keywords: region#%end # importing required modulesimport sys # the sys module [2]from grass.script import core as grass # the core module [3] # information about imported modules can be obtained using the dir() function# e.g.: dir(sys) # define the "main" function: get number of rows, cols of regiondef main(): # ####################################################################### # the following commented code works but is kept only for learning purposes ## assigning the output of the command "g.region -g" in a string called "return_rows_x_cols" # return_rows_x_cols = grass.read_command('g.region', flags = 'g') ## parsing arguments of interest (rows, cols) in a dictionary named "rows_x_cols" # rows_x_cols = grass.parse_key_val(return_rows_x_cols) ## selectively print rows, cols from the dictionary "rows_x_cols" # print 'rows=%d \ncols=%d' % (int(rows_x_cols['rows']), int(rows_x_cols['cols'])) # ####################################################################### # faster/ easier way: use of the "grass.region()" function gregion = grass.region() rows = gregion['rows'] cols = gregion['cols'] # print rows, cols properly formated print 'rows=%d \ncols=%d' % (rows, cols) # this "if" condition instructs execution of code contained in this script, *only* if the script is being executed directly if __name__ == "__main__": # this allows the script to be used as a module in other scripts or as a standalone script options, flags = grass.parser() # sys.exit(main()) # This is also not working: GRASS 6.4.0 (spearfish60):~ > ls -l regnrowcol.py -rw-r--r--@ 1 robbie wheel 1839 19 sep 21:01 regnrowcol.py GRASS 6.4.0 (spearfish60):~ > chmod a+x regnrowcol.py GRASS 6.4.0 (spearfish60):~ > ls -l regnrowcol.py -rwxr-xr-x@ 1 robbie wheel 1839 19 sep 21:01 regnrowcol.py GRASS 6.4.0 (spearfish60):~ > g.region -p projection: 1 (UTM) zone: 13 datum: nad27 ellipsoid: clark66 north: 4928000 south: 4914000 west: 590000 east: 609000 nsres: 100 ewres: 100 rows: 140 cols: 190 cells: 26600 GRASS 6.4.0 (spearfish60):~ > python regnrowcol.py Line too long or missing newline at line 54 What can be the problem? Apparently, I'm missing a clue to run python scripts (on my Mac). Robbie 2010/9/18 Mohammed Rashad <[email protected]> > try > wx.path python version. > but it will not fulfil your needs but more interactive than v.net.path > now it only support spearfish dataset > will extend to use any data if anyone needs > > http://svn.osgeo.org/grass/grass-addons/gui/wxpython/wx.path/wx.path.py > > > On Fri, Sep 17, 2010 at 7:01 PM, Robbie Heremans < > [email protected]> wrote: > >> Starting from a file with start and end positions (x_start, y_start, >> x_stop, y_stop) and a vector map of roads, I have to find places on the >> roads where most people pass, assuming they will use the shortest path or >> path with the least cost. >> >> Is there a command in Grass that can do this (ic v.net.path for each >> record and summary map of these shortest paths)? >> >> Any suggestions/examples? >> >> Robbie >> >> _______________________________________________ >> grass-user mailing list >> [email protected] >> http://lists.osgeo.org/mailman/listinfo/grass-user >> >> > > > -- > Rashad >
_______________________________________________ grass-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-user
