Usando a opção Hillshade no ArcMap?


15

Aqui está uma bela foto da varredura que estou usando - sem efeitos aplicados - apenas a rampa de cores e o histograma ajustados para mostrar todo o relevo - embora de uma maneira muito 2D!

insira a descrição da imagem aqui

Eu tenho uma camada raster que eu quero exibir com colina como padrão. Eu posso fazer isso no código e, na verdade, é o mesmo que selecionar a opção Hillshade no ArcMap (veja abaixo):

insira a descrição da imagem aqui

Porém, quando você faz isso - parece decepcionante:

insira a descrição da imagem aqui

Especialmente se você aplicar zoom na varredura, verá todos os tipos de articulados de grade - o que não parece nada agradável!

insira a descrição da imagem aqui

No entanto, se eu criar uma camada adequada do Hillshade usando a varredura com o Spatial Analyst e a sobrepor com uma transparência de 85%, ela parecerá muito boa e muito diferente !:

insira a descrição da imagem aqui

  1. Como obter esse efeito no ArcMap e substituir a funcionalidade padrão da opção Hillshade (suponho que isso seja impossível, ou é alguma configuração que perdi que causou uma exibição ruim da varredura). Se é possível substituir ou selecionar as configurações corretas - é possível fazer isso no ArcObjects.
  2. Se a opção 1 não for possível, posso criar meu efeito com a criação de uma camada Hillshade (sem usar o Spatial Analyst) e efetivamente fundi-la com a varredura original - ou seja, não quero que as pessoas vejam duas camadas no sumário no ArcMap . Eu só quero uma camada, mas com uma renderização de colina padrão da minha escolha / configuração. Também preciso fazer isso programaticamente, ou seja, ArcObjects.

Uma coisa que aprendi é que você deve ter seu DEM nas unidades de referência e medição espaciais corretas ou a colina resultante parece muito preta e exagerada - confira este vídeo para saber mais - é uma explicação muito boa.

Então, acho que agora sei o que preciso fazer em relação à produção de sombreamento de alta qualidade, mas acho que será necessário algum código do ArcObjects para ajustes de baixo nível. Estou pensando que preciso criar minha própria renderização gráfica e conectá-la ao ArcMap (eu tenho uma dll que renderiza bitmaps de grades de uma maneira interessante). Acho que um bom lugar para mostrar isso seria substituir o evento Draw () em algo como o IRasterRenderer e inserir minha própria renderização de imagem. Claro que pode ficar um pouco complicado com reprojeções, etc.

Alguém já fez algum tipo de renderização gráfica de baixo nível no ArcMap?


1
Nunca fiz isso, mas acredito que você pode usar o IRasterRenderer para personalizar como renderizar uma varredura específica. Se você tiver os dois conjuntos de dados (hill + regular), poderá usar um IRasterCursor para mesclar e desenhar cada pixel.
George Silva

5
Pelo que vale a pena, eu tentei a mesma coisa ontem no ArcMap e parece terrível também.
Chad Cooper

@ George, acho que um RasterCursor altera o valor CELL - embora eu queira alterar o valor da cor - ou seja, efetivamente alterando sua intensidade de cores com base em um valor de colina - você sabe como alterar valores RGB específicos pixel por pixel?
Vidar

1
Parece que o "efeito de colina" é calculado arredondando primeiro os valores de elevação, o que efetivamente transforma seu DEM em vários terraços abruptos e minúsculos. Se isso estiver correto, é improvável que você encontre uma solução: envie um relatório de bug. Você pode solucionar o problema de duas camadas agrupando a grade e a camada de colina. BTW, acredito que esta opção é nova na versão 10; ajudaria a atualizar as tags, indicando qual versão do ArcMap você está usando.
whuber

@Vidar the docs especifica que os cursores de varredura existem para "acesso otimizado à varredura". Eles devem ser capazes de ler também.
George Silva

Respostas:


20

Usar reamostragem de interpolação bilinear durante a exibição

Você pode melhorar um pouco a exibição alterando o método de reamostragem usado da Vizinha mais próxima padrão para Interpolação bilinear. Propriedades da camada -> Guia Tela -> Reamostrar durante a exibição usando: Interpolação bilinear.

Esse efeito funciona melhor com o DEM e a rampa de cores preto e branco padrão.

Você obterá um resultado muito melhor e muito mais controle sobre a tela ao usar 2 raster, como você já fez. Certifique-se de usar também o método de reamostragem da Interpolação bilinear durante a exibição.

Adicionar DEM:

insira a descrição da imagem aqui

Alterne "Usar efeito colina" em: insira a descrição da imagem aqui

Renderiza da seguinte forma na tela: insira a descrição da imagem aqui

Altere a reamostragem durante a exibição para Interpolação bilinear: insira a descrição da imagem aqui

