Você está na página 1de 68

UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL

Coordenao dos Cursos de Cincia da Computao e Sistemas de Informao

Modelagem de Malhas Virias Urbanas Aplicando Conceitos de Grafos

Jefersson Alex dos Santos


Curso de Cincia da Computao Monografia

Orientao Prof. Dr. Fabrcio Srgio de Paula

Dourados - MS 2006

ii

UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL


Coordenao dos Cursos de Cincia da Computao e Sistemas de Informao

Modelagem de Malhas Virias Urbanas Aplicando Conceitos de Grafos

Jefersson Alex dos Santos

Monografia apresentada ao Curso de Cincia da Computao da Universidade Estadual de Mato Grosso do Sul, como parte dos requisitos para obteno do ttulo de Bacharel em Cincia da Computao.

ORIENTAO: Prof. Dr. Fabrcio Srgio de Paula

Dourados - MS 2006

iii

"Cincia da computao tem tanto a ver com o computador como a Astronomia com o telescpio, a Biologia com o microscpio, ou a Qumica com os tubos de ensaio. A Cincia no estuda ferramentas, mas o que fazemos e o que descobrimos com elas. Edsger Dijkstra

iv

Dedico esse trabalho minha me, Maria Jos dos Santos pelo apoio e incentivo em todos os momentos da minha vida. Dedico tambm Helena e Miguel de Freitas, pessoas fundamentais na minha caminhada e que certamente estariam muito felizes se pudessem compartilhar mais esta conquista.

AGRADECIMENTOS
Ao professor Fabrcio Srgio de Paula, pela orientao e o conhecimento que compartilhou, itens que foram fundamentais para o sucesso desse trabalho. Ao professor Odival Faccenda, pelo apoio e o vasto conhecimento que me concedeu nos projetos de Iniciao Cientfica em que trabalhei sob sua orientao. A der Comunello, pesquisador da Embrapa Agropecuria Oeste, pelo imenso conhecimento em Geoprocessamento e Sensoriamento Remoto que me proporcionou e que viabilizaram a execuo desse projeto. Ao colega e amigo Paulo Roberto Gomes Cunha, pelo companheirismo. Aos colegas de curso e de trabalho, em especial o professor Rubens Barbosa Filho, pela ajuda, apoio e compreenso durante a execuo desse trabalho. Aos meus familiares que ajudaram e apoiaram a minha caminhada no s na execuo desse projeto, mas como em toda a minha graduao. A todos aqueles que contriburam para o sucesso dessa caminhada e que de forma injusta no tiveram seus nomes includos aqui.

vi

RESUMO
Este trabalho tem como objetivo estudar a representao de malhas virias urbanas utilizando grafos com informaes georreferenciadas e assim aplicar tcnicas para obteno de caminhos mnimos. A modelagem baseada em grafos possibilita aplicar a teoria computacional conhecida para essas estruturas. Entretanto, a captura da informao geogrfica uma tarefa difcil e a sua associatividade com o mundo real no exceo. Portanto, necessrio estudar mtodos e ferramentas de modelagem, manipulao, visualizao e armazenamento de dados geogrficos. O mtodo utilizado para a gerao de caminhos mnimos, ou seja, o algoritmo utilizado resoluo desse problema tambm um dos pontos analisados. O estudo de caso escolhido foi a malha viria da cidade de Dourados e os resultados obtidos proporcionaram a criao de um aplicativo computacional que utiliza informaes georeferenciadas da cidade de Dourados para gerao de caminhos mnimos no quais os caminhos gerados so observados com o auxlio da interface do Google Earth. O estudo permitiu comparar a eficcia dos algoritmos de gerao de caminho mnimo e verificar o comportamento das estruturas de dados e mtodos de manipulao de dados geogrficos aplicados e a importncia do georreferenciamento para integrao de diferentes fontes de informao geogrfica. Palavras chave: caminhos mnimos em grafos, geoprocessamento, rede viria urbana de Dourados

vii

SUMRIO
I. INTRODUO ...........................................................................................................10
1.1. Objetivos........................................................................................................................11 1.2. Justificativas e Motivao .............................................................................................11 II. SISTEMAS DE INFORMAO GEOGRFICA (SIG).............................13 2.1. Natureza e representao de dados espaciais ................................................................14 2.2. Mtodos para captura de informao geogrfica...........................................................16 2.3. Armazenamento de dados geogrficos ..........................................................................17 2.4. Ferramentas Para Visualizao de Dados......................................................................19 III. MODELAGEM DE DADOS GEOGRFICOS .............................................21 3.1. Tcnicas e Ferramentas de Modelagem de Dados Geogrficos ....................................23 3.2. Modelagem de Vias Urbanas.........................................................................................25 IV. GRAFOS: A BUSCA DO MELHOR CAMINHO .........................................27 4.1. A Busca do Melhor Caminho ........................................................................................28 4.2. Algoritmos de Busca de Caminho Mnimo ...................................................................29 4.2.1 Algoritmo de Dijkstra..............................................................................................30 4.2.2 Algoritmo de Bellman-Ford ....................................................................................32 4.3.3 Algoritmo IDA* (Iterative Deepening A*) .............................................................33 V. IMPLEMENTAO E RESULTADOS ..........................................................40 5.1. Entrada de Dados e Digitalizao dos Eixos das Ruas..................................................40 5.2. Modelagem das Classes de Representao das Vias Urbanas.......................................44 5.3. O Software Desenvolvido..............................................................................................45 5.4 Entrada/Sada de dados...................................................................................................48 5.4.1 Formato de dados ASCII/Spring e os arquivos MVU.............................................48 5.4.2 Entrada/Sada de arquivos KML .............................................................................50 5.4.3 Base de Dados Completa e para Demonstrao ......................................................51 5.5 Outros Detalhes de Implementao................................................................................51 5.5.1 Gerao de Impedncias aleatrias..........................................................................51 5.5.2 Clculo de Endereos e Aproximao por coordenadas geogrficas ......................52 5.6. Testes .............................................................................................................................53 5.6.1 Testes de tempo de execuo dos algoritmos Dijkstra, Bellman-Ford e IDA*.......54 5.6.2 Teste do mtodo de Aproximao de Coordenadas para Vrtices ..........................57 5.6.3 Teste do mtodo de Estimativa de Endereos .........................................................60 5.6.3 Teste com simulao de impedncias......................................................................60 VI. CONSIDERAES FINAIS ...............................................................................63 6.1. Trabalhos Futuros ..........................................................................................................64 VII. REFERNCIAS .......................................................................................................66

viii

LISTA DE ILUSTRAES

Figura 1 - Esquema simplificado ilustrando geide e elipside...............................................14 Figura 2 - Arquitetura dual (FERREIRA, 2005) ......................................................................18 Figura 3 - Arquitetura integrada (FERREIRA, 2005) ..............................................................19 Figura 4 - Modelo do "Paradigma dos Quatro Universos".......................................................22 Figura 5 - Notao grfica para as classes do modelo Geo-OMT (DAVIS; BORGES, 2004, p. 20).............................................................................................................................................23 Figura 6 - Geo-campos pelo Geo-OMT (DAVIS; BORGES, 2004, p. 21)..............................23 Figura 7 - Geo-objetos pelo Geo-OMT (DAVIS; BORGES, 2004, p. 23). .............................24 Figura 8 - Esteretipos do modelo UML-GeoFrame (LISBOA; PEREIRA, 2002, p. 148).....24 Figura 9 - Diagrama de classes do padro "Malha Viria Urbana" (LISBOA; IOCHPE; BORGES, 2001, p. 110) ...........................................................................................................26 Figura 10 - Exemplos de grafos................................................................................................27 Figura 11 - Representao de vias com a Topologia Arco-N.................................................28 Figura 12 - Algoritmo de Dijkstra ............................................................................................30 Figura 13 - Algoritmo de inicializao dos atributos de estimativa de caminho mais curto....31 Figura 14 - Algoritmo de relaxamento de atributos de estimativas de caminho mais curto ....31 Figura 15 - Algoritmo de Bellman-Ford...................................................................................32 Figura 16 - O algoritmo IDA*..................................................................................................34 Figura 17 - Algoritmo que controla os limites de contorno de IDA*.......................................35 Figura 18 - Grafo das rodovias que ligam algumas cidades do estado do Paran....................36 Figura 19 - Tabela de distncias do grafo da Figura 18 ...........................................................36 Figura 20 - Execuo passo a passo do algoritmo IDA*..........................................................38 Figura 21 - Resultado encontrado pelo algoritmo IDA* para o exemplo das vias do Estado do Paran .......................................................................................................................................39 Figura 22 - Centro de Dourados (recorte do mapa de loteamentos da prefeitura) ...................41 Figura 23 - Mapa de lotes como plano de fundo no Spring .....................................................42 Figura 24 - Desenho das vias no Spring ...................................................................................42 Figura 25 - Malha viria de Dourados vista no Spring ............................................................43 Figura 26 - Corte na malha viria de Dourados (centro)..........................................................43 Figura 27 - Diagrama de classes da malha viria .....................................................................45 Figura 28 - Interface do YBY (alterando atributos de impedncia) .........................................46 Figura 29 - Interface do YBY (entrada de dados e seleo de algoritmos)..............................47 Figura 30 - Modelo arquitetural do aplicativo..........................................................................47 Figura 31 - Representao de uma aresta no formato de arquivo ASCII do Spring ................48 Figura 32 -Aproximao de uma coordenada para um vrtice do grafo ..................................53

ix

Figura 33 - Exemplo do clculo de estimativa de endereo .....................................................53 Figura 34 - Caminho entre a rua Indai n 45 e a rua Coronel Ponciano n 2500 ....................54 Figura 35 - Testes "curtos" realizados em um Pentium III 1.0 GHz com 192 MB .................56 Figura 36 - Grfico do tempo de execuo dos algoritmos para entradas pequenas................57 Figura 37 - Caminho gerado entre o Parque dos Ips e o Estdio Dourado ...........................58 Figura 38 - Coordenada do ponto central do Campo de Futebol do Dourado e o vrtice ajustado.....................................................................................................................................59 Figura 39 - Ponto central da quadra de esportes do Parque dos Ips .......................................59 Figura 40 - Vrtices dos grafos estimados para os endereos: Rua Tiet, n 429 e Monte Castelo, n 1513 ........................................................................................................................60 Figura 41 - Malha viria de Dourados com impedncias simuladas aleatriamente ...............61 Figura 42 - Caminho gerado entre a Av. Weimar Torres, n 2200 e Rua Joaquim Teixeira Alves n 1500 com impedncias no simuladas .......................................................................62 Figura 43 - Caminho gerado entre a Av. Weimar Torres, n 2200 e Rua Joaquim Teixeira Alves n 1500 com impedncias simuladas..............................................................................62

