modelo formal de apresentação de teses e dissertações ... · concepção e desenvolvimento de...

72
1 Dissertação apresentada para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Ordenamento do Território e Sistemas de Informação Geográfica, realizada sob a orientação científica de José António Tenedório

Upload: duongkiet

Post on 21-Jan-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

1

Dissertação apresentada para cumprimento dos requisitos necessários à

obtenção do grau de Mestre em Ordenamento do Território e Sistemas de

Informação Geográfica, realizada sob a orientação científica de José

António Tenedório

2

AGRADECIMENTOS

Em memória do meu pai.

A todos que de alguma forma me fizeram chegar aqui.

Especial agradecimento ao Professor José António Tenedório, pela sua

paciência e conhecimentos.

A todo corpo docente da FCSH que me fizeram escolher este caminho.

3

RESUMO

As sucessivas gerações de satélites LANDSAT, geridas por um consórcio que

integra a NASA e a USGS, registaram um enorme acervo de imagens da Terra;

registos esses que se iniciaram em 1972 e têm decorrido até aos nossos dias.

Esse acervo, estruturado em bases de dados, pode ser inquirido e as imagens

podem ser descarregadas sem custo. Contudo, todo o processo de aquisição

que compreende a inquirição à base de dados e download - é relativamente

complexo devido ao facto da plataforma da USGS conter uma enorme

densidade de informação. Esta dissertação tem como objectivo principal a

concepção e desenvolvimento de uma plataforma WEB, designada GeoRef,

para aquisição de imagens de satélite. O GeoRef tem também implementadas

algumas funções de processamento e de cálculo sobre imagens LANDSAT,

nomeadamente dos sensores MSS,TM,ETM e OLI. Todo o processo de

aquisição foi revisto de forma a simplificar a pesquisa, assim como foram

operacionalizadas ‘rotinas’ que optimizam a execução de tarefas frequentes.

Em média, o tempo necessário para a plataforma produzir resultados, que

eram obtidos de forma manual e algumas vêzes em softwares diversos, é de

15 a 20 minutos. Os processos optimizados foram implementados com a

integração de software R e linguagem PHP, facto que permitiu a construção

de um modelo de utilização sobre os packages do software R, abrindo um

variadíssimo leque de opções que poderão a vir integrar a plataforma. Na fase

de cálculo foi utilizado o software FRAGSTATS (Spatial Pattern Analysis

Program for Categorical Maps) em modo Batch utilizando o mesmo método

de integração com R.

PALAVRAS-CHAVE: Detecção Remota, Imagens Landsat, GeoRef, software R

4

ABSTRACT

Successive generations of LANDSAT satellites, managed by a consortium

including NASA and USGS, have recorded a huge collection of Earth surface

images – this recording having began in 1972 and continuing until this day.

This wealth of data, structured in databases, can be queried and the images

can be downloaded without any cost. However, this acquisition process -

comprising the querying to the database itself and data downloading - is

relatively complex due to the fact that the USGS platform contains a huge

density of information. The main aim of this thesis’ was to design and develop

a web platform called GEOREF for acquiring these satellite images. GEOREF

also implements some processing and calculation functionalities upon Landsat

data, namely data coming from the MSS, TM, ETM and OLI sensors. The whole

data acquisition process has been tuned in order to simplify the search, and

some ‘routines’ were designed which optimize the performance of common

tasks. On average, the time required for the platform to produce results is 15

to 20 minutes -- which compares with many hours when this data was

obtained manually and frequently using disparate software’s. These optimized

processes were implemented by integrating ‘R’ software with PHP language,

which also allowed the construction of a model of usage for packages of the

‘R’ software, thus opening a wide variety of options that may later be added

into this platform. For the calculations phase, the FRAGSTATS software

(“Spatial Pattern Analysis Program for Categorical Maps”) was used in batch

mode, resorting to the same method of integration as with ‘R’.

KEYWORDS: Remote Sensing, Landsat images, GeoRef, R software

5

Índice

AGRADECIMENTOS ................................................................................................ 2

AO POVO DA AMAZÔNIA! ...................................................................................... 8

Notas: ............................................................................................................... 10

1.CONCEITOS E DEFINIÇÕES .................................................................................. 12

2. INTRODUÇÃO ................................................................................................... 15

3.OBJECTIVO ........................................................................................................ 18

4. A PLATAFORMA GEOREF ................................................................................... 20

4.1 ARQUITETURA DA PLATAFORMA .............................................................................. 20

Servidor de base de dados Mysql ...................................................................... 20

Servidor de páginas Apache .............................................................................. 20

Linguagem HTML, PHP com Jquery e “R” .......................................................... 21

Scheduler – System Scheduler ........................................................................... 21

4.2 ESTRUTURA DE DADOS .......................................................................................... 22

4.3 AQUISIÇÃO DE METADADOS ................................................................................... 24

Passo 1.............................................................................................................. 26

Passo 2.............................................................................................................. 26

Passo 3.............................................................................................................. 28

Passo 4.............................................................................................................. 29

4.4 A INTERFACE WEB ................................................................................................ 29

Dashboard ........................................................................................................ 30

4.4.1-GERAÇÃO LANDSAT ........................................................................................... 31

4.4.2 - PESQUISAS ..................................................................................................... 32

4.4.3 - IMAGENS ....................................................................................................... 35

Unpack de imagens. .......................................................................................... 36

Extração de metadados sobre cada banda espectral. ........................................ 36

Informações sobre o sensor ............................................................................... 36

6

Gerar imagem png – Côr normal ....................................................................... 37

Gerar imagem em formato ENVI – Cor Normal.................................................. 37

Gerar imagem png – Falsa-cor .......................................................................... 37

Gerar imagem em formato ENVI – Falsa cor...................................................... 37

Frequências sobre as bandas espectrais ............................................................ 37

Gerar histogramas / Gráficos de Densidade sobre as bandas espectrais............ 38

Estatísticas sobre as bandas espectrais ............................................................. 39

4.4.4 -ANÁLISE DE BANDAS ESPECTRAIS ......................................................................... 39

Estatística ......................................................................................................... 40

Histogramas ..................................................................................................... 40

Densidades ....................................................................................................... 41

Scatter .............................................................................................................. 41

4.4.5 - COMPOSIÇÃO DE IMAGENS ................................................................................ 42

4.4.6 - METADADOS .................................................................................................. 42

Scheduler .......................................................................................................... 43

Comandos gdal ................................................................................................. 44

Linha de comando ............................................................................................. 45

4.4.7 – GEORREFERENCIAR.......................................................................................... 45

4.4.8 – KML ............................................................................................................ 46

4.4.9 – SOBREPOSIÇÃO/ OVERLAYS ............................................................................... 46

4.4.10 – ANÁLISE ESPACIAL ........................................................................................ 47

4.4.10.1 - FRAGSTATS ........................................................................................ 47

Linha de comando - FRAGSTATS ........................................................................ 49

Linha de comando (Windows) ........................................................................... 49

Linha de código (PHP) ....................................................................................... 49

Resultados de métricas de CLASSES ................................................................... 50

Resultados de Métricas de Fragmentos ............................................................. 52

Resultados de Métricas de Paisagem ................................................................ 53

4.4.10.2 – SDMTOOLS ............................................................................................... 1

5. CONCLUSÂO ..................................................................................................... 62

6. REFERÊNCIAS .................................................................................................... 64

7

7. ANEXOS ............................................................................................................ 66

Anexo 1 – R - Download de metadados ............................................................. 66

Anexo II – R – KML ( Overlays ) ......................................................................... 67

Anexo III – PHP – Gerar KML (ETM) ................................................................... 68

Índice de Figuras

Figura 1 GeoRef - Estrutura Funcional ....................................................................... 20

Figura 2 GeoRef - Interface Web ............................................................................... 30

Figura 3 - GeoRef - Fluxo Operacional ....................................................................... 30

Figura 4 GeoRef - Dashboard .................................................................................... 31

Figura 5 GeoRef - Timeline ........................................................................................ 32

Figura 6 GeoRef - Histogramas .................................................................................. 40

Figura 7 GeoRef - Densidade ..................................................................................... 41

Figura 8 GeoRef - Scatter .......................................................................................... 41

Figura 9 GeoRef - System Scheduler ......................................................................... 43

8

AO POVO DA AMAZÔNIA!

Era uma vez na Amazônia a mais bonita floresta

mata verde, céu azul, a mais imensa floresta

no fundo d'água as Iaras, caboclo lendas e mágoas

e os rios puxando as águas

Papagaios, periquitos, cuidavam de suas cores

os peixes singrando os rios, curumins cheios de amores

sorria o jurupari, uirapuru, seu porvir

era fauna, flora, frutos e flores

Toda mata tem caipora para a mata vigiar

veio caipora de fora para a mata definhar

e trouxe dragão-de-ferro, prá comer muita madeira

e trouxe em estilo gigante, prá acabar com a capoeira

Fizeram logo o projeto sem ninguém testemunhar

prá o dragão cortar madeira e toda mata derrubar:

Se a floresta meu amigo, tivesse pé prá andar

eu garanto, meu amigo, com o perigo não tinha ficado lá

O que se corta em segundos gasta tempo prá vingar

e o fruto que dá no cacho prá gente se alimentar?

Depois tem o passarinho, tem o ninho, tem o ar

igarapé, rio abaixo, tem riacho e esse rio que é um mar

Mas o dragão continua a floresta devorar

e quem habita essa mata, prá onde vai se mudar?

Corre índio, seringueiro, preguiça, tamanduá

9

tartaruga: pé ligeiro, corre-corre tribo dos Kamaiura

No lugar que havia mata, hoje há perseguição

grileiro mata posseiro só prá lhe roubar seu chão,

Castanheiro, seringueiros já viraram até peão,

Afora os que já morreram como ave-de-arribação

Zé de Nata tá de prova, naquele lugar tem cova

gente enterrada no chão

Pois mataram índio que matou grileiro que matou posseiro

disse um castanheiro para um seringueiro que um estrangeiro

roubou seu lugar

Foi então que um violeiro chegando na região

ficou tão penalizado que escreveu essa canção

e talvez, desesperado com tanta devastação

pegou a primeira estrada, sem rumo, sem direção

com os olhos cheios de água, sumiu levando essa mágoa

dentro do seu coração

Aqui termina essa história para gente de valor

prá gente que tem memória, muita crença, muito amor

prá defender o que ainda resta, sem rodeio, sem aresta

era uma vez uma floresta na Linha do Equador... (Vital Farias).

10

Notas:

Iaras: Sereia, mãe d' água. Iara é uma sereia: mulher metade peixe.

Caboclo: Segundo o Dicionário Aurélio, "caboclo" procede do tupi kari'boka,

que significa "procedente do branco". O tupinólogo Eduardo de Almeida

Navarro defende que "caboclo" se originou do termo tupi kuriboka, que, num

primeiro momento, designava o filho de índio com africana.

Curumins: Curumim é uma palavra de origem tupi, e designa, de modo geral,

as crianças indígenas. Possui, como variantes, as seguintes formas: colomim,

culumim, colomi, curumi e culumi, sendo a forma usual, no português falado

no Brasil, a de Curumim, como sinônimo para criança.

Jurupari: Rio no estado do Acre- Brasil

Uirapuru : designação comum de diversas aves florestais, da ordem

