d.shade.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/usr/bin/env python3
  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(
  48. "d.his", hue=drape_map, intensity=relief_map, brighten=brighten
  49. )
  50. except CalledModuleError:
  51. gcore.fatal(_("Module %s failed. Check the above error messages.") % "d.his")
  52. if __name__ == "__main__":
  53. main()