10

I.

INTRODUO

Um problema que vem desafiando administradores e planejadores municipais consiste em como melhorar a qualidade de vida da populao nas cidades. De acordo com Moura, Ribeiro, Tibiri e Soares (2002) um dos desafios dentro do permetro urbano atender s exigncias quanto s suas necessidades de circulao do cidado. Nesse contexto, onde se envolvem fatores como velocidade mxima permitida, condies de uso e de trfego, de suma importncia para algumas empresas, a melhor utilizao das vias urbanas disponveis. Com uma anlise prvia do melhor caminho a ser seguido entre duas localidades pode-se diminuir custos com combustvel e acelerar a entrega de mercadorias. Quando tratamos de dados espaciais surge um conceito novo. Diferentemente dos dados que tratamos comumente na computao, para tratar de ruas necessrio o georreferenciamento. Georreferenciar representar uma entidade geogrfica de forma que suas informaes espaciais, ou parte delas, sejam mantidas. Dados como a localizao, dimenso ou formato de uma entidade servem para preservar a associao do modelo virtual com o mundo externo. Isso possibilita a utilizao desse modelo no estudo de casos onde a informao espacial essencial. reas como a agricultura e servios de planejamento urbano beneficiam-se diretamente da implementao de tcnicas de georreferenciamento. O estudo de informaes geogrficas bastante amplo e a interdisciplinaridade algo inevitvel em alguns casos. Dentro da Cincia da Computao podem-se abordar tais informaes em desenvolvimento de software, modelagem, banco de dados, computao

11

grfica, estudo de programao paralela e distribuda e at mesmo na aplicao de teorias computacionais. Ao conjunto de aplicativos que permitem o armazenamento, a manipulao e a visualizao de informaes geogrficas denomina-se Sistema de Informao Geogrfica (SIG).

1.1. Objetivos
Estudar estruturas de dados para representao de uma malha viria urbana. Devero ser levantadas formas de representao de ruas com enfoque especial em grafos; Modelar uma poro do mapa da cidade de Dourados utilizando a estrutura definida; Implementar algoritmos para encontrar menor caminho entre duas localidades. Os algoritmos de menor caminho devero levar em conta alguns fatores a serem definidos, como velocidade mxima permitida na via, sentido e condies de trfego.

1.2. Justificativas e Motivao


Algumas pessoas referem-se regio chamada Grande Dourados como o celeiro do estado de Mato Grosso do Sul. A agricultura realmente o ponto forte da Regio, sendo assim, a atividade econmica predominante. Ao encontro disso, vem o crescimento das cidades. Dourados uma das cidades brasileiras que mais cresceram nos ltimos 25 anos. O que h em comum entre as reas urbanas e rurais da regio no se resume somente ao crescimento econmico incentivado pela agricultura. H entre as duas a possibilidade e a necessidade em se controlar o espao geogrfico. O geoprocessamento, ou seja, o processamento de informaes geogrficas possibilita agricultura um suporte tomada de decises. Ele pode incentivar a vocao agrcola de Dourados. Por outro lado, a rea urbana, em constante crescimento, necessita de solues administrativas efetivas no sentido de melhorar as condies de vida da populao. Alm disso, em uma cidade de porte mdio (trata-se da segunda maior do estado de Mato Grosso do Sul) a localizao dentro do espao

12

torna-se bastante complexa e interessante por parte das empresas contar com um embasamento tcnico mais apurado no sentido de cortar gastos referentes ao transporte. Alm desse mrito social, poltico ou econmico do geoprocessamento, ele nos possibilita a aplicao de teorias e conceitos computacionais em diversas escalas. Sendo assim, um interessante campo de pesquisa.

13

II. SISTEMAS DE INFORMAO GEOGRFICA (SIG)


Um SIG (Sistema de Informao Geogrfica) um conjunto de aplicativos computacionais que permitem o armazenamento, a visualizao e a manipulao de dados geogrficos. Sua principal caracterstica oferecer tratamento computacional no apenas para informaes com base em suas caractersticas alfanumricas, mas tambm atravs de sua localizao espacial (ASSAD e SANO, 1998). Armazenar e manipular dados so funcionalidades encontradas na maioria dos sistemas computacionais. Porm, representar exatamente as entidades do mundo real uma tarefa bastante complexa. necessrio modelar, criar uma abstrao das entidades requeridas pelo sistema que se deseja criar. Cmara e Monteiro (2004, p. 2), afirmam que: utilizar um SIG implica em escolher as representaes computacionais mais adequadas para capturar a semntica de seu domnio do ponto de vista da aplicao. Quando se trabalha com informao espacial, deve-se considerar uma nova variante: o georreferenciamento. Segundo Assad e Sano (1998, p. 52): georreferenciar representar uma entidade de forma que suas informaes geogrficas, ou parte delas sejam mantidas. Um mapa digital pode conter, alm de atributos padres, informaes referentes localizao e formas. Basicamente o que importa a localizao. As formas so secundrias. Nesse contexto, a utilizao de mtodos matemticos e computacionais para o tratamento de dados geogrficos deu origem ao conceito de geoprocessamento (CMARA e

14

MONTEIRO, 2004).

2.1. Natureza e representao de dados espaciais


Segundo INPE (2004): a definio de posies sobre a superfcie terrestre requer que a Terra possa ser tratada matematicamente. Esse o conceito de geodsia. Nessa concepo, a Terra tratada como um geide, ou seja, uma superfcie equipotencial do campo da gravidade terrestre que mais se aproxima ao nvel mdio dos mares (INPE, 2004). O geide ento, um modelo fsico da forma da Terra. Na cartografia, como o equacionamento matemtico desse modelo complexo, assume-se a aproximao do geide para um elipside1 de revoluo.

Figura 1 - Esquema simplificado ilustrando geide e elipside

Cada regio possui um elipside de referncia que escolhido a partir de critrios geodsicos de adequao ou conformidade regio da superfcie terrestre a ser mapeada (Figura 1). Define-se ento um dos conceitos bsicos para o sistema geodsico de um pas: o datum planimtrico. O datum uma superfcie de referncia elipsoidal posicionada com respeito a certa regio. Definido um ponto de referncia, toda a geografia de uma regio ou
1

Elipside: um slido que resulta da rotao de uma elipse em torno de um dos seus eixos.

15

pas realizada com relao a ele. Segundo INPE (2004), devido s incertezas na determinao do centro da Terra real, trabalha-se com translaes relativas entre diferentes datuns planimtricos. Outro conceito importante o datum vertical, que utilizado para definir as altitudes de pontos na superfcie terrestre. No Brasil, um problema tpico tem sido a existncia de dois sistemas de referncia: Crrego Alegre e SAD-69. O primeiro, mais antigo, utilizado por algumas cartas at os dias atuais. O problema em se usar um sistema de projeo e datuns diferentes que os sistemas de coordenadas utilizadas so calculados de acordo com esses parmetros, o que pode tornar alguns dados incompatveis (INPE, 2004). INPE (2004, p. 10) assegura que: Todos os mapas so representaes aproximadas da superfcie terrestre. Isso ocorre porque no se pode passar de uma superfcie curva para uma plana sem que haja deformaes. Nesse caso, necessrio um mtodo para estabelecer uma relao entre um ponto da superfcie terrestre e a sua representao num plano. Esse o conceito de sistema de projeo cartogrfica. Os sistemas de projeo diferem com relao superfcie de projeo adotada e o grau de deformao. No Brasil, o mapeamento sistemtico feito na projeo UTM. Na UTM (Projeo Universal Transversal de Mercator), usa-se uma superfcie tangente ou secante superfcie da Terra como superfcie de projeo. As zonas UTM so numeradas seqencialmente a partir do antimeridiano de Greenwitch (180 para E), tendo um meridiano central que se projeta no mapa em UTM como uma linha reta N-S enquanto que os meridianos extremos da zona (mltiplos de 6) mostram a curvatura. Esses meridianos acabam se encontrando nos plos N e S geogrficos (INPE, 2004). Distores so diminudas pelo fato de que o cilindro terico de projeo, ao invs de ser tangente ao meridiano central, secante, distribuindo os erros da projeo que so maiores

16

nas reas de limites de zona. Os mapas com projeo UTM so de muito uso local e apresentam um sistema de coordenadas (INPE, 2004) que mtrico e cartesiano prprio para cada zona UTM. A cidade de Dourados se encontra na zona 21 da UTM.

2.2. Mtodos para captura de informao geogrfica


Estabelecer uma associao com informaes do mundo real a principal caracterstica de um sistema geogrfico. Esse fator , tambm, o maior desafio enfrentado quando se deseja cri-lo. Por esse motivo, a entrada de dados bastante trabalhosa. Existem diversos mtodos para obter dados georreferenciados. Mapear a rea que se deseja atravs de um sistema de posicionamento, apenas um deles. De acordo com Comunello (2006), um sistema de posicionamento permite a qualquer pessoa saber sua posio geogrfica, encontrar o caminho para determinado local e conhecer a velocidade e direo de seu deslocamento. O mais conhecido o GPS (Global Positioning System) (DANA, 1994). Os GPS de uso comercial possuem um erro de at 10 metros. Esse erro afeta a qualidade e a confiabilidade dos dados obtidos. Felizmente, existem tcnicas para solucionar esse problema. Algumas empresas oferecem aparelhos para correo desses valores, alm de poderem ser corrigidos nos computadores por softwares especficos aps a coleta (COMUNELLO, 2006). Mesmo com o auxlio de tecnologias como o GPS, mapear inteiramente uma cidade como Dourados, uma tarefa dispendiosa. Uma alternativa melhor aproveitar informaes de cartas geogrficas j existentes. Isso pode ser feito atravs da vetorializao. A vetorializao o processo de transformao de imagens do formato matricial para o vetorial. Algumas ferramentas comerciais possibilitam a realizao desse processo de maneira automtica. Outras ferramentas, como o Spring (DPI/INPE, 2004), permitem apenas a vetorializao manual. Normalmente esse processo consiste em desenhar o modelo vetorial tendo como base um mapa em segundo plano. Isso pode ser feito tambm com o auxlio de uma mesa digitalizadora. Nesse caso, a carta estendida sobre uma plataforma (mesa) e os

17