Passeriformes, da família dos Certhídeos (subfamília Troglodytinae) ou da

família dos Tiranídeos (subfamília Priprinae). O Termo vem da língua Tu-´

pi (¨wirapu ' ru¨) e também pode ser chamado de arapuru, guirapuru,

virapuru, rendeira e tangará. É uma ave muito ativa que se locomove muito

rapidamente; alimenta-se de frutas e pequenos insetos. São cerca de 20

espécies, incluindo as duas famílias, destacando-se o chamado ¨uirapuru-

verdadeiro¨ (CyphorhinusAradus).

Caipora: [Do tupi: ¨caapora¨] -

1- Indivíduo do mato.

2- Duende sertanejo cujos pés têm os calcanhares para a frente e os dedos

para trás e protege as caças das florestas. A figura do caipora faz parte do

folclore indígena.

Capoeira: mato baixo , clareira no mato

Igarapé: "igara", significa "canoa"; "pé", significa "caminho".

Portanto, Igarapé significa "caminho da canoa" ou seja, um pequeno rio, um

riacho por onde passa somente canoas.

11

Grileiro: Nome dado as pessoas que falsificam documentos, para se apropriar

de terras alheias. O nome surgiu da técnica utilizada pelos falsificadores, que

consiste em colocar documentos falsificados dentro de uma gaveta com

grilos, fazendo que o documento fique amarelado devido aos excrementos e

roído, dando mais veracidade ao documento. Grileiros invadiram terras da

união e começaram a lotear para famílias de baixa renda.

12

1.CONCEITOS E DEFINIÇÕES

A natureza do trabalho desenvolvido nesta dissertação exige a definição

prévia de conceitos utilizados com frequência, conforme seguidamente se

expõe.

Sensoriamento remoto - “Termo cunhado no início dos anos de 1960 por

Evelyn L. Pruit e colaboradores, é uma das mais bem-sucedidas tecnologias de

coleta automática de dados para o levantamento e monitoração dos recursos

terrestres em escala global. Actualmente, a resolução espectral das imagens

obtidas pelos sensores imageadores já ultrapassa centenas de bandas, e a

resolução espacial de muitas imagens já é maior que 1 metro, possibilitando

suas aplicações nas áreas de levantamentos de recursos naturais e

mapeamentos temáticos, monitoração ambiental, detecção de desastres

naturais, desmatamentos florestais, previsões de safras, cadastramentos

multifinalitários, cartografia de precisão, defesa e vigilância, entre outras”. A

definição mais conhecida ou clássica de sensoriamento remoto:

Sensoriamento remoto é uma técnica de obtenção de imagens dos objectos

da superfície terrestre sem que haja um contacto físico de qualquer espécie

entre o sensor e o objecto. (INPE - INTRODUÇÃO AO PROCESSAMENTO DE

IMAGENS DE SENSORIAMENTO REMOTO - 2012).

SQL - Linguagem utilizada para consultar a base de dados

Queries - Consultas feitas com SQL.

WRS - Wordwide Reference System – Sistema utilizado pela USGS e NASA que

determina a localização de imagens sobre o globo terreste. Este sistema

composto por “linhas verticais”, chamadas de path, e “linhas horizontais”

denominadas rows. O encontro destas determina/localiza uma cena ou seja

imagens de satélite. (Orbit Path).USGS.

CloudCover - Nível de cobertura de nuvens em uma imagem, sendo este

factor determinante na escolha de imagens de satélite. O termo determina a

fração do céu coberta por nuvens.

13

Sensores remotos – “São equipamentos capazes de colectar energia

proveniente do objecto, convertê-la em sinal passível de ser registado e

apresentá-lo em forma adequada à extracção de informações”...” sistemas

fotográficos ou óptico-electrônicos capazes de detectar e registar, sob a

forma de imagens ou não, o fluxo de energia radiante reflectido ou emitido

por objectos distantes”. (INPE).

Bandas/Imagens espectrais - É o intervalo entre dois comprimentos de onda,

no espectro electromagnético. (INPE).

Resolução espectral: é uma medida da largura das faixas espectrais do

sistema sensor. Por exemplo, um sensor que opera na faixa de 0.4 a 0.45 m

tem uma resolução espectral menor do que o sensor que opera na faixa de

0.4 a 0.5 um. (INPE).

Imagens Espectrais – São imagens que cobrem diferentes faixas do espectro

da luz. Os satélites possuem sensores que cobrem diferentes faixas do

espectro da luz. A informação espectral de uma cena/imagem pode ser

representada por uma imagem espectral, na qual cada "pixel" tem

coordenadas espaciais x, y e uma espectral L, que representa a radiância do

alvo em todas as bandas espectrais, ou seja para uma imagem de K bandas,

existem K níveis de cinza associados a cada "pixel" sendo um para cada banda

espectral. O conjunto de características espectrais de um "pixel" é denotado

pelo termo atributos espectrais (INPE).

Espectro electromagnético - O espectro representa a distribuição da radiação

Eletromagnética (REM), por regiões; todos os corpos emitem e absorvem

energia em faixas dentro do espectro magnético de forma diferenciada, ou

seja cada corpo na superfície da terra tem diferentes niveis de aborção e

reflecxão de energia, sendo este o factor que os diferenciam nas

imagens.(INPE)

SPRING - Sistema para Processamento de Informações Georeferenciadas e

banco de dados geográfico, desenvolvido pelo INPE( Instituto Nacional de

Pesquisas Espaciais).

14

ENVI – Software para Processamento Digital de Imagens

LOAD – Processo de carga na base de dados sem usar a instrução “insert” do

SQL

Chucks – Pequenos pedaços de programas informáticos em R

Batch – Processamento em lote de informações

PDI – Processamento digital de Imagens

KML - Keyhole Markup Language – Linguagem utilizada para construção de

objectos utilizados no Google Earth.

KMZ – Keyhole Markup Zip – Zip de um KML – Devido ao tamanho dos

ficheiros as vezes é necessário comprimir os dados e torna mais rápido a

transferência de dados na WEB.

ZIP – Formato que permite comprimir de dados

15

2. INTRODUÇÃO

Desde as antigas civilizações às modernas, dados espaciais tem sido

colectados por navegadores, geógrafos, topógrafos no sentido de produção

de mapas. Os mapas produzidos desde então tem dado contributos a

organização das sociedades no sentido de estudos do uso dos solos e

administração de recursos naturais. Com o avanço tecnológico do último

século este processo sofreu alterações significativas e não só mapas tem sido

produzidos com qualidade superior, mas imagens de satélites e de avião e

tem sido objecto de estudo.

A utilização de imagens de satélite tem sido usada nos últimos anos para

pesquisas nas mais diversas áreas, desde a subida do nível do mar; destruição

de barreiras de corais; estudos sobre a ocupação dos solos; observações sobre

desmatamentos; índices florestais; crescimento urbano; mitigação de riscos

ambientais; gestão de recursos hídricos; controle de doênças e pragas; clima e

atmosfera, sendo estes exemplos não extensivos, existindo muito mais

aplicações que podem ser estudadas, acompanhadas com imagens de satélite

em estudos multítemporais. A aquisição destas imagens é muitas vêzes um

obstáculo a realização de trabalhos com maior rapidez e precisão , visto que

todo o processo implica em saber onde adquirir as imagens, quais imagens

utilizar; de que período será a imagem; ainda coloca-se em questão o tempo

de “download” destas imagens, visto que as imagens são todas compactadas

devido ao seu tamanho, o que por si só, dificulta o processo de aquisição.

Todo o processo é feito de modo manual o que leva a erros e re-trabalho. A

escolha de uma imagem errada pode levar a resultados não esperados, esta

escolha deve levar em consideração a ocorrência de obstáculos a uma análise

correcta, assim nuvens, e a propria qualidade da imagem quando do início do

tratamento de imagens implicam directamente nos resultados, uma análise

preliminar visual é de grande importância, os metadados das imagens

permítem uma escolha mais adequada da imagem, paramêtros como

cloudCover, índice de nuvens é um deles.

16

O processo para aquisição de imagens de satélite disponibilizado pela USGS –

US Geological Survey consiste em dois métodos, directamente via FTP

“ftp://ftp.glcf.umd.edu/glcf/Landsat/” ou IP: 128.8.1.52, user: anonymous,

onde existe o caminho: glcf/Landsat/WRS2/ que contém todos os path e estes

todas as rows, e estas todas as pastas onde estão as imagens do satélite

Landsat. Para os satélites Landsat 1 a 3 usamos o sistema WRS1 e para os

demais (4,5,7 e 8) usamos o sistema WRS2. Através destes sistemas é

disponibilizado um ficheiro KML pela USGS, que devemos efetuar download

para utilização no Google Earth, o qual permite achar o lugar desejado. Após

achar o path, podemos ir ao servidor FTP para o download da imagem

desejada.

Todo o processo implica na utilização de diversas ferramentas (softwares)

para obter as imagens, desde o Browser e/ou software (Cliente) para acesso

ao servidor FTP, e Google Earth.

Este processo apesar de simples, obriga que se tenha conhecimento dos

padrões definidos pela USGS nomeadamente a nomenclatura de nomes das

imagens; visto ser através dos nomes que podemos identificar as imagens e

estas não estão separadas por satélite. A pesquisa no servidor FTP exige

conhecimento sobre a estrutura para uma perfeita navegação no sentido de

encontrar a imagem alvo. Neste processo visualizar as imagens antes de

efectuar download não é possível.

O segundo método, baseado numa interface web designada EarthExplorer, a

qual apresenta uma densidade de informação que não facilita a utilização.

Este método consiste em selecção visual das imagens e posterior download. É

necessário um registo para obter permissão para efectuar o download de

imagens. No endereço http://earthexplorer.usgs.gov/ está a plataforma

mencionada, nesta existem termos muito específicos como “Dataset”,

”shapefile”, “kml” entre outros. Esta plataforma foi gerada para cientistas ou

técnicos muito especializados e com grande conhecimento sobre todos os

“modelos” e sensores dos diversos satélites sendo o Landsat um deles.

17

Após a identificação e escolha do método mais adequado é feito download

das imagens, estas estão todas em formato “gz”, algo semelhante ao “zip”,

imagens compactadas para facilitar a transmissão pela web, visto que reduz

seu tamanho. Após download faz-se necessária a extracção das imagens, ou

seja descompactar as imagens.

Os dois métodos nos levam ao mesmo problema, visto que as tecnologias de

informação apesar de estarem disponíveis, nem todos a sabem utilizar. A

sociedade de informação trouxe mudanças e estas na medida em que

avançam geram a exclusão digital. A sociedade não esta preparada para

velocidade com as tecnologias de informação evoluem apesar de “aumentar o

potencial para gerar conhecimento, uma vez que, como se sabe, a

informação, em processos de análise, é tanto mais útil quanto os outputs

gerados por uns, servem de inputs para outros" (Jorge Ferreira). A velocidade

com que a informação circula é inversamente proporcional a sua utilização.

Visto que a informação gerada a grande velocidade não é na maioria das

vezes assimilada, e quando assimilada leva a especialização. Como a origem

da informação é nos EUA toda a interface está escrita no idioma inglês, o que

para muitos ainda torna mais difícil a aquisição das imagens.

18

3.OBJECTIVO

Este trabalho pretende dar respostas as questões mencionadas

anteriormente, disponibilizar uma “plataforma” em que todo o processo,

excluído a classificação de imagens (por enquanto), seja feito de forma

dinâmica e ágil«, possibilitando um maior ganho de tempo e disponibilidade

para maior aprofundamento em questões intrínsecas ao tratamento de

imagens, e que a aquisição de imagens de satélite não seja uma operação

impactante em processamento digital de imagens(PDI). A plataforma tem

interface Web o que facilita as operações necessárias em virtude de sua

interface mais amigavél e algumas dificuldades inerentes ao processo são

corrigidas; Interface em português e operações automatizadas ou disponíveis

a um click. Para além da aquisição de imagens a plataforma através de

processos automáticos especialmente construídos, possibilita a análise das

imagens em modo visual e análise estatística dos dados. De forma conclusiva

o diferencial ao existente, é que a plataforma agrega diversas funcionalidades

e automatismos, especificamente em relação a fase de pré-processamento

em PDI . No processo actual existente, se faz necessário a utilização de vários

softwares para aquisição de imagens (USGS/NASA), para tratar imagens (

Spring, Envi , Saga, Qgis….), para análise de dados ( Excel ), sendo a utilização

destes em função da diferenciação de performance de algorítmos e/ou

funcionalidades específicas. Ainda no processo actual existente é comum a

repetição de uma mesma função N vezes, devido a análise ocorrer sobre

imagens espectrais, as quais podem ser diversas, dependendo do “modelo”

Landsat. A agregação de funcionalidades permite em um único lugar executar

diversas funçoes e criar funçoes automaticas, não sendo necessário a

mudança de software. A plataforma em um futuro não distante terá a

capacidade de processar as mais diversas funcionalidades existentes e que

hoje estão dispersas em diversos softwares (Em uma próxima versão). Um

software é algo “vivo” pois está em constante actualização, não se retendo a

novas funcionalidades, mas a evolução de novas tecnologias. O que

19

diferencia estas mudanças a cada nova funcionalidade e ou as novas

tecnologias são as chamdas “releases” ou versões de cada software.

Ao longo deste trabalho, o que já tem um ano, a entidade que fornece os

dados no caso USGS, mudou a forma como disponibiliza as informações, na

verdade padronizou as informações independente do “modelo” do satélite

Landsat. Este processo será descriminado ao longo deste trabalho.

Estas mudanças tiveram implicações directas sobre o processo de aquisição

de imagens construído, o que levou a completa remodelação do modelo

proposto inicialmente. O modelo inicial foi feito sobre o protocolo FTP (File

Transfer Protocol), e sobre ficheiros “MET” disponibilizados nos directórios

FTP em USGS, processo que foi descontinuado.

Nos dias actuais a velocidade com que as informações são geradas, um

trabalho com este perfil está sujeito a reestruturações em função da evolução

tecnológica. A base continua a mesma da inicial, mas diversos programas e

scripts, deixaram de ter utilidade e outros foram feitos no sentido de adaptar

as mudanças que foram feitas no repositório dos dados em USGS.

A utilização das tecnologias de informação aplicada a SIG é uma necessidade

colocada a nível jurídico nacional, conforme descrito em, Decreto-Lei n.º

141/2014, «Artigo 1.º, alínea C)” «Cartografia topográfica de imagem»,

