On 21-02-2012 14:11, Rutger wrote:
Hey,TJMartin wrote... Is there a way to combine the hillshade and topo map together - ie add a transparency or opacity to the hillshade. ...A common way is to convert your (i assume) RGB topo map to HSV color space and replace the intensity band (v) with your hillshade. This is for example nicely shows at Franks blog: http://fwarmerdam.blogspot.com/2010/01/hsvmergepy.html http://fwarmerdam.blogspot.com/2010/01/hsvmergepy.html I find replacing the entire intensity band always a bit harsh since for flat area's you would like to stick to your original color/data. This can be done by normalizing the hillshade band with the zenith angle used to create is. Following the hsv_merge.py script on Franks blog, the original replacement of: /hsv_adjusted = numpy.asarray( [hsv[0], hsv[1], v] )/ Woud become something like: /v_norm = v * hsv[2] / ( 255 * math.cos(zenith * (math.pi / 180.0))) hsv_adjusted = numpy.asarray( [hsv[0], hsv[1], numpy.where( v_norm> 255, 255, v_norm )] )/ You have to pay a bit attention to avoid saturating the normalized band. This can be done by choosing a zenith angle wich gives a flat surface a value halfway your range of 0 and 255.
GMT does that for ages. But it doesn't replace the intensity with shading. Instead the shading is used to change the saturation of HSV making the facets facing illumination light become brighter and the other become darker.
See for example http://gmt.soest.hawaii.edu/gmt/html/GMT_Docs.html#x1-1420007.17 and http://gmt.soest.hawaii.edu/gmt/html/GMT_Docs.html#x1-1580008.2With GMT5 one can compute the shading of a grid and apply it to an image. Here goes a small example of the GMT's test set (..\gmt5\trunk\test\grdimage\orig\readwrite_withgdal.sh)
Even simpler is to use Mirone. We can do the above just with a couple of clicks.
Joaquim
<<attachment: Capture.JPG>>
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev