Mais

Dados de elevação de “nivelamento” coincidentes com o polígono?

Dados de elevação de “nivelamento” coincidentes com o polígono?


Eu tenho um arquivo de forma contendo geometrias de construção (polígonos) e um conjunto de dados de elevação. Os dados de elevação não correspondem perfeitamente aos edifícios.

Quero "nivelar" os dados de elevação para que, onde quer que haja um prédio, a elevação seja completamente plana.

Resumindo: para todos os pixels que se cruzam com um polígono, altere seu valor para a média dos pixels que se cruzam.

Como posso fazer isso?

Esta questão não está mais ou menos relacionada a um software específico, embora eu prefira usar software livre como QGIS, GDAL / OGR etc.


Para valores médios de elevação em polígonos de construção ...

No QGIS:

  1. Ativar Estatísticas Zonais plugar
    • Execute-o - "Raster / Zonal Statistics", ele adicionará novas colunas à camada de polígono
    • o necessário é "significar".
  2. Duplique sua camada de elevação (raster / grade) - você vai usá-la para o arquivo final
  3. Usar "Raster / conversão / rasterizar"
    • selecione sua camada de polígono (construção), campo "significa"
    • como alvo, use sua cópia do raster / grade de elevação.
    • Mantenha o tamanho e a resolução existentes
    • (por alguma razão minha versão QGIS 2.2 escreve "O arquivo selecionado não é um formato OGR suportado" para todos os arquivos vetoriais que tentei, então precisei usar QGIS dev versão 2.3)

O resultado será a combinação dos valores de elevação originais fora dos polígonos e a média dentro dos polígonos.


Esta resposta funciona apenas se você quiser um valor constante - no exemplo 0.

No QGIS:

  1. Recorte a elevação por polígonos (edifícios) para um novo raster (grade) - buildings_grd

    • Raster / Extração / Clipper
    • (Use o modo de recorte "Camada de Máscara"e seu shapefile de construção)
  2. Execute uma calculadora raster e calcule

    • Calculadora Raster / Raster ...
    • Expressão: ("elevation" = "buildings_grd") * 0 + ("elevation"! = "Buildings_grd") * "elevation"