Renderiza da seguinte forma na tela: insira a descrição da imagem aqui


Você está certo no que diz - isso de fato se livra dos artefatos de grade - mas o sombreamento ainda parece horrível. De certa forma, acho que os artefatos eram um tipo de problema secundário - pois é o sombreamento que realmente quero acertar. Mas obrigado pelo esforço em sua resposta!
Vidar

10

A colina em movimento do Arcmap, o método descrito, é rápida e suja e nunca foi criada para substituir o resultado da colina da Spatial Analyst e / ou 3D Analyst. Embora o mesmo termo seja usado para descrever os dois, eles não são os mesmos.

Para criar uma verdadeira colina sem o Spatial Analyst, você pode experimentar o gdaldem da GDAL :

gdaldem hillshade dem.tif shade.tif

O Tutorial de dados do Terrain TileMill tem uma boa visão geral de como usar o gdaldem para construir uma colina composta com tonalidade hipsométrica.
detalhe de colina e relevo composto hipsométrico

Se o utilitário não for direto o suficiente para o seu aplicativo, o código fonte do C ++ para gdaldem está aqui .


1
Coisa boa! Gosto especialmente da idéia de combinar os resultados e de usar o Hillshade e também a inclinação. Nunca pensei em combiná-los. Terá que tentar.
Jakub Sisak GeoGraphics

O gdaldem é definitivamente o caminho a seguir para algumas operações de GIS sobre o ArcGIS. Eu aprendi que o Hillshading é definitivamente uma dessas operações.
precisa saber é o seguinte

1
@jakub, se você gosta da ideia de uma colina combinada com inclinação e hipsometria, dê uma olhada no trabalho de Tom Patterson sobre matizes hipsométricos combinados e produzindo mapas de cores naturais com dados de cobertura de terra por satélite . As técnicas discutidas visam superar a limitação com tonalidade hipsométrica padrão da associação muitas vezes inapropriada de verduras ricas em baixa elevação com vegetação e alto-marrom-alto / vermelho com desertos ou terras áridas. Vale a pena ler e estudar.
Matt Wilkie

7

Se você está procurando uma colina bonita que leva algum tempo para criar, mas é ótima para projetos maiores, onde haverá muita exposição, experimente o método Swiss Hillshade - ela requer 3 camadas, mas pode ser exportada a uma taxa georreferenciada para economizar espaço e portabilidade. Esse método exige analista espacial, acredito, portanto não é uma resposta direta à pergunta do OP, mas pode ser útil para outras pessoas que analisam os métodos de colina no ArcGIS. O método também funciona em outros sistemas GIS, mas a caixa de ferramentas vinculada é para o ArcGIS.

Edit 11/2014: Esri lançou recentemente uma nova ferramenta para criar Hillshades. Parece realmente liso e deve se fundir com os fluxos de trabalho do Asker. Eles o apresentam aqui e você pode baixar o código e as instruções de instalação aqui


Eu usei isso algumas vezes recentemente. Muito agradável. Adicionado ao meu saco de truques. Obrigado por compartilhar.
Kstoney

Não tem problema - fico feliz que você tenha achado útil. Ele definitivamente faz uma Hillshade mais agradável, e eu gosto que eu posso manter minhas camadas ao redor e apenas mudar a coloração na dem para enfatizar tudo um pouco diferente
nicksan

1
Obrigado por isso. Além disso, na versão 10.1, o Raster Shader ( blogs.esri.com/esri/apl/2013/05/02/… ) oferece muito mais controle sobre a exibição de varredura e permite criar cortinas agradáveis.
SoilSciGuy

4

Quando você diz no item 2 "posso criar o meu efeito com a criação de uma camada Hillshade (sem usar o Spatial Analyst)", você quer dizer aplicativos alternativos para criar uma sombra Hillside?

Se você deseja usar um aplicativo fora do Spatial Analyst, aprendi recentemente (mas nunca usei) a " extensão SEXTANTE para ArcGIS " ( gratuita ), que permite aos usuários consumir as ferramentas SEXTANTE no ArcMap. Se você assistir a este videoclipe , poderá ver que eles demonstram maneiras de criar uma sombra de colina.


Na verdade, não - eu só quero aplicar minhas próprias técnicas de sombreamento sem usar as ESRIs. Eu adicionei comentários extras no meu post de abertura.
Vidar

4

Sempre fui instruído a aumentar o exagero de z ao fazer uma colina.
Eu apenas tentei 100 no meu e parece um pouco extremo.
Também alterar o tipo de estiramento faz uma grande diferença na aparência da colina.
Como você está falando sobre a aparência, também deve consultar este item de ajuda. esir help
O que diz que o hillshading é aplicado na resolução do pixel da tela.
E para alterar o ângulo de iluminação
Esri ajuda
Também alterando a direção e o contraste

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.