também designada por cartografia de imagem ou ortofotocartografia, a

cartografia que consiste em imagens digitais do terreno obtidas a partir da

retificação ou orto-retificação de imagens métricas captadas por sensores

colocados em plataformas aéreas ou espaciais, completadas ou não,

conforme o fim a que se destina, por informação oro-hidrográfica

tridimensional, redes viária e ferroviária e informação toponímica”.

20

4. A PLATAFORMA GEOREF

A figura 1 representa a estrutura funcional da plataforma GeoRef.

Figura 1 GeoRef - Estrutura Funcional

4.1 Arquitectura da Plataforma

A plataforma foi toda desenvolvida em software open-source, e sistema

operacional Windows. Vale observar que esta plataforma pode ser migrada

para Linux/Unix, devido a compatibilidade entre softwares suportados em

ambos sistemas operacionais.

Servidor de base de dados Mysql

Mysql é um sistema gerenciador de base de dados relacionais, tem o código

aberto e utilizado em ambiente corporativo. Permite diversas conecxões

simultâneas, ou seja atende diversos utilizadores ao mesmo tempo.

Servidor de páginas Apache

A procura de conteúdo na internet, ou mais especificamente uma página é um

serviço oferecido por servidores de páginas. O Apache é o servidor de páginas

mais usado no mundo tendo, mais que 60% do mercado mundial de

servidores de páginas.

21

Linguagem HTML, PHP com Jquery e “R”

A linguagem de marcação HTML foi criada em 1991 por Tim Berners-Lee, no

CERN (European Council for Nuclear Research) na suíça. Nasceu da

necessidade de partilhar informações entre instituições de pesquisa. Hoje é

largamente utilizado para criação de páginas WEB.

As linguagens de programação tiveram um avanço significativo com a WEB,

sendo muitas delas criadas especificamente para atender este segmento. O

PHP é uma linguagem que tem uma curva de aprendizado relativamente baixa

e amplamente utilizada na construção de “sites” dinâmicos com consultas a

bases de dados, oferecendo suporte a diversos SGBD (sistemas de

gerenciamento de base de dados).

A linguagem Jquery foi criada há poucos anos, no sentido de facilitar a

utilização da linguagem javascript, (linguagem que possui linhas de código

muito extensas), em função de suas variáveis. Jquery permite a construção de

páginas com “movimento” e/ou interação com o utilizador com menor

número de linhas a ser codificada.

A utilização do software R, deve-se ao facto da sua enorme quantidade de

packages (conjunto de programas com finalidades específicas) e, sua possível

integração a outros softwares. O R é largamente utilizado na comunidade

científica, e permite tratamento estatístico e visualização de grandes

quantidades de dados.

Scheduler – System Scheduler

Um Scheduler é um software que permite que tarefas rotineiras sejam

programadas para executarem em dia e hora específico. A escolha e utilização

do “System Scheduler” deve-se a simplicidade na utilização.

22

4.2 Estrutura de Dados

A USGS disponibiliza os metadados em formato CSV por sensor (satélite) no

endereço http://landsat.usgs.gov/metadatalist.php e estes são actualizados

diariamente. Nestes ficheiros existem 98 colunas, as quais são a base para

construção da plataforma. Os dados foram agrupados por “modelo” Landsat,

desta forma totalizando 4 tabelas, sendo estas em ordem de “modelo”

Landsat:

Landsat_mss (deste o Landsat 1 ao Landsat 3)

Landsat_tm (desde Landsat 4 ao 5)

Landsat_etm (Landsat 7)

Landsat_8 (Landsat 8)

A padronização feita pela USGS fez com que todos os metadados da geração

Landsat tenham a mesma estrutura.

23

Name DataType length

sceneId varchar 30

sensor varchar 12

acquisitionDate varchar 10

dateUpdated varchar 10

browseAvailable varchar 2

browseURL varchar 100

path int 11

row int 11

upperLeftCornerLatitude varchar 12

upperLeftCornerLongitude varchar 12

upperRightCornerLatitude varchar 12

upperRightCornerLongitude varchar 12

lowerLeftCornerLatitude varchar 12

lowerLeftCornerLongitude varchar 12

lowerRightCornerLatitude varchar 12

lowerRightCornerLongitude varchar 12

sceneCenterLatitude varchar 12

sceneCenterLongitude varchar 12

cloudCover varchar 5

cloudCoverFull varchar 10

FULL_UL_QUAD_CCA varchar 10

FULL_UR_QUAD_CCA varchar 10

FULL_LL_QUAD_CCA varchar 10

FULL_LR_QUAD_CCA varchar 10

dayOrNight varchar 10

flightPath varchar 10

sunElevation varchar 20

sunAzimuth varchar 20

receivingStation varchar 20

sceneStartTime varchar 30

sceneStopTime varchar 30

lookAngle varchar 30

….

….

….

….

….

….

….

….

PRESENT_BAND_1 varchar 30

PRESENT_BAND_2 varchar 30

PRESENT_BAND_3 varchar 30

PRESENT_BAND_4 varchar 30

PRESENT_BAND_5 varchar 30

PRESENT_BAND_6 varchar 30

PRESENT_BAND_7 varchar 30

PRESENT_BAND_8 varchar 30

NADIR_OFFNADIR varchar 30

1

1 Estrutura Tabelas - Landsat

24

4.3 Aquisição de Metadados

Como representado na figura I, o processo inicia-se com a obtenção dos

metadados. Este processo foi feito em PHP e R, e um Scheduler o controla, o

“core” da plataforma, sendo esta funcionalidade o que forma o corpo a

plataforma. A aquisição de metadados, automatizada em um Scheduler que

por conveniência esta programada para ser executada aos finais de semana, o

que pode ser alterado a qualquer hora. Em caso de necessidade existe ainda

no interior da plataforma a possibilidade da aquisição de imagens ser feita

através da selecção de uma opção de menu.

A conjugação da linguagem PHP com R cria uma ferramenta com infinitas

possibilidades, associa a facilidade de programar em PHP com a enorme

quantidade de “packages” existentes em R, quer de análises estatísticas,

análise espacial, construção de gráficos dinâmicos quer de outras

funcionalidades. Pequenos programas (“chucks”) são criados em R e o PHP os

chama para execução via servidor de páginas Apache, visto o R permitir

execução “Batch”. Após conclusão de execução do programa em R, o output

fica disponível para a plataforma.

A construção de um programa implica na construção de funções e/ou classes,

que são instruções com a finalidade de resolver determinado problema, não

sendo necessário reconstruir a cada vez que é utilizada, resumindo-se a,

utilizar o que já está feito, através da execução de uma função. O software R,

possui centenas de packages com milhares de funções já construídas e que

eliminam a necessidades de programar em PHP funcionalidades existentes em

R, o que tornaria todo o processo de construção da plataforma muito mais

lento. O processo de automação da plataforma utiliza-se desta enorme

potencialidade. O Programa em PHP é responsável por montar os scripts em

R, assim como passar variáveis a estes. Após sua construção, o PHP chama a

execução dos scripts construídos de forma dinâmica.

O dinamismo refere-se por exemplo a leitura de bandas espectrais em um

diretório, e sua utilização em um script, sem que seja necessário explicitar seu

nome, devido a uma função existente em R.

25

setwd(“c:/bandas”)

files <- list. Files(path=getwd(), pattern = ".TIF$", full.names = TRUE)

O código acima lista todos os ficheiros do path contido em “setwd”, definido

na linha 1.

O vector “files” contém todos os nomes de todas as bandas que estão em

(“c:/bandas”), desta forma posso fazer referência a uma banda somente

indicando:

A1 <- files[1]

Onde A1 ira conter a banda 1.

Em programação elimina-se a tarefa de repetir uma mesma tarefa; no caso a

utilização de bandas 1, bandas 2 e banda 3 seria files[1], files[2] e files[3] ao

invés de LC82240652014186LGN00_B1.TIF, LC82240652014186LGN00_B2.TIF

e LC82240652014186LGN00_B3,nomes dos ficheiros de imagens espectrais.

Vale ressaltar que não é necessário a utilização de nomes de forma explícita, e