pontos do mapa so indicados com o uso de um mouse especfico a um software que os processa e cria os polgonos referentes. Para manter o georeferenciamento dos dados, necessrio fornecer as coordenadas geogrficas de alguns pontos. Informadas algumas referncias, o modelo de projeo utilizado e o datum pela carta, possvel calcular corretamente a localizao geogrfica dos demais objetos. As coordenadas reais referentes aos pontos do mapa podem ser facilmente obtidas atravs de uma regra de trs simples. Basta utilizar os pontos de referncia inseridos como base.

2.3. Armazenamento de dados geogrficos


Devido a suas especificidades, trabalhar com informao geogrfica exige um trato computacional diferenciado. Porm, as peculiaridades dos dados georreferenciados no se restringem modelagem ou a dificuldades com entrada de dados. Com relao ao armazenamento e a manipulao de informaes, tambm necessria uma abordagem especial. medida que os softwares geogrficos foram sendo desenvolvidos, muitos padres de arquivos foram criados para armazenar dados utilizados por esses sistemas. Em alguns casos, a informao carece de representao vetorial. Entre os padres de arquivos abertos, o mais utilizado o Scalable Vectorial Graphic (SVG). O SVG uma linguagem XML (Extensible Markup Language) para descrever de forma vetorial desenhos e grficos bidimensionais de forma esttica, dinmica ou animada (W3C, 2006). Para o armazenamento vetorial de dados geogrficos o Consrcio OpenGis formalizou um padro de arquivo: o Geography Markup Language (GML). O GML, assim como o SVG, tambm utiliza o padro XML. Porm, o seu principal objetivo proporcionar um mtodo para troca de informaes geogrficas (OPENGIS, 2006). Normalmente, tratar computacionalmente algum fenmeno geogrfico demanda uma

18

grande quantidade de informao. necessrio organizar os dados em estruturas mais organizadas, a fim de facilitar a insero, remoo e principalmente a consulta. Nessas ocasies, interessante recorrer a um SGBD (Sistema Gerenciador de Banco de Dados). A integrao entre SIG e SGBD pode ser feita de duas formas: arquitetura dual (Figura 2) e arquitetura integrada(Figura 3). O que as difere a maneira como so trabalhados os dados espaciais e os no espaciais (FERREIRA, 2005).

Figura 2 - Arquitetura dual (FERREIRA, 2005)

Na arquitetura dual, a informao geogrfica armazenada separadamente dos atributos convencionais. Alguns SIGs, por exemplo, utilizam o formato de arquivo dbf para os registros enquanto a informao grfica georreferenciada fica em arquivos vetoriais, como o shape ou o map. Em geral, o que predomina em sistemas com arquitetura dual o uso de SGBD j popularmente consagrados, que empregam o modelo relacional e que so associados a arquivos de representao grfica. Segundo Ferreira (2005), essa arquitetura apresenta dificuldade no controle e manipulao dos elementos e na manutenibilidade entre os componentes espaciais e os componentes alfanumricos. A separao das informaes obriga o aplicativo a manter a associao entre as partes, funo que deveria ser executada apenas pelo SGBD.

19

Figura 3 - Arquitetura integrada (FERREIRA, 2005)

A orientao a objeto uma metodologia que permite uma modelagem mais precisa das entidades do mundo real. Nesse contexto, a criao de SGBD que implementam solues orientadas a objetos facilitam o armazenamento de dados espaciais e alfanumricos em uma s base. Esse o conceito de arquitetura integrada. A principal vantagem deixar para o SGBD as responsabilidades referentes integridade, manutenibilidade e concorrncia (DATE, 2005). O Oracle Spatial (ORACLE) e o Postgis (REFRACTIONS RESEARCH) so exemplos de SGBDs geogrficos.

2.4. Ferramentas Para Visualizao de Dados


Existem diversas ferramentas para a visualizao de dados geogrficos. Com o advento da Internet, alguns aplicativos e frameworks foram desenvolvidos para o compartilhamento de bases de dados geogrficos. Um Framework uma estrutura em que um outro projeto de software pode ser organizado e desenvolvido. Dentre as ferramentas gratuitas, pode-se destacar: Mapserver, Springweb, Jump, Alov, Terralib e Google Earth. O Mapserver uma aplicao CGI desenvolvida em C++ para visualizao de mapas na Internet. Apesar de gratuito, essa ferramenta no possui cdigo aberto (UNIVERSITY OF MINNESOTA).

20

O Spring um GIS bastante utilizado no meio acadmico. Foi desenvolvido pelo INPE (Instituto Nacional de Pesquisa Espacial). Possui uma verso apenas para visualizao, o Spring Web, um Applet Java (HORSTMANN, 2001) para disponibilizao de mapas na internet. Assim como Mapserver, o Spring no uma ferramenta de cdigo aberto (SPRING). O Jump um framework Java para geoprocessamento. Possui pacotes para visualizao de mapas e leitura e gravao em arquivos GML. O projeto foi desenvolvido pela empresa canadense Vivid Solutions e open source. Foi descontinuado em 2004 (VIVID SOLUTIONS). O Alov uma aplicao semelhante ao Spring Web. Tambm possui cdigo fechado e por ser bastante simples utilizado para apresentao de mapas pequenos (ALOV). O Terralib a resposta livre do INPE para a comunidade de geotecnologias. Aps o sucesso do Spring, foi desenvolvida essa API (Application Programming Interface, Interface de Programao de Aplicativo) em ANSI2 C++. Por esse motivo, o Terralib considerado multiplataforma, ou seja, sua execuo no se limita a um sistema operacional apenas. H vrios projetos no Brasil e em outros pases que o utilizam. Os projetos Terracrime e Terraview so exemplos (DPI/INPE, 2006). O Google Earth, apesar de no ser um framework ou biblioteca para visualizao de informaes geogrficas, possui uma interessante base de dados com fotos de boa parte da superfcie terrrestre. Alm disso possui um padro aberto de arquivos que permite que sua interface seja utilizada para usos diversos (GOOGLE).

American National Standards Institute: uma organizao estado-unidense que tem por objetivo facilitar a padronizao de trabalhos. semelhante Associao Brasileira de Normas Tcnicas (ABNT).

21

III.

MODELAGEM DE DADOS GEOGRFICOS

Um modelo de dados uma representao do mundo real dentro do domnio que um sistema computacional deseja processar informaes. Esse conceito est diretamente ligado idia de abstrao.
A abstrao de conceitos e entidades existentes no mundo real uma parte importante da criao de sistemas de informao. To importante que o sucesso da implementao de um sistema informatizado diretamente dependente da qualidade do trabalho de modelagem. Se os conceitos forem excessivamente simplificados, corre-se o risco de deixar de lado algum aspecto importante da realidade, com conseqncias sobre as aplicaes. Se, por outro lado, as representaes se tornarem complexas demais, corre-se o risco de gerar sistemas lentos, sobrecarregados, difceis e caros de manter. (DAVIS; BORGES, 2004, p. 1)

Baseando-se no chamado paradigma dos quatro universos, o processo de representao do mundo real para o ambiente computacional pode ser classificado em quatro universos conceituais (GOMES e VELHO, 1995). De acordo com esse paradigma: o universo do mundo real representa as entidades da realidade a serem modeladas; o universo matemtico compreende as definies formais das entidades; o universo de representao mapeia as entidades conceituais para representaes geomtricas e alfanumricas no computador; por fim, o universo de implementao engloba as aes referentes definio de estruturas de dados, algoritmos e demais mtodos computacionais (Figura 4). Os fenmenos do mundo real podem ser representados por diversos tipos de dados: temticos, cadastrais, redes, numricas e imagens. Os dados temticos descrevem a distribuio espacial de uma grandeza expressa em forma qualitativa, como por exemplo, um mapa de vegetao. Dados cadastrais permitem a associao de atributos com elementos

22

grficos em formato vetorial. Os dados de redes denotam informaes referentes a servios de utilidade pblica (gua, luz, telefone, etc), redes de drenagem, malhas virias (rodovias, ruas). Os tipos de dados numricos aplicam-se representao quantitativa de grandezas que variam continuamente no espao. So utilizados comumente para altimetria. Os dados armazenados em imagens so normalmente informaes obtidas via aerofotogrametria ou satlites e so armazenadas em formato matricial (ASSAD & SANO, 1998).

Figura 4 - Modelo do "Paradigma dos Quatro Universos"

No geoprocessamento, o espao geogrfico dividido em dois modelos: campos e objetos. Desse modo, a informao geogrfica pode ser classificada em geo-campo, geoobjeto e dado no espacial. O modelo de campos define o espao como uma superfcie contnua em que variam os fenmenos. Um geo-campo , portanto, uma varivel que possui valores em todos os pontos pertencentes a uma regio geogrfica num dado perodo de tempo. O modelo de objetos trata de objetos de variao discreta. Um geo-objeto , ento, um

23

elemento nico e identificvel e que possui atributos no espaciais. Para um geo-objeto, a localizao um atributo fundamental (RIBEIRO, 2001).

3.1. Tcnicas e Ferramentas de Modelagem de Dados Geogrficos


Quando os primeiros sistemas geogrficos foram criados, as tcnicas de modelagem aplicadas eram as mesmas de sistemas convencionais. Porm, logo foi percebida a necessidade de metodologias apropriadas para modelagem de dados geogrficos. As mais bem sucedidas tcnicas aplicam a metodologia orientada a objetos. O modelo Geo-OMT, por exemplo, uma extenso da Object Modeling Technique (OMT) (BORGES, 1997).

Figura 5 - Notao grfica para as classes do modelo Geo-OMT (DAVIS; BORGES, 2004, p. 20).

Figura 6 - Geo-campos pelo Geo-OMT (DAVIS; BORGES, 2004, p. 21).

O Geo-OMT divide as entidades modeladas em duas classes: georreferenciadas e convencionais (Figura 5). Atravs dessas duas classes possvel representar, de maneira integrada, os grupos de fenmenos que ocorrem no geoprocessamento: geo-campos (Figura

24

6), geo-objetos (Figura 7) e dados no espaciais (BORGES, 1997).

Figura 7 - Geo-objetos pelo Geo-OMT (DAVIS; BORGES, 2004, p. 23).

O GeoFrame um framework conceitual que fornece um diagrama de classes bsicas para modelagem de dados para SIG.
O uso conjunto do diagrama de classes da UML e o GeoFrame permite a soluo da maioria dos requisitos de modelagem de aplicaes de SIG. Um esquema conceitual de dados geogrficos construdo com base no modelo UML-GeoFrame inclui, por exemplo, a modelagem dos aspectos espaciais da informao geogrfica e a diferenciao entre objetos convencionais e objetos/campos geogrficos. (LISBOA e PEREIRA, 2002, p. 148)

