Here is a pretty pic of the raster I am using - with no effects applied - just the color ramp and histogram adjusted to show out all the relief - albeit in a very 2D way!
I have a raster layer that I want to display with hillshade as a default. I can do this in code and in effect it is the same as selecting the Hillshade option in ArcMap (see below):
When you do this however - it looks disappointing:
Especially if you zoom into the raster you see all kinds of gridded articfacts - which does not look nice at all!
However if I create a proper Hillshade layer using the raster with Spatial Analyst and overlay it with transparancy of 85% it looks pretty good and very different!:
- How can I acheive this effect in ArcMap and override the default functionality of the Hillshade option (I supsect this is impossible, or is it some setting I have missed out that is caused the raster to be displayed poorly). If it is possible to override or select the correct settings - is it possible to do in ArcObjects.
- If option 1 is not possible, can I create my effect with creating a Hillshade layer (without using Spatial Analyst) and effectively fuse it to the orginal raster - i.e. I don't want people to see two layers in the table of contents in ArcMap. I just want one layer but with a default hillshade rendering of my choosing/configuration. I need to do this programmatically too i.e ArcObjects.
One thing I have learned is that you must have your DEM in the correct Spatial Reference and measurement units or the resulting hillshade looks too black and over exaggerated - check out this video to find out more - its a very good explanation.
So I think I now know what I need to do in regards to producing some high quality hillshading, but I think it's going to take some low level tweaking ArcObjects code. I am thinking I need to come up with my own graphics rendering and plug this into ArcMap (I have a dll that renders bitmaps of grids in a cool way). I think a good place to show this would be to override the Draw() event on something like the IRasterRenderer, and insert my own image rendering. Of course it might get a bit complicated with reprojections etc.
Has anyone done any kind of this low level graphics rendering in ArcMap - if so can you offer any guidance or things I should be aware of?