Extraindo elevações de DEM rasterizadas para tabelas de atributos de vetor no ArcGIS Desktop?

11

Eu tenho um projeto do ArcMap 10 com vários grupos de camadas. Uma camada é um DEM rasterizado, outro grupo de camadas é um conjunto de arquivos de forma vetorial (incluindo pontos, linhas e polígonos). O cliente deseja que todos os dados vetoriais contenham valores Z.

Preencher as tabelas de atributos para os dados vetoriais com os valores X e Y é bastante fácil, mas como preencho os valores Z?

Existe uma maneira de usar a Calculadora de Campo para "agarrar" os valores de altura da camada DEM para cada recurso de vetor?

Devo acrescentar que não temos uma licença para as extensões 3D Analyst ou Spatial Analyst.

Brad Torr
fonte
não pode ser feito no ArcGIS sem o analista 3D (ou analista espacial). Mesmo se você tiver acesso ao 3D Analyst, você poderá fazer isso apenas para pontos e polilinhas, desde que sejam contornos de elevação com os mesmos valores de elevação. A ferramenta Interpolar forma criará recursos 3D, mas estes terão elevação variável. Você não pode converter facilmente essas informações em atributos de valores Z, a menos que os recursos tenham elevações perfeitamente planas. Converter tudo em pontos, interpolar Shape e calcular XYZ funcionaria.
Jakub Sisak GeoGraphics 01/02/19

Respostas:

15

No ArcGIS, eu só fiz isso com vetores de pontos - não sei como você faria isso com polígonos ou recursos de linha. Infelizmente você precisa do Analista espacial, no entanto. Há uma ferramenta em Spatial Analyst Tools \ Extraction \ Extrair vários valores para pontos e Extrair valores para pontos . Extrair valores múltiplos para pontos é melhor porque permite renomear o nome do campo z para o qual você está extraindo seus valores - Extrair valores para pontos não permite fazer isso. Tenho problemas para fazer isso no ArcMap (a ferramenta trava), mas funciona bem no ArcCatalog.

A extensão (gratuita) do Hawths Analysis Tools para ArcMap possuía uma ferramenta Intersect Point Tool, mas o desenvolvimento da extensão foi interrompido há alguns anos. Ele foi substituído pelo Ambiente de Modelagem Geoespacial , que eu nunca usei.

O SAGA-GIS (software independente freeware) possui duas funções em Formas - Grade \ Adicionar valores de grade a pontos e Formas - Grade \ Adicionar valores de grade a formas que provavelmente podem fazer o que você deseja. Esta é a descrição da ferramenta Adicionar valores de grade a formas:

Junção espacial: recupera informações das grades selecionadas nas posições das formas da camada de formas selecionada e as adiciona à camada de formas resultante. Para pontos, isso é semelhante ao módulo 'Adicionar valores de grade aos pontos'. Para linhas e polígonos, os valores médios serão calculados a partir de células da grade interferentes. Para polígonos, o módulo 'Estatísticas de grade para polígonos' oferece opções mais avançadas.

SAGA é sua melhor aposta, na minha opinião.

Espero que isto ajude!

hendra
fonte
2
O Ambiente de Modelagem Geoespacial possui as seguintes ferramentas que podem fazer o truque: 1) isectpolyrst (Intersect Polygons With Raster) 2) isectlinerst (Intersect Lines With Raster) 3) isectpntrst (Intersect Points With Raster). Essas ferramentas podem ser um pouco temperamentais às vezes, no entanto, elas farão o trabalho.
Aaron
Observe que o ambiente de modelagem geoespacial é compatível apenas com o ArcGIS 10.3 e inferior #
1816 de Tung
1

Eu não tentei isso para polígonos, mas funciona muito bem para pontos. No Arcmap 10, se você tiver acesso a uma ferramenta de analista 3d, poderá procurar a Forma da interpolação da ferramenta. Em seguida, selecione seu arquivo raster e sua camada vetorial, ajuste os valores de z se desejar elevações em pés e seu DEM estiver em metros e deixe executar . Depois de concluída, procure a ferramenta ADD XY e selecione a camada recém-criada, e ela calculará os valores X, Y, Z na tabela de atributos dessa camada.

Pete
fonte
0

talvez você possa usar gdallocationinfo para recuperar todos os valores de Z passando os valores de X, Y. depois de ter os valores Z, use a calculadora de campo para adicionar o valor Z aos pontos que compõem cada recurso. Haveria algum script envolvido, mas em teoria isso deveria funcionar.

dango
fonte
0

Dependendo de suas unidades ou da resolução necessária, você sempre pode exportar o raster DEM para um arquivo de forma de polígono, direto da caixa de ferramentas e, em seguida, fazer uma junção espacial - isso é mais fácil para pontos. Se você precisar de valores Z para linhas ou polígonos, obviamente precisará de segmentos ou subdivisões de polígonos definidos a cada alteração na elevação, conforme relatado pela grade DEM vetorizada. Isso pode ser feito por meio de ferramentas de geoprocessamento padrão e junções espaciais, mas você precisa prestar muita atenção aos seus requisitos de resolução e à quantidade de processamento que um grande conjunto de dados consumirá.

Warren
fonte
0

Eu recomendo obter uma licença de analista 3D e usar Adicionar informações de superfície . Ou use Interpolate Shape seguido de Add Z Information, que permite que alguns recursos retornem valores de NA sem travar o programa inteiro. Caso contrário, existem dois métodos gratuitos comprovados que exigem mais trabalho braçal. É possível implementá-las no QGIS , para que você não precise sair de seus confortáveis ​​ambientes GIS.

Adam Erickson
fonte
0

A ferramenta ESRI que você gostaria de usar é a "Adicionar informações sobre Z". Talvez você possa fazer um teste e ver se a ferramenta seria mais útil para você. Se a extensão 3D Analyst não for uma opção, a única coisa que vem à mente (além de uma solução de programação) é extrair seus dados do ESRI e usar uma das opções gratuitas, como SAGA-GIS / qGIS, sua "Adicionar grade Value to Shapes "ou" Estatísticas da grade para polígonos "não é tão flexível quanto o da ESRI, mas faz o mesmo se você estiver procurando pela altura média ao longo do polígono / linha.

user67765
fonte
-1

Eu sei como fazer isso por pontos. Linhas e polígonos são diferentes porque cruzam várias células da grade do DEM. Você pode fazer pontos ao longo das linhas ou algo assim e extrair valores para eles. No Arc, você precisará de analista espacial para obter os valores, mas pode obtê-los através do Qgis (gratuito), embora não seja tão útil. Você precisará ter habilidade para trabalhar com arquivos do Excel e convertê-los de um lado para o outro a partir de shapefiles. O Qgis gerará um shapefile que possui apenas as elevações de pontos extraídos, portanto, você precisará copiá-lo e colá-lo em sua tabela original como um arquivo excel (com os valores X, Y, para que você possa voltar em um shapefile com "exibir x, y dados"). Você precisará acompanhar suas projeções para escolher a correta ao converter novamente em shapefile.

Michael
fonte
Ao responder uma pergunta, seja específico em vez de apontar para direções diferentes. por exemplo, o usuário precisa de uma resposta no ArcGIS (não no QGIS).
Farid Cheraghi