O modelo UML-GeoFrame especifica um conjunto de esteretipos para a especificao de elementos de modelagem, como pode ser visto na Figura 8.

Figura 8 - Esteretipos do modelo UML-GeoFrame (LISBOA; PEREIRA, 2002, p. 148)

25

3.2. Modelagem de Vias Urbanas


A representao de uma malha viria urbana realizada atravs do conceito de rede. Modelos de redes so construdos atravs da topologia arco-n. Essa representao nada mais que um grafo, onde so armazenadas informaes sobre recursos de cada trecho ou n da rede. Algumas caractersticas so peculiares de aplicaes de redes. Assad e Sano (1998, p. 37) afirmam que: um aspecto necessrio a capacidade de definir diferentes cortes lgicos de uma rede sem ter de duplicar (ou repetir) a estrutura topolgica da rede. Ao asfaltar uma rua, ou criar uma barragem em um rio, por exemplo, no ser necessrio alterar todas as coordenadas de localizao das entidades, mas apenas atualizar tais informaes. Lisboa e Iochpe (1999), em seu trabalho sobre reutilizao de banco de dados em aplicaes urbanas, modelaram um padro de anlise para representao de malha viria urbana. Segundo os autores: um padro de anlise qualquer parte de uma especificao de requisitos que pode ser aplicada a diversos projetos diferentes. Ele difere de um padro de projeto por ser dependente da aplicao, pois escreve aspectos especficos de algum domnio. Seu trabalho consiste em modelar elementos pertencentes malha viria de uma cidade. Foi utilizado o modelo UML-GeoFrame.
No Brasil, praticamente todas as cidades apresentam um mesmo padro de organizao, no qual so estruturadas com base em suas vias de locomoo (ex.: ruas, avenidas, travessas). O conjunto de trechos de vias e seus cruzamentos formam uma rede viria urbana. (LISBOA, IOCHPE e BORGES, 2001, p. 110)

Na abordagem empregada por Lisboa, Iochpe e Borges (2001), cada via de locomoo deve possuir um cdigo de identificao e um nome, alm de estar, normalmente, dividida em diversos trechos (Figura 9). Um trecho de logradouro corresponde ao segmento de via compreendido entre duas conexes, sem seqncia, deste com outros logradouros que o cruzam ou interceptam. O conjunto entre trechos de logradouros e conexes constitui a malha

26

viria urbana. Os autores definem ainda um padro para rede de circulao viria urbana. A abordagem utilizada por Lisboa, Iochpe e Borges (2001) separa a estrutura viria urbana de itinerrios e rotas de circulao.

Figura 9 - Diagrama de classes do padro "Malha Viria Urbana" (LISBOA; IOCHPE; BORGES, 2001, p. 110)

27

IV.

GRAFOS: A BUSCA DO MELHOR CAMINHO

Um grafo G=(V, E) um conjunto de objetos chamados de ns (ou vrtices) V={v1, v2,...} e um conjunto de arestas E={e1, e2,...}, tal que cada aresta ei pertencente a E est associado a dois ns vp e vq pertencentes a V. Desse modo, uma aresta ei=(vp, vq) identificado pelo par de ns a eles associados. De maneira simplificada, um grafo um conjunto de pontos (vrtices) conectados por linhas (arestas). Dependendo da aplicao, as arestas de um grafo podem ter direo, sendo chamadas de arcos. Pode ser tambm que os vrtices ou as arestas possuam um peso associado. Um grafo com arestas orientadas chamado de grafo orientado ou dgrafo. Quando h pesos associados o grafo diz-se ponderado. A Figura 10 mostra alguns exemplos de grafos.

Figura 10 - Exemplos de grafos

Existem diversos problemas computacionais relacionados a grafos. Entidades que podem ser representadas por um grafo esto em toda parte. Muitos problemas prticos podem ser modelados em grafos. O problema do caminho mnimo um dos seus clssicos problemas

28

(CORMEN, 2001). Alm disso, outros problemas de roteamento (alm do caminho mnimo), problemas com fluxo de redes e o caixeiro viajante, por exemplo, fazem parte da vasta gama de problemas relacionados teoria de grafos.

4.1. A Busca do Melhor Caminho


Como visto anteriormente (Seo 3.1), as vias urbanas se incluem no modelo conceitual de rede e dessa forma podem ser representadas atravs da topologia arco-n, ou seja, um grafo. Isso nos possibilita aplicar toda a teoria conhecida sobre grafos nos problemas com mapas de redes (Figura 11).

Figura 11 - Representao de vias com a Topologia Arco-N

O problema do clculo do caminho mnimo consiste na busca do caminho de menor custo entre dois vrtices de um grafo. O custo, nesse caso, a soma dos valores de impedncia existentes no caminho entre os dois vrtices. De maneira genrica, impedncia o custo do percurso entre dois ns de um grafo. Algumas aplicaes utilizam um peso equivalente para todos os vrtices do grafo. Outras utilizam apenas valores de distncia, por exemplo. Em redes virias, como afirma Freitas (2004): as impedncias podem ser representadas pelas mais variadas grandezas, seja pela distncia linear dos arcos, ou at mesmo por valores especficos relacionados aos atributos de

29

cada trecho em particular. Pode-se associar ao termo atributos, um fator de condio de uso da via (presena de buracos, por exemplo), quantidade de faixas, variao do fluxo, etc.
fcil compreender as inmeras aplicaes possveis utilizando a cincia dos grafos na soluo de problemas complexos envolvendo modelos de redes. No entanto, para usarmos esta metodologia, faz-se necessrio um aprimoramento metodolgico, trazendo o modelo para o mais prximo possvel da realidade espacial. Por mais que se estudem as relaes matemticas presentes e possveis nos ambientes de rede, o fenmeno, quando constatado na prtica, sofre influncia de vrios outros fatores presentes, e que respondem de maneira irregular s interaes entre estes elementos. (FREITAS, 2004, p. 18).

Freitas (2004) alerta para a complexidade inevitvel que se enfrenta na tentativa de modelar a realidade. A sada, para esses casos, definir o mais precisamente possvel o domnio que o problema requer para ser solucionado. Em seu trabalho, Freitas (2004) apresenta um mtodo para clculos de impedncias baseado em fatores ambientais e logsticos. Utiliza como estudo de caso o centro urbano da cidade de Ouro Preto. Nesse contexto, dificilmente as variveis analisadas em seu estudo seriam totalmente aplicveis para a cidade de Dourados. A estrutura diferenciada das vias e o relevo predominante na regio em que se situa cada cidade, entre outros fatores, obrigam a aplicao de uma outra abordagem na definio das variveis de impedncia. Isso fica mais evidente se considerarmos que a estrutura viria de centros antigos no condiz com as atividades praticadas atualmente. Cidades mais novas tm suas malhas planejadas para as condies de trfego contemporneas.

4.2. Algoritmos de Busca de Caminho Mnimo


difcil referir-se ao problema de caminho timo sem citar a busca em largura. Esse algoritmo um dos mais simples para pesquisa em grafo sendo um modelo para muitos problemas de grafos importantes. Dado um grafo G = (V, E) e um vrtice origem s, o objetivo da busca em largura explorar as arestas de G at encontrar cada vrtice acessvel de s. O algoritmo calcula o menor nmero de arestas de s at todos os vrtices acessveis desse tipo. O seu funcionamento produz uma rvore primeiro na extenso em que o nvel o qual pertence um vrtice exatamente a sua distncia (nmero de arestas) at s (CORMEN, 2002).

30

Foram implementados trs algoritmos de grafos que resolvem o problema da busca pelo caminho mais curto. Dois de busca desinformada (Dijkstra e Bellman-Ford) e um de busca informada (IDA*). Algoritmos de busca desinformada so os que no levam em considerao nenhuma informao pr-adquirida, ou seja, no h a aplicao de heursticas3. Outros algoritmos, utilizados na rea de Inteligncia Artificial, utilizam heursticas para economizar processamento ou memria. Com a busca informada, esses mtodos conseguem aperfeioar as solues no sentido de ignorar os caminhos que no interessam para a soluo final. 4.2.1 Algoritmo de Dijkstra Baseado no algoritmo da busca em largura, o algoritmo de Dijkstra uma soluo para o problema de caminhos mais curtos de nica origem. Selecionado um vrtice como raiz da busca, o algoritmo calcula o custo mnimo deste vrtice aos demais vrtices do grafo. O algoritmo de Dijkstra bastante simples e possui um bom tempo de execuo. Ele no garante, entretanto, a exatido da soluo caso haja a presena de arcos com valores negativos. Seu funcionamento parte de uma estimativa inicial para o custo mnimo e vai sucessivamente ajustando esta estimativa. O algoritmo de Dijkstra pode ser visto na Figura 12.

Figura 12 - Algoritmo de Dijkstra

Heurstica uma aproximao de uma soluo, ou seja, uma informao estimada. Uma heurstica auxilia na busca de um objetivo. Porm, o problema de caminho mnimo informado sempre permite encontrar uma soluo tima.

31

Para cada vrtice v pertencente a V, mantm-se um atributo d[v] , que um limite superior sobre o peso de um caminho mais curto desde a origem s at v. Esses atributos so chamados por Cormen (2002) de estimativas de caminho mais curto e so inicializados com o algoritmo da Figura 13.

Figura 13 - Algoritmo de inicializao dos atributos de estimativa de caminho mais curto O algoritmo de Dijkstra mantm um conjunto S de vrtices cujos pesos finais de caminhos mais curtos desde a origem s j foram determinados. O algoritmo seleciona repetidamente o vrtice u V - S com a estimativa mnima de caminhos mais curtos, adiciona u a s e relaxa todas as arestas que saem de u. Na implementao a seguir, manteremos uma fila de prioridade mnima Q de vrtices, tendo como chaves seus valores de d. (CORMEN, 2002, p. 471)

Esse algoritmo utiliza a tcnica de relaxamento (Figura 14). Segundo Cormen (2002, p. 463): O processo de relaxamento de uma aresta (u, v) consiste em testar se podemos melhorar o caminho mais curto para v encontrado at agora pela passagem de u.

Figura 14 - Algoritmo de relaxamento de atributos de estimativas de caminho mais curto

