tcc gustavo

Propaganda
UNIJUÍ
UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO
RIO GRANDE DO SUL
DCEEng
DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS
CURSO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
DEFINIÇÃO DE UM BANCO DE DADOS GEOGRÁFICO PARA
ARQUITETURA AGROMOBILE
GUSTAVO HENRIQUE RORATO
Santa Rosa, RS - Brasil
2014
GUSTAVO HENRIQUE RORATO
DEFINIÇÃO DE UM BANCO DE DADOS GEOGRÁFICO PARA
ARQUITETURA AGROMOBILE
Projeto apresentado na disciplina de
Trabalho de Conclusão de Curso do
curso de Ciência da Computação da
Universidade do Noroeste do Estado
do RS como requisito básico para
apresentação
do
Trabalho
de
Conclusão de Curso.
Orientador: Profº Dr. Gerson Battisti
Santa Rosa – RS
2014
AGRADECIMENTOS
A Deus por ter me dado saúde e sabedoria para que conseguisse
finalizar este trabalho.
Aos meus pais pelo apoio que sempre me deram, pelos conselhos a
mim dirigidos e pelo exemplo.
A minha namorada Bruna pela compreensão com a minha ausência e
pelo carinho.
Aos amigos que me acompanharam e me ajudaram nessa jornada.
Ao meu orientador, professor Gerson Battisti pela atenção, paciência e
incentivo durante todo o processo.
Ao professor Vínicius Maran que me ajudou na escolha do tema e na
orientação no inicio do trabalho.
RESUMO
Este trabalho trata da definição de um banco de dados geográfico para
arquitetura Agromobile. Essa aplicação é baseada na agricultura de precisão,
que integra o manejo do solo com informações tecnológicas obtidas através de
sensores. Para isto foi estudado os conceitos de localização espacial e
técnicas de georreferenciação, tendo como objetivo de transpor para o banco
de dados geográfico dados reais que possam ser usados posteriormente para
analises e consultas espaciais.
Diante de toda analise feita sobre o processo de obtenção desses
dados, foi definido um gerenciador de banco de dados para a aplicação, o
Postgis que é a extensão espacial do banco de dados PostgreSQL, por se
tratar de uma ferramenta gratuita e com inúmeras funcionalidades. Com o
estudo do Postgis, pode-se desenvolver testes e procurar uma forma de tornálo útil a aplicação Agromobile.
Palavras
chave:
Georreferenciação.
PostgreSQL,
PostGIS,
Agricultura
de
Precisão,
ABSTRACT
This work deals with the definition of a geographic database for
Agromobile architecture. This application is based on precision farming, which
integrates soil management with technological information obtained by sensors.
For this the concepts and techniques of spatial location georeferenced, aiming
to transpose the geographic database real data that can be used for later
analysis and spatial queries has been studied.
Faced with all analyzes performed on the process of obtaining these
data, a database manager was defined for the application, which is the PostGIS
spatial extension of the PostgreSQL database, because it is a free tool and has
numerous features. With the study of Postgism, can develop tests and look for a
way to make it useful to Agromobile application.
Keywords: PostgreSQL, PostGIS, Precision Agriculture, Georeferenced.
LISTA DE QUADROS
Quadro 1 - Informações sobre decomposição em grade. ................................ 23
Quadro 2 - Funções de processamento da geometria. .................................... 42
Quadro 3 - Retorno das funções, tendo como base o exemplo. ...................... 49
LISTA DE FIGURAS
Figura 1 - Modos de obter dados e informações terrestres. ............................. 12
Figura 2 - Linha de base................................................................................... 16
Figura 3 - Método linha de grade sob mapa. .................................................... 16
Figura 4 - Sistema de coordenadas polares com os eixos cartesianos e um
conjunto de círculos centrados na origem. ....................................................... 17
Figura 5 - Quadricula militar portuguesa. ......................................................... 18
Figura 6 - Projeção de Mercator. ...................................................................... 18
Figura 7 - Quadricula militar UTM. ................................................................... 19
Figura 8 - Exemplo de árvore B........................................................................ 22
Figura 9 - Exemplo de árvore binária. .............................................................. 22
Figura 10 - Relação entre o BDG, o PostgreSQL (SGBD) e o PostGis (sua
extensão espacial). .......................................................................................... 27
Figura 11 - Entidades da forma vetorial. .......................................................... 30
Figura 12 - Entidades da forma matricial. ......................................................... 31
Figura 13 - Diferença entre Geometry e Geography. ....................................... 34
Figura 14 - Exemplo gráfico da função Contains.............................................. 38
Figura 15 - Exemplo gráfico da função Touches. ............................................. 38
Figura 16 - Exemplo gráfico da função Intersects. ........................................... 39
Figura 17 - Exemplo gráfico da função Disjoint. ............................................... 39
Figura 18 - Exemplo gráfico da função Equals. ................................................ 40
Figura 19 - Exemplo gráfico da função Distance. ............................................. 40
Figura 20 - Exemplo gráfico da função Crosses............................................... 40
Figura 21 - Exemplo gráfico da função Within. ................................................. 41
Figura 22 - Exemplo gráfico da função Overlaps. ............................................ 41
Figura 23 - Mapa com os marcadores aonde posteriormente será demarcada a
área da propriedade. ........................................................................................ 43
Figura 24 - Função que faz a inserção do mapa no banco de dados............... 44
Figura 25 - Polígono formado a partir dos pontos marcados no mapa. ............ 44
Figura 26 - Função que atualiza o ponto no banco de dados a cada
movimentação. ................................................................................................. 44
Figura 27 - Função que verifica se o ponto está dentro do polígono................ 45
Figura 28 - Teste que retornou falso. ............................................................... 45
Figura 29 - Teste que retornou verdadeiro. ...................................................... 46
Figura 30 - Diagrama de tabelas banco de dados da aplicação Agromobile. .. 47
Figura 31 - Mapa com uma área já demarcada e outra com os marcadores para
demarcar. ......................................................................................................... 47
Figura 32 - Mapa com duas áreas demarcadas. .............................................. 48
SUMÁRIO
1.
INTRODUÇÃO ............................................................................................ 9
2.
SISTEMAS DE INFORMAÇÃO GEOGRÁFICA ....................................... 11
2.1.
MÉTODOS DE GEORREFENCIAÇÃO ................................................. 14
2.2.
INDICES E FUNÇÕES ESPACIAIS ...................................................... 21
3.
BANCO DE DADOS GEOGRÁFICOS ..................................................... 25
3.1.
APLICAÇÕES ....................................................................................... 29
3.2.
GERENCIAMENTOS DOS DADOS ...................................................... 30
3.3.
OPERAÇÕES ........................................................................................ 32
4.
POSTGIS .................................................................................................. 34
4.1.
ANÁLISE ESPACIAL E OPERAÇÕES ESPACIAIS ............................ 36
4.2.
CONSULTA MANIPULAÇÃO E APRESENTAÇÃO DE DADOS
GEOGRAFICOS .............................................................................................. 43
4.3.
IMPLEMENTAÇÃO DO BANCO DE DADOS DA ARQUITETURA...... 46
5.
CONCLUSÃO ........................................................................................... 52
6.
REFERÊNCIAS BIBLIOGRÁFICAS ......................................................... 54
INTRODUÇÃO
Bancos de dados geográficos são desenvolvidos para o armazenamento
de dados sobre informações espaciais, os novos sistemas permitem que as
informações que anteriormente eram armazenadas em sistemas isolados
possam ser armazenadas em um único local tendo em vista a melhor
organização utilizando-se das regras de banco de dados.
Este tipo de banco de dados tem a capacidade de armazenar dados da
superfície terrestre, fazer analises e consultas desses dados. Esses tipos de
consultas e analises não são suportadas pelos banco de dados normais, o que
foi motivo para a criação de extensões espaciais dos mesmos.
Estas extensões, chamadas de GIS (Sistema de Informação Geográfica)
nada mais é do que um sistema utilizado para coletar, modelar e armazenar
informações que descrevem propriedades físicas do mundo geográfico que
está em rápido desenvolvimento e que foi criado para satisfazer as demandas
técnicas desafiadoras e inovadoras. O sistema mencionado trabalha com dois
tipos de dados, espaciais e dados que não são espaciais.
Existem vários Sistemas de Informação Geográfica disponíveis, o
escolhido para este trabalho é uma extensão gratuita e de código fonte livre do
Sistema Gerenciador de Bancos de Dados (SGBD) PostgreSQL, o PostGIS
que foi desenvolvido pela Research Refractions em 2001. Esta extensão é
responsável por adicionar o suporte espacial ao banco de dados PostgreSQL.
Dentre os diversos modos de utilização de um GIS, podemos listar os
seguintes: localização, condição, tendência, rotas e modelos. Este tipo de
sistema serve basicamente para as seguintes funções: manipular informações
espaciais, cruzamento de informações e apoio na tomada de decisões. Possui
suporte completo à centenas de projeções cartográficas e suas transformações
e permite representar a realidade de forma precisa. Para se desenvolver um
banco de dados desta espécie será preciso primeiramente que se haja uma
captura de dados que podem ser elas bidimensional ou tridimensional, em uma
forma digital.
9
Um exemplo prático na coleta de dados cartográficos seria em um meio
agrícola, teríamos supostamente os seguintes dados: características do solo,
densidade cultural e qualidade do ar e as dimensões da propriedade. Os dados
podem ser analisados de diversas formas, podem ser utilizados para o estudo
sobre a erosão do solo, estudos de impacto ambiental, simulações de
escoamento hidrológico, entre outras analises que seriam possíveis.
O trabalho tem por objetivo integrar e criar definições de um banco de
dados geográfico a arquitetura Agromobile. A estrutura suporta determinados
tipos de consultas espaciais utilizando um Sistema de Informação Geográfica
(GIS). Para isso foi escolhido o cenário de agrícola e selecionados alguns tipos
de consultas envolvendo componentes espaciais.
Para tanto o trabalho foi divido nos seguintes tópicos, primeiramente um
estudo abrangendo banco de dados geográficos e a extensão PostGIS com
seus conceitos, objetos, funções e como são capturados os dados.
Posteriormente serão feitos testes para que se possa ter uma noção do que se
pode fazer com essa ferramenta no âmbito do sistema mobile desenvolvido,
onde serão definidas quais funções serão usadas, quais dados vão precisar ser
gravados e como será feita a manipulação dos mesmos.
Após a conclusão da parte de estudo e criação das definições serão
demonstrados testes práticos do uso da extensão no ímpeto de uma melhor
visualização do que foi implementado.
10
SISTEMAS DE INFORMAÇÃO GEOGRÁFICA
Antigamente a coleta e manipulação de dados geográficos eram dadas
por meio de documentos ou através de desenhos. Os GIS são sistemas
computacionais de Geoprocessamento que nos permite fazer analises
complexa, precisas e rápidas de desses dados geográficos coletados tornando
possível o armazenamento dessas informações em banco de dados.
"Um SIG é constituído por um conjunto de "ferramentas"
especializadas em adquirir, armazenar, recuperar, transformar e
emitir informações espaciais. Esses dados geográficos descrevem
objetos do mundo real em termos de posicionamento, com relação a
um sistema de coordenadas, seus atributos não aparentes (como a
cor, pH, custo, incidência de pragas, etc) e das relações topológicas
existentes." (CÂMARA, 2005).
Para a obtenção de dados pode ser dados de duas formas, a
combinação de tipos de tecnologias distintas utilizados para por empresas e
instituições para estudar o espaço terrestre.

