env.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Tue Jun 26 12:38:48 2012
  4. @author: pietro
  5. """
  6. import grass.lib.gis as libgis
  7. import fnmatch
  8. from grass.script import core as grasscore
  9. def looking(filter_string, obj):
  10. """
  11. >>> import grass.lib.vector as libvect
  12. >>> sorted(looking('*by_box*', libvect)) # doctest: +NORMALIZE_WHITESPACE
  13. ['Vect_select_areas_by_box', 'Vect_select_isles_by_box',
  14. 'Vect_select_lines_by_box', 'Vect_select_nodes_by_box']
  15. """
  16. word_list = [i for i in dir(obj)]
  17. word_list.sort()
  18. return fnmatch.filter(word_list, filter_string)
  19. def remove(**kargs):
  20. grasscore.run_command('g.remove', **kargs)
  21. def rename(oldname, newname, maptype):
  22. grasscore.run_command('g.rename',
  23. **{maptype: '{old},{new}'.format(old=oldname,
  24. new=newname), })
  25. def copy(existingmap, newmap, maptype):
  26. grasscore.run_command('g.copy',
  27. **{maptype: '{old},{new}'.format(old=existingmap,
  28. new=newmap), })
  29. def get_mapset_raster(mapname, mapset=''):
  30. return libgis.G_find_raster(mapname, '')
  31. def get_mapset_vector(mapname, mapset=''):
  32. return libgis.G_find_vector(mapname, '')
  33. def exist(mapname, mapset=''):
  34. mapset = get_mapset_raster(mapname, mapset)
  35. if mapset != '':
  36. return True
  37. else:
  38. mapset = get_mapset_vector(mapname, mapset)
  39. if mapset:
  40. return True
  41. return False