Cormen (2002) explica o funcionamento do algoritmo da seguinte forma: A linha 1 executa a inicializao habitual dos valores de d e , e a linha 2 inicializa o conjunto S como o conjunto vazio. O algoritmo mantm o invariante de que Q = V- S no incio de cada iterao da estrutura de repetio das linhas 4 a 8. A linha 3 inicializa a fila de prioridade mnima Q para conter todos os vrtices em V; tendo em vista que s = nesse momento, o invariante verdadeiro aps a linha 3. Em cada passagem pelo lao while das linhas 4 a 8, um vrtice u extrado de Q = V - S e inserido no conjunto s, mantendo assim o invariante. (Na primeira passagem por esse loop, u = s.) Ento, o vrtice u tem a menor estimativa de caminhos mais curtos em comparao cora qualquer vrtice em V-S. Em seguida, as linhas 7 c 8 relaxam cada

32

aresta (u, v) que saem de u, atualizando assim a estimativa d[v] e o predecessor [v] se o caminho mais curto at v pode ser melhorado mediante a passagem por u. Observe que os vrtices nunca so inseridos em Q aps a linha 3, e que cada vrtice extrado de Q e inserido em S exatamente uma vez, de modo que o lao while das linhas 4 a 8 interage exatamente | V | vezes. 4.2.2 Algoritmo de Bellman-Ford Apesar de ser um algoritmo mais lento que o de Dijkstra, Bellman-Ford resolve o problema de caminhos mais curtos para arestas com pesos negativos, ou seja, no caso mais geral. Seja um grafo orientado ponderado G = (V, E) com origem s e funo peso w : E R,

o algoritmo de Bellman-Ford (Figura 15) retorna um valor booleano indicando se existe ou no um ciclo de peso negativo acessvel a partir da origem. Se existe tal ciclo, o algoritmo indica que no existe nenhuma soluo.

Figura 15 - Algoritmo de Bellman-Ford

O algoritmo produz os caminhos mais curtos e seus pesos se no existir ciclos de peso negativo. Assim como o Dijkstra, este algoritmo tambm usa o relaxamento. A corretude do algoritmo de Bellman-Ford pode ser verificada em Cormen (2001). A complexidade do algoritmo de O(V E). A inicializao na linha 1 demora o tempo (V), cada uma das |V| - 1 passagens sobre as arestas nas linhas 2 a 4 demora o tempo (E), e o loop for das linhas 5 a 7 demora o tempo (E).

33

4.3.3 Algoritmo IDA* (Iterative Deepening A*) O algoritmo IDA* um algoritmo de busca informada utilizado pela rea de Inteligncia Artificial para resolver o problema de caminhos mais curtos. Antes de entrar em detalhes sobre o seu funcionamento, interessante comentar a existncia de outros algoritmos de busca informada com o mesmo propsito. O algoritmo IDA* uma variao do A*. Russel e Norvig (2004) referem-se busca A* como a mais amplamente conhecida para a busca pela melhor escolha. Ela avalia os ns combinando o custo para alcanar cada n com o custo para ido do n at o objetivo. Desse modo tem-se: f(n) = g(n) + h(n) Assim, f(n) o custo estimado entre o destino e a origem em cada iterao. Ele obtido pela soma do custo real gasto entre a origem e o estado atual (g(n)) com a heurstica (normalmente a distncia em linha reta) do estado atual at o destino. A idia do A* para encontrar a soluo de custo mais baixo experimentar primeiro o n com o menor valor de g(n) + h(n). Segundo Russel e Norvig (2004), a soluo proposta por essa estratgia mais que apenas razovel, ao mesmo tempo completa e tima, desde que a funo heurstica h(n) satisfaa a certas condies: h(n) = 0, n o n objetivo; h(n) > 0, a soluo est em outro n; h(n) tem valor infinito se impossvel atingir o estado final;

Existem diversas variaes do A*. O IDA* uma delas e, portanto funciona de modo semelhante, mas ao contrrio de aplicar um limite na profundidade, impe limites sucessivos (contornos) no custo das solues que se pode calcular. De maneira simplificada, o que difere ambos que o IDA* limita a memria utilizada na busca da soluo alocando o mnimo de

34

ns possvel. Ao invs de alocar todos os ns da fronteira de verificao ele armazenar apenas o que est sendo trabalhado no momento e realiza uma recurso na rvore de deciso quando precisa recuperar uma posio percorrida anteriormente. Na prtica, o IDA* torna-se um algoritmo lento por prezar a economia de memria. Sua complexidade exponencial (O(bd)), onde b a largura da rvore de expanso e d a altura. A soluo equivalente ele para a economia de processamento o SMA* (RUSSEL e NORVIG, 2004). No IDA*, o limite comea atribuindo o valor de f para o n inicial. Nas iteraes posteriores, o limite ter sempre o menor valor de f dos ns que ficaram por expandir na iterao anterior. O trmino da busca ocorre quando encontrada uma soluo cujo custo menor ou igual ao limite da iterao atual. A Figura 16 ilustra o funcionamento do algoritmo IDA*, foi extrada de Pfahringer (2006).

Figura 16 - O algoritmo IDA*

Como pode ser observado no pseudo-algoritmo da Figura 16, a maior parte do trabalho de execuo fica por parte da funo DFS-CONTOUR, que responsvel pelo clculo do contorno representada pela varivel f-limit. Esse contorno um valor inteiro que limita a verificao dos ns queles que estiverem com heursticas menor ou igual ao valor do contorno. O algoritmo DFS-CONTOUR executado at que uma soluo seja encontrada. Seu

35

funcionamento acontece da seguinte maneira: a varivel f-COST denota o custo do percurso at o n representado pelo parmetro node. As variveis next-f e new-f so auxiliares e representam o prximo limite calculado e o valor calculado pelos sucessores de node. Dessa forma, cada chamada a DFS-CONTOUR corresponde verificao de uma subrvore de deciso.

Figura 17 - Algoritmo que controla os limites de contorno de IDA*

O exemplo a seguir ilustra o funcionamento do algoritmo IDA*. Considera-se o grafo da Figura 18 e a respectiva tabela de heursticas baseadas em distncias (Figura 19). Deseja-se encontrar o caminho mnimo entre as cidades de Curitiba e Cascavel. A tabela de heursticas registra ento, as distncias de todas as cidades at Cascavel.

36

Figura 18 - Grafo das rodovias que ligam algumas cidades do estado do Paran

Figura 19 - Tabela de distncias do grafo da Figura 18

O limite sempre o menor valor de f(n) vrtices que esto nas folhas da rvore de deciso. Diferentemente de outros algoritmos com o mesmo propsito, o IDA*, como foi dito, no armazena as folhas e para saber qual o novo vrtice a ser expandido deve percorrer toda a rvore. Na Figura 20 (a), temos o estado correspondente a Curitiba. Expandimos Curitiba por ser a nica folha (limite = 424). O algoritmo DFS-COUNTOUR percorre toda a rvore identificando qual n possui um

37

f(n) menor que o atual limite. Como no encontrou nenhuma e o destino tambm no foi encontrado, o limite atualizado para o menor valor encontrado (limite = 442) e expandimos Ponta Grossa. Na Figura 9 (d), DFS-COUNTOUR, expande So Matheus do Sul (limite = 482). Em (e), finalmente o algoritmo encontra Cascavel, porm o caminho encontrado no declarado como soluo at que as outras folhas da rvore sejam visitadas afinal, s percorrendo todas, o algoritmo garante que no existe nenhum outro caminho melhor do que o encontrado. A Figura 21 mostra o resultado final.

38

Figura 20 - Execuo passo a passo do algoritmo IDA*

39

Figura 21 - Resultado encontrado pelo algoritmo IDA* para o exemplo das vias do Estado do Paran

40

V. IMPLEMENTAO E RESULTADOS

5.1. Entrada de Dados e Digitalizao dos Eixos das Ruas


Normalmente, as informaes capturadas com relao s ruas de uma cidade so obtidas de acordo com as quadras, ou seja, o mapa digital forma polgonos referentes quadras e no s vias. Esse fato gera a necessidade de se converter a estrutura do mapa de quadras para a de uma rede viria. Aps o estudo de alguns mtodos para a obteno de dados georreferenciados (Seo 2.2), decidiu-se utilizar os dados do mapa de evoluo de loteamentos fornecidos pela Prefeitura Municipal de Dourados e disponveis em seu site (PMD). Essas informaes poderiam ser conseguidas atravs da utilizao de aparelhos de posicionamento global. Porm, os custos, o tempo disponvel para coleta e a qualidade dos resultados obtidos foram fatores que descartaram essa possibilidade. Mesmo com essas informaes em mos, os problemas referentes entrada de dados no estavam sanados. Era necessrio tornar essas informaes condizentes com a topologia arco-n para que se pudessem aplicar os algoritmos de grafos necessrios para resolver o problema do caminho mnimo. Sendo assim, foi preciso digitalizar manualmente os eixos das ruas. Para converter o mapa de quadras da cidade (dados temticos) em um mapa de vias

41

(dados de redes) utilizou-se o software Spring. O processo de digitalizao dos eixos no Spring consiste em trabalhar com o mapa de lotes da prefeitura (imagem) em segundo plano e criar sobre ele as linhas correspondentes s vias (Figura 23). Ao importar o mapa para o software, deve-se fornecer alguns pontos conhecidamente georreferenciados e o modelo de projeo aplicado (Captulo II). Esses parmetros so necessrios para manter o georreferenciamento e evitar distores provocadas por erros de projeo. O prximo passo , ento, desenhar a malha viria, como pode ser visto na Figura 24. Aps a criao da malha viria, o Spring permite a exportao dos dados para diversos formatos de arquivos possibilitando assim, a utilizao deles em outras aplicaes. A Figura 25 mostra a malha viria de Dourados completa. A Figura 26 permite uma comparao com os dados originais da Figura 22.

Figura 22 - Centro de Dourados (recorte do mapa de loteamentos da prefeitura)

42

Figura 23 - Mapa de lotes como plano de fundo no Spring

Figura 24 - Desenho das vias no Spring

43

Figura 25 - Malha viria de Dourados vista no Spring

Figura 26 - Corte na malha viria de Dourados (centro)

44

5.2. Modelagem das Classes de Representao das Vias Urbanas