Sensoriamento remoto: trata-se da utilização de satélites e radares
para a captura de imagens da área terrestre. Com isso pode ter-se
dados importantes, como a extensão territorial de determinada área, o
tamanho de uma área coberta de vegetação, entre outros. As imagens
também podem ser obtidas por meio de aviões e helicópteros que
possuem câmeras especiais.

GPS (Sistema de posicionamento global): tecnologia atual de
posicionamento que vem ganhando bastante espaço no meio agrícola
para ajudar no manejo da terra, na chamada agricultura de precisão,
diminuindo os custos de produção e agilizando o processo. Aparelho
capaz de identificar a latitude e longitude em qualquer lugar do mundo
com o apoio de dezenas de satélites espalhados pela Terra.
11
Figura 1 - Modos de obter dados e informações terrestres.
Fonte: Nunes (2014).
Todas as coordenadas que são utilizadas no GPS são baseadas no
Datum, existem vários Datum diferentes em todo o mundo, inclusive em um
mesmo país pode haver vários disponíveis. Para entender o sistema de
informação geográfica, antes temos que entender alguns conceitos. O primeiro
deles é que a Terra não é uma esfera perfeita, ela tem seus pólos achatados
(YAMASHIRO, 2010).
Se a Terra fosse ter um formado de esfera perfeita, absolutamente todos
os seus pontos iriam atingir a sua superfície. Para a análise das coordenadas é
utilizado um sistema geodésico, que é obtida através de tecnologias de
observação de satélites artificiais. Conforme os anos passam e a tecnologia
avança, muda também esse alguns pontos da referência, formando assim uma
nova versão de sistema geodésico.
12
"Independente do método utilizado para se representar ou projetar
uma determinada superfície no plano, deve-se adotar uma superfície
que sirva de referência, garantindo uma concordância das
coordenadas na superfície esférica da Terra. Com este propósito,
deve-se escolher uma figura geométrica regular, muito próxima da
forma e dimensões da Terra, a qual permite, mediante a um sistema
coordenado, posicionar espacialmente as diferentes entidades
topográficas. Esta figura recebe à denominação de elipsóide e as
coordenadas referidas a ele são denominadas de latitude e longitude
geodésicas." (IBGE, 2012).
Além do Datum, também precisamos de um sistema de coordenadas
projetas. Esse sistema serve para pegar os objetos em três dimensões e
transformá-los em um plano de duas dimensões, para ser exibido como se
fosse um mapa, na tela do computador. Todos esses conceitos e processos
envolvidos para se obter as informações espaciais estão comprimidas em um
só código, chamado de SRID.
Como o SRID é um conjunto de todas essas informações, quando
utilizamos alguma aplicação para fins espaciais, ao invés de termos que
informarmos todos esses dados, somente definimos o SRID. Juntando todas
essas informações obtemos um código, como esses exemplos:
 Exemplo do SRID 4326:
