QGIS 2.6 + GDAL - Processamento Digital

Transcrição

QGIS 2.6 + GDAL - Processamento Digital
QGIS 2.6 + GDAL
Transformação Radiométrica para Imagens Landsat-8:
Conversão de 16 Bit para 8 Bit
Jorge Santos
2014
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
Conteúdo
Sumário
Capítulo 1............................................................................................................................................................. 4
Sobre a Conversão Radiométrica.................................................................................................................... 4
1.1. Tipo de Dado.......................................................................................................................................... 4
1.2. Bits e Bytes............................................................................................................................................. 5
1.3. Rampa de Cores (8 Bit)......................................................................................................................... 5
1.4. Rampa de Cores (16 Bit)....................................................................................................................... 6
1.5. Exemplo de Aplicação: DEM SRTM..................................................................................................... 6
1.6. Escala ou Intervalo de Dados............................................................................................................... 6
1.7. Dimensionamento ou Stretch............................................................................................................. 7
1.8. Quando devemos utilizar a Conversão Radiométrica?.....................................................................7
Capítulo 2............................................................................................................................................................. 8
Landsat-8 Conversão de 16 Bit para 8 Bit...................................................................................................... 8
2.1. Sobre as Imagens Landsat-8................................................................................................................. 8
2.2. Download das Imagens Landsat-8...................................................................................................... 8
2.3. Metadados e Estatísticas do Raster.................................................................................................... 8
2.4. Parâmetros para o GDAL_TRANSLATE............................................................................................. 10
2.4. QGIS 2.6: Transformação de 16 Bit para 8 Bit.................................................................................10
Capítulo 3........................................................................................................................................................... 14
Conversão em Lote com GDAL...................................................................................................................... 14
3.1. Sobre o GDAL....................................................................................................................................... 14
3.2. Procedimento para Execução do GDAL...........................................................................................14
3.3. Primeiros Passos no GDAL................................................................................................................. 14
3.3.1 Comando para Mudança de Unidade de Disco.....................................................................14
3.3.2 Comando cd............................................................................................................................... 15
3.3.3 Comando cls.............................................................................................................................. 15
3.3.4 Modo de Edição Rápida........................................................................................................... 16
3.4. O programa gdal_translate............................................................................................................... 16
3.4.1 Conversão Radiométrica para Múltiplos Arquivos................................................................17
3.5. [VIDEOTUTORIAIS] Conversão Radiométrica..................................................................................19
3.5.1 Conversão Radiométrica no QGIS 2.6.....................................................................................19
3.5.2 Conversão Radiométrica no GDAL..........................................................................................19
Capítulo 4........................................................................................................................................................... 20
Contatos........................................................................................................................................................... 20
Autor............................................................................................................................................................. 20
Processamento Digital – Geotecnologias e Software Livre..................................................................20
Competências............................................................................................................................................. 20
2
Capítulo 1
Sobre a Conversão Radiométrica
1.1. Tipo de Dado
Conversão Radiométrica é o processo utilizado para modificar o tipo de dado nos arquivos
raster. O tipo de dado é um princípio matemático que tem origem na teoria dos conjuntos (conjunto
dos números naturais, conjunto dos números inteiros, reais, imaginários, etc.) e possui aplicação direta
na computação.
Um arquivo raster é uma matriz ou estrutura formada por linhas e colunas. A intersecção entre
linhas e colunas forma células ou pixels. Na estrutura de dados raster, valores numéricos são
armazenados em todas as células da imagem para representação de um tema ou determinado
fenômeno do espaço geográfico.
Imagens digitais são dados processados no computador. Para a computação, se existe um
determinado valor numérico, este dado precisa ser classificado de acordo com o seu tipo de dado.
Vamos tomar como exemplo a Teoria Geral dos Conjuntos e utilizar a aplicação do conjunto Z
referente ao Conjunto dos Números Inteiros:
Z = {…, -3, -2, -1, 0, 1, 2, 3, …}
Em relação ao Conjunto Z, podemos afirmar que:
• O Conjunto Z admite números inteiros, ou seja, não há parte fracionária nos algarismos.
• O Conjunto Z admite números sinalizados e não-sinalizados, ou seja, números inteiros
sinalizados são os números com sinal negativo e números inteiros não-sinalizados são os
números positivos.
• Em relação ao Conjunto acima, podemos afirmar que o valor -3 é um número inteiro sinalizado
e o valor 1 é um número inteiro sem sinal.
Mapas topográficos, imagens de satélite, fotografias aéreas ou qualquer outra informação
matricial são tratadas no computador (meio digital) como arquivos raster. O tipo de dado (Data Type)
desses arquivos determina o formato dos números e a escala ou intervalo de valores (Range) indica a
quantidade total que pode ser armazenada na matriz.
Quanto maior for o número de bits, maior será o espaço necessário para armazenar dados. Por
isso, é preciso cautela ao realizar transformações entre dados com maior ou menor número de bits,
pois você pode acidentalmente perder informações ou utilizar um intervalo desnecessário.
3
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
1.2. Bits e Bytes
Nossos sistema de numeração é o sistema decimal. No computador, todos os números são
escritos em base 2, portanto, a máquina utiliza o sistema binário. Quando se fala em processo de
computador, há preocupação com memória e armazenamento.
No Computador:
01 Bit = um caractere (letra, símbolo ou número)
08 Bit = 1 Byte ou simplesmente “Byte”
16 Bit = 2 Bytes
32 Bit = 4 Bytes
64 Bit = 8 Bytes
O princípio do Sensoriamento Remoto é extrair informação da radiação eletromagnética
armazenando energia no formato de Número Digital (DN = Digital Number). Durante a passagem ou
observação do sensor remoto, diferentes instrumentos imageadores possuem características próprias
para aquisição de informação da luz. Na tabela abaixo, temos alguns exemplos de satélites artificiais
com o total de valores numéricos que podem ser armazenados em cada imagem processada:
Tipo de Dado
Escala
Total de Cores
Satélite
Inteiro não Sinalizado de 8 Bit
0 – 255
256 cores
Landsat-5
Inteiro não Sinalizado de 11 Bit
0 – 2047
2048 cores
GeoEye-1 / Ikonos / Quickbird
Inteiro não Sinalizado de12 Bit
0 – 4095
4096 cores
RapidEye
Inteiro não Sinalizado de 16 Bit
0 – 65535 65536 cores
Landsat-8
OBSERVAÇÃO: O computador não suporta dados em 11/12 Bit. Produtos dos satélites GeoEye-1,
Ikonos, Quickbird e RapidEye sempre serão entregues na escala compatível (16 Bit).
1.3. Rampa de Cores (8 Bit)
Totalizam 256 níveis de cinza por banda numa escala que varia de 0 a 255 possibilidades de
cinza. O tom de cinza mais escuro é o preto e o tom de cinza mais claro é o branco.
4
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
1.4. Rampa de Cores (16 Bit)
Totalizam 65536 níveis de cinza por banda numa escala que varia de 0 a 65535 possibilidades
de cinza. O tom de cinza mais escuro é o preto e o tom de cinza mais claro é o branco.
1.5. Exemplo de Aplicação: DEM SRTM
O SRTM (Shuttle Radar Topography Mission) é uma imagem de radar utilizada para
representar o relevo global. Cada valor numérico dos pixels que formam esse DEM (Digital Elevation
Model) representam um valor de altitude. Assim, se uma determinada região possui áreas com
altitude máxima de 1500 metros, é possível encontrar valores de pixel que variam de 0 a 1500
(considerando a parte inteira dos algarismos).
No SRTM, regiões associadas a corpos hídricos podem apresentar valores inteiros negativos.
1.6. Escala ou Intervalo de Dados
O Intervalo dos Dados (Range) pode ser compreendido como um recipiente para
armazenamento dos dados. Geralmente identificamos essa informação nos metadados como
Profundidade do Pixel ou Pixel Depth. O processo de transformação de uma escala para outra é
conhecido como Conversão Radiométrica ou Rescale.
Escala de 8 Bit : Intervalo que varia de 0 a 255. Considerando o exemplo do SRTM, não seria
5
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
possível armazenar informações de altitude numa escala de 8 Bit porque essa escala é incompatível
com os dados do relevo ( 0 a 1500). No Brasil, temos muitas regiões que ultrapassam os 255 metros de
altitude, portanto, para representar a elevação, precisamos armazenar os dados em outra escala.
Escala de 16 Bit : Intervalo que varia de 0 a 65535. Suficiente para armazenar dados do
SRTM ilustrados, pois em todo o planeta não temos montanhas que ultrapassem a dimensão dessa
escala. Todos os sensores remostos disponibilizam dados nessa escala.
Escala de 32 Bit : Muito utilizada em processos do computador. Geralmente os números são
escritos em Ponto Flutuante 32 Bits ou Float 32. Em algumas análises espaciais, dados em Float
podem apresentar resultados imprecisos. Neste caso, recomenda-se a conversão para inteiro.
1.7. Dimensionamento ou Stretch
Um determinado dado de 8 Bit pode ser alocado numa escala de 16 Bit, como pode ser
observado na ilustração abaixo:
O inverso, porém, é possível de ser realizado somente através de um dimensionamento dos
dados (Stretch). Esse processo modifica os valores originais dos pixels para que sejam adaptados à
escala de 8 Bit, portanto, o processo utilizado para alocar dados de 16 Bit na escala 8 Bit só deve ser
utilizado em casos específicos.
1.8. Quando devemos utilizar a Conversão Radiométrica?
Algumas etapas de PDI (Processamento Digital de Imagens) modificam os valores numéricos
dos pixels. A Equalização, por exemplo, é o processo que modifica as cores através da alteração das
curvas do histograma. Logo, a Equalização pode modificar os valores dos pixels. O Mosaico não
modifica os valores dos pixels se for executado nas imagens originais, porém a Fusão de Imagens pode
alterar essa informação.
Se você precisa da informação numérica dos pixels disponibilizada originalmente pela
operadora do satélite para realizar cálculos em processos específicos como a Classificação
Supervisionada, você não pode equalizar as imagens, pois a Equalização e a Correspondência de
Histograma são processos que modificam o histograma do raster através do balanço de cores.
Para evitar confusões entre os processos de PDI, devemos enxergar a imagem de satélite
como uma fonte de dados raster. Sendo uma fonte de dados, significa que vários produtos podem ser
entregues. Assim, podemos entregar um mosaico classificado com base nas imagens originais, um
mosaico visual bem bonito, podemos gerar recortes desse mesmo mosaico, etc.
A Conversão Radiométrica é frequentemente utilizada para conversão de formatos do tipo
Inteiro não Sinalizado de 16 Bit para 8 Bit. Deve ser realizada antes de processos como equalização
para geração de um mosaico visual. A Transformação Radiométrica nunca deve ser executada antes da
Classificação de Imagens, que é o processo que necessita dos pixels obtidos pelo sensor remoto
durante sua passagem.
6
Capítulo 2
Landsat-8 Conversão de 16 Bit para 8 Bit
2.1. Sobre as Imagens Landsat-8
Diferente dos seus antecessores, as imagens de satélite Landsat-8 são entregues em 16 Bits.
O procedimento para conversão de um raster de 16 Bit para 8 Bit requer alguns passos simples, mas
obrigatórios. Vamos pontuar cada uma delas mais adiante.
2.2. Download das Imagens Landsat-8
Um cadastro no site Earth Explorer é obrigatório para realizar o download das imagens
Landsat-8, que são imagens de satélite gratuitas com resolução espacial de 15 metros.
•
•
USGS: Cadastro para Download de Imagens Landsat nos sites Earth Explorer e GLOVIS
LANDSAT-8: Download de imagens através dos sites Earth Explorer e GLOVIS
2.3. Metadados e Estatísticas do Raster
Carregue a imagem Landsat-8 em 16 Bit no QGIS 2.6. Neste programa, todos os
procedimentos para realizar a Transformação Radiométrica para 8 Bit devem ser realizados por banda.
Com a imagem aberta no programa, o primeiro passo consistem em consultar os Metadados.
Metadados são dados que contém outros dados; é a ficha técnica de um arquivo raster (quantidade de
linhas e colunas, resolução espacial, resolução radiométrica, sistema de referência, estatísticas do
raster, etc.). Através dos Metadados, podemos obter os valores Mínimo e Máximo dos pixels para
realizar o dimensionamento dessa informação na escala de 8 Bit.
Você precisa conhecer o Range (intervalo de dados) de cada banda para conseguir
transformar corretamente os dados. Na prática, são os valores numéricos armazenados nos pixels.
Somente através das estatísticas podemos obter os valores Mínimo e Máximo de cada banda.
Depois, através do GDALINFO embutido no QGIS vamos imprimir na tela essa informação.
MENU R ASTER – MISCELÂNE A – INFORMAÇÃO
7
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
Primeiro, selecione a sua banda na lista. Segundo, clique no lápis para editar a linha de
comando e digite o parâmetro -stats para que o GDALINFO possa calcular as estatísticas.
ANTES
gdalinfo C:/LANDSAT8_PE/LC82150652013152LGN00_B6.TIF
DEPOIS
gdalinfo -stats C:/LANDSAT8_PE/LC82150652013152LGN00_B6.TIF
Clique no botão OK para executar o comando e, depois, clique novamente no lápis para sair
da edição do comando. As estatísticas preciosas serão armazenadas no bloco acima.
Rolando a lista de metadados até o final, temos a informação que precisamos: os valores
Mínimo e Máximo dessa banda. Veja abaixo os resultados para a banda utilizada nesse teste:
STATISTICS_MAXIMUM=62455
STATISTICS_MEAN=11150.17715019
STATISTICS_MINIMUM=0
STATISTICS_STDDEV=7741.5369127271
8
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
Estes são os valores necessários para gerar a imagem em 8 Bit em nosso teste:
Valor mínimo de pixel = 0
Valor máximo do pixel = 62455
Anote os valores da banda porque vamos utilizá-los mais adiante.
2.4. Parâmetros para o GDAL_TRANSLATE
Antes de gerar a imagem em 8 bits, vamos precisar inserir os números obtidos no processo
anterior em outro comando GDAL (use o Bloco de Notas para editar o comando se necessário):
ANTES
-ot Byte -scale src_min src_max -co TFW=YES
DEPOIS
-ot Byte -scale 0 62455 -co TFW=YES
Vamos explicar os comandos acima antes de copiar e colar na próxima linha de comando.
-ot Byte: Tipo de Dado de Saída. Byte é um tipo de dado que significa Unsigned Integer 8 Bit .
-scale src_min src_max: Este é o parâmetro que muda a escala dos dados. Funciona assim: 16 Bit é uma
escala de cores ou um recipiente que guarda até 65536 itens, porém, 8 bits é um recipiente menor, só
cabem 256 itens. Por isso, o parâmetro -scale vai dimensionar os valores do pixel de modo que
valores semelhantes sejam criados e armazenados na escala de 8 bit. Para isso, é obrigatório fornecer
os valores mínimo e máximo da imagem.
-co TFW=YES: Esta é uma Opção de Criação . Permite gerar um arquivo TFW que contém
informações de posicionamento da imagem. É uma medida cautelosa para que nenhum processo
apague a informação de posição do raster.
Agora que sabemos o que esses parâmetros fazem, vamos partir para a etapa de geração da
cena Landsat-8 em 8 Bit.
2.4. QGIS 2.6: Transformação de 16 Bit para 8 Bit
MENU R ASTER – CONVERSÃO – TR ADUÇÃO (Converter Formato)
9
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
1 - Primeiro, informe as imagens de entrada e saída que serão transformadas de 16 Bit para 8 Bit:
2 - Segundo, clique no lápis para editar o comando GDAL que aparece mais abaixo (o QGIS funciona
como uma interface gráfica para o GDAL, que não possui GUI):
3 - Cole o parâmetro -ot Byte -scale 0 62455 -co TFW=YES da sua imagem no comando após o
parâmetro de saída -of GTiff. Veja a demonstração:
ANTES
gdal_translate -of GTiff C:/LANDSAT8_PE/LC82150652013152LGN00_B6.TIF C:/LANDSAT8_PE/LC82150652013152LGN00_B6_8bit.tif
DEPOIS
gdal_translate -of GTiff -ot Byte -scale 0 62455 -co TFW=YES C:/LANDSAT8_PE/LC82150652013152LGN00_B6.TIF C:/LANDSAT8_PE/LC82150652013152LGN00_B6_8bit.TIF
10
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
4 - Notar que os números variam para cada banda e o comando fica diferente. Clique em OK para
executar o comando (não clique no lápis para sair da edição do comando).
A imagem em 8 Bit será gerada com sucesso. Perceba que os valores MIN/MAX estão
diferentes da imagem original:
Para retirar o realce, acesse as Propriedades do Raster e modifique a simbologia da banda
para ESTENDER PAR A MINMA X .
11
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
Siga a ordem numérica abaixo e realce automático na imagem será desligado.
Repita o procedimento em todas as bandas restantes. Com as imagens em 8 bit, outros processos
podem ser realizados, como a Composição Colorida RGB e o Mosaico.
12
Capítulo 3
Conversão em Lote com GDAL
3.1. Sobre o GDAL
GDAL <http://www.gdal.org/> é uma biblioteca geoespacial para tradução de formatos de
dados raster. Apesar de não possuir interface gráfica de usuário, o programa possui muitas rotinas
interessantes. É preciso possuir pequenas noções de MS-DOS para utilizar o programa em ambiente
Windows. GDAL é um software livre.
3.2. Procedimento para Execução do GDAL
Para os usuários que possuem o aplicativo SIG QGIS <http://www.qgis.org> no sistema
operacional Windows, não é necessário instalar o aplicativo GDAL. Após o download e instalação do
QGIS, encontre o GDAL no Menu Iniciar do Windows através do aplicativo OSGeo4W:
3.3. Primeiros Passos no GDAL
Fazer a transformação de 16 Bit para 8 Bit pode ser um processo simples para uma única cena
Landsat-8. Para vinte cenas, pode representar um problema. Em casos assim, devemos utilizar a linha
de comando para automatizar esse processo.
Os comandos GDAL devem ser digitados diretamente no Prompt de Comando , porém,
temos algumas dicas que podem auxiliar iniciantes no programa.
3.3.1 Comando para Mudança de Unidade de Disco
Em ambiente Windows, a principal unidade de disco é representada pela letra C. Outras
letras podem representar outros tipos de mídia como pendrives, drives de CD/DVD-ROM, discos
rígidos externos, etc. Assumindo que a Unidade F representa outra unidade de disco do computador
que contém dados, digite o comando abaixo na janela do GDAL:
F:
13
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
Pressione ENTER. A nova unidade de disco será montada e estará pronta para receber novos
comandos.
Para retornar ao drive padrão, basta digitar C: no Prompt da janela.
3.3.2 Comando cd
Utilizado para acessar um diretório ou subdiretórios de arquivos. Por exemplo, temos uma
imagem armazenada na pasta IMAGEM. Esta pasta está na unidade C: e queremos ter acesso a ela para
executar comandos.
Digite o comando abaixo no Prompt de Comando:
cd C:\imagem
O diretório será modificado. Digite cd\ para regressar até o diretório raiz.
3.3.3 Comando cls
Comando utilizado para limpar a tela. Digite o comando cls para limpar a tela:
14
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
3.3.4 Modo de Edição Rápida
Permite acessar rapidamente qualquer comando copiado para a janela do Prompt.
Na janela principal, clique no botão de controle e acesse as Propriedades:
Marque a opção Modo de Edição Rápida e clique no botão OK:
3.4. O programa gdal_translate
Após tomar nota dos principais comandos do MS-DOS, chegou o momento de executar o
programa gdal_translate para modificar o tipo de dado dos arquivos raster.
http://www.gdal.org/gdal_translate.html
15
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
3.4.1 Conversão Radiométrica para Múltiplos Arquivos
Acesse a pasta onde estão as imagens Landsat-8. Nosso objetivo é transformar em lote
múltiplas bandas do satélite Landsat-8 de 16 Bit para 8 Bit.
Selecione e copie o diretório das imagens:
Na janela OSGeo4W, digite cd + [ESPAÇO] e pressione <ENTER> para acessar a pasta:
Com a edição rápida, você será capaz de colar rapidamente longos comandos e diretórios do
Windows diretamente para a janela do Prompt de Comando. Vamos utilizar esses procedimentos para
executar todos os comandos do GDAL.
Este é o comando para o Rescale de múltiplas imagens Landsat-8:
for %i in (*.tif ) do gdal_translate -of GTiff -ot Byte -scale -co TFW=YES %i %~ni_8bit .tif
16
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
for %i in (*.tif ) do : Repetição ou Looping (executa o processo em todos os arquivos da pasta).
gdal_translate : Programa para tradução entre diferentes formatos de arquivo raster.
-of GTiff : Parâmetro que modifica o formato do arquivo raster de saída para GeoTIFF.
-ot Byte: Parâmetro que define o Tipo de Dado para Byte (Inteiro Não Sinalizado de 8 Bit).
-scale: Parâmetro que transforma a escala do dado, modificando valores.
-co TFW=YES : Opções de Criação. Gera um arquivo externo TFW para o raster de saída.
%i: Variável que representa todos os arquivos de entrada.
%~ni_8bit.tif: Variável que representa todos os arquivos de saída.
Cole este comando na janela do Prompt e pressione [ENTER]. O processo será executado:
O comando será executado enquanto encontrar imagens TIFF na pasta. Quando o algoritmo
ler a última imagem na pasta, o programa deixa de executar. Repare que, diferente do QGIS, o GDAL
não necessita que os parâmetros de escala de cada banda sejam informados, o que otimiza um tempo
precioso nos processos.
No final, todas as imagens em 8 Bit serão exibidas na pasta com um sufixo _8bit:
17
QGIS 2.6: Conversão Landsat-8 (16 Bit para 8 Bit)
3.5. [VIDEOTUTORIAIS] Conversão Radiométrica
3.5.1 Conversão Radiométrica no QGIS 2.6
Acesse o vídeo que contém todos os passos mencionados neste documento.
QGIS 2.6: Conversão Radiométrica
3.5.2 Conversão Radiométrica no GDAL
Use o GDAL e aprenda a dominar a linha de comando para automatizar as tarefas de PDI.
GDAL 1.11: Conversão Radiométrica
18
Capítulo 4
Contatos
Autor
Jorge Santos
Lattes: http://lattes.cnpq.br/1910845468254276
E-mail: [email protected]
Skype: jorgepsantos2002
Processamento Digital – Geotecnologias e Software Livre
Endereço: http://www.processamentodigital.com.br/
Twitter: http://twitter.com/jpsantos2002
Facebook: http://www.facebook.com/ProcessamentoDigital
LinkedIn: http://br.linkedin.com/pub/jorge-santos/10/38b/8a4/
Competências
•
•
•
Consultoria em SIG/PDI;
Treinamento em Geotecnologias / Processamento Digital de Imagens;
Gerência de Projetos.
19