rasteraccess.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/env python
  2. """
  3. Run within GRASS session
  4. Run this before starting python to append module search path:
  5. @code
  6. export PYTHONPATH=$PYTHONPATH:/usr/local/grass-7.0.svn/etc/python/
  7. @endcode
  8. Check with "import sys; sys.path"
  9. or:
  10. @code
  11. sys.path.append("/usr/local/grass-7.0.svn/etc/python")
  12. @endcode
  13. """
  14. import os, sys
  15. from grass.lib import grass
  16. from grass.lib import raster as grassrast
  17. if not os.environ.has_key("GISBASE"):
  18. print "You must be in GRASS GIS to run this program."
  19. sys.exit(1)
  20. if len(sys.argv)==2:
  21. input = sys.argv[1]
  22. else:
  23. input = raw_input("Raster Map Name? ")
  24. # initialize
  25. grass.G_gisinit('')
  26. # find map in search path
  27. mapset = grass.G_find_raster2(input, '')
  28. # determine the inputmap type (CELL/FCELL/DCELL) */
  29. data_type = grassrast.Rast_map_type(input, mapset)
  30. infd = grassrast.Rast_open_old(input, mapset)
  31. inrast = grassrast.Rast_allocate_buf(data_type)
  32. rown = 0
  33. while True:
  34. myrow = grassrast.Rast_get_row(infd, inrast, rown, data_type)
  35. print rown, myrow[0:10]
  36. rown += 1
  37. if rown == 476:
  38. break
  39. grassrast.Rast_close(inrast)