d.shade.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/usr/bin/env python
  2. ############################################################################
  3. #
  4. # MODULE: d.shade
  5. # AUTHOR(S): Unknown; updated to GRASS 5.7 by Michael Barton
  6. # Converted to Python by Glynn Clements
  7. # PURPOSE: Uses d.his to drape a color raster over a shaded relief map
  8. # COPYRIGHT: (C) 2004-2013 by the GRASS Development Team
  9. #
  10. # This program is free software under the GNU General Public
  11. # License (>=v2). Read the file COPYING that comes with GRASS
  12. # for details.
  13. #
  14. #############################################################################
  15. #%module
  16. #% description: Drapes a color raster over an shaded relief or aspect map.
  17. #% keyword: display
  18. #% keyword: elevation
  19. #% keyword: relief
  20. #% keyword: hillshade
  21. #% keyword: visualization
  22. #%end
  23. #%option G_OPT_R_INPUT
  24. #% key: shade
  25. #% description: Name of shaded relief or aspect raster map
  26. #%end
  27. #%option G_OPT_R_INPUT
  28. #% key: color
  29. #% label: Name of raster to drape over relief raster map
  30. #% description: Typically, this raster is elevation or other colorful raster
  31. #%end
  32. #%option
  33. #% key: brighten
  34. #% type: integer
  35. #% description: Percent to brighten
  36. #% options: -99-99
  37. #% answer: 0
  38. #%end
  39. from grass.script import core as gcore
  40. from grass.exceptions import CalledModuleError
  41. def main():
  42. options, unused = gcore.parser()
  43. drape_map = options['color']
  44. relief_map = options['shade']
  45. brighten = options['brighten']
  46. try:
  47. gcore.run_command('d.his', hue=drape_map, intensity=relief_map,
  48. brighten=brighten)
  49. except CalledModuleError:
  50. gcore.fatal(_("Module %s failed. Check the above error messages.") % 'd.his')
  51. if __name__ == "__main__":
  52. main()