Neste artigo, você encontrará a definição de um modelo digital de superfície e, passo a passo, como criar um DSM a partir de uma nuvem LIDAR não classificada e classificada, usando o CloudCompare e o LAStools.
Modelos digitais de elevação
Um modelo digital de elevação (DEM) representa uma versão digital de um objeto existente ou virtual e seu ambiente. Isso pode incluir recursos como o relevo do terreno em uma região específica. O DEM é um conceito global que pode abranger não apenas a elevação do terreno, mas também todas as camadas acima dele, como vegetação ou edifícios. Quando as informações se limitam à elevação do solo, usa-se o termo Modelo Digital de Terreno (DTM). Ele fornece dados sobre a elevação de cada ponto no solo. Se as informações estiverem relacionadas à altura máxima acima do nível do solo em cada célula, o DTM será chamado de Modelo Digital de Superfície (DSM).
As paisagens naturais são muito complexas para serem modeladas analiticamente, o que significa que as informações geralmente são baseadas em amostras. Idealmente, um modelo “autêntico” também incluiria um método de interpolação que permitiria a obtenção de valores de elevação entre amostras, mas essa funcionalidade geralmente não está disponível para o usuário final. As especificações de um DEM também são definidas usando dados auxiliares. Essas especificações, que descrevem o conjunto de dados, são essenciais para que os usuários possam acessar, transmitir e analisar os dados. Elas abrangem várias características consideradas essenciais.
As especificações de um DEM geralmente incluem dois tipos de parâmetros. Por um lado, as especificações de elevação padrão não diferem daquelas dos mapas analógicos e normalmente incluem parâmetros geodésicos, como elipsoide, projeção, origem das elevações, bem como localização geográfica, como coordenadas de canto. A única exceção é a escala, que não tem significado no contexto dos mapas digitais. Por outro lado, um DEM é um produto digital que requer especificações para ser interpretado como uma grade de altura. Essas especificações incluem :
- O formato numérico, incluindo o tipo de dados (inteiro, caractere, real etc.) e seu comprimento (geralmente 2 bytes).
- O significado dos valores numéricos, ou seja, a unidade de medida (metro ou pé) e, em alguns casos, os coeficientes de uma lei de conversão. Por exemplo, uma transformação linear pode adaptar os valores a um intervalo específico.
- A estrutura da grade, que pode ser irregular (como grades triangulares irregulares ou linhas de contorno digitalizadas) ou regular (normalmente uma grade regular com células quadradas).
- No caso de uma grade regular com células quadradas, que é a estrutura mais comum, uma especificação importante é o tamanho da célula, embora isso não deva ser confundido com a resolução.
Em resumo, o Modelo Digital de Elevação é uma representação digital da topografia de uma determinada área, incluindo objetos em altura. Suas especificações são essenciais para a interpretação correta dos dados contidos no modelo.
O Modelo Digital de Superfície (DSM)
O Modelo Digital de Superfície (DSM) é um conceito fundamental em Sistemas de Informações Geográficas (GIS) e sensoriamento remoto. Ele representa uma representação digital de uma superfície terrestre, geralmente do solo até o topo dos objetos presentes nessa superfície, como edifícios, árvores etc. O DSM é usado para descrever a elevação ou a altitude do terreno e dos objetos acima dele.
Veja a seguir alguns pontos importantes sobre o Modelo Digital de Superfície no GIS:
- Definição de um DSM: O DSM é um modelo matemático tridimensional que associa valores de elevação a cada ponto em uma superfície terrestre e a todos os objetos sobre ela, como edifícios, árvores, carros etc. Esses valores de elevação podem ser representados como uma porcentagem da elevação da superfície. Esses valores de elevação podem ser representados por pontos, pixels ou malhas, dependendo do método usado para criar o DSM.
- Aquisição de dados : Os dados para criar um DSM podem ser coletados de várias fontes, como levantamentos topográficos de campo, imagens aéreas ou de satélite, dados LiDAR (Light Detection and Ranging) ou outras técnicas de sensoriamento remoto. Os levantamentos LiDAR são particularmente populares para a criação de DSMs precisos e de alta resolução.
- Uso do DSM: O Modelo Digital de Superfície é usado em uma ampla gama de aplicações, incluindo planejamento do uso da terra, cartografia, gerenciamento de recursos naturais, estudos ecológicos, planejamento urbano, gerenciamento de inundações, engenharia civil, planejamento de redes de comunicação etc. Ele fornece informações sobre as características do terreno, a altura dos edifícios, as áreas com risco de inundação, a inclinação do terreno, etc.
- Diferenças com o Modelo Digital do Terreno (DTM): É importante não confundir o DTM com o Modelo Digital do Terreno (DTM). O DTM representa apenas a superfície do terreno natural, sem levar em conta objetos como edifícios ou vegetação. Em geral, o DTM é obtido removendo-se do DSM os recursos aéreos, como prédios e árvores.
- Processamento de dados : A criação de um DTM pode envolver um processamento de dados complexo para filtrar pontos desnecessários, reduzir ruídos, preencher lacunas e gerar uma representação contínua do terreno. Várias técnicas de processamento, como interpolação, filtragem e fusão de dados de várias fontes, podem ser usadas para criar um DSM de alta qualidade.
Em resumo, o Modelo Digital de Superfície (DSM) é uma representação digital completa de uma superfície terrestre, incluindo recursos aéreos, como edifícios e árvores. Ele é amplamente usado no GIS para muitos aplicativos e fornece informações valiosas sobre a topografia e a morfologia da paisagem.
Dados classificados ou brutos?
A geração de um DSM a partir de uma nuvem de pontos LIDAR pode ser muito simples ou mais complicada, dependendo do tipo de dados usados. Vamos nos limitar aqui aos dois tipos de dados disponíveis no IGN: dados brutos e dados classificados.
A imagem a seguir mostra uma nuvem de pontos bruta no CloudCompare:
Você pode ver pontos acima e abaixo do terreno. Esses pontos são conhecidos como “ruído” da nuvem. Conforme descrevemos na introdução deste artigo, a geração de um modelo de superfície digital envolve um processo de interpolação. Embora o ruído não seja um problema para alguns tratamentos, assim que se trata de interpolar valores, esses pontos afetam drasticamente o resultado. O resultado do MNS para a imagem anterior, sem intervenção nesse ruído, apresenta o seguinte resultado:
A influência desse ruído depende de vários fatores (precisão do DSM, parâmetros de interpolação, etc.), mas, embora sua influência no resultado possa ser reduzida, a melhor abordagem ainda é remover o ruído antes de gerar o DSM.
No caso de dados classificados, os pontos considerados como ruído são incluídos na classe 65. Uma ferramenta nativa do QGis, LAStools ou WhiteboxTools pode ser usada para gerar o DSM. Veremos isso no próximo capítulo.
Aqui, processaremos uma nuvem bruta com ruído e usaremos o CloudCompare.
Cálculo de um modelo digital de superfície (DSM) com o CloudCompare
A vantagem de usar o CloudCompare para realizar esse processamento é que você pode verificar visualmente a qualidade da remoção de ruído.
Começamos com uma nuvem de pontos não classificada do IGN:
Se aumentarmos o zoom, poderemos ver claramente o ruído presente:
Dois filtros estão disponíveis no CloudCompare para eliminar o ruído:
O filtro SOR
A ferramenta “filtro SOR” é muito semelhante ao S.O.R. (Statistical Outlier Removal) da biblioteca PCL. Primeiro, ela calcula a distância média de cada ponto em relação aos seus vizinhos (considerando k vizinhos mais próximos para cada um – k é o primeiro parâmetro). Em seguida, ele rejeita os pontos que estão mais distantes do que a distância média mais um determinado número de vezes o desvio padrão (o segundo parâmetro). Você o encontrará no menu->Tools->Clean->SOR filter
Isso abrirá uma janela na qual você poderá inserir os dois parâmetros de filtro:
O filtro de ruído (Noise)
A ferramenta “Filtro de ruído” se parece um pouco com o filtro S.O.R., mas leva em conta a distância até a superfície subjacente em vez da distância até os vizinhos.
Esse algoritmo ajusta localmente um plano (em torno de cada ponto na nuvem) e, em seguida, remove o ponto se ele estiver muito distante do plano ajustado. Esse filtro pode ser visto como um filtro passa-baixa.
Para estimar a superfície (plana) subjacente, o usuário pode definir um raio ou um número (constante) de vizinhos. O usuário também pode escolher entre um erro relativo (como o S.O.R.) e um erro absoluto. Os pontos isolados também podem ser excluídos na mesma execução.
No nosso caso, usar o filtro SOR é muito mais eficiente. O resultado é :
E se você aumentar o zoom, poderá confirmar que o ruído foi eliminado:
Para criar um SNM, clique na camada limpa na lista de camadas e, em seguida, na ferramenta Raster do CloudCompare.
Isso abre a janela de configuração da transformação raster.
O parâmetro step indica a precisão da grade de saída. A configuração padrão é 1 metro, mas vamos criar um MNS com um passo de 0,5 m.
Em Active Layer (Camada ativa), selecione Cell height values (Valores de altura da célula)
O parâmetro direction (direção) deve ser definido como Z para interpolação horizontal e a altura da célula deve ser definida como máxima.
Clique em Update grid (Atualizar grade) e você verá uma visualização do resultado
Clique no botão “Raster” para criar o raster MNS:
Dê um nome ao seu arquivo MNS e pronto.
Agora podemos carregar o MNS no QGis e ver o resultado.
Carregamos a nuvem de pontos LIDAR original e o raster que acabamos de criar.
Para ver exatamente como o DSM foi calculado, usaremos View -> Elevation Profile (Exibir -> Perfil de elevação)
Você pode ver que o MNS foi calculado corretamente para essa nuvem de pontos.
Se você tiver uma nuvem de pontos classificada, no CloudCompare precisará remover (filtrar) os pontos que foram classificados como ruído, antes de fazer a rasterização do MNS.
Neste exemplo, temos as classes 64, 64 e 202, que incluem ruído, bem como pontos que não são de interesse para o DSM.
No CloudCompare, certifique-se de que você ativou a Classification em Scalar Fields.
Aplicamos um filtro à camada original, usando o menu Edit -> Scalar fields -> Filter by value
Você verá uma janela que permite definir um intervalo de classes para exportar, entendendo-se aqui exportação como a criação de uma nova camada.
Em nosso exemplo, o intervalo é de 1 a 202, pois esses são os valores das classes presentes na nuvem. Alteramos o valor máximo para 20 (a classe mais forte é 17: tabuleiro de ponte) e executamos
Temos, então, uma nova nuvem de pontos na qual não temos mais nenhum ruído ou artefato e que pode ser usada, como vimos acima, para criar o raster para o DSM.
Cálculo de um modelo digital de superfície (DSM) com o LAStools
Para criar o DSM com o LAStools, usaremos duas ferramentas:
- a primeira, LASnoise, nos permitirá classificar os pontos de ruído em uma classe específica (classe 7)
- a segunda, las2dem, nos permitirá gerar um raster com as alturas dos pontos, onde teremos excluído a classe 7.
LASnoise
A janela de configurações da ferramenta LASnoise é a seguinte:
Deixamos os valores padrão, em particular classify as com o valor 7.
Após a execução do comando, podemos abrir a caixa de diálogo da ferramenta las2dem.
LAS2dem
Essa ferramenta interpola uma nuvem de pontos usando o Z dos pontos. No exemplo que estamos seguindo, com uma nuvem de pontos LIDAR não classificada, classificamos o ruído como classe 7. Solicitaremos ao LAS2dem que ignore esses pontos.
No caso de uma nuvem de pontos classificada, usaremos o LAS2dem diretamente na nuvem classificada, solicitando que ele ignore a classe 65.
No menu suspenso filter(by return,classification,flags), selecione drop_class 7. Isso garantirá que os pontos de ruído não sejam levados em conta ao interpolar o DSM.
Em step size/pixel size, defina o tamanho do pixel do DSM e, em seguida, execute o comando.
O resultado pode então ser carregado na janela QGis. Em seguida, podemos comparar o resultado com a nuvem de pontos original e com o DSM calculado com o CloudCompare.
Para fins de comparação, o MNS gerado pelo CloudCompare levou menos de um minuto para ser calculado…
O resultado pode então ser carregado na janela do QGis. Podemos então comparar o resultado com a nuvem de pontos original e com o DSM calculado com o CloudCompare.
Em vermelho, você tem o MNS calculado pelo LAS2dem e, em azul, o calculado com o CloudCompare. O primeiro parece mais refinado, mas depende de como ele será usado se essa refinação vale o tempo de computação necessário.