# [gdal-dev] Re: Hillshade + Topographic Map??

Rutger kassies at gmail.com
Tue Feb 21 09:11:54 EST 2012

```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.

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Hillshade-Topographic-Map-tp4490698p4491709.html
Sent from the GDAL - Dev mailing list archive at Nabble.com.
```