A ferramenta utilizada para a modelagem da malha urbana foi a ArgoCaseGeo (UFV), uma adaptao da Argo-UML (ferramenta case de cdigo aberto) para a metodologia UMLGeoframe. A metodologia UML-Geoframe foi escolhida por oferecer uma representao mais simples de dados geogrficos do que a do Geo-OMT, alm de possuir uma ferramenta de modelagem gratuita e de cdigo aberto. Os diagramas de classes da malha viria podem ser vistos na Figura 27. Como pode ser observado, existe um conjunto de interfaces (Grafo, Aresta e Vrtice) o qual todas as pertencentes ao modelo descendem de alguma forma. Essas interfaces incluem funcionalidades comuns a todo grafo. Isso importante para manter a generalidade dos algoritmos de grafos que sero aplicados no trabalho. Ou seja, mantendo os padres dos mtodos entre quaisquer representaes entre grafos garante-se que outras classes, independente de suas implementaes internas, possam utilizar os algoritmos criados para esse modelo. Para que isso seja trivial, basta que os algoritmos que manipulem grafos contenham referncias interface Grafo e no a uma subclasse especfica. Outra vantagem do uso de interfaces (LARMAN, 2002, p.128) a possibilidade de alterar a modelagem das malhas virias urbanas sem precisar modificar os algoritmos de melhor caminho e os outros que porventura sejam criados. A classe no-espacial Logradouro apenas armazena informaes gerais referentes via inteira como o CEP e o nome. Uma malha viria urbana composta por logradouros. A interceptao desses logradouros d origem aos cruzamentos ao mesmo tempo em que segmenta um logradouro em vrios trechos. Desse modo, a malha viria urbana composta por um conjunto de trechos de logradouro e de cruzamentos. O relacionamento entre essas classes garante que um

45

logradouro possua referncia para dois cruzamentos, e que um cruzamento referencie a n logradouros.

Figura 27 - Diagrama de classes da malha viria

Apesar de uma malha viria ser visivelmente reconhecida como um grafo, onde os seus vrtices so os cruzamentos e as arestas so os trechos de logradouro, outras estruturas possuem a mesma concepo. Por esse motivo, foi conveniente criar uma nova classe que generalizasse essas caractersticas: a CompostoVirio. Desse modo, a malha viria um composto, ou seja, um grafo com atributos geogrficos referentes aos logradouros e seus cruzamentos. Os caminhos (ou itinerrios) e os bairros tambm so considerados compostos.

5.3. O Software Desenvolvido


Aps a pesquisa de tcnicas e ferramentas, modelagem e desenvolvimento, foi criado um software batizado como YBY4. Sua principal funo , de acordo com os objetivos desse trabalho, gerar caminhos mnimos entre dois pontos pertencentes Malha Viria Urbana da cidade de Dourados. Ele permite a utilizao de trs diferentes algoritmos (Dijkstra, IDA* e
Da lngua Tupi-Guaran. Yby significa a terra, o cho. Fonte: http://www.redebrasileira.com/tupi/ vocabulario/y.asp
4

46

Bellman-Ford). possvel ainda simular atributos de impedncia. Sua integrao com o Google Earth permite uma maior associao com as entidades do espao geogrfico. A Figura 28 e a Figura 29 exibem a interface grfica do aplicativo e como o mesmo deve ser utilizado.

Figura 28 - Interface do YBY (alterando atributos de impedncia)

A Figura 28 demonstra onde esto e como alterar os atributos de simulao de impedncia do aplicativo. A Figura 29 indica onde so definidos os pontos de origem e destino do caminho, onde selecionar o algoritmo desejado e como ger-lo. H tambm um boto que possibilita a visualizao da rede viria completa. A barra de ttulos indica ainda qual base de dados est sendo utilizada: a completa ou a limitada pelas vias principais. A execuo do sistema consiste em ler os dados da base, obter os parmetros fornecidos pelo usurio via interface grfica, processar o caminho mnimo e carregar o Google Earth para visualizar a soluo encontrada. Na Figura 30 possvel verificar como o funcionamento do programa e a sua arquitetura.

47

Figura 29 - Interface do YBY (entrada de dados e seleo de algoritmos)

Figura 30 - Modelo arquitetural do aplicativo

48

A interface grfica do YBY corresponde aos componentes de controle do sistema. O modelo corresponde s estruturas de dados de grafos e a toda lgica de negcios (nesse caso os algoritmos de caminhos mnimos). A viso realizada com uma chamada externa ao Google Earth. Desse modo, os eventos gerados so tratados e o modelo da aplicao alterado de acordo com os dados definidos pelo usurio. Os dados do modelo so obtidos dos arquivos SPR e MVU (sero explicados posteriormente) Quando o modelo alterado, a viso atualizada com o envio do arquivo KML correspondente para o Google Earth.

5.4 Entrada/Sada de dados


5.4.1 Formato de dados ASCII/Spring e os arquivos MVU Como foi dito anteriormente, os dados da malha viria urbana de Dourados foram obtidas com a utilizao do aplicativo Spring. Aps a criao dos eixos de ruas que viriam a formar o grafo das vias da cidade era necessrio tornar as informaes acessveis para o aplicativo que se pretendia desenvolver. Dentre os formatos de arquivo exportveis pelo SIG, o escolhido foi um padro ASCII do prprio Spring, cuja extenso spr . Esse formato, bastante simples, composto por: Um cabealho em que so contidas informaes sobre a projeo geogrfica

utilizada, datum, etc; Uma seqncia de coordenadas geogrficas que definem as linhas (arestas) da

malha viria. A Figura 31 ilustra o padro aplicado;

Figura 31 - Representao de uma aresta no formato de arquivo ASCII do Spring

Seqncia de coordenadas de pontos geogrficos e nomes de ruas que referenciam

uma linha do grafo. atravs dessa referncia que sabe-se qual logradouro uma determinada linha pertence. Por exemplo, como saber se a linha demonstrada na Figura 31 pertence ou no

49

Avenida Marcelino Pires? Para saber isso, deve-se verificar se h alguma coordenada de referncia que indique um ponto pertencente a essa linha e que esteja relacionado ao nome Marcelino Pires; O arquivo permite a insero de outras informaes que para o caso aqui tratado especificamente no so interessantes. Porm, o que mais chama a ateno no formato do arquivo descrito acima que ao mesmo tempo em que sua simplicidade ajuda a entender como esto dispostas as informaes ela cria outro problema. Um grafo deve conter uma srie de relacionamentos que referenciam os seus componentes. Deve ser possvel, por exemplo, que atravs de uma aresta se identifique os vrtices que a compe. Sendo assim, o algoritmo criado para fazer a montagem da estrutura do grafo partir de um arquivo desse formato tem de fazer uma quantidade muito grande de comparaes, o que o torna bastante lento. O algoritmo funciona da seguinte maneira: a cada leitura de uma aresta de um arquivo (longitude1, latitude1, longitude2 e latitude2) ele monta um objeto TrechoLogradouro e o insere no grafo. Antes de inserir, no entanto, verifica-se se os seus vrtices j existem no grafo. Se existirem, devem ser devidamente referenciados. Aps a montagem do grafo que representa a malha viria ainda deve-se referenciar todos os trechos (arestas) com os seus respectivos nomes de ruas. Para se ter uma noo do quanto esse processo lento, interessante observar a sua complexidade. Seja E o nmero de arestas e V o nmero de vrtices, considerando que em mdia um vrtice novo adicionado por aresta (no caso de Dourados) e o custo para referenciar os trechos com os logradouros, o algoritmo possui o tempo igual a O(V E) + O(E), ou seja, O(V E). A malha viria de Dourados possui mais de 9000 arestas ou trechos de logradouro. Podem ser considerados, portanto em torno de 81 milhes de comparaes. Nos testes realizados, a montagem do grafo no demorou menos que 20 minutos para ser realizada.

50

Para evitar que o software demore esse tempo para ser utilizado sempre que requisitado, optou-se por converter toda a base de dados para um formato prprio (.mvu) que armazenasse as referncias entre os componentes do grafo e fosse executado no melhor tempo possvel (O(n)). Com essa modificao, at mesmo os dados da malha viria completa da cidade de Dourados so carregados em menos de 1 minuto nos testes realizados. A princpio, a melhor alternativa parecia ser o armazenamento do grafo como objeto atravs do processo de serializao do Java, por sua facilidade e praticidade. A serializao consiste na converso de um objeto em um vetor de bytes. Porm, devido a grande quantidade de informaes a serem armazenadas, ocorreram problemas de estouro de pilha, ou seja, o sistema no conseguia carregar o stream de memria inteiro do objeto serializado. importante lembrar que a serializao grava no s os atributos de um objeto mas inclusive o seu cdigo e uma cpia de todos os objetos que o mesmo referencia. A soluo poderia ser, tambm, gravar os dados em arquivos baseados em XML. Porm, no h interesse em que os arquivos de dados sejam editveis manualmente, alm dos arquivos XML tenderem a possuir tamanhos maiores que dados em formato ASCII simples e terem que ser parseados de maneira especfica. A soluo assumida foi um formato ASCII prprio que grava as arestas, as referncias e os nomes dos logradouros em trs arquivos diferentes. Cada entidade possui um valor identificador que utilizado para o referenciamento. 5.4.2 Entrada/Sada de arquivos KML Para que o software pudesse ser integrado e utilizar os recursos grficos do Google Earth, foi preciso conhecer o padro de arquivos aceito por ele como entrada, o KML (Google, 2006). Sendo assim, foram criadas classes para leitura e gravao de arquivos nesse formato. Foi usada a API DOM, que especfica para o tratamento de arquivos XML.

51

5.4.3 Base de Dados Completa e para Demonstrao Como a quantidade de informao contida na base de dados bastante grande, para demonstrao, o software permite que sejam carregadas apenas as vias principais cadastradas (para ser mais especfico, as que possuem nome referenciado).

5.5 Outros Detalhes de Implementao


5.5.1 Gerao de Impedncias aleatrias A base de dados no ideal, ou seja, no contm todos os dados necessrios para se fazer uma anlise prtica de impedncia, utilizando as condies das vias (presena de buracos, lombadas), classificao (coletoras, expressas) entre outras informaes. O software permite que sejam gerados alguns nmeros aleatrios para simular o efeito de diferentes impedncias nos clculos de caminhos mais curtos. O mtodo utilizado para realizar a simulao foi a distoro das distncias. definido um valor para o erro mximo de distoro. Para cada trecho de logradouro calculado um valor aleatrio que somado distncia e a classificao da via define a sua impedncia. De qualquer maneira, em um caso real, seria algo prximo disto que ocorreria. Algum fator numrico seria gerado (baseado nos atributos do logradouro) e somado sua distncia, afinal a distncia um atributo de impedncia natural. Por padro s levada em conta a distncia no clculo. Quando definido uma taxa de erro para simulao, algoritmos de busca informada que utilizam apenas distncias como heursticas no podem ser utilizados. Por esse motivo, o software no permite que o IDA* seja aplicado s simulaes de impedncia. Para tornar possvel os testes com esse algoritmo seria necessrio estimar valores baseados nos mesmos fatores utilizados para calcular as impedncias, buscando assim, estimar as distores de distncias criadas pela aleatoriedade. Os valores de impedncia simulados so calculados randomicamente. A semente da funo randmica utilizada pelo programa deve ser fornecida pelo usurio. Optou-se por essa abordagem por que se a semente de gerao fosse automtica, a cada inicializao do