sim de índices de um vector, o que simplifica as operações envolvidas.

Em PHP teria que escrever a função para listar um diretório, e simplesmente é

utilizado o que já esta feito em R, a função ”list. files”. Desta forma é reduzido

de forma significativa os tempos para construção de novas funcionalidades e

inclusão na plataforma. O software R tem packages com funções específicas

para tratamento e análise espacial e a plataforma os utiliza via linguagem

PHP.

As funções são utilizadas para organizar a programação, criando subfunções

ou sub-rotinas que podem ser reutilizadas em várias partes do programa.

Nos parágrafos seguintes serão descritos de forma resumida os programas e

suas iterações, não sendo extensivo, somente será evidenciado um programa

por sensor (satélite).

26

Passo 1

Um pequeno “chuck” foi criado e utiliza o package (R.utils) com a função

“download.file”, como o próprio nome já indica, afectará os ficheiros que

serão objecto de download.

#'extrai_l8.r'

#-------------------------download USGS – Landsat 8

down <- function(end,htt){ # função

.exdir = 'D:/xampp/htdocs/terra/carga_dados/' # pasta local

#dir.create(.exdir)

.file = file.path(.exdir, end)

url = htt # URL dos ficheiros

download.file(url, .file)

}

down('LANDSAT_8_2013_2015.csv','http://landsat.usgs.gov/metadata_servic

e/bulk_metadata_files/LANDSAT_8.csv') #landsat 8

Passo 2

Programa em PHP que chama a execução do “chuck” em R, limpa a tabela

com dados existentes e volta a carregar (dar “Load” na tabela) com dados

actuais (extraídos).

<?php // Landsat 8

set_time_limit(0);

//-------------------------------link a base de dados

$link = mysql_connect("localhost", "root", "")

or die("Não pude conectar: " . mysql_error());

27

mysql_set_charset('utf8', $link);;

//-------------------------------seleciona Base de dados e limpa Tabela = Landsat_8

mysql_select_db("l_all") or die("Não pude selecionar o banco de dados");

$sqlt = "delete from landsat_8";

$resultt = mysql_query($sqlt) or die("A query falhou: " . mysql_error());

//----------------------------------extrai dados landsat 8 – Liga php ao R

$rs = 'extrai_l8.r'; // “chuck” para Landsat 8

$mount_r = '"C:/Program Files/R/R-3.2.0/bin/i386/R.exe" CMD BATCH --

vanilla --slave "D:/xampp/htdocs/terra/carga_dados/'.$rs. '"' ;

passthru($mount_r); // executa R

echo "<h1> Dados Extraídos .......</h1>";

sleep(20);

//----------------------------------- Lê ficheiro extraído

$handle=opendir('.');

if($file != '.' && $file != '..') {

while (false !== ($file = readdir($handle))) {

//echo $file . "<br>";

if($file != '.' && $file != '..') {

$txt = explode('.', $file);

if($txt[1] == 'csv'){

$arquivo = trim($file);

//--------------------------------------------------- Load da Tabela = Landsat_8

$l8 = substr_count($arquivo,"LANDSAT_8");

if($l8 > 0 ) {

$sqlt = "

28

LOAD DATA INFILE

'D:/xampp/htdocs/Terra/carga_dados/".$arquivo."'

INTO TABLE landsat_8

FIELDS TERMINATED BY ','

LINES TERMINATED BY '\n'

IGNORE 1 ROWS

";

echo $sqlt . "<br>";

$resultt = mysql_query($sqlt);

}

}

}

}

}

echo "<h1> Tabela Landsat_8 atualizada .......</h1>";

FOREACH (GLOB("*.csv") AS $filename) { // Apaga ficheiro CSV

//ECHO "$filename size " . FILESIZE ($filename) . "\n";

UNLINK ($filename);

}

?>

Passo 3

Com os dados carregados na base de dados “all_l” na tabela “Landsat_8” a

interface web criada executa consultas (“ Queries”) sobre os metadados que

são apresentados como links na interface, os quais permitem a visualização

das imagens e posterior download após selecção.

29

Passo 4

Download de imagens

4.4 A Interface Web

A construção só foi exequível devido a USGS disponibilizar as imagens de

forma gratuita, estas são um enorme acervo de informações totalizando mais

de 6.000.000 (seis milhões) de imagens, as quais são compostas por bandas

espectrais, levando em consideração que cada imagem pode ter 7 bandas em

média (Landsat 5, 7 e 8), temos aproximadamente 42.000.000 (quarenta e

dois milhões) de imagens espectrais.

A plataforma foi construída com interface Web e agrega funcionalidades de

processamento digital de imagens nomeadamente a fase de pré-

processamento, onde as imagens são preparadas sobre o ponto de vista

geométrico, radiométrico e efeitos da atmosfera. Nesta fase métodos

matemáticos e estatísticos são aplicados com função de extracção de dados

para análise, visto uma imagem de satélite conter muito mais informação do

que o que se observa. Actualmente estas funções são feitas em softwares

específicos como Arcgis, Envi, Spring entre outros e sua utilização está

condicionada a melhores funcionalidades e algoritmos, o que implica na

utilização não só de um software.

30

Figura 2 GeoRef - Interface Web

Figura 3 - GeoRef - Fluxo Operacional

Dashboard

Devido ao grande número de dados nas tabelas da base de dados “all_l” o

acompanhamento do crescimento dos dados “estruturais” se faz necessário

em função do número de linhas na base de dados, que pode comprometer a

performance de “Queries”, as quais representarão os resultados esperados. A

selecção de dados por data, na carga dos dados é uma opção, que retira

31

registos e acelera o processo. Os gráficos no dasboard representam o número

de registos nas tabelas, e o acompanhamento visual pode ser feito, e caso

seja necessário, procedimentos via SQL podem ser tomados no sentido de

manter a operacionalidade da plataforma, aumentando sua performance. A

capacidade de processamento esta directamente associada ao modelo do

computador utilizado para instalação da plataforma. Em computadores com

capacidade de armazenamento, com discos com maior velocidade e com

maior quantidade de memória, as “Queries” são executadas com maior

velocidade.

A cada atualização na plataforma, crescem em média de 500 registos dia por

tabela/satélite. O dashboard é actualizado em conjunto com os metadados,

de forma dinâmica, na sua construção foi utilizado R, com os packages RMysql

e GoogleVis. Os gráficos no dashboard, representam o número de linhas,

número de rows e total de rows por tabela/satélite.

Figura 4 GeoRef - Dashboard

4.4.1-Geração Landsat

O projecto Landsat tem início em 1972 com o lançamento do primeiro satélite

Landsat 1, após 4 décadas e com o satélite Landsat 8, o projecto constitui um

32

enorme acervo sobre a evolução da superfície do planeta. Cientistas, geólogos

e os mais diversos profissionais têm utilizado estes dados em estudos

multítemporais sobre esta evolução. Cada satélite que foi lançado tem

particularidades e características próprias e a plataforma disponibiliza através

de um item de menu “Geração Landsat” uma hiperligação (link) direta a USGS,

onde cada item deste menu possibilita a pesquisa e leitura sobre os diversos

“modelos” da geração Landsat.

Figura 5 GeoRef - Timeline

Neste menu existe uma hiperligação para um “dicionário” de termos técnicos

os quais são os nomes das colunas que compõe as tabelas geradas a partir dos

metadados.

Esta prevista para 2023, o lançamento do Landsat 9 e segundo a NASA este

será, para além da continuação do programa, um satélite que apresentará

correcções em relação ao seu antecessor, Landsat 8.

4.4.2 - Pesquisas

O modelo actual de pesquisa de imagens de satélite consiste em um ficheiro

(e somente um) Kml disponibilizado por USGS, o qual é utilizado no software

“Google Earth” para localização da imagem pretendida. Os modelos Landsat

(1, 2 e 3) estão sobre o sistema WRS1 e os demais (4, 5,7 e 8) sobre o sistema

WRS2. A diferença entre os dois sistemas deve-se ao número de path/rows

existentes e o tamanho das imagens, o que por consequência disponibiliza

33

mais imagens, ou não, dependendo do objecto de estudo. A USGS ainda

disponibiliza um ficheiro shapefile (ARGIS) para o sistema WRS1 o qual precisa

ser convertido para KML, para utilização no Google Earth. Como mencionado

anteriormente, na pesquisa da imagem e início do processo em PDI, ocorre

dispersão de softwares a serem utilizados; software para aquisição de

imagens – plataforma Earth Explorer; software para localização da imagem

pretendida Google Earth e/ou ARCGIS, caso precise ser convertido o sistema

WRS1 para KML.

É de grande relevância o sistema que contém as imagens pois o número de

path,rows se diferencia. No sistema WRS1 temos 251 path, enquanto no

sistema WRS2 temos 233 path. No sistema WRS2, existem diferenças, não em

número de path, mas em número de rows.

O processo gerado na plataforma para aquisição de imagens, unificou os

métodos de pesquisa, não sendo mais importante a identificação de qual

sistema é a imagem requerida (a identificação da imagem é função da data

pretendida, por consequência qual imagem (satélite) será usado, o que define

o sistema) podendo ser pesquisada em um único KMZ (zip de um KML) o qual

contém todos os “modelos” Landsat. Todos os pontos construídos têm a

origem na latitude e longitude do ponto central de cada imagem, sendo

89693 pontos no total. Para os modelos Landsat 1,2 e 3 temos 23305 pontos,

para o modelo Landsat 4 e 5, temos 18456 pontos, para o Landsat 7, temos

29140 pontos e para o modelo Landsat 8, temos 18792 pontos.

A construção dos KML’s foi feita sobre os metadados utilizando a linguagem

PHP, foram desenvolvidos programas e nestes foram embutidas “queries” que

utilizam a linguagem padrão para consulta a base de dados (SQL). Somente

uma linha de cada path/row foi extraída e os dados foram a base para

construção de um KML por sensor/satélite. Na plataforma é possível consultar

esta informação de duas formas; através de um plugin para o Browser o qual

permite visualizar o KML e via Google Earth o qual permite a visualização de

ficheiros KML.

34

Os modelos Landsat revisitam um mesmo ponto a cada “16 dias”, levando em

consideração o tempo operacional de cada “modelo” Landsat, podemos ter

centenas de imagens de um mesmo ponto.

O menu “Pesquisa” na plataforma permite consultar quais imagens estão

disponíveis para o path / row desejado, ou de outra forma, localizado o path

row no Google Earth, e inserido no submenu path, row, do menu Pesquisa,

após a escolha do satélite, a consulta retorna todas as imagens existentes

para o path/row designado. O processo de escolha de uma imagem esta

condicionada a qualidade visual e estatística da imagem, e a plataforma

permite através de uma hiperligação a escolha da imagem, a possível imagem

a ser gerada e ‘visualizada, estas precisam sem combinadas para obtenção de

imagens, sendo as imagens com nuvens eliminadas na escolha a priori.

A interface Web favorece a escolha e download da imagem, sendo intuitivo o

processo de download, feito através de um botão.

Dentro deste mesmo menu é possível pesquisar um lugar qualquer, processo

comum quando se trabalha com SIG. Esta pesquisa foi feita com a conjugação

da linguagem PHP e “R”, retirando desta união a enorme potencialidade e

facilidade com que novas funcionalidades podem ser incorporadas na

plataforma conforme já explicado anteriormente. Com esta união foi retirado

do processo de construção de programas o enorme fardo de construir

funções, sendo estas já construídas em “R”, a linguagem PHP as utiliza. O

processo é mais rápido, e de fácil adaptação a plataforma. Abaixo um

pequeno exemplo da integração de PHP e “R”.

1- $rs = "scatter.R";

2- $mount_r = '"C:/Program Files/R/R-3.2.0/bin/R.exe" CMD BATCH --

vanilla --slave "D:/xampp/htdocs/Terra/scatter/'.$rs.'"' ;

3- passthru($mount_r);

35

Na linha 1 definição de uma variável que tem o nome do script construído.

Na linha 2 definição do comando a ser executado em Batch.

Na linha 3 execução do comando.

Toda a plataforma foi automatizada utilizando PHP e “R”, conforme exemplo

anterior. Vale ressaltar que a versatilidade da linguagem PHP permite um

número sem fim de possíveis novos desenvolvimentos no futuro.

Pode ser visto na plataforma, o dashboard, todo construído em PHP e “R”,

sendo os packages “RMysql”, para consulta a base de dados e o package

“googleVis” para a construção dos gráficos. A cada actualização dos

metadados o dashboard é atualizado. A execução dos scripts é feita com PHP

e função do Scheduler.

4.4.3 - Imagens

Este item de menu na plataforma possui dois submenus, download de

imagens e unpack de imagens.

Download de imagens – Com a plataforma actualizada, o que é feito a cada

semana, o download de imagens inicia-se com a escolha do satélite na

Plataforma. Opções são apresentadas após a escolha do satélite, a inserção do

path / row desejado, a localização visual via interface WEB e a opção de

visualizar via Google Earth.

Unpack de imagens - Tem como funções para além de descompactar as

imagens, iniciar todo o processo de tratamento inicial de imagens. Como

explicitado anteriormente um script em R com varias funções, e funções de

packages diferentes, foi elaborado no sentido de automatizar a plataforma e

permitir a construção da memória descritiva de um projecto de tratamento de

imagens. O resultado deste “script” disponibiliza informações que no processo

existente é feito de forma manual e repetitiva, e na plataforma devido a

automatização é transparente ao utilizador da plataforma. Neste contexto a

36

plataforma ainda permite opções ao utilizador como escolha de objectos para

elaboração de gráficos “on-the-fly”.

Após escolha e download da imagem o processo, automatizado e que engloba

diversas funcionalidades é executado, sendo completamente transparente ao

operador da plataforma ou utilizador. O processo automático verifica em

intervalos de tempos pré-definidos a existência de ficheiros “GZ” no diretório

padrão da plataforma, na sua existência inicia-se o processo.

Em R foi feito o script que tem por função fazer o “unpack” das imagens e

executar funções de processamento de imagem digital (PDI).

Unpack de imagens.

filename<-paste("D:/xampp/htdocs/Terra/untar/",fil, sep="" )

untar(filename) # unpack de imagens

file.remove(filename) #-------------remover .gz

raster_data<-list.files(path=getwd(), pattern=".TIF$")

source(file="D:/xampp/htdocs/Terra/untar/all_l.R") # chama R script

Extracção de metadados sobre cada banda espectral.

for (i in 1:length(bb)) {

s <- lapply(bb[i], stack)

nom<-paste("METADADOS_", [i], ".TXT",sep="")

}

Informações sobre o sensor

library(bfastSpatial)

37

sensor<-getSceneinfo(b[1])

sink("sensor.txt")

print(sensor)

sink()

Gerar imagem png – Cor normal

png(filename="normal.png", width=640, height=640)

plotRGB(rgbRaster, 3, 2, 1, stretch="hist")

Gerar imagem em formato ENVI – Cor Normal

A=stack(c(bb[3],bb[2],bb[1]))

writeRaster(A, filename="cor_normal.tif",overwrite=TRUE)

Gerar imagem png – Falsa-cor

png(filename="false.png", width=640, height=640)

plotRGB(rgbRaster, 3, 2, 1, stretch="hist")

Gerar imagem em formato ENVI – Falsa cor

A=stack(c(bb[6],bb[4],bb[3]))

writeRaster(A, filename="falsa_cor.tif",overwrite=TRUE)

Frequências sobre as bandas espectrais

38

for (i in 1:length(bb)) {

rgbRaster <- stack(bb[i])

s<-freq(rgbRaster)

f<-bb[i]

u<-toupper(var)

t <- str_replace(f,'TIF',u)

}

Gerar histogramas / Gráficos de Densidade sobre as bandas espectrais

for (i in 1:length(bb)) {

rgbRaster <- stack(bb[i])

j<-i

fil <-paste("hist_b",j,".png",sep="")

png(filename=fil, width=300, height=300)

bd <- brick(rgbRaster)

hist(bd ,col="navy",border="black")

fil1 <-paste("Densidade_Banda",j,".png",sep="")

png(filename=fil1, width=300, height=300)

d <- density(bd)

plot(d, main=fil1)

polygon(d, col="navy", border="black")

dev.off()

dev.off()}

Formatada: Inglês (E.U.A.)

39

Estatísticas sobre as bandas espectrais

library(fBasics)

for (i in 1:length(bb)) {

b<-stack(bb[i])

stat<-basicStats(b)

s<-paste('Est_',i,'.txt',sep="")

}

4.4.4 -Análise de Bandas Espectrais

Neste menu da plataforma, gráficos e dados estatísticos estão disponíveis,

pois são resultado do programa executado quando é feito download de

imagens, sendo possível a construção de gráficos conforme escolha do

utilizador. A análise de bandas espectrais indicam quais materiais ou

elementos estão presentes na imagem. A diferenciação entre elementos

ocorre devido ao número atómico de cada elemento, o que de outra forma

traduz que cada elemento tem uma característica própria, o que diferencia

suas curvas espectrais, que são a capacidade de absorver e refletir energia,

sendo este o princípio básico de Sensoriamento remoto. Cada banda (imagem

espectral) tem sua característica dentro do espectro eletromagnético. A

estatística aplicada a Sensoriamento remoto busca comparar fenómenos

através de comportamentos espectrais e suas relações matemáticas. A

plataforma permite consultar os resultados obtidos de funções matemáticas

e/ou estatísticas, visto que “Uma imagem é uma grade ou matriz, onde cada

número representa o valor de uma grandeza (radiância, reflectância,

40

retroespalhamento, etc.) de um elemento de resolução (pixel ou célula). A

visualização é feita associando-se a cada número um nível de cinza (ou uma

cor) ”. (INPE).

Estatística

Diversas informações estatísticas sobre cada banda espectral como media,

desvio padrão, ocorrência de pixels sem DN entre outros. Dados que podem

ser representados em forma de gráficos.

Histogramas

Figura 6 GeoRef - Histogramas

Informações gráficas sobre a distribuição de pixels em uma banda espectral

41

Densidades

Figura 7 GeoRef - Densidade

Informações gráficas sobre a distribuição de pixels em uma banda espectral

Scatter

Figura 8 GeoRef - Scatter

Comparação entre a distribuição de pixels entre 2 (duas) bandas espectrais.

42

4.4.5 - Composição de Imagens

Uma imagem de sensoriamento remoto colorida é resultante da combinação

das três cores básicas (azul, verde e vermelho), associadas através de filtros às

imagens individuais obtidas em diferentes comprimentos de onda ou faixas

espectrais. (INPE).A composição de imagens é feita através da combinação de

bandas espectrais sendo possível realçar determinados elementos ou

objectos, através da variação de combinações e propriedades destes. Os

elementos ou objectos tem características de absorção e reflexão

diferenciados. Para o início do processo de classificação de imagens é

necessário compor imagens, estas que estejam mais bem adequadas ao

estudo a ser realizado. A plataforma após download e após “unpack” do

ficheiro oriundo da USGS, constrói por “default” a composição cor normal,

utilizando a bandas 3,2 e 1, associados respectivamente as cores red, green e

blue. Para a composição falsa cor é utilizado as bandas espectrais 7,5 e 4 e

associados a red, green e blue.

4.4.6 - Metadados

O processo de extração de metadados está automatizado em um Scheduler e

por convenção sendo executado aos fins-de-semana, o que pode representar

um diferencial entre os dados existentes de um lapso de 5 dias, visto que as

imagens em USGS são actualizadas diariamente. O Menu “Metadados” visa

suprir esta lacuna, sendo possível a execução dos processos de download de

metadados em casos excecionais através do menu “Metadados”, sendo

possível escolher o “modelo” Landsat. Todas as tabelas que contêm

metadados podem ser atualizadas desta forma, sendo elas Landsat_8,

Landsat_etm, landsat _mss e Landsat_tm para a geração Landsat.

43

Scheduler

Figura 9 GeoRef - System Scheduler

Um Scheduler é um progama que permite a execução de módulos executáveis

(.EXE) e/ou ficheiros (.BAT) em um dia /hora pré-definido. Qualquer Scheduler

pode ser usado, sendo a escolha deste por sua simplicidade na utilização e por

ser freeware. A linguagem PHP permite que programas sejam executados em

linha de comando, assim como os programas em R.

Carga_tm.bat

"D:\xampp\php\php.exe" -f

D:/xampp/htdocs/Terra/carga_dados/download_dadosbase_tm.php

A linha acima escrita no ficheiro carga_tm.bat (.BAT - ficheiros para execução

em lote no windows) executa o script PHP (download_dadosbase_tm.php)

através de seu interpretador “php.exe”. Esta forma simples e de fácil

implementação vêm permitir que qualquer programa seja automatizado,

desde que tenham propriedades de serem executados via linha de comando.

44

Exemplo.bat

C:/Program Files/R/R-3.2.0/bin/i386/R.exe" CMD BATCH --vanilla --slave

"D:/xampp/htdocs/terra/carga_dados/exemplo.R” ;

A linha acima executa o script “exemplo.R” via o interpretador “R.exe” em um

ficheiro “.BAT”

Em um item mais a frente deste trabalho poderemos observar que o

programa FRAGSTAT tem a mesma propriedade, ou seja, pode ser executado

em linha de comando, e como consequência pode sofrer automação.

Em sua grande maioria os programas existentes têm como propriedade a

execução em linha de comando. É desta forma que os programas, R, PHP e

FRAGSTATS foram integrados, permitindo um número sem fim de novas e

possíveis integrações e funcionalidades.

A grande maioria dos softwares existentes para utilização em SIG, utilizam a

biblioteca GDAL – Geospatial Data Abstraction Layer, para operações de

análise espacial e como já explanado, esta “classe” também pode ser usada

via linha de comando. Esta possibilidade em uma futura versão adicionará

inúmeras funções a plataforma, que hoje são executadas nos mais diversos

softwares, ESRI- Arcgis 9.2, Erdas, Grass, Idrisi e Quantun-Gis ,são exemplos

de utilização da biblioteca GDAL.

Comandos gdal

gdalinfo:

Informação sobre o ficheiro (raster)

gdalinfo srtm_37_02.tif

ogrinfo:

Informação sobre o ficheiro (vector)

ogrinfo -al roads.shp

45

gdal_translate:

Conversão de formatos de ficheiros.

gdal_translate -of FORMAT -ot DATATYPE inputFile outputFile

Linha de comando

ARCGIS

python [-BdEiOQsRStuUvVWxX3?] [-c command | -m module-name | script | -

] [args]

ERDAS

"C: /ProgramFiles/Intergraph/ERDAS IMAGINE

2014/bin/x64URelease/modeler.exe" @"C:

/Users/WRD/AppData/Local/Temp/ImagineCommandLine_modeler_3780003

780"

IDRISI

OVERLAY x 3 soilsuit slopsuit suitland

QUANTUN-GIS

C:\OSGeo4W\bin\qgis-dev.bat --project QGIS19_Test_snapshots_1.qgs --

snapshot QGIS19_Test_snapshots_1.png

4.4.7 – Georreferenciar

Georreferenciar ou “Geocoding” processo no qual uma morada, local ou

código postal é transformado em coordenadas geográficas. Quando na

execução de um trabalho em SIG, é um processo comum ter que

georreferenciar dados. A plataforma usa o Google como base para

46

georreferenciar dados. Além de georreferenciar os dados, uma imagem do

local é gerada. Esta opção está limitada a 2500 pontos dia, limitação imposta

pelo Google, na utilização freeware.

O processo reverso, ou seja, encontrar uma morada, local e/ou código postal,

sendo fornecido, latitude e longitude chama-se “Reverse Geocoding” e a

plataforma também oferece este serviço.

Os processos de “Geocoding/Reverse Geocoding”, assim como os demais

descritos neste trabalho, foram construídos com R utilizando o package

“RgoogleMaps”. Este processo ocorre “on-the-fly”, ou seja os scripts são

construídos em tempo de execução, assim como os resultados apresentados.

4.4.8 – Kml

Keyhole Markup Language – Linguagem utilizada para construção de ficheiros

KML, os quais são utilizados no software Google Earth, para localização e

visualização de imagens. A plataforma disponibiliza 4 ficheiros Kml, para

pesquisa de imagens de satélite. Após sua leitura no Google Earth, a pesquisa

de qualquer local indicará qual path / row se encontra no local pesquisado.

Com o path / row assinalado um click sobre ele, retorna informações

(metadados) sobre as imagens assim como uma imagem exemplo que pode

ser visualizada. Este é o processo que a USGS disponibiliza, sendo a diferença

em relação a plataforma, que nesta são 4 KML’s, abrangendo todos os

“modelos” da geração Landsat, e desta forma a unificação na forma de

pesquisa do ponto de referência desejado, sendo independente a qual

sistema é o modelo Landsat, WRS1 ou WRS2. Ao todo são aproximadamente

90.000 pontos que abrangem a geração Landsat, sendo um kml para cada

“modelo” Landsat (mss, tm, etm e oli/tirs).

4.4.9 – Sobreposição/ Overlays

Sobreposições são imagens sobrepostas em um mapa e que estão vinculados

à latitude / longitude. A utilização de imagens de satélite para construção de

overlays sobre interface Web, utilizando a API do Google maps, permite que

47

este sobre este overlay (imagem de satélite) seja efectuada a função de

“Zoon”, o qual permite melhor identificação de objectos e visualização da

imagem sem ter que utilizar nenhum software adicional. No processo atual

para que a mesma função fosse executada (zoom) sobre uma imagem,

programas específicos para PDI teriam que ser utilizados

(Envi,Spring,Quantun-Gis ……).

4.4.10 – Análise Espacial

4.4.10.1 - FRAGSTATS

Software desenvolvido como ferramenta de pesquisa, o qual disponibiliza

inúmeras métricas (50) sobre a paisagem em somente um programa,

desenvolvido por Dr. McGarigal and Barbara Marks, na Oregon State

University e disponibilizado ao público em 1995 na versão 2.0. Originalmente

FRAGSTATS foi desenvolvido para ecologistas em estudos de métricas da

paisagem. Em Sensoriamento remoto após o processo de classificação de

imagens é possível quantificar os elementos da paisagem com FRAGSTATS,

sendo que sua utilização adequada está associada ao conhecimento das

métricas existentes. De forma inequívoca a paisagem é quantificada, processo

que complementa as informações oriundas do processo de classificações de

imagens. Em complemento a plataforma, assim como o software R, este

programa permite sua execução em modo “Batch”, que em conformidade ao

explanado anteriormente pode ser automatizado pelo processo descrito. A

grande vantagem da automação do FRAGSTATS, para além de quantificar

métricas/indicadores nas imagens de satélite, prende-se ao facto da

possibilidade da criação de modelos, e com estes a exclusão de possíveis

erros, visto que o mesmo modelo pode ser aplicado a diferentes imagens de

diferentes datas. Os resultados obtidos para cada imagem podem ser

comparados com a certeza que as mesmas métricas/indicadores foram

aplicadas a diferentes objectos de estudo. Os indicadores, medidas que

48

podem ser trabalhadas em estatística de modo a fornecer melhor

compreensão sobre dados/imagens. “O uso das métricas tem sua grande

aplicação nas comparações entre paisagens, podendo-se avaliar as mudanças

temporais, as diferenças de paisagem provocadas pelo uso de diferentes

parâmetros na classificação de imagens, implicações das diferenças espaciais

provocadas por diferentes fragmentos de uma paisagem”. (INPE). Os

indicadores têm sua grande aplicação em estudos sobre imagens de

diferentes datas, permitindo quantificar as alterações ao longo do tempo.

Podemos definir o FRAGSTATS como um conjunto de ferramentas para análise

espacial e este dividido em três grandes módulos, oriundos de estudos da

ecologia, fragmentos, classes e paisagem.

A descrição da utilização do FRAGSTATS na plataforma não pretende ser um

manual de um software com opções tão vastas, mas somente mais uma opção

que a plataforma automatiza e íntegra.

Conforme manual do FRAGSTATS a criação de modelos é sempre feita sobre a

interface (GUI). O modelo é composto por parâmetros que indicam quais

métricas são utilizadas, as quais são armazenadas em um ficheiro “.FCA”.

A plataforma utiliza o FRAGSTATS assim como utiliza o R, via linha de

comando com PHP, sendo necessário indicar onde estão os ficheiros “.FCA” e

“.FBT”, sendo modelo e layers, respetivamente.

Ficheiro “.FBT” (layers)

C:\dwn\bhattacharya_1990.tif, x, 999, x, x, 1, x, IDF_GeoTIFF

C:\dwn\bhattacharya_2000.tif, x, 999, x, x, 1, x, IDF_GeoTIFF

C:\dwn\bhattacharya_2010.tif, x, 999, x, x, 1, x, IDF_GeoTIFF

Ficheiro “.FCA” (Métricas)

Os ficheiros”. FCA” não podem ser extraídos como ficheiros TXT, como os

ficheiros “. FBT”.

49

Linha de comando - FRAGSTATS

frg -m model_name_here -b batch_file_name_here -o

output_file_name_here

Onde:

frg : Programa existente na pasta de instalação do FRAGSTATS

model_name : modelo criado via interface (GUI)

batch_file_name : ficheiros de layers

output_file_name_here: ficheiro de saída (opcional). Caso não seja

especificado é criado um ficheiro “basename”.

Linha de comando (Windows)

"C:/Program Files (x86)/Fragstats 4/frg" -m d:/dwn/rodao.fca -b

d:/dwn/rodao.fbt -o d:/dwn/frag

Linha de código (PHP)

passthru ("C:/Program Files (x86)/Fragstats 4/frg" -m d:/dwn/rodao.fca -b

d:/dwn/rodao.fbt -o d:/dwn/frag)

50

Resultados de métricas de CLASSES

LID TYPE CA PLAND LPI TE ED

C:\dwn\bhattacharya_1990.tif cls_6 21.129.554.700 654.351 609.388 727.593.900.000 225.325

C:\dwn\bhattacharya_1990.tif cls_1 4.279.529.700 132.531 30.216 412.647.600.000 127.791

C:\dwn\bhattacharya_1990.tif cls_4 3.269.844.900 101.262 34.714 387.976.200.000 120.151

C:\dwn\bhattacharya_1990.tif cls_7 946.202.400 29.302 0.5252 104.920.500.000 32.492

C:\dwn\bhattacharya_1990.tif cls_5 2.468.916.000 76.459 14.035 271.376.700.000 84.041

C:\dwn\bhattacharya_1990.tif cls_2 176.787.900 0.5475 0.0723 28.742.400.000

0.8901

C:\dwn\bhattacharya_1990.tif cls_3 20.014.200 0.0620 0.0323 3.425.700.000

0.1061

C:\dwn\bhattacharya_2000.tif cls_3 270.180.000 0.8232 0.0591 38.290.200.000 11.667

C:\dwn\bhattacharya_2000.tif cls_1 3.974.208.300 121.092 34.525 362.950.500.000 110.589

C:\dwn\bhattacharya_2000.tif cls_6 24.032.860.200 732.270 679.900 855.582.600.000 260.692

C:\dwn\bhattacharya_2000.tif cls_4 1.636.775.100 49.872 0.0789 301.439.100.000 91.847

C:\dwn\bhattacharya_2000.tif cls_7 925.582.500 28.202 0.3187 134.745.900.000 41.056

C:\dwn\bhattacharya_2000.tif cls_5 1.895.628.600 57.759 .2157 297.995.400.000 90.798

C:\dwn\bhattacharya_2000.tif cls_2 84.456.000 0.2573 0.0455 11.378.100.000

0.3467

C:\dwn\bhattacharya_2010.tif cls_2 522.461.700 15.018 0.6539 30.244.800.000

0.8694

C:\dwn\bhattacharya_2010.tif cls_1 22.515.472.800 647.206 482.602 778.001.100.000 223.636

C:\dwn\bhattacharya_2010.tif cls_6 9.998.241.300 287.399 49.255 766.302.900.000 220.273

C:\dwn\bhattacharya_2010.tif cls_4 415.549.800 11.945 0.1330 59.130.300.000 16.997

C:\dwn\bhattacharya_2010.tif cls_7 890.483.400 25.597 10.930 96.345.300.000 27.694

C:\dwn\bhattacharya_2010.tif cls_3 242.081.100 0.6959 0.0546 31.943.400.000 0.9182

51

Onde:

LID: Path da imagem no PC

TYPE: Classe

CA: Área de classe

PLAND: Percentagem da paisagem

LPI: Índice fragmento maior

TE: Total de bordas

DE: Densidade de bordas

52

Resultados de Métricas de Fragmentos

Onde:

LID: Path da imagem no PC

PID: Número do fragmento

TYPE: Classe

LID PID TYPE AREA PERIM GYRATE

C:\dwn\bhattacharya_1990.tif 1 cls_6 52.200 13.200.000 1.004.265

C:\dwn\bhattacharya_1990.tif 5 cls_6 1.397.700 129.600.000 4.942.562

C:\dwn\bhattacharya_1990.tif 6 cls_6 153.000 24.600.000 1.658.684

C:\dwn\bhattacharya_1990.tif 7 cls_6 162.000 50.400.000 2.645.097

C:\dwn\bhattacharya_1990.tif 9 cls_6 20.700 9.600.000 776.040

C:\dwn\bhattacharya_1990.tif 11 cls_6 3.737.700 586.800.000 10.500.552

C:\dwn\bhattacharya_1990.tif 14 cls_6 30.600 12.600.000 784.346

C:\dwn\bhattacharya_1990.tif 16 cls_6 26.100 10.200.000 862.588

C:\dwn\bhattacharya_1990.tif 17 cls_6 38.700 11.400.000 860.431

C:\dwn\bhattacharya_1990.tif 19 cls_6 1.164.600 174.600.000 5.697.226

C:\dwn\bhattacharya_1990.tif 20 cls_6 27.000 9.000.000 720.533

…..

…..

…..

53

ÁREA: Área do fragmento

PERIM: Perímetro

GYRATE: Distância média (em metros) de cada célula do fragmento

Resultados de Métricas de Paisagem

LID TA LPI TE ED

C:\dwn\bhattacharya_1990.tif 32.290.849.800 609.388 968.341.500.000 299.881

C:\dwn\bhattacharya_2000.tif 32.819.690.700 679.900 1.001.190.900.000 305.058

C:\dwn\bhattacharya_2010.tif 34.788.742.200 482.602 897.433.800.000 257.967

Onde:

LID: Path da imagem no PC

TA: Área total da Paisagem

LPI: Índice fragmento maior

TE: Total de Bordas

ED: Densidade de Bordas

54

Formatada: Direita

4.4.10.2 – SDMTools

Assim como outros packages do R utilizados na construção da plataforma, o

package, SDMTools, permitem o cálculo da fragmentação da paisagem, algo

similar ao FRAGSTATS. O processo de utilização deste package, é o mesmo dos

outros packages utilizados na plataforma, ou seja, a integração do software R

com PHP. Diversas funcionalidades podem ser utilizadas, passo a enumerar

somente algumas potencialidades já inclusas na plataforma, visto que, como

explanado anteriormente, a plataforma em uma nova ”release” ou versão

apresentara a integração de diversos pacotes e por consequência,

funcionalidades.

ClassStat - Calcula estatísticas para classes de uma matriz de dados, no caso

uma imagem classificada, resultado de processamento digital de imagens,

feitos por hora em software não incluso na plataforma.

Script R

library(SDMTools)

library(raster)

setwd("F:/frag/")

mat<-raster('bhattacharya_2010.tif')

cl<-ClassStat(mat, cellsize = 1, bkgd = NA, latlon = FALSE)

sink('smdfrag.txt')

print(cl)

sink()

Formatada: Português (Portugal)

55

Formatada: Direita

Resultado da execução Script R (SDMTools)

class n.patches total.area prop.landscape patch.density total.edge

0 8932 17717683 0.314300237 1,58E+02 661918

1 2076 25017192 0.443788806 3,68E+01 2838436

2 444 580513 0.010297925 7,88E+00 140300

3 917 268979 0.004771513 1,63E+01 108640

4 2107 461722 0.008190650 3,74E+01 206648

5 1517 227169 0.004029831 2,69E+01 114244

6 19337 11109157 0.197069260 3,43E+02 2876132

7 3285 989426 0.017551777 5,83E+01 330326

edge.density landscape.shape.index largest.patch.index mean.patch.area

1 0.011741997 3.931.096 0.2960064405 19.836.188

2 0.050352019 14.186.505 0.3309202018 120.506.705

3 0.002488831 4.603.018 0.0044836038 13.074.617

4 0.001927203 5.233.141 0.0003743713 2.933.250

5 0.003665802 7.597.353 0.0009117673 2.191.372

6 0.002026615 5.987.631 0.0001525584 1.497.488

7 0.051020721 21.569.912 0.0337740965 5.745.026

8 0.005859770 8.299.648 0.0074949300 3.011.951

Formatada: Português (Portugal)

56

sd.patch.area min.patch.area max.patch.area perimeter.area.frac.dim

1 176.559.160 1 16686428 0.07461831

2 425.162.881 21 18654581 0.22691797

3 15.523.631 21 252749 0.48333661

4 1.582.531 21 21104 0.80753148

5 1.438.094 21 51398 0.89471787

6 417.904 21 8600 100.513.237

7 19.064.590 21 1903908 0.51765184

8 7.395.784 21 422503 0.66736598

mean.perim.area.ratio sd.perim.area.ratio min.perim.area.ratio

1 0.8874453 0.3832087 0.007583528

2 0.9323806 0.3423232 0.092036068

3 0.8642933 0.2894618 0.134476085

4 0.8357288 0.2797340 0.168367932

5 0.8545848 0.3014151 0.128839187

6 0.8037160 0.2717082 0.118455843

7 0.8631522 0.3104794 0.078322062

8 0.8211692 0.3098851 0.116725421

57

max.shape.index mean.frac.dim.index sd.frac.dim.index min.frac.dim.index

1 12.234.165 1.210.040 0.08812377 1.000.000

2 116.910.059 1.258.416 0.11001403 1.007.447

3 25.676.938 1.224.731 0.11347136 1.000.000

4 15.393.939 1.208.891 0.09902843 1.023.195

5 15.726.872 1.226.561 0.10413830 1.000.000

6 6.677.419 1.207.917 0.09130184 1.012.532

7 33.235.403 1.257.581 0.09489535 1.012.532

8 26.730.208 1.219.797 0.09369671 1.000.000

max.perim.area.ratio mean.shape.index sd.shape.index min.shape.index

1 4.000.000 1.519.492 0.4024420 1

2 2.095.238 1.836.842 29.514.032 1

3 1.904.762 1.802.948 17.792.058 1

4 2.086.957 1.652.622 10.626.292 1

5 2.090.909 1.687.715 0.7921825 1

6 1.826.087 1.589.723 0.5239870 1

7 2.086.957 1.850.590 0.8870961 1

8 1.909.091 1.630.700 0.6821325 1

58

max.frac.dim.index total.core.area prop.landscape.core mean.patch.core.area

1 1.668.016 17122602 0.303743885 191.699.530

2 1.603.198 22246953 0.394646558 1.071.625.867

3 1.615.690 446930 0.007928249 100.659.910

4 1.637.057 168795 0.002994314 18.407.306

5 1.623.388 276795 0.004910164 13.136.925

6 1.523.455 124292 0.002204860 8.193.276

7 1.613.999 8477507 0.150385491 43.840.859

8 1.590.501 687335 0.012192878 20.923.440

sd.patch.core.area min.patch.core.area max.patch.core.area

1 1.752.314.415 0 16560949

2 3.799.622.456 0 16670408

3 124.344.642 0 202929

4 11.619.613 0 17319

5 10.625.646 0 37779

6 3.015.966 0 6234

7 172.626.305 0 1756651

8 61.884.220 0 353636

59

prop.like.adjacencies aggregation.index lanscape.division.index

1 0.9814933 9.908.956 0.9123784

2 0.9448350 9.718.295 0.8818719

3 0.8860439 9.408.142 0.9999662

4 0.8165726 9.007.636 0.9999993

5 0.7987393 8.894.201 0.9999986

6 0.7766316 8.761.138 0.9999999

7 0.8784205 9.355.564 0.9977864

8 0.8459311 9.174.586 0.9999434

splitting.index effective.mesh.size patch.cohesion.index

1 1,14E+07 4,94E+12 9.996.090

2 8,47E+06 6,66E+12 9.995.980

3 2,96E+10 1,91E+09 9.973.776

4 1,34E+12 4,21E+07 9.875.730

5 7,13E+11 7,91E+07 9.857.078

6 1,06E+13 5,30E+06 9.657.255

7 4,52E+08 1,25E+11 9.981.508

8 1,77E+10 3,19E+09 9.966.538

60

Formatada: Direita

PathStat – Calcula estatísticas para fragmentos de uma matriz de dados, no

caso uma imagem classificada, resultado de processamento digital de

imagens, feitos por hora em software não incluso na plataforma.

Script R

library(SDMTools)

library(raster)

setwd("F:/frag/")

mat<-raster('bhattacharya_2010.tif')

pat<-PatchStat(mat, cellsize = 1, latlon = FALSE)

sink('smdfrag1.txt')

print(pat)

sink()

Resultados da execução Script R (SDMTools)

patchID n.cell n.core.cell n.edges.perimeter n.edges.internal area

1 0 17717683 17122602 661918 70208814 17717683

2 1 25017192 22246953 2838436 97230332 25017192

3 2 580513 446930 140300 2181752 580513

4 3 268979 168795 108640 967276 268979

5 4 461722 276795 206648 1640240 461722

6 5 227169 124292 114244 794432 227169

7 6 11109157 8477507 2876132 41560496 11109157

8 7 989426 687335 330326 3627378 989426

core.area perimeter perim.area.ratio shape.index frac.dim.index

1 17122602 661918 0.03735917 3.931.096 1.439.970

2 22246953 2838436 0.11345942 14.186.505 1.581.733

3 446930 140300 0.24168279 4.603.018 1.577.080

4 168795 108640 0.40389770 5.233.141 1.633.208

5 276795 206648 0.44755935 7.597.353 1.664.144

6 124292 114244 0.50290312 5.987.631 1.663.735

7 8477507 2876132 0.25889741 21.569.912 1.662.507

8 687335 330326 0.33385620 8.299.648 1.640.223

61

Assim como FRAGSTATS o package SDMTools extrai informações de uma

imagem classificada. A plataforma possibilitará a análise de ambas as formas.

core.area.index

1 0.9664132

2 0.8892666

3 0.7698880

4 0.6275397

5 0.5994841

6 0.5471345

7 0.7631098

8 0.6946806

62

5. CONCLUSÂO

O conhecimento sobre o processamento de imagens de satélite (PDI) é

necessário na análise dos dados gerados pela plataforma, mas a sua

elaboração ou construção passa a resumir-se a escolha de uma imagem

objecto de estudo, o processo descrito ao longo deste trabalho, deixa de

requerer conhecimentos específicos para geração de dados de análise (no que

a plataforma abrange até o momento). A construção da memória descritiva

de um projecto em PDI, passa a ser uma função com menor especificidade

técnica, o que disponibiliza maior tempo a funções de carater técnico

científico.

A plataforma (GeoRef) para aquisição de imagens de satélite Landsat, sua

combinação a diversas tecnologias e sua fácil implementação será um

contributo a comunidade cientifica e/ou operadores, em função da

automação de processos hoje executados de forma manual.

Como em todo software, as versões existem de forma a disponibilizar o que já

esta testado e pode ser usado, e o que esta a ser desenvolvido. Um software

“como organismo vivo” esta sempre em mudanças e em constante

actualização, desta forma, na próxima versão novas funcionalidades irão

surgir, reduzindo ainda mais a necessidade de técnicos nesta fase do projeto

e/ou libertando-os para outras tarefas. A automação deste processo permitirá

num futuro, que todo o processo de tratamento de imagens digitais, ou seja,

pré-processamento, processamento e pós-processamento sejam efectuados

em só lugar e com um software.

Funções como conversão de números digitais (DN), em números de radiância

e números de reflectância permitirão a correcção de imagens dos efeitos da

atmosfera (em testes). A plataforma é uma pequena porta que foi aberta, o

futuro dirá sobre sua evolução e aplicação de novas tecnologias.

A construção sobre plataforma open-source abre duas possibilidades, as quais

estão em análise, a liberação da plataforma em open-source a todos na web,

63

onde toda uma comunidade científica pode usufruir e contribuir para

aprimoramento da plataforma, assim como o software LINUX ou a

comercialização da plataforma a empresas e sector público-privado.

64

6. REFERÊNCIAS

Henrik Bengtsson (2015). R.utils: Various Programming Utilities. R package version 2.0.0. http://CRAN.R-project.org/package=R.utils Robert J. Hijmans (2015). Raster: Geographic Data Analysis and Modeling. R package version 2.3-40. http://CRAN.R-project.org/package=raster Oscar Perpinan Lamigueiro and Robert Hijmans (2014), rasterVis. R package version 0.31. doi:10.5281/zenodo.12394 Markus Gesmann and Diego de Castillo. Using the Google Visualisation API with R. The R Journal, 3(2):40-44, December 2011. Markus Loecher and Karl Ropkins (2015). RgoogleMaps and loa: Unleashing R Graphics Power on Map Tiles. Journal of Statistical Software 63(4), 1-18. URL http://www.jstatsoft.org/v63/i04/. Hadley Wickham (2015). httr: Tools for Working with URLs and HTTP. R package version 0.6.1. http://CRAN.R-project.org/package=httr Kun Ren (2015). rlist: A Toolbox for Non-tabular Data Manipulation. R package version 0.4. http://CRAN.R-project.org/package=rlist Jonathan Asher Greenberg and Matteo Mattiuzzi (2014). gdalUtils: Wrappers for the Geospatial Data Abstraction Library (GDAL) Utilities. R package version 0.3.1. http://CRAN.R-project.org/package=gdalUtils Loic Dutrieux, Ben DeVries and Jan Verbesselt (2014). bfastSpatial: Utilities to monitor for change on satellite image time-series. R package version 0.6.1. Rmetrics Core Team, Diethelm Wuertz, Tobias Setz and Yohan Chalabi (2014). fBasics: Rmetrics - Markets and Basic Statistics. R package version 3011.87. http://CRAN.R-project.org/package=fBasics Thomas Nauss, Hanna Meyer, Florian Detsch, Tim Appelhans (2015). Manipulating satellite data with satellite. unpublished, na(na), na-na. URL http://www.environmentalinformatics-marburg.de. INPE – Instituto Nacional de Pesquisas Espaciais

PHP - PHP: Hypertext Preprocessor ; https://secure.php.net/

Formatada: Francês (França)

Código de campo alterado

65

The R Project for Statistical Computing; https://www.r-project.org/

GDAL - Geospatial Data Abstraction Layer; http://www.gdal.org/ USGS – United States Geological Survey; http://www.usgs.gov/

66

7. ANEXOS

Na construção da plataforma, diversos programas foram elaborados, assim

como diversos “chucks”, pedaços de código em R. Os anexos a seguir, não são

o reflexo da totalidade destes, visto representar milhares de linhas de código,

o que seria inviável ser representado neste trabalho, sendo portanto um

pequeno resumo de parte dos programas / scripts mais importantes.

As linhas de código em HTML e JQUERY não serão objecto de anexos.

Anexo 1 – R - Download de metadados

library(R.utils)

library(raster)

library(gdalUtils)

#-----download UGS

down <- function(end,htt){

.exdir = 'D:/xampp/htdocs/terra/carga_dados/' # pasta local que contera

ficheiros USGS

#dir.create(.exdir)

.file = file.path(.exdir, end)

# download file

url = htt # URL dos ficheiros

download.file(url, .file)

}

down('LANDSAT_8_2013_2015.csv','http://landsat.usgs.gov/metadata_servic

e/bulk_metadata_files/LANDSAT_8.csv') #landsat 8

67

Anexo II – R – KML ( Overlays )

library(R.utils)

library(raster)

library(gdalUtils)

setwd("D:/xampp/htdocs/Terra/overlays/kml/")

d =

paste("http://landsat.usgs.gov/ge/usgs_landsat_overlay.php?path=203&row=

34&file=overlay.kml",sep="")

fil = paste("203_34.kml",sep="")

download.file(d, destfile=fil, mode = 'w')

jun<-paste("http://localhost/terra/overlays/kml/",fil,sep="")

library(httr)

BROWSE(jun)

68

Anexo III – PHP – Gerar KML (ETM)

<?php

set_time_limit(0);

$file = 'etm.kml';

$kml = file_get_contents($file);

$kml = '<?xml version="1.0" encoding="UTF-8"?>'. "\n";

$kml .= '<kml xmlns="http://www.opengis.net/kml/2.2"

xmlns:gx="http://www.google.com/kml/ext/2.2"

xmlns:kml="http://www.opengis.net/kml/2.2"

xmlns:atom="http://www.w3.org/2005/Atom">'. "\n";

$kml .= '<Document>' . "\n";

$kml .= '<name>ETM</name>' . "\n";

//$kml .= '<name>'.$ph[$a].'_'.$rw[$a].'</name>' . "\n";

$kml .= '<Style id="sh_info-i">' . "\n";

$kml .= '<IconStyle>' . "\n";

$kml .= '<color>ff0000ff</color>' . "\n";

$kml .= '<scale>1.4</scale>' . "\n";

$kml .= '<Icon>' . "\n";

$kml .=

'<href>http://maps.google.com/mapfiles/kml/pal5/icon52l.png</href>' . "\n";

$kml .= '</Icon>' . "\n";

$kml .= '</IconStyle>' . "\n";

$kml .= '<ListStyle>' . "\n";

$kml .= '</ListStyle>' . "\n";

$kml .= '</Style>' . "\n";

$kml .= '<StyleMap id="msn_info-i">' . "\n";

69

$kml .= '<Pair>' . "\n";

$kml .= '<key>normal</key>' . "\n";

$kml .= '<styleUrl>#sn_info-i</styleUrl>' . "\n";

$kml .= '</Pair>' . "\n";

$kml .= '<Pair>' . "\n";

$kml .= '<key>highlight</key>' . "\n";

$kml .= '<styleUrl>#sh_info-i</styleUrl>' . "\n";

$kml .= '</Pair>' . "\n";

$kml .= '</StyleMap>' . "\n";

$kml .= '<Style id="sn_info-i">' . "\n";

$kml .= '<IconStyle>'. "\n";

$kml .= '<color>ff0000ff</color>'. "\n";

$kml .= '<scale>1.2</scale>' . "\n";

$kml .= '<Icon>' . "\n";

$kml .=

'<href>http://maps.google.com/mapfiles/kml/pal5/icon52l.png</href>' . "\n";

$kml .= '</Icon>' . "\n";

$kml .= '</IconStyle>' . "\n";

$kml .= '<ListStyle>' . "\n";

$kml .= '</ListStyle>' . "\n";

$kml .= '</Style>' . "\n";

//-----------------------------------------------conexao a base de dados

$link = mysql_connect("localhost", "root", "")

or die("Não pude conectar: " . mysql_error());

mysql_select_db("l_all") or die("Não pude selecionar o banco de dados");

70

$sql1 = "select * from etm_kml";

echo $sql1. "<br>";

$result1 = mysql_query($sql1) or die("A query falhou: " . mysql_error());

$num_rows = mysql_num_rows($result1);

echo $num_rows. "<br>";

while ($row1 = mysql_fetch_array($result1)) {

$SCENE[] = trim($row1["sceneID"]);

$b_url[] = trim($row1["browseURL"]);

echo $b_url[0]. "<br>";

$ph[] = trim($row1["path"]);

echo $ph[0]. "<br>";

$rw[] = trim($row1["row"]);

echo $rw[0]. "<br>";

$CENTER_LAT[] = trim($row1["sceneCenterLatitude"]);

echo $CENTER_LAT[0]. "<br>";

$CENTER_LON[] = trim($row1["sceneCenterLongitude"]);

echo $CENTER_LON[0]. "<br>";

$SCENE_UR_CORNER_LAT[] = trim($row1["upperRightCornerLatitude"]);

echo $SCENE_UR_CORNER_LAT[0]. "<br>";

$SCENE_UR_CORNER_LON[] =

trim($row1["upperRightCornerLongitude"]);

echo $SCENE_UR_CORNER_LON[0]. "<br>";

$SCENE_LL_CORNER_LAT[] = trim($row1["lowerLeftCornerLatitude"]);

echo $SCENE_LL_CORNER_LAT[0]. "<br>";

$SCENE_LL_CORNER_LON[] = trim($row1["lowerLeftCornerLongitude"]);

71

echo $SCENE_LL_CORNER_LON[0]. "<br>";

$DWN[] = trim($row1["cartURL"]);

echo $DWN[0]. "<br>";

}

$tam = count($b_url);

echo $tam . "<br>";

for($i=0;$i<$tam;$i++) {

$kml .= '<Placemark id="'.$ph[$i].'_'.$rw[$i].'">' . "\n";

$kml .= '<styleUrl>#msn_info-i</styleUrl>' . "\n";

$kml .= '<name>'.$ph[$i].'_'.$rw[$i].'</name>' . "\n";

$kml .= '<snippet></snippet>' . "\n";

$kml .= '<description><![CDATA[<div class="googft-info-window">' . "\n";

$kml .= '<TABLE border=0' . "\n";

$kml .= '<TR><TD><IMG SRC='.$b_url[$i].' height="220"

width="220"></TD><TR>' . "\n";

$kml .= '<TR><TD><b>PATH:</b>'. $ph[$i] .'</TD><TR>'. "\n";

$kml .= '<TR><TD><b>ROW:</b>'. $rw[$i] .'</TD><TR>'. "\n";

$kml .= '<TR><TD><b>SCENEID:</b>'. $SCENE[$i] .'</TD><TR>'. "\n";

$kml .= '<TR><TD><b>LATITUDE:</b>'. $CENTER_LAT[$i] .'</TD><TR>'. "\n";

$kml .= '<TR><TD><b>LONGITUDE:</b>'. $CENTER_LON[$i] .'</TD><TR>'.

"\n";

$kml .= '<TR><TD><b>SCENE_UR_CORNER_LAT:</b>'.

$SCENE_UR_CORNER_LAT[$i] .'</TD><TR>'. "\n";

$kml .= '<TR><TD><b>SCENE_UR_CORNER_LON:</b>'.

$SCENE_UR_CORNER_LON[$i] .'</TD><TR>'. "\n";

72

$kml .= '<TR><TD><b>SCENE_LL_CORNER_LAT:</b>'.

$SCENE_LL_CORNER_LAT[$i] .'</TD><TR>'. "\n";

$kml .= '<TR><TD><b>SCENE_LL_CORNER_LON:</b>'.

$SCENE_LL_CORNER_LON[$i] .'</TD><TR>'. "\n";

$kml .= '<TR><TD><b>REFERENCE_DATUM:</b>"WGS84"</TD><TR>'. "\n";

//$kml .= '<TR><TD><b>DOWNLOAD:</b>'. $DWN[$i] .'</TD><TR>'. "\n";

$kml .= '</table>'. "\n";

$kml .= '</div>]]>'. "\n";

$kml .= '</description>' . "\n";

$kml .= '<Point>' . "\n";

$kml .=

'<coordinates>'.$CENTER_LON[$i].','.$CENTER_LAT[$i].',0</coordinates>' . "\

n";

$kml .= '</Point>' . "\n";

$kml .= '</Placemark>' . "\n";

}

$kml .= '</Document>' . "\n";

$kml .= '</kml>' . "\n";

file_put_contents($file, $kml);

Formatada: Francês (França)