这是我使用的栅格的漂亮图片-没有应用任何效果-只是调整了色带和直方图以显示所有浮雕-尽管是以2D方式进行的!
我有一个栅格图层,要使用默认的hillshade显示。我可以在代码中执行此操作,实际上与在ArcMap中选择Hillshade选项相同(请参见下文):
但是,当您执行此操作时-看起来很令人失望:
尤其是如果放大栅格,您会看到各种网格状的人工制品-看起来一点也不好!
但是,如果我使用带有Spatial Analyst的栅格来创建正确的Hillshade图层,并以85%的透明度对其进行覆盖,则它看起来会非常好并且非常不同!
- 如何在ArcMap中实现此效果并覆盖Hillshade选项的默认功能(我认为这是不可能的,或者我错过了某些设置而导致栅格显示不佳)。如果可以覆盖或选择正确的设置,则可以在ArcObjects中进行。
- 如果无法使用选项1,我可以通过创建一个Hillshade图层(不使用Spatial Analyst)来创建效果并将其有效地融合到原始栅格中吗-即,我不希望人们在ArcMap的目录中看到两层。我只想要一层,但是具有默认的我的选择/配置的hillshade渲染。我也需要以编程方式执行此操作,即ArcObjects。
我了解到的一件事是,您必须在正确的空间参考和测量单位中使用DEM,否则生成的山影看起来太黑且过于夸张-请观看此视频以了解更多信息-这是一个很好的解释。
因此,我想我现在知道在生成一些高质量的阴影时需要做些什么,但是我认为这将需要一些底层的ArcObjects代码调整。我想我需要提出自己的图形渲染并将其插入ArcMap(我有一个dll,可以很酷的方式渲染网格的位图)。我认为显示此内容的一个好地方是重写IRasterRenderer之类的Draw()事件,并插入我自己的图像渲染。当然,使用重投影等可能会变得有些复杂。
是否有人在ArcMap中完成过这种低级图形渲染?如果可以,您可以提供任何指导或我应该注意的事情吗?