52

aplicativo seria gerada uma seqncia de valores diferentes e a distribuio de impedncia na malha seria sempre diferente, dificultando a simulao de uma mesma malha em momentos distintos. 5.5.2 Clculo de Endereos e Aproximao por coordenadas geogrficas Para que um algoritmo de busca de melhor caminho seja executado pelo aplicativo necessrio o fornecimento do ponto de origem e do ponto destino. Isso pode ser feito de duas formas: coordenadas geogrficas em graus decimais (-54.80696075 e 22.22695483, por exemplo) ou endereos (nome do logradouro e nmero). Os pontos de origem e destino devem pertencer ao grafo para que os devidos algoritmos sejam executados. Porm, no necessrio que o usurio saiba quais pontos fazem parte do grafo. Quando uma coordenada fornecida, feita uma busca e o vrtice do grafo mais prximo selecionado (Figura 32). O mtodo utilizado para encontrar os vrtices origem e destino o da metragem. Na cidade de Dourados, as casas so numeradas partir da sua distncia (em metros) at o incio de um logradouro. Os clculos no fornecem solues exatas, afinal o correto seria um levantamento completo e armazenamento de endereos na base de dados. Entretanto, esse mtodo fornece uma estimativa satisfatria para diversas aplicaes. Como a base no possui informaes referentes ao incio exato das vias, padronizou-se que todas tenha o sentido do norte para o sul e do leste para o oeste. Como os trechos de logradouro no so inseridos na seqncia correta na base de dados (do incio para o fim do logradouro) eles devem ser ordenados para que depois se percorra a lista comparando o nmero com a metragem somada do percurso do incio do logradouro at o nmero que se procura. A Figura 33 exemplifica como feito o clculo de estimativa de endereo. Outro problema que pode ocorrer no caso em que o logradouro no formado por uma linha reta (caso comum em cidades litorneas ou vias marginais). Isso atrapalharia a

53

ordenao dos trechos que leva em considerao a posio geogrfica dos vrtices da extremidade.

Figura 32 -Aproximao de uma coordenada para um vrtice do grafo

Figura 33 - Exemplo do clculo de estimativa de endereo

5.6. Testes
Foram realizados testes visando comparar os algoritmos para busca de melhor caminho e verificar a eficcia dos mtodos de definio dos pontos origem e destino (aproximao de coordenadas e estimativa de endereos). Alm disso, foram realizadas simulaes impedncias aleatrias. Sendo assim, os quatro primeiros testes apresentados a seguir foram selecionados para comparar os algoritmos de caminho mnimo utilizando apenas a distncia como impedncia. Os testes foram realizados em uma mquina com processador Pentium 4 com 3.2 GHz, 512 MB de memria RAM e Disco Rgido de 40 GB.

54

5.6.1 Testes de tempo de execuo dos algoritmos Dijkstra, Bellman-Ford e IDA* Teste 1 - Caminho entre a Rua Indai n 45 e a Rua Coronel Ponciano n 2500 O tamanho do caminho criado de 8991,44 metros (Figura 34). O tempo de execuo para cada algoritmo foi: Dijkstra: 42,313 segundos Bellman-Ford: 792,625 segundos IDA*: mais de 1 hora.

Figura 34 - Caminho entre a rua Indai n 45 e a rua Coronel Ponciano n 2500

Teste 2 - Caminho entre a rua Joaquim Teixeira Alves n 1700 e a Avenida Weimar Gonalves Torres n 2000

55

O tamanho do caminho criado de 524,285 metros. O nmero de ns gerados da soluo foi 6. O tempo de execuo para cada algoritmo foi: Dijkstra: 0,484 segundos Bellman-Ford: 2.422 segundos IDA*: 0,625 segundos Teste 3 - Caminho entre a rua Joaquim Teixeira Alves n 1600 e a Avenida Weimar Gonalves Torres n 2100 O tamanho do caminho criado de 780.76 metros. O nmero de ns gerados da soluo foi 8. O tempo de execuo para cada algoritmo foi: Dijkstra: 0,516 segundos Bellman-Ford: 2.906 segundos IDA*: 2.422 segundos

Teste 4 - Caminho entre a Rua Joaquim Teixeira Alves n 1500 e a Avenida Weimar Gonalves Torres n 2200 O tamanho do caminho criado de 1040.19 metros. O nmero de ns gerados da soluo foi 10. O tempo de execuo para cada algoritmo foi: Dijkstra: 0.596 segundos Bellman-Ford: 3.203 segundos IDA*: 155,008 segundos

Percebeu-se nitidamente atravs dos testes realizados que o desempenho do algoritmo de Dijkstra realmente superior ao dos demais implementados nesse trabalho. medida que a entrada do problema aumenta, (ou seja, a distncia e o nmero de vrtices a serem analisados), o tempo de processamento para encontrar o caminho aumenta muito mais rapidamente no algoritmo de Bellman-Ford do que no Dijkstra. interessante ressaltar que o algoritmo de Bellman-Ford sacrifica desempenho para poder analisar impedncias negativas.

56

Dos trs, o que apresentou o pior tempo de processamento foi o IDA*. Isso pode ser facilmente entendido considerando-se que o foco desse algoritmo de busca informada a economia de memria e no ganho de processamento. Ainda assim, para encontrar solues entre vrtices prximos, o IDA* mostrou-se melhor que o Bellman-Ford. Com relao aos caminhos encontrados, todos os algoritmos trazem sempre a mesma soluo. Outros testes, realizados em uma mquina com desempenho inferior (Pentium III, 1.0 GHz, 192 MB de memria RAM), foram coletados os dados da Figura 35. Esses testes possibilitaram comparar com mais facilidade os tempos de processamento dos algoritmos.

Figura 35 - Testes "curtos" realizados em um Pentium III 1.0 GHz com 192 MB

No grfico da criado partir dos dados da , possvel verificar que o algoritmo de busca informada (IDA*) melhor quando o processamento trabalha com uma pequena quantidade de ns. medida que a quantidade de ns processados aumenta o seu tempo de execuo aumenta consideravelmente. Isso se deve ao seu tempo de execuo exponencial. Do mesmo modo, o comportamento do algoritmo de Dijkstra e de Bellman-Ford mantm o comportamento estipulado por suas complexidades.

57

Figura 36 - Grfico do tempo de execuo dos algoritmos para entradas pequenas

5.6.2 Teste do mtodo de Aproximao de Coordenadas para Vrtices O clculo de aproximao de coordenadas deve fazer com que uma coordenada geogrfica qualquer fornecida como origem ou destino do caminho a ser criado seja ajustada para o vrtice mais prximo do grafo da rede viria urbana. Para realizar o teste foram fornecidos os pontos centrais do campo de futebol do estdio Dourado5 e da quadra de esportes do Parque dos Ips. A Figura 37 mostra como qual foi o caminho gerado. Na Figura 38 e Figura 39 possvel verificar qual foi a aproximao realizada.

Estdio de Futebol Frdis Saldvar

58

Figura 37 - Caminho gerado entre o Parque dos Ips e o Estdio Dourado

59

Figura 38 - Coordenada do ponto central do Campo de Futebol do Dourado e o vrtice ajustado

Figura 39 - Ponto central da quadra de esportes do Parque dos Ips

60

5.6.3 Teste do mtodo de Estimativa de Endereos A estimativa de endereo consistem em obter uma esquina (vrtice) do logradouro utilizando a metragem aplicada na numerao dos terrenos. A Figura 40 mostra o caminho realizado entre a Rua Tiet, n 429 e a Rua Monte Castelo, n 1513. Cabe lembrar que esse mtodo oferece apenas uma noo do endereo correto.

Figura 40 - Vrtices dos grafos estimados para os endereos: Rua Tiet, n 429 e Monte Castelo, n 1513

5.6.3 Teste com simulao de impedncias Para testar a execuo do programa para impedncias que no fossem somente a distncia, foram gerados valores aleatrios acrescidos distncia. A Figura 41 ilustra a malha viria de Dourados com as impedncias dos trechos de logradouro alterados. As cores variam do amarelo-claro ao preto, passando pelo vermelho. As cores mais claras simbolizam

61

impedncias menores e as mais altas maiores, consequentemente. Percebe-se pela imagem que as ruas principais possuem tonalidade mais clara. Na simulao, considerou-se que essas ruas normalmente so preferenciais no cruzamento com outras e tambm possuem mais faixas.

Figura 41 - Malha viria de Dourados com impedncias simuladas aleatriamente

Para testar, foi executado o programa para calcular o caminho entre a Avenida Weimar Gonalves Torres, n 2200 e Rua Joaquim Teixeira Alves n 1500 com e sem impedncias simuladas. A Figura 42 mostra o caminho escolhido pelo algoritmo de Dijkstra para a impedncia igual distncia somente. A Figura 43 mostra outro caminho para o mesmo par origem/destino, porm com os valores de impedncias distorcidos. Isso ocorreu por que as impedncias no caminho encontrado para a soluo no simulada possuem (aps a gerao dos nmeros aleatrios) valores maiores. Para se ter uma idia, o maior valor de impedncia

62

do primeiro caminho uma distoro de aproximadamente 47,78 metros enquanto o maior da segunda foi de 32,035 metros. A segunda ilustra a maior impedncia do segundo caminho gerado.

Figura 42 - Caminho gerado entre a Av. Weimar Torres, n 2200 e Rua Joaquim Teixeira Alves n 1500 com impedncias no simuladas

Figura 43 - Caminho gerado entre a Av. Weimar Torres, n 2200 e Rua Joaquim Teixeira Alves n 1500 com impedncias simuladas

63

VI. CONSIDERAES FINAIS

