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.
arcgis-desktop
arcgis-10.0
field-calculator
dem
Brad Torr
fonte
fonte
Respostas:
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:
SAGA é sua melhor aposta, na minha opinião.
Espero que isto ajude!
fonte
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.
fonte
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.
fonte
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á.
fonte
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.
fonte
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.
fonte
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.
fonte