Obtendo os dados para o banco de dados (shapefile do PRODES)
Os polígonos de desmatamento do PRODES são disponibilizados na forma de shapefile (SHP). Pode-se baixar os SHP por cena ou na forma de mosaico (http://www.dpi.inpe.br/prodesdigital/dadosn/).
O PRODES utiliza uma grade própria de cenas para fazer ao levantamento do desmatamento, sendo essa a unidade de trabalho do PRODES. Nessa postagem vamos trabalhar com os SHPs de PRODES por cena, sendo o ano base de 2010.
Podemos verificar no endereço das cenas de 2010 (http://www.dpi.inpe.br/prodesdigital/dadosn/2010/), que podemos baixar arquivos de imagem e SHPs.
Para organizar os dados, vamos criar uma pasta para o PRODES 2010 e baixar os SHPs nela. A seguir os passos no terminal configurado para usar o Linux.
- Criar o diretório e torna-lo como diretório corrente
mkdir prodes2010
cd prodes2010
- Obter a página do PRODES 2010 (o nome do arquivo é index.html)
wget http://www.dpi.inpe.br/prodesdigital/dadosn/2010/
- O arquivo index.html possui o nome dos SHPs, e vamos criar uma listagem desses arquivos com o endereço completo.
A listagem vai conter em cada linha o endereço completo de cada SHP, como exemplo, http://www.dpi.inpe.br/prodesdigital/dadosn/2010/PDigital2010_00165_shp.zip
Vamos criar um script shell, 'list_zip.sh', para listar os endereços completos, e coloca-lo no diretório onde está o arquivo 'index.html'.
Conteúdo do arquivo 'list_zip.sh':
for file in `grep _shp.zip index.html | cut -d= -f4 | cut -d'"' -f2`;
do echo "http://www.dpi.inpe.br/prodesdigital/dadosn/2010/$file";
done;
A sequência de processamento do script é:
1) Executa a sequência de comandos conectados com pipe '|', definida entre os caracteres '`'
`grep _shp.zip index.html | cut -d= -f4 | cut -d'"' -f2`
Obs.: A saída de cada comando passa a ser a entrada de outro comando (uso do pipe)
1.1) Lista as linhas do arquivo index.html que contém o texto '_shp.zip'
grep _shp.zip index.html
1.2) Corta o 4o campo (field) de cada linha, onde os campos são delimitados pelo caracter '='
cut -d= -f4
1.3) Corta o 2o campo (field) de cada linha, onde os campos são delimitados pelo caracter '"'
cut -d'"' -f2
2) Cada linha da saída da sequência de comandos do ítem (1) passa a ser o valor da variável
'file' dentro do comando 'for'
for file in `Lista de valores do ítem (1)`;
do "Comando onde utiliza o valor de file";
done;
Obs.: O comando de interação 'for' inicia com o comando 'do' e termina o laço de interação com o comando 'done'
2.1) Cada valor de 'file' no interior do comando 'for' é utilizado para escrever na saída padrão (o janela do terminal) o caminho completo do SHP.
echo "http://www.dpi.inpe.br/prodesdigital/dadosn/2010/$file"
Obs.: O valor de file é obtido pelo uso do caracter '$'
Você pode testar cada comando do script para estuda-los.
Para criar a lista contendo o endereço completo de cada SHP, execute o script shell, list_zip.sh, pelo comando 'sh', e canalize para um arquivo, ou seja, troque a saída padrão para um arquivo com uso do '>'.
sh list_zip.sh > list_zip.sh.txt
- O arquivo 'list_zip.txt' tem todos os SHPs que precisamos, assim, podemos baixar todos os arquivos usando o 'wget' , passando como argumento o arquivo com as listagem (uso da opção '-i')
wget -i list_zip.txt
A utilização dos comandos/programas via console LINUX é um recurso poderoso para obtermos dados de sites, para maiores informações vejam os detalhes do comando 'wget'.
Até a próxima,
Luiz Motta
--
motta.luiz@gmail.com


Luiz Motta
Christian Nunes