O trabalho aqui demonstrado contempla os objetivos que foram propostos. A resoluo do mesmo possibilita ainda responder na prtica seguinte questo: Qual a importncia de georreferenciar dados? Essa pergunta respondida observando-se a integrao do Yby (ver pgina 45) com o Google Earth. Sendo assim, a grande vantagem em se trabalhar com dados georreferenciados o poder que se tem em integrar informaes entre aplicativos e bases distintas. Afinal, georreferenciar significa assumir um padro para as entidades geogrficas. O resultado dessa integrao que torna possvel ao Yby utilizar a base de dados de fotos de satlite do Google como complemento aos caminhos gerados e visualizao da rede viria da cidade de Dourados como um todo. Alis, dentre as ferramentas de visualizao pesquisadas o Google Earth foi escolhido justamente pela base de fotos. Ao mesmo tempo em que os benefcios trazidos pelo trabalho com dados referenciados geograficamente so um incentivo (em alguns casos necessidade) para a criao de SIGs, o abordagem diferenciada dos mtodos de manipulao desses dados torna o trabalho mais difcil. Esse fato define inclusive uma certa proporcionalidade entre os resultados que se quer obter e a quantidade de dados de entrada. Isso significa dizer que quanto mais preciso o resultado, maior a quantidade de informao que ele precisou para ser processado. Essas dificuldades surgem desde a captura dos dados at o seu processamento.

64

Incluso nesse trabalho, est a pesquisa de metodologias e ferramentas para manipulao informao geogrfica. Dessa forma, alm do software, tem-se atravs dessas pesquisas uma boa fonte de referncia para outros trabalhos que necessitem georreferenciar ou modelar dados geogrficos. Do ponto de vista de implementao, todos os algoritmos implementados produzem solues esperadas, ou seja, o melhor caminho. Porm, como era de se esperar (devido s complexidades de tempo), constatou-se a superioridade do algoritmo de Dijkstra. O software possui grande aplicabilidade na gesto de transporte urbano. Permitindo simulaes, possvel criar diversas situaes teis para verificar os impactos que uma rua de grande fluxo, por exemplo, pode causar se estiver muito danificada. Essa aplicabilidade pode ser ampliada se houver integrao com um banco de dados com dados verdicos. Se a base for confivel e completa no que se refere aos dados utilizados para computar caminhos mnimos, o programa pode ser aplicado para calcular impedncias reais. Obviamente, necessrio criar um mtodo para avaliar o quanto cada atributo (nmero de lombadas, falta de pavimento, entre outros) afeta no deslocamento, como fez Freitas (2004).

6.1. Trabalhos Futuros


Aps a concluso do trabalho, foi possvel relacionar alguns aprimoramentos que poderiam ser implementados futuramente: Integrar um banco de dados (com SGBD) completo ao sistema. Isso evitaria o

carregamento e sobrecarga de memria e processamento. A dificuldade desse item est diretamente relacionada com a quantidade de informao que se deseja armazenar. Como foi demonstrado a captura de dados georreferenciados costuma ser bastante trabalhosa; Implementar o algoritmo de busca informada A* e outros algoritmos. Outros

algoritmos, em especial o A* poderiam aumentar a aplicabilidade do sistema. O A* como

65

uma implementao do Dijkstra, porm utilizando heursticas. Para os casos em que se trabalha apenas com a distncia como impedncia, a implementao do mesmo poderia ser bastante til.; Pesquisar novos mtodos para o clculo de endereos. Os clculos de endereo

implementados so apenas estimativos. Para resultados mais precisos, seria interessante a utilizao de outros mtodos. O ideal que os endereos estivessem disponveis na base de dados; Inserir pontos intermedirios no grafo para que no sejam selecionadas apenas

esquinas na gerao das rotas. Esse item aumentaria a preciso dos clculos uma vez que calcularia uma distncia final mais condizente a do percurso real. Tratar de clusters para melhorar a velocidade de processamento. O sistema

trabalha com todo o grafo da malha viria urbana disponvel ao executar um algoritmo de busca de caminho mnimo. Isso poderia ser melhorado se o processo fosse dividido em duas ou mais etapas. As primeiras etapas consistiriam em analisar a malha como um conjunto menor de vrtices. Isso poderia ser feito atribuindo um super-vrtice a cada bairro e algumas arestas pr-estabelecidas entre cada bairro, que equivaleriam s ruas principais da cidade, por exemplo. A idia consiste em tratar um cluster (bloco) de arestas e vrtices como um nico vrtice para diminuir o nmero de variveis analisadas na busca. Desse modo, quando fosse realizada uma consulta, o sistema primeiramente encontraria o melhor caminho entre os bairros e depois disso analisariam os vrtices destino e origem fornecidos pelo usurio.

66

VII. REFERNCIAS
ALOV. ALOV Map. Disponvel em: < http://www.alov.org/index.html >. Acessado em: 10 de Dezembro de 2006. ASSAD, E. D.; SANO, E. E. Sistema de informaes geogrficas: aplicaes na agricultura. Braslia, DF: EMBRAPA, 2 edio, 1998. BORGES, K. A. V. Modelagem de Dados Geogrficos: Uma Extenso do Modelo OMT para Aplicaes Geogrficas. Dissertao de Mestrado. Fundao Pinheiro, Belo Horizonte, 1997. CMARA, G.; MONTEIRO, A. M. V. Conceitos Bsicos em Cincia da Geoinformao. So Jos dos Campos, SP: Instituto Nacional de Pesquisas Espaciais/INPE, 2004. COMUNELLO, .. Onde Estou? Centro de Pesquisa Agropecuria do Oeste (CEPAO), Empresa Brasileira de Pesquisa Agropecuria (Embrapa). Disponvel em: < www.cpao.embrapa.br/Noticias/artigos/artigo11.html>. Acessado em: 20 de Agosto de 2006. CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. . Introduction to Algorithms. Second Edition, 1184 pages. The MIT Press, Cabridge, MA, USA, 2001. DANA, Peter. Global Positioning System Overview. Department of Geography, University of Texas at Austin, 1994. Disponvel em: <http://www.colorado.edu/ geography/gcraft/notes/gps/gps_f.html>. Acessado em: 20 de Agosto de 2006. DATE, C. J. Introduo a Sistemas de Banco de Dados. Editora Campos, 896 pginas, So Paulo, SP, 2005. DAVIS Jr.; C, BORGES, K. A. V. Modelagem De Dados Geogrficos. So Jos dos Campos, SP: Instituto Nacional de Pesquisas Espaciais/INPE, 2004. DEPARTAMENTO DE PROCESSAMENTO DE IMAGENS (DPI/INPE). Spring. Instituto Nacional de Pesquisas Espaciais/INPE, 2004. Disponvel em: < http://www.dpi.inpe.br/spring/ >. Acessado em: 20 de Agosto de 2006. FERREIRA, K. R.; CASANOVA, M. A.; QUEIROZ, G. R.; OLIVEIRA, O. F. Banco de Dados geogrficos. Curitiba, Editora MundoGEO, 2005.

67

FREITAS, C. R. Construo e Aplicao de Modelo de Rede em Ouro Preto: Utilizao de Fatores Ambientais e Logsticos no Clculo de Impedncias. Departamento de Cartografia, Instituto de Geocincias,UFMG, Belo Horizonte, 2004. GOMES, J.; VELHO, L. Abstraction Paradigms for Computer Graphics. The Visual. Computer , v. 11, n.5, p. 227-239, 1995. GOOGLE. Google Earth Home. Disponvel em: < http://earth.google.com/ >.Acessado em: 01 de Dezembro de 2006. HORSTMANN, C. S. CORNELL, G. Core Java 2 Volume I (Fundamentos). Editora Makron Books, 2001. INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS (INPE). Tutorial: Banco de Dados Geogrficos. So Jos dos Campos, SP, 2004. LARMAN, C. Utilizando UML e Padres. Bookman, 608 pginas, 2002, 2 Edio, Porto Alegre, RS. LISBOA, J.; PEREIRA, M. Desenvolvimento de uma ferramenta CASE para o Modelo UML-GeoFrame com Suporte para Padres de Anlise. Geoinfo 2002: IV Simpsio Brasileiro de Geoinformtica, Caxambu, Minas Gerais, Brasil. LISBOA, J.; IOCHPE, C.; BORGES, K. A. V. Reutilizao de Esquema de Banco de Dados em Aplicaes de Gesto Urbana. I Latin American Conference on Pattern Languages of Programming (Sugar LoafPLOP), Rio de Janeiro, 2001. LISBOA, J.; IOCHPE, C. Um estudo sobre modelos conceituais de dados para projeto de bancos de dados geogrficos. Informtica Pblica, 1(2), 1999. MOURA, M., RIBEIRO C., TIBIRI A. e SOARES, V. Criao da Rede e Base de Dados para o Sistema Virio de Viosa - MG, Utilizando SIG. Tese de Mestrado, Universidade Federal de Viosa, MG, Brasil, 2002. OPEN GEOSPATIAL CONSORTIUM (OPENGIS). GML - the Geography Markup Language. Disponvel em: <www.opengis.net/gml >. Acessado em: 20 de Agosto de 2006. ORACLE. Oracle Spatial & Oracle Locator: Location Features for Oracle Database 10g. Disponvel em: < http://www.oracle.com/technology/products/spatial/ index.html >. Acessado em: 20 de Agosto de 2006. PFAHRINGER, B. Extra material: informed memory-bounded search. Disponvel em: <http://www.cs.waikato.ac.nz/~bernhard/316/slides/Chapter04-extra.pdf>.Acessado em: 01 de Dezembro de 2006. PREFEITURA MUNICIPAL DE DOURADOS (PMD). Mapas Dourados. Disponvel em: <http://www.dourados.gov.br/mapas>. Acessado em: 21 de Agosto de 2006. REFRACTIONS RESEARCH. What is Postgis?. <http://postgis.refractions.net/>. Acessado em: 20 de Agosto de 2006. Disponvel em:

68

RIBEIRO, M. F. S. Modelagem de SIG para o Plano Diretor de Drenagem Urbana de Belo Horizonte. Monografia de Especializao da Universidade Federal de Minas Gerais, Belo Horizonte, 2001. RUSSELL, S.; NORVIG, P. Artificial Intelligence: A Modern Approach. Prentice Hall, 1132 pages, 2002. UNIVERSIDADE FEDERAL DE VIOSA (UFV). UML-Geoframe. Disponvel em: <http://www.ufv.br/geoframe>. Acessado em: 21 de Agosto de 2006. UNIVERSITY OF MINNESOTA. Mapserver. Disponvel em: <http://mapserver.gis.umn. edu/>. Acessado em: 10 de Dezembro de 2006. VIVID SOLUTIONS. JUMP Unified Mapping Platform. Disponvel <http://www.vividsolutions.com/JUMP/>. Acessado em: 10 de Dezembro de 2006. em:

WORLD WIDE WEB CONSORTIUM (W3C). Scalable Vector Graphics (SVG). 2006. Disponvel em: <http://www.w3.org/ Graphics/SVG >.Acessado em: 20 de Agosto de 2006.

Você também pode gostar