GEOGCS["WGS84",
DATUM["WGS_1984",
SPHEROID["WGS84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4326"]]
 Exemplo do SRID 2000:
PROJCS["Anguilla 1957 / British West Indies Grid",
GEOGCS["Anguilla 1957",DATUM["Anguilla_1957",
13
SPHEROID["Clarke1880(RGS)",6378249.145,293.465,
AUTHORITY["EPSG","7012"]],
AUTHORITY["EPSG","6600"]],
PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4600"]],UNIT["metre",1,AUTHORITY["EPSG","900
1"]],
PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin"
,0],
PARAMETER["central_meridian",62],PARAMETER["scale_factor",0.999
5],
PARAMETER["false_easting",400000],
PARAMETER["false_northing",0],AUTHORITY["EPSG","2000"],AXIS["Ea
sting",EAST],AXIS["Northing",NORTH]]
Nos dois exemplos é utilizado como ponto de referência o meridiano de
Greenwich e a unidade de medida degree. A grande diferença entre os dois
exemplos citados acima é que a segundo utiliza um tipo de projeção, chamado
Projeção de Mercator Transversa.
2.1. MÉTODOS DE GEORREFENCIAÇÃO
O sistema de referencia de espacial baseia-se nos valores das
coordenadas do plano. Para garantir a que a integração dos dados que é
obtida de diversas fontes a maioria dos países já definiu sistemas de
georreferenciação de proporção nacional.
O objetivo de um sistema de georreferenciação é a descrição
quantitativa de posições no espaço. A sua definição é dada por um modelo
físico da Terra e para o espaço em que se movimenta determinada por
parâmetros.
14
"No aspecto ciência podemos considerar as preocupações humanas
em tentar representar num plano a dificilmente conceptível superfície
da Terra, a que chamamos Geóide é objeto da matemática conseguir
arranjar relações (formulas) que permitam essa representação,
permitindo ainda conceber um conjunto de quadrículas que vão
permitir ao homem indicar com facilidade a outro homem, o
posicionamento de locais ou objetos, ou seja um sistema de
referência." (ALVES, 2006).
A descrição dos pontos da Terra é feito por meio de coordenadas,
independentemente do tipo de coordenada utilizada, o sistema de referencia é
composto de três eixos ortogonais:

Origem;

Orientação dos eixos;

Pontos cartesianos.
Os sistemas de coordenadas são classificados em:

Geodésicos;

Geográficos.
Para utilizar estes dados existem os métodos de georeferenciação que
são esses:

Linha base: é o método que se utiliza da linha a nivel do mar.
15
Figura 2 - Linha de base.
Fonte: Moura (2014).

Grade: este método consiste em traçar linhas verticais e horizontais
formando uma grade, o que torna mais facil conseguir uma perspectiva e
formas mais precisas.
Figura 3 - Método linha de grade sob mapa.
Fonte: Fontaneille (2011).
16

Coordenadas polares: a localização de cada ponto é feita a partir da
determinação da distância entre o ponto considerado a um ponto fixo
(pólo) e do desvio do ângulo em relação a uma direcção da origem.
Figura 4 - Sistema de coordenadas polares com os eixos cartesianos e um conjunto de
círculos centrados na origem.
Fonte: Ferreira (2013).

Quadricula militar portuguesa: é a utilizada nos mapas militares de
Portugal nas escalas 1:25 000 e 1:250 000. Para o exército interessava
que Portugal ficasse no 1º quadrante, para que todas coordenadas
ficassem positivas.
17
Figura 5 - Quadricula militar portuguesa.
Fonte: Alves (2006).

Projeção Mercator: é uma projeção cilíndrica, criada em 1569. Nessa
projeção os meridianos são linhas paralelas verticais e possuem a
mesma distancia das paralelas na seqüência.
Figura 6 - Projeção de Mercator.
Fonte: Alves (2006).

Projeção Mercator Transversa: dividiu-se a superfície terrestre em 60
fusos numerados de 1 a 60, com uma amplitude de 6º, sendo o primeiro
meridiano de longitude 180º e crescendo para Leste.
18
Figura 7 - Quadricula militar UTM.
Fonte: Alves (2006).

OGC - Open Geospacial Consortium: Trata-se de um consorcio de
parâmetro internacional que possui a colaboração de mais de 300
instituições, sejam elas governamentais, universitárias e empresas
privadas. O grande objetivo do OGC é servir com uma grande
comunidade global reunindo os dados colaborativos de desenvolvedores
e usuários que utilizam serviços com base em dados espaciais .
Essa comunidade tem como objetivos principais:
1. Assegurar que seus padrões e informações sejam abertos para todo o
mercado. Além disso, confere a seus usuários e colaboradores
benefícios.
2. Fazer com que a rede mundial estabeleça padrões que permitam que
conteúdos geoespaciais sejam continuamente integrados em processos
de negocio, na web e em corporações.
3. Facilitar a adesão das formas de referencia abertas e espacialmente
habilidades em corporações no mundo todo.
19
4. Evoluir nos padrões no suporte a criação de novas aplicações para
tecnologia geospacial.
5. Acelerar a assimilação pelo mercado no que se diz respeito a pesquisas
de interoperabilidade através de grupos de colaboradores.
Padrões e informações abertas é o todo aquele que é criado como um
processo internacional com a participação da industria, possui direitos gratuitos
de distribuição, possui acesso livre as suas especificações, não descrimina
grupos ou pessoas e da garantia de que suas especificações e licença sejam
tecnologicamente neutras.
Dentro do formato OGC existem alguns padrões:
WMS - Web Mapping Service:
Esse é um padrão que tem uma interface HTTP para fazer as
requisições dos dados que estão no banco de dados espacial. Após feita uma
requisição ao banco de dados esse padrão coleta a definição e a área de
interesse a ser processada e retorna uma imagem(formato: jpg, png ou em
algum outro formato suportado).
O WMS tem três operações, são elas:
GetCapatibilities: retorna as informações do serviço, conteúdo e parâmetros.
GetMap: retorna a imagem de um mapa seguindo os parâmetros definidos:
tamanho do mapa e o sistema de referência espacial.
GetFeatureInfo: retorna as informações de uma parte especifica mostrada no
mapa.
WFS - Web Feature Service:
Este padrão que suporta inserções, atualizações, deleções e consultas
de caráter geográfico. Assim que uma consulta através de clientes HTTP é feita
retorna uma representação GML.
Sendo assim é possível criar instâncias, consultar tanto dados espaciais quanto
não espaciais, remover registros e atualizar registros.
20
WCS - Web Coverage Service:
Define uma interface que consegue acessar dados matriciais. Suporta
imagens de satélites e fotos áreas digitais.
SFS - Simple Feature Specification:
Essa é a forma mais comum utilizada para o armazenamento de dados
espaciais ou não espaciais. Podem ser inseridos pontos, polígonos, linhas,
entre outros, em seu banco de dados objeto-relacional.
O objetivo deste padrão é definir parâmetros SQL que suporte o
armazenamento, recuperação, consulta e atualização de coleções de aspecto
geospaciais simples via API OBDC.
2.2. INDICES E FUNÇÕES ESPACIAIS
Os índices espaciais são criados usando b-tree's, esse tipo de estrutura
é utilizado para aplicações que demandam uma grande quantidade de
informação. As árvores B são diferentes das árvores binárias pelo fato de que
enquanto a binária armazena um único dado binário em cada um de seus nós,
a árvore B pode armazenar um número maior de informações e ter mais
ramificações saindo de seus nós.
"As árvores B são árvores balanceadas projetadas para trabalhar com
dispositivos de armazenamento secundário como discos magnéticos.
Elas visam otimizar as operações de entrada e saída nos dispositivos.
O tempo de acesso às informações em um disco é prejudicado
principalmente pelo tempo de posicionamento do braço de leitura.
Uma vez que o braço esteja posicionado no local correto, a leitura
pode ser feita de forma bastante rápida. Desta forma, devemos
minimizar o número de acessos ao disco."(NONATO, 2005).
21
Exemplo de árvore B:
Figura 8 - Exemplo de árvore B.
Fonte: Farner (2008).

Exemplo de árvore binária:
Figura 9 - Exemplo de árvore binária.
Fonte: Borelli (2013).
O processo de criação de índices é dividido em níveis, conforme a
necessidade da aplicação, por exemplo, quando se tem uma grade de
densidade 4 x 4, existem os níveis: 1, 2, 3 e 4. Todos esses níveis possuem o
mesmo número de células e todas elas possuem o mesmo tamanho.
22
"O número de células ao longo dos eixos de uma grade determina
sua densidade: quanto maior o número, mais densa a grade. Por
exemplo, uma grade de 8x8 (que produz 64 células) é mais densa do
que uma grade de 4x4 (que produz 16 células). A densidade da grade
é definida em uma base por nível." (MICROSOFT, 2014).
Para a definição de densidade da grade, temos as seguintes nomenclaturas:
Quadro 1 - Informações sobre decomposição em grade.
Nomenclatura
Tamanho da grade
Quantidade de células
Low
4x4
16
Medium
8x8
64
High
16x16
256
Fonte: Autoria Própria, 2014.
Após a decomposição em grade, ocorre um processo chamado de
mosaico, onde o índice faz uma leitura de todas as linhas da coluna de formato
espacial. O processo de mosaico organiza o objeto na hierarquia da grade,
iniciando sempre do primeiro nível até o último, passando nível a nível.
"A saída do processo de mosaico é um conjunto de células tocadas
que são registradas no índice espacial do objeto. Consultando essas
células registradas, o índice espacial pode localizar o objeto no
espaço em relação a outros objetos na coluna espacial que também
são armazenados no índice." (MICROSOFT, 2014).
No processo de mosaico existem algumas regras, que serão abordadas
agora. Essas regras servem para limitar o número de células tocadas
registradas para um determinado objeto. As regras são:
1. Regra de Cobertura: essa regra é para que se o objeto cobrir uma célula
por inteiro. Sendo ela totalmente coberta, a mesma não é incluída no
mosaico. Essa regra se aplica a todos os níveis da hierarquia e ajuda o
índice espacial a reduzir a quantidade de dados registrados.
2. Regra de Células por objeto: uma das principais regras, que força um
limite de células por objeto. Porém no primeiro nível essa regra não se
aplica. Nos níveis exceto o primeiro, essa regra ajuda a controlar a
quantidade de informações que podem ser registradas sobre o objeto.
23
3. Regra de Célula mais profunda: o objetivo desta regra é não registrar as
células pai, sendo assim, não contribuem para a contagem de células
por objeto.
Existe ainda uma caixa limitadora, que tem por objetivo definir um fim
para um índice espacial. A caixa delimitadora possui quatro coordenada que
são gravadas como propriedades do índice espacial, (x-min,y-min) e (x-max,ymax), onde:

(x-min,y-min): são as coordenadas x e y referentes aos cantos inferiores
esquerdo da caixa delimitadora.

(x-max,y-max): são as coordenadas x e y referentes aos cantos
superiores direito da caixa delimitadora.
24
BANCO DE DADOS GEOGRÁFICOS
Desde sempre há a necessidade e interesse do homem de estudar a
geografia ao seu redor, a coleta de informações está no seu instinto. O ser
humano desde o inicio de sua existência precisou desses dados para a sua
sobrevivência, como por exemplo, aonde existiam recursos minerais e
obstáculos naturais.
No principio a coleta e armazenagem de toda essa informação era por
meio da escrita, utilizando-se de conhecimentos e ferramentas para se criar as
notações. Mas como esse tipo de notação possuía suas limitações, começou a
surgir o conceito de geoprocessamento utilizando a capacidade computacional
para o seu desenvolvimento.
O geoprocessamento nada mais é do que técnicas matemáticas que nos
permite analisar dados geográficos. Todo esse avanço na coleta e
processamento dos dados trouxe consigo várias facilidades, seja na área de
transporte, saúde, planejamento urbano, área rural, entre outros.
"Com esse recurso pode-se, por exemplo, monitorar queimadas e
desmatamentos de forma mais efetiva e acurada. Outro uso dessa
tecnologia é suprir informações de regiões onde os dados geográficos
são insuficientes ou mesmo inexistentes."(GUERRA, 2011).
O que distingue este tipo de banco de dados geográficos de um banco
de dados normal, utilizado em vários meios, como em sites, empresas para
cadastros de produtos, clientes, entre outros é que suporta dados geométricos
em suas tabelas. Outro ponto a se ressaltar é que um Sistema de
Gerenciamento de Banco de Dados (SGBD) convencional não suporta a
implementação de um Banco de Dados Geográficos na sua forma original, sem
que se tenha que instalar algum recurso ou extensão.
“O que diferencia os chamados dados geográficos dos demais é sua
componente espacial. Por isso eles também são chamados de dados
espaciais. Quando falamos em componente espacial queremos dizer
que estes dados são representações da superfície terrestre e estão
relacionados com sua localização no espaço, ou seja, podem ser
posicionados em determinada região geográfica tendo por base suas
coordenadas.” (MEDEIROS, 2010).
25
Dados geográficos são armazenados em SIG's, que são sistemas de
informações geográficas. Surgiram no ano de 1960 no Canadá, com a
finalidade de servir ao governo na criação de uma base de dados com
informações sobre os recursos naturais.
No começo esses sistemas eram extremamente limitados, como na
década de 60 os computadores existentes não possuíam uma grande
capacidade de processamento comparado aos de hoje, não havia como
executar analises um pouco mais complexas.
"Desde a criação do primeiro sistema simples para aplicação da
cartografia por meio de sistemas informatizados em 1950, até a
recente massificação do acesso à GIS (como o Google Earth), as
tecnologias para captura, armazenamento, tratamento e recuperação
de informações georreferenciadas tem melhorado cada vez mais e
possibilitado um leque cada vez maior de aplicações. Assim,
podemos identificar três formas principais de se utilizar um SIG: para
produção de mapas, como suporte para a análise espacial de
fenômenos, ou como um banco de dados geográficos, com funções
de armazenamento e recuperação de informação espacial." (FARIA,
2012).
O gerenciamento de dados dos sistemas pode ser dividido em três
arquiteturas:

Arquitetura Dual: Nesse tipo de arquitetura os dados são armazenados
em tuplas em relações dentro de um banco de dados relacional
gerenciados por um sistema gerenciador de banco de dados. Por se
tratar de uma arquitetura simples é suportada por qualquer SGBD. A
execução de uma analise é dada da seguinte forma, uma parte da
operação é efetuada pelo SGBD e a outra parte pelo SIG, por ser
executada nessas duas etapas é que recebe o nome de Dual.

Arquitetura Integrada: Ao contrario da arquitetura Dual, está utiliza
somente o SGBD para manipular os dados. A vantagem que tem sobre
a outra arquitetura não elimina uma desvantagem sua, que é a
impossibilidade de manipulação via SQL (Structured Query Language).

Arquitetura Integrada via Extensão Espacial: Essa é a ultima
evolução dos SIG's, possibilitando o armazenamento e manipulação de
dados mais complexos. Com esse avanço foi possível aumentar o
26
suporte para outros tipos de geometrias, funções e operadores.
Empresas tais como: Oracle, PostgreSQL e MySQL lançaram extensões
para dados georeferenciados.
Para este trabalho será utilizado o PostGIS que se trata de uma
extensão grátis e de código livre do SGBD PostgreSQL. Desenvolvida pela
empresa Research Refractions no ano de 2001 e adiciona suporte espacial ao
PostgreSQL.
Figura 10 - Relação entre o BDG, o PostgreSQL (SGBD) e o PostGis (sua extensão
espacial).
Fonte: Medeiros (2010).
O PostGIS é um sistema de informação geográfica que é utilizado para:
coletar, modelar, armazenar e analisar informações descrevendo perfeitamente
o mundo físico.
27
Este sistema abrange dois tipos de dados:
 Dados Espaciais: são originadas a partir de mapas, imagens digitais,
fronteiras administrativas e políticas, estradas, redes de transporte, rios,
condições climáticas, entre outros;
 Dados que não são Espaciais: são como dados econômicos, de vendas
e marketing.
Um dos grandes benefícios desta extensão é que se utilizam SQL para
trabalhar com os dados, ou seja, não existe necessidade de se aprender uma
nova linguagem para utilizá-la, pois é a mesma do PostgreSQL. Além deste
fator há vários outros pontos positivos que fizeram com que a melhor opção
para este projeto fosse o PostGIS, como por exemplo:
 Por ele ser tratar de um software livre;
 Ser compatível com padrões OGC o que significa que tem uma grande
facilidade de integrar dados de diversas fontes;
 Seu poder funcional, pois tem suporte ao uso de índices espaciais e
centenas de recursos para analisar e tratar dados espaciais;
 A facilidade com que os dados possam ser importados e exportados,
pois tem ferramentas para conversão nativas;
 Ele é um GIS altamente utilizado, atualmente é o software livre para o
gerenciamento de dados espacial mais utilizado no mundo, com isso o
numero de colaboradores é enorme;
 Com todos esses aspectos abordados e com testes de desempenho
feitos o PostGIS consegue
superar softwares proprietários que são
utilizados para o mesmo fim.
28
3.1. APLICAÇÕES
Os SIG's podem ser uma ótima alternativa para facilitar e auxiliar nos
mais variados tipos de atividades. A sua capacidade de processar analises o
torna uma ferramenta importante e indispensável em determinados casos.
Esses sistemas vieram com a finalidade de tornar obsoleto o uso de
sistemas arcaicos de obtenção de informações geográficos, que além de ser
impossível fazer algumas análises, processos um pouco mais complexos já se
tornam muito demorados e inviáveis.
"Os SIGs oferecem ótimas ferramentas de apoio à decisão, com
custo de aquisição e treinamento de pessoal variado. A versatilidade
na manipulação dos dados georreferenciados, a possibilidade de
operar sobre plataformas de baixo custo, como os computadores
pessoais, e a relativa simplicidade de operação tornam-no um recurso
bastante interessante, pois permitem que decisões sejam tomadas a
partir
de
critérios
definidos
de
forma
participativa
e
sustentável."(MAEDA, 2014).
Em suas aplicações o SIG pode ser dividido em três principais
categorias:
 Aplicações
Cartográficas:
irrigação,
avaliação
de
solo,
estudos
paisagístico, analise de padrões de trafego, entre outros.
 Aplicações de Modelagem Digital de Terrenos: estudos dos recursos
científicos da Terra, avaliação de engenharia civil e militar, levantamento
de solos, estudos de poluição do ar e da água, controle de enchentes,
gerenciamento de recursos híbridos, entre outros.
 Aplicações de Objetos Geográficos: sistema de navegação de veículos
analise geográfica de mercado, distribuição e consumo de serviços
públicos, entre outros.
As categorias de aplicações cartográficas e aplicações de modelagem
digital de terrenos requerem representação com base em campos e a aplicação
de objetos geográficos necessita de uma representação baseada em objetos.
Em aplicações que são baseadas em objetos é necessário que se tenha
funções espaciais adicionais na maioria dos casos, para que se possa ter um
comparativo no tempo.
29
“Tarefas difíceis, como a construção de mapas temáticos precisos,
cruzamentos de informações espaciais e outras tarefas são
simplificadas com o uso de um pacote SIG”.(SILVA, 2009).
A grande consolidação desse tipo de tecnologia foi o surgimento do
Google Maps que começou a fornecer para os desenvolvedores uma forma
simples de construir aplicações que necessitam a utilização de um serviço de
busca em de mapas. Além dessa facilidade trata-se de um serviço gratuito e de
abrangência mundial.
"Hoje em dia, o acesso está literalmente nas palmas das mãos de
todos nós através dos smartphones, por exemplo. A localização
geográfica é uma informação preciosa às pessoas, podendo
apresentar praticamente tudo: seja a simples localização de um ente
querido, o roteiro de uma viagem de final de semana, um mapa para
gestão de equipe de vendas de uma empresa ou até mesmo um
detalhado plano de emergência integrando dezenas de secretarias de
um Governo em questão."(SEABRA, 2013).
3.2. GERENCIAMENTOS DOS DADOS
Os dados de um GIS são representados por duas formas básicas, são
elas os vetoriais e matriciais. A classe vetorial trata-se de dados que tem pelo
menos um par de coordenadas, então elas podem ser linhas, polígonos,
elementos lineares ou simplesmente pontos.
Figura 11 - Entidades da forma vetorial.
Fonte: Medeiros (2009)
30
Os pontos podem ser utilizados para a representação de lugares ou
marcadores, como por exemplo, em um mapa que represente uma epidemia
podem ser áreas atingidas pela doença, são varias as possibilidades. As outras
formas podem ser as traçadas de rios, ruas e os polígonos podem ser países,
continentes, entre outros.
“Considera que estes sistemas não apresentam apenas a função de
manipulação de dados geográficos, mas, dentro de um SIG, os dados
estruturados representam um modelo do mundo real”(BURROUGH,
1986)
A forma matricial pode ser representada por um determinado numero de
colunas e linhas que formam uma matriz. Cada célula tem um valor
correspondente ao atributo analisado e pode ser localizada pelo cruzamento
entre as linhas e colunas.
Figura 12 - Entidades da forma matricial.
Fonte: Medeiros (2009)
Essas duas formas possuem vantagens e desvantagens e para cada
uso se tem critérios a serem analisados para uma melhor utilização. No entanto
o uso da forma vetorial geralmente é mais usado para representar mapas, ruas,
rios e tudo que for referente a coordenadas, já a forma matricial é amplamente
utilizada para representar variações, como por exemplo, para representar a
variação de temperatura de um determinado local em um intervalo de tempo.
31
As analises dos dados podem ser feitas para diferentes propósitos, seja
para analise de vegetação, analise de solo, entre vários outros tipos de
analises e estudos. Por ser tão fiel ao meio físico real esse tipo de aplicação
esta sendo usado amplamente para tomadas de decisões por empresas,
organizações, entre outros que possa se utilizar desta.
As capturas dos dados podem ser tanto bidimensionais quanto
tridimensionais e é esse o primeiro passo para a criação de um banco de
dados geográfico. Neste caso são vários os fatores que são importantes para
que o processo decorra de forma correta, o que se leva em conta é o mapafonte, de onde serão extraídos os dados, caso esteja com uma resolução ruim,
tipo de projeção inapropriado e com as escalas erradas alterará o resultado
final.
3.3. OPERAÇÕES
Um GIS possui varias operações específicas, que não funcionam em um
SGBD normal, sem ter instalado nenhuma extensão e sem suporte a
representações vetoriais e matriciais. Podemos classificar as operações nas
seguintes:
 Interpolação: é a operação em que se baseia na triangulação que utiliza
o método TIN para interpolar as elevações dentro do mesmo conforme a
elevação de seus vértices;
 Interpretação: trata-se da interpretação de dados do terreno, como por
exemplo: edição, realce, borda de triângulos, suavização, redução de
detalhes, entre outros;
 Analise de proximidade: é a operação de analise de pontos de interesse,
ao redor de objetos, como por exemplo, a determinação do buffer ao
redor um carro em uma rodovia;
 Processamento de imagem matricial: esta operação é dividida em
álgebra de mapas e analise de mapas, a primeira é utilizada para criar
varias camadas em um mapa para produzir algebricamente novos
32
mapas, a segunda é a analise de uma imagem digital para a descoberta
de extremidades e objetos em um mapa;
 Analise de redes: utilizada para produzir, por exemplo, um perfil dos
lugares onde há pouco desmatamento em uma área de proteção
ambiental, utilizando-se de um banco de dados com pontos.
33
POSTGIS
Essa ferramenta é uma extensão do banco de dados PostgreSQL, com
a capacidade de armazenar e manipular dados espaciais. Esta extensão pode
ser utilizada para diversas funcionalidades,
desde obter informações
detalhadas sobre o solo de determinada região até a taxa de mortalidade de
uma cidade.
O PostGIS pode ser dividido em dois tipos de dados:

Geometry: Trata-se de um formato para dados geográficos com várias
funções para manipular e converter dados. Esses tipos de dados têm
como base um plano, por este motivo é possível realizar muito mais
operações em cima deles. O grande problema dessa espécie de dados
é que a terra é uma esfera o que faz com que não haja tanta precisão
nos dados quando se faz uma analise de grandes territórios.

Geography: É o tipo de dados mais recente disponível e ao contrário do
Geometry tem por referencia uma esfera que leva em consideração a
curvatura da terra dando muito mais precisão na obtenção dos dados.
Figura 13 - Diferença entre Geometry e Geography.
Fonte: OpenGeo Suite User Manual(2011).
34
Dentro das tabelas do banco de dados guarda-se informações de
coordenadas e o tipo de objeto que pertencem. Levando em conta o padrão em
que estão. Os principais tipos de objetos que se tem são:

Point: Um ponto, são necessárias duas coordenadas (x,y) para definir
um ponto. Por exemplo: POINT(1,1);

Linestring: Uma linha. São necessários no mínimo quatro pontos, sendo
que dois são referentes ao ponto de partida da linha e outros dos
referentes ao ponto de chegada. Por exemplo: LINESTRING(0 0, 1 1);

Polygon: Um polígono. Pode possuir vários ângulos, só deve se ter
atenção pois a última coordenada deve ser idêntica a primeira, para que
o polígono possa fechar no mesmo ponto que se iniciou. Por exemplo:
POLYGON(0 0,10 0,10 10,0 10,0 0);

Multipoint: Vários pontos. É composto por vários pontos cada uma
contendo coordenadas x e y. Por exemplo: MULTIPOINT(0 0, 20 20, 60
60);

Multilinestring: Várias linhas. É composta por várias linhas cada uma
contendo quatro coordenadas, sendo duas as de inicio da linha e duas
do final da linha. Por exemplo: MULTILINESTRING((10 10, 20 20), (15
15, 30 15));

Multipolygon: Vários polígonos. É composto por vários polígonos cada
um com vários ângulos. Por exemplo: MULTIPOLYGON(((0 0,10 0,10
10,0 10,0 0)),((5 5,7 5,7 7,5 7, 5 5)));

Geometrycollection: Várias geometrias, sendo estas as citadas acima.
Por exemplo: GEOMETRYCOLLECTION(POINT(10 10), POINT(30 30),
LINESTRING(15 15, 20 20)).
35
Existem dois tipos de padrões utilizados para a representação dos
objetos, são eles:

WKT(Well-Know Text): É o padrão utilizado para representar os dados
em ASCII. Exemplo: Para gravar um formato tipo point, com
coordenadas x e y de valor 1, seria gravado o seguinte registro no banco
de dados POINT(1,1).

WKB(Well-Know Binary): É o padrão utilizado para representar os dados
em formato BLOB. Exemplo: Para gravar dados utilizando o mesmo
formato do item acima seria gravado o seguinte registro:
0101000000000000000000F03F000000000000F03F
Explicando melhor a seqüência, seria dividida nas seguintes partes:
Byte order: 01
WKB type (refere-se ao tipo de geometria utilizada): 01000000
Coordenada x: 000000000000F03F
Coordenada y: 000000000000F03F
Alem das coordenadas e objetos existem também o SRID que todo
objeto deve ter ao ser inserido no banco de dados geográfico. Uma coluna da
tabela pode conter vários SRID’s diferentes porem apenas instancia que
tenham o mesmo SRID é que podem ser usadas ao executar operações.
"O resultado de qualquer método espacial derivado de duas
instâncias de dados espaciais será válido apenas se essas instâncias
tiverem o mesmo SRID que é baseado na mesma unidade de
medida." (FROZZA, 2013).
4.1. ANÁLISE ESPACIAL E OPERAÇÕES ESPACIAIS
As operações que ocorrem dentro de um banco de dados geográficos
podem ser divididas em vários tópicos. Dos quais quatro são principais e o
resto subtópicos. As operações de entrada de dados podem ser para a:
 Compilação dos dados, que nada mais é do que a transformação dos
dados coletados para uma forma que o sistema consiga utilizar.
36

Georeferrenciação dos dados é o processo de possibilitar que uma
imagem ou um mapa tenha suas coordenadas conhecidas para um
determinado sistema.

Reestruturação dos dados trata-se da modificação dos dados obtidos
para que possam ser suportados e utilizados pelo sistema.

Edição é reconhecer e solucionar inconsistências espaciais para que o
sistema possa utilizar.
Existem também as operações para a manipulação dos dados já
obtidos, são eles:

Seleção é um conjunto de critérios aplicados sobre determinadas
características.

Descrição é o cálculo de índices relacionados com as propriedades
geométricas dos objetos.

Transformação como o próprio nome diz, é a modificação dos valores
das características.
As operações de saída dos resultados envolvem operações de:

Desenho gráfico é utilizado para a construção de desenhos ou figuras
utilizando símbolos e cores.

Visualização utilizada para representar os dados em lugares periféricos
no gráfico.

Reestruturação é o que permite que os dados sejam exportados para
outro sistema e possam ser suportados por ele.

Resumir é transformar a informação
apresentados em relatórios.
em índices para serem
E por final as operações em três dimensões:

Calculo de altitude utilizada para poder obter com precisão cálculo de
declives, interpolação, entre outros.

Manipulação de imagens utilizada quando se precisa de uma
visualização de outro ângulo de determinado lugar iluminado ou não.
O PostGIS nos da a capacidade de executar várias funções. São estas
funções que nos dão a possibilidade de obter e manipular os dados geográficos
37
inseridos no banco de dados. Exemplos de funções de relacionamento entre
geometrias podem ser usadas:
 Contains: Retorna um valor booleano verdadeiro se a geometria A
contem a geometria B, caso contrário retorna falso.
Exemplo SQL:
SELECT ST_contains(m.coordenadas,p.ponto)
tabela_coordenadas m
FROM
tabela_ponto
p,
Exemplo Gráfico:
Figura 14 - Exemplo gráfico da função Contains.
Fonte: Autoria Própria (2014).
 Touches: Retorna um valor booleano verdadeiro se a geometria toca na
outra geometria, caso
contrário retorna falso.
Exemplo SQL:
SELECT ST_touches(geometriaA,geometriaB) FROM tabela_geometrias
Exemplo Gráfico:
Figura 15 - Exemplo gráfico da função Touches.
Fonte: Autoria Própria (2014).
 Intersects: Retorna um valor booleano verdadeiro se a geometria cruza
a outra geometria, caso contrário retorna falso.
Exemplo SQL:
SELECT ST_intersects(geometriaA,geometriaB) FROM tabela_geometrias
38
Exemplo Gráfico:
Figura 16 - Exemplo gráfico da função Intersects.
Fonte: Autoria Própria (2014).
 Disjoint: Retorna um valor booleano verdadeiro se as bordas e
interiores das geometrias não se interceptam, caso contrario retorna
falso.
Exemplo SQL:
SELECT ST_disjoint(geometriaA,geometriaB) FROM tabela_geometrias
Exemplo Gráfico:
Figura 17 - Exemplo gráfico da função Disjoint.
Fonte: Autoria Própria (2014).
 Equals: Retorna um valor booleano verdadeira quando as duas
geometrias tiverem a mesma e mesmo interior, caso contrário retorna
falso.
Exemplo SQL:
SELECT ST_equals (geometriaA,geometriaB) FROM tabela_geometrias
39
Exemplo Gráfico:
Figura 18 - Exemplo gráfico da função Equals.
Fonte: Autoria Própria (2014).
 Distance: Retorna a distância cartesiana de duas geometrias.
Exemplo SQL:
SELECT ST_distance(geometriaA,geometriaB) FROM tabela_geometrias
Exemplo Gráfico:
Figura 19 - Exemplo gráfico da função Distance.
Fonte: Autoria Própria (2014).
 Crosses: Retorna um valor booleano verdadeiro quando duas
geometrias se cruzam, caso contrário retorna falso.
Exemplo SQL:
SELECT ST_crosses (geometriaA,geometriaB) FROM tabela_geometrias
Exemplo Gráfico:
Figura 20 - Exemplo gráfico da função Crosses.
Fonte: Autoria Própria (2014).
 Within: É a função contrária do contains.
40
Exemplo SQL:
SELECT ST_contains(geometriaA,geometriaB) FROM tabela_geometrias
Exemplo Gráfico:
Figura 21 - Exemplo gráfico da função Within.
Fonte: Autoria Própria (2014).
 Overlaps: Retorna um valor booleano verdadeiro se a geometria
sobrepor a outra, caso contrario retorna falso.
Exemplo SQL:
SELECT ST_overlaps(geometriaA,geometriaB) FROM tabela_geometrias
Exemplo Gráfico:
Figura 22 - Exemplo gráfico da função Overlaps.
Fonte: Autoria Própria (2014).
Relate: Retorna um valor booleano verdadeiro se esta geometria é
espacialmente relatada para outra geometria,testando intersecção entre o
interior, o limite e o exterior de duas geometrias como especificado pelos
valores em uma intersectionPatternMatrix.
41
Exemplo de funções de processamento da geometria:
Quadro 2 - Funções de processamento da geometria.
Função
Centroid
Area
Descrição
Retorna o ponto central de uma geometria.
Retorna a área total da geometria.
Length
Retorna o comprimento de uma curva em sua
referencia espacial.
PointOnSurface
Retorna um ponto qualquer mas que esteja dentro
da superfície da geometria.
Boundary
Retorna o fechamento do limite da geometria, ou
seja, o ponto em que o inicio do desenho da
geometria se encontra com o fim do desenho.
Buffer
Retorna uma geometria que represente todos os
pontos que distanciam desta geometria.
ConvexHull
Retorna uma geometria que represente o exterior
convexa da mesma.
Intersection
Retorna uma geometria que
interseção entre duas geometrias.
representa
a
SymDifference
Retorna uma geometria que representa a diferença
simetria da geometria A para a B.
Difference
Retorna uma geometria que representa a diferença
simetria da geometria A para a B.
GeomUnion
Retorna uma geometria que represente a união
das geometrias associadas.
MemGeomUnion
Retorna o mesmo que a função anterior só que
com um menor uso de memória.
Fonte: Autoria Própria (2014).
42
4.2. CONSULTA MANIPULAÇÃO E
APRESENTAÇÃO
DE
DADOS
GEOGRAFICOS
Neste capitulo iremos abordar testes de consulta e manipulação de
dados espaciais utilizando a ferramenta Google Maps. Foi escolhido o Google
Maps pois ele se baseia em coordenadas reais que mais tarde podem ser
utilizadas no mundo real e também para que possamos ter uma visualização
melhor do das funções desempenhadas pelo banco de dados. A programação
foi feita em PHP integrado ao PostGIS(SEABRA, 2013).
Primeiramente era necessário que se marcassem pontos (coordenadas
x e y) no mapa que juntos representariam um polígono, que fisicamente
poderíamos comparar a uma área agrícola. O polígono poderia ter vários
pontos, quanto o usuário precisasse para demarcar a sua área.
Figura 23 - Mapa com os marcadores aonde posteriormente será demarcada a área da
propriedade.
Fonte: Autoria Própria (2014).
Após o usuário selecionar seus pontos ele gerava o mapa com sua área
demarcada, gravando em uma tabela chamada 'tabela_mapa' o nome do mapa
e as coordenadas. Foi utilizada a função ST_GeomFromText que serve para
converter uma geometria WKT com o SRID.
43
Figura 24 - Função que faz a inserção do mapa no banco de dados.
Fonte: Autoria Própria (2014).
Figura 25 - Polígono formado a partir dos pontos marcados no mapa.
Fonte: Autoria Própria (2014).
Finalizado o processo da criação da área era dado inicio aos testes
algumas funções importantes do PostGIS. Primeiro teste foi a inserção de um
ponto qualquer no mapa para testar se o mesmo estava dentro daquela
geometria ou não. A cada movimentação no mapa era chamada uma função
que fazia o update do ponto na tabela 'tabela_ponto' utilizando a mesma função
SQL do polígono e o mesmo SRID para que possa ser possível a comparação .
Figura 26 - Função que atualiza o ponto no banco de dados a cada movimentação.
Fonte: Autoria Própria (2014).
44
Depois de termos a área e o ponto, chamamos uma função que verifica
se uma geometria está dentro da outra.
Figura 27 - Função que verifica se o ponto está dentro do polígono.
Fonte: Autoria Própria (2014).
O retorno da função se o ponto estivesse fora do polígono era falso e se
estiver dentro verdadeiro. Exemplificando temos:
Figura 28 - Teste que retornou falso.
Fonte: Autoria Própria (2014).
Quando o marcador está dentro do poligono e é executada a função o
retorno é verdadeiro:
45
Figura 29 - Teste que retornou verdadeiro.
Fonte: Autoria Própria (2014).
Como podemos notar, o uso do Google Maps API é muito útil para
termos uma visão gráfica do que ocorre dentro do banco de dados geográfico.
Além de facilitar essa visualização, estamos tratando de coordenadas reais,
então podemos utilizar essa aplicação para solucionar questões do mundo real
(SEABRA, 2013).
4.3. IMPLEMENTAÇÃO DO BANCO DE DADOS DA ARQUITETURA
Neste capítulo iremos tratar da integração do banco de dados geográfico
com a arquitetura Agromobile, fazendo um estudo das tabelas e linhas
necessárias para o armazenamento das informações geográficas. Para tanto,
usaremos a aplicação do Google Maps para uma melhor visualização do que
ocorre quando se é executada as funções.
O banco de dados da aplicação Agromobile foi criado conforme o seguinte
diagrama:
46
Figura 30 - Diagrama de tabelas banco de dados da aplicação Agromobile.
Fonte: Bessegato (2014).
Analisando as tabelas, poderíamos ter colunas espaciais em algumas
delas. O que facilitaria nas análises, consultas e tornaria mais ágil o processo
de localização de propriedades. Como por exemplo, na tabela gleba,
poderíamos ter as coordenadas que formam o seu perímetro e ainda também
dividirmos ela por culturas.
Enquanto fizermos as análises de usabilidade, daremos exemplos
gráficos de como o procedimento poderia ser feito, para melhor entendimento
do problema. Como neste exemplo, o qual demarcamos duas áreas, mas
poderiam ser quantas fossem necessárias para a propriedade rural:
Figura 31 - Mapa com uma área já demarcada e outra com os marcadores para demarcar.
Fonte: Autoria Própria (2014).
47
Figura 32 - Mapa com duas áreas demarcadas.
Fonte: Autoria Própria (2014).
Com essa demarcações podemos determinar as áreas dentro de uma
propriedade rural, dividi-las até mesmo por cultura ou para algum outro fim.
Após as áreas salvas em um banco de dados, podemos começar a trabalhar
com as funções geográficas do banco de dados. Para isso separamos alguns
exemplos que poderiam ser úteis.
48
Usando como base os exemplos anteriores, executamos as seguintes
funções e tivemos estes retornos:
Quadro 3 - Retorno das funções, tendo como base o exemplo.
Função executada
ST_distance(área1,área2)
Retorno
16456.314437265 medida em metros;
Dividindo
por
mil,
temos
16.456314437265 km.
ST_Intersects(área1,área2)
Falso
ST_touches(área1,área2)
Falso
ST_overlaps(área1,área2)
Falso
ST_area(área1)
4463099.17989042 em metros;
Dividindo
por
mil,
temos
4463.09917989042 km
ST_area(área2)
6547039.78456407 em metros;
Dividindo
por
mil,
temos
6547.03978456407 km
Fonte: Autoria Própria (2014).
Como podemos notar a vários tipos de analises que podem ser feitas
dentro de um banco de dados geográfico. O fato de esses dados serem reais
os torna uma grande ferramenta para obtenção de informações.
Levando em consideração as tabelas já organizadas do banco de dados
do Agromobile, poderíamos acrescentar campos de formato geográfico para
futuramente realizar analises espaciais. Sendo assim, o processo de busca de
propriedades e demonstrações de áreas seria muito menos oneroso.
A criação de uma tabela com campos espaciais é parecido com o
processo de criação de uma tabela com campos simples, o que muda é o uso
49
da função AddGeometryColumn.Seguindo a analise do banco de dados,
podemos fazer as seguintes alterações:
 Tabela 'propriedade': Podemos acrescentar um campo geométrico do
tipo geometry e marcar com um polygono todo o território da
propriedade e da área que é arrendada, essas marcações iriam conter
todas as divisões internas de terra.
 Tabela 'gleba': Podemos alterar a tabela para que possa ter um campo
geométrico que seria inserido um polygono com os seus vértices e
arestas.
 Tabela 'pontoamostra': Podemos criar um campo geometrico para ser
inseridos informações do formato point, com coordenadas x e y que
representem a sua real localização.
 Ainda podemos criar campos de formato geométricos para os casos em
que as áreas de terras contenham mais de uma cultura.
Com essas demarcações poderemos montar mapas das propriedades
com suas divisões internas, tipos de cultura e aonde estão localizados os
pontos de amostra. Além do fato de que se tratando de dados reais e com a
ferramenta GIS, podemos gerenciar diversos tipos de informações, como por
exemplo:

Qual a distância de um ponto de amostra para o outro.
 Quantos pontos de amostra contem a área.
 A propriedade possui quantos km de área plantada com determinada
cultura.
 A distância de uma área para a outra?
 A área total da propriedade?
 Aonde está localizado o ponto de amostra na área.
 Criar visualizações das áreas e pontos.
50
Essa são algumas das operações que podemos fazer com um banco de
dados geográfico aplicado na arquitetura Agromobile. A partir disto podemos
perceber de maneira clara a importância de uma aplicação SIG para o uso em
uma aplicação com base em informações agrícolas nesse formato.
51
CONCLUSÃO
Diante dos fatos aqui mencionados somos levados a acreditar que o
banco de dados geográfico evoluiu muito com o passar dos anos e junto com
essa evolução, tornou-se muito útil para vários tipos de aplicações. Quando os
primeiros bancos de dados geográficos foram criados, a tecnologia existente
não o tornava uma ferramenta capaz de realizar tantas análises e funções, por
isso era muitas vezes substituído pelo método mais simples e antigo, através
de mapas e informações impressas.
Com sua capacidade de trabalhar com dados geográficos e dados
normais que poderiam ser gravados em um banco de dados normal, se tornam
uma alternativa para quem precisa de uma aplicação que necessite não
somente gravar esses dados geográficos, mas também que realize consultas e
análise espaciais. Para que fosse possível verificarmos estas informações,
teríamos que ter um gerenciador de banco de dados que se disponibiliza essa
capacidade de armazenamento, para isso escolhemos o Postgis.
Por se tratar de uma extensão grátis do PostgreeSQL não gera custos
para sua utilização e possui um vasto conjunto de funções e operações
espaciais. Sendo assim, foi escolhido para a tarefa de armazenar os dados
geográficos da aplicação Agromobile.
A evolução tecnológica na área da agricultura proporciona aos
proprietários de áreas rurais uma maior produtividade. Uma tecnologia em
grande expansão é a agricultura de precisão, que nada mais é do que o
manejo do solo integrado a informações tecnológicas. A aplicação Agromobile
utiliza esse conceito e tem por objetivo fornecer informações pertinentes a área
agrícola, como na aplicação de insumos, mapeamento da propriedade e todos
os outros processos envolvidos na produção.
Durante o desenvolvimento do trabalho, pode-se notar a complexidade
de se usar dados espaciais. Para se trabalhar com dados espaciais devemos
ter que estudar vários conceitos de como os dados são obtidos e como podem
ser gravados para que sejam realmente úteis e
que representem de uma
forma consistente o mundo real.
52
Após o termino do trabalho pode-se notar uma grande evolução de
conhecimentos, na área de informações geográficas, banco de dados e
agricultura de precisão. Também se pode levar em consideração a contribuição
deste trabalho para fins de estudo sobre a aplicação Agromobile.
Com base neste trabalho desenvolvido, futuramente com o estudo de
outras funções do Postgis que não foram abordadas, poderiam ser testadas
para o uso na aplicação. Sendo assim mais funcionalidades seriam
adicionadas agilizando a obtenção de informações oriundas do banco de dados
geográfico.
53
REFERÊNCIAS BIBLIOGRÁFICAS
ALVES, José António de Deus. Cartografia. 2006.
Disponível
em:
<
http://www.gd4caminhos.com/orientacao/cartografia/cartografia.html >. Acesso
em: 15 Out. 2014.
BESSEGATO, Junior. DISTRIBUIÇÃO DE SERVIÇOS DA ARQUITETURA
AGROMOBILE UTILIZANDO WEBSERVICES. Universidade Regional do
Noroeste do Estado do Rio Grande do Sul. 2014.
BORELLI, Augusto. Árvores Binárias. 2013.
Disponível
em:
<
http://augustoborelli.xpg.uol.com.br/arvore_binaria.html >. Acesso em: 5 Nov.
2014.
BURROUGH, P.A.; MCDONNELL, R.A. Principles of Geographical Information
Systems. Oxford University Press. 1998
CÂMARA, Gilberto. SISTEMAS DE INFORMAÇÃO GEOGRÁFICA PARA
APLICAÇÕES
AMBIENTAIS E CADASTRAIS: UMA VISÃO GERAL.
2005.Disponível em: < http://www.dpi.inpe.br/geopro/trabalhos/analise.pdf >.
Acesso em: 11 Out. 2014.
ELMARSI, Ramez; NAVATHE, Shamkant B. (2005) Sistemas de Bancos
de Dados. Addison-Wesley, 4a. edição em português.
FARIA, Caroline. Sistema de Informações Geográficas. 2012.
em:
<
Disponível
http://www.infoescola.com/cartografia/sistema-de-informacoes-
geograficas >. Acesso em: 15 Out. 2014.
FARNER,
Christian.
Interview
Questions:
Database
Indexes.
2008.
Disponível em: < http://20bits.com/article/interview-questions-databaseindexes >. Acesso em: 5 Nov. 2014.
FONTANEILLES, Gilvan. Linhas Imaginariase coordenadas geográficas. 2011.
Disponível
em:
<
http://geografalando.blogspot.com.br/2011/04/localizacao-linhasimaginarias.html >. Acesso em: 1 Nov. 2014.
FROZZA, Ângelo. BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING. 2013.
Disponível
em:
<
http://www.ifc-
camboriu.edu.br/~frozza/2013.2/TSI11/TSI11-BDGeo-Aula004a-PostGIS.pdf >.
Acesso em: 15 Out. 2014.
54
________, Ângelo. Coluna | Sensoriamento remoto para iniciantes. 2013.
Disponível em: < http://www.geoluislopes.com/2014/01/sensoriamento-remotopara-iniciantes.html >. Acesso em: 15 Out. 2014.
GUERRA, Márcio Azevedo de Menezes. SGBD com Extensão Espacial e
Sistemas de Geoinformação: Um Casamento Perfeito. 2011.
Disponível
em: < https://pt.scribd.com/doc/226108309/Artigo-Comparacao-SGBDs-GeoOracle-PostGIS-MySQL-1 >. Acesso em: 15 Out. 2014.
IBGE. SISTEMAS DE REFERÊNCIA. 2012.
Disponível
em:
<
ftp://geoftp.ibge.gov.br/documentos/geodesia/sisref_2.pdf >. Acesso em: 15
Out. 2014.
MAEDA, Vinicius. Sistemas de Informações Geográficas: aplicações e
utilidades - Parte 01. 2014.
Disponível
em:
<
http://www.devmedia.com.br/sistemas-de-informacoes-geograficas-aplicacoese-utilidades-parte-01/7782 >. Acesso em: 15 Out. 2014.
MANNINO,
Michael
V.
Projeto,
Desenvolvimento
de
Aplicações
e
Administração de Banco de Dados. 3.ed. Porto Alegre: McGraw-Hill, 2008.
MICROSOFT.
Projetando
e
implementando
(Mecanismo de Banco de Dados). 2014.
armazenamento
Disponível
espacial
em:
<
http://technet.microsoft.com/pt-br/library/bb964712(v=sql.105).aspx >. Acesso
em: 15 Out. 2014.
MEDEIROS, Anderson Maciel Lima de. Banco de Dados Geográficos. 2009.
Disponível em: < http://www.infoescola.com/geografia/dados-geograficos
>. Acesso em: 7 Nov. 2014.
_________, Anderson Maciel Lima de. Dados Geográficos. 2010.
Disponível
em: < https http://www.infoescola.com/geografia/dados-geograficos >. Acesso
em: 15 Out. 2014.
MOURA, Danieli Veleda. Uma análise da soberania na plataforma continental
brasileira. 2014.
Disponível
em:
<
http://www.geoluislopes.com/2014/01/sensoriamento-remoto-parainiciantes.html >. Acesso em: 30 Out. 2014.
NONATO, Luís Gustavo. Árvores B. 2005.
Disponível
em:
<
http://www.lcad.icmc.usp.br/~nonato/ED/B_arvore/btree.htm >. Acesso em: 15
Out. 2014.
55
NUNES, Christian. Coluna | Sensoriamento remoto para iniciantes. 2014.
Disponível em: < http://www.geoluislopes.com/2014/01/sensoriamentoremoto-para-iniciantes.html >. Acesso em: 30 Out. 2014.
OPENGEO Suite User Manual, Anderson Maciel Lima de. Geography data type.
2011. Disponível
em:
<
http://suite.opengeo.org/opengeo-
docs/dataadmin/pgBasics/geography.html >. Acesso em: 7 Nov. 2014.
SEABRA, Felipe. Por dentro do Google Maps. 2013. Disponível
em:
<
http://mundogeo.com/blog/2013/07/01/artigo-por-dentro-do-google-maps
>.
Acesso em: 15 Out. 2014.
SILVA, George R. C. O uso do PostgreSQL e PostGIS no cadastro
geocodificado de acidentes de trânsito. 2009.
Disponível
em:
<
http://pt.slideshare.net/georger.silva/o-uso-do-postgresql-e-postgis-no-cadastrogeocodificado-de-acidentes-de-trnsito >. Acesso em: 15 Out. 2014.
YAMASHIRO, Seiti. Sistema de Referenciamento Espacial. 2010. Disponível
em:
<
http://seiti.eti.br/blog/2010/sistema-de-referenciamento-espacial
>.
Acesso em: 25 Out. 2014.
56
Download