Вот симпатичная картинка с растром, который я использую - без применения эффектов - только цветовая шкала и гистограмма, отрегулированные так, чтобы показать все рельеф - хотя и в двухмерном виде!
У меня есть растровый слой, который я хочу отображать с холмистой местностью по умолчанию. Я могу сделать это в коде, и фактически это то же самое, что и выбор опции Hillshade в ArcMap (см. Ниже):
Однако когда вы делаете это, это выглядит неутешительно:
Особенно, если вы увеличиваете растр, вы видите все виды сетчатых артефактов - что выглядит не очень красиво!
Однако, если я создам правильный слой Hillshade с использованием растра с помощью Spatial Analyst и наложу его с прозрачностью 85%, он будет выглядеть довольно хорошо и совсем по-другому !:
- Как я могу добиться этого эффекта в ArcMap и переопределить функциональность по умолчанию для опции Hillshade (я полагаю, это невозможно, или я пропустил некоторые настройки, из-за которых растр отображается плохо). Если есть возможность переопределить или выбрать правильные настройки - это можно сделать в ArcObjects.
- Если вариант 1 невозможен, могу ли я создать свой эффект с помощью создания слоя Hillshade (без использования Spatial Analyst) и эффективно объединить его с оригинальным растром - т.е. я не хочу, чтобы люди видели два слоя в таблице содержания в ArcMap , Я просто хочу один слой, но с рендерингом на холмах по умолчанию моего выбора / конфигурации. Мне нужно сделать это тоже программно, т.е. ArcObjects.
Одна вещь, которую я узнал, состоит в том, что вы должны иметь свою ЦМР в правильных пространственных привязках и единицах измерения, или получившаяся в результате горная тень выглядит слишком черной и чрезмерно преувеличенной - посмотрите это видео, чтобы узнать больше - это очень хорошее объяснение.
Поэтому я думаю, что теперь я знаю, что мне нужно сделать в отношении создания некоторого высококачественного хэдшинга, но я думаю, что потребуется немного настраивающий код ArcObjects низкого уровня. Я думаю, что мне нужно придумать свой собственный рендеринг графики и подключить его к ArcMap (у меня есть DLL, которая классным образом отображает растровые изображения). Я думаю, что хорошее место, чтобы показать это, было бы переопределить событие Draw () на чем-то вроде IRasterRenderer и вставить мой собственный рендеринг изображений. Конечно, это может быть немного сложно с репроекциями и т. Д.
Кто-нибудь делал этот низкоуровневый рендеринг графики в ArcMap - если да, можете ли вы предложить какие-либо рекомендации или вещи, о которых мне следует знать?