I'm newbie to this field and I'm trying to create a hillshade from a SRTM v4 geotiff.

The result is not what I expected. Surface near coast and the fields is very grainy.

enter image description here

I just projected it in UTM and the result is different but it seems that the resolution has dropped quite a lot.

enter image description here


This is a fairly common problem to run into. My guess is that your SRTM data are still in geographical coordinates and has not been reprojected. As such, the elevation units are being measured in metres while the xy-units are in degrees. You need to use the z-conversion factor to convert the xy-units and z-units so that they are the same. The common approach is to use this formula to calculate an appropriate z-conversion factor:

zFactor = 1.0 / (113200 * cos(midLat))

Where midLat is the middle latitude of your study area. Consider as an example the following SRTM DEM, still in the original geographical coordinates. The first image uses a z-conversion factor of 1 (the default) and the second uses a modified z-conversion factor based on the equation above:

enter image description here

enter image description here

Then, adjusting the display parameters (e.g. min/max values that the colour ramp is scaled to) can be used for further fine-tuning until you get it just they way you want:

enter image description here

The reason that the z units and the xy units must be the same is that hillshade algorithms need to calculate the slope gradient. "Rise over run" (i.e. tan slope) isn't that useful as a measure of slope gradient when the rise and the run are measured in different units. An alternative solution therefore would simply be to project the data into a reference system that uses metres as the xy-units.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.