UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE UM MÓDULO PARA BUSCA DO MENOR CAMINHO PARA O RASTREADOR GEOGRAFICO DE SANIDADE ANIMAL Área de Sistema de Informação por Fabiano Girardi Carlos Henrique Bughi, Bel. Orientador Itajaí (SC), Dezembro de 2006

2 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE UM MÓDULO PARA BUSCA DO MENOR CAMINHO PARA O RASTREADOR GEOGRAFICO DE SANIDADE ANIMAL Área de Sistema de Informação por Fabiano Girardi Monografia apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Carlos Henrique Bughi, Bel. Itajaí (SC), Dezembro de 2006

3 DEDICATÓRIA A meus pais e verdadeiros amigos, Osni e Alvina. Aos meus queridos padrinhos de batismo, Otávio e Bernadette. ii

4 AGRADECIMENTOS A Deus pela vida, saúde e dons concedidos para que eu pudesse alcançar meus objetivos; Aos meus pais, Osni e Alvina, e a família pela educação e valores que me ensinaram; O meu orientador Profº. Carlos Henrique Bughi pela motivação, ensinamentos e disponibilidade oferecida; e A todos os amigos que contribuíram de alguma forma para que eu concluísse este trabalho. iii

5 SUMÁRIO LISTA DE ABREVIATURAS...vi LISTA DE FIGURAS...vii LISTA DE TABELAS...viii RESUMO...ix ABSTRACT...x 1 INTRODUÇÃO PROBLEMATIZAÇÃO Formulação do Problema Solução Proposta OBJETIVOS Objetivo Geral Objetivos Específicos METODOLOGIA ESTRUTURA DO TRABALHO FUNDAMENTAÇÃO TEÓRICA AGRONEGÓCIO Sanidade animal Suporte tecnológico ao Agronegócio SISTEMA DE INFORMAÇÃO Sistemas de informações Geográficas RASTREADOR GEOGRÁFICO Aplicações Web Webmapping Map Server Map Server Guarani Apache Web Server PHP ROTEAMENTO Atributos espaciais para o problema de roteirização Formas de representação do grafo Aspectos favoráveis e desfavoráveis da roteirização Algoritmo Escolhido PROJETO MODELAGEM DO SISTEMA REQUISITOS Requisitos Funcionais Requisitos não Funcionais iv

6 3.2.3 Diagrama de Classe Diagrama de Casos de Uso Diagrama de Entidade e Relacionamento IMPLEMENTACAO Ambiente de desenvolvimento Ferramentas utilizadas no projeto Desenvolvimento do Sistema Problemas durante a implementação do projeto Testes e Validação do Sistema TRABALHOS FUTUROS CONCLUSÃO...64 REFERÊNCIAS BIBLIOGRÁFICAS...66 A RASTREADOR GEOGRÁFICO...69 v

7 LISTA DE ABREVIATURAS ASF CTTMAR GIS GPS HTML HTTP IA IP LCA PDF PHP PNG SGBD SI SIG SFSSQL SQL TCC UF UML UNIVALI Apache Software Foundation Centro de Ciências Tecnológicas da Terra e do Mar Geographic Information System Global Positioning System Hyper Text Markup Language Hyper Text Transmission Protocol Influenza aviária Internet Protocol Laboratório de Computação Aplicada Portable Document Format Hypertext Preprocessor Portable Network Graphics Sistema Gerenciador de Banco de Dados Sistemas de informação Sistema de Informação Geográfica Simple Feature Specification for SQL Structure Query Language Trabalho de Conclusão de Curso Unidade de Federação Unified Modeling Language Universidade do Vale do Itajaí vi

8 LISTA DE FIGURAS Figura 1. Arquitetura de sistemas de informação geográfica...8 Figura 2. Dados adicionados ao PostGIS Figura 3 Tipos de Dados...12 Figura 4. Interface do sistema de Roteamento de Embarcações Arrendadadas...19 Figura 5. Home Page do SIPESCA...20 Figura 6. Arquitetura webmapping...21 Figura 7. Grafo representando um conjunto de cidades...30 Figura 8. Matriz de Adjacência...34 Figura 9. Lista de adjacência...34 Figura 10. Exemplo de um grafo bidirecionado...35 Figura 11. Requisitos funcionais do Rastreador Geográfico com o módulo proposto Figura 12. Requisitos não funcionais de segurança Figura 13. Requisitos não funcionais de usabilidade Figura 14. Requisitos não funcionais de confiabilidade Figura 15. Requisitos não funcionais de Software e Hardware Figura 16. Requisitos não funcionais de Manutenibilidade Figura 17. Diagrama de classes do módulo proposto...41 Figura 18. Diagrama de pacotes dos casos de usos...43 Figura 19. Diagrama de casos de uso do Rastreador Geográfico...44 Figura 20. Diagrama de casos de uso de segurança Figura 21. Diagrama de casos de uso do módulo proposto...45 Figura 22. Diagrama de Entidade e Relacionamento...46 Figura 23. Tela principal do Rastreador...50 Figura 24. Tela Inicial do Pgadmin...51 Figura 25. Tela Inicial do DBdesigner com as tabelas relacionadas...52 Figura 26. Tela Principal do Scriptcase Figura 27. Tela para cadastro de Integrados Figura 28. Tela para cadastro do órgão responsável Figura 29. Tela para cadastro da área de quarentena Figura 30. Tela para cadastro de problema sanitário Figura 31. Tela para cadastro de divisão...56 Figura 32. Tela para cadastro de Tipos de Integrados...57 Figura 33. Tela para manter usuário programa Figura 34. Algoritmo de Dijkstra...60 Figura 35. Algoritmo de Dijkstra...61 Figura 36. Interface do Sistema Rastreador Geográfico, com destaque ao menu de configuração...69 Figura 37. Interface do Sistema Rastreador Geográfico, com destaque ao menu mapas temáticos..70 Figura 38. Interface do Sistema Rastreador Geográfico, com destaque ao menu de análise de vizinhança...71 Figura 39. Interface do Sistema Rastreador Geográfico, com destaque ao menu de análise de espacial Figura 40. Interface do Sistema Rastreador Geográfico, com destaque a consulta espacial para unidade de produção...73 Figura 41. Interface do Sistema Rastreador Geográfico, com destaque ao menu de cálculo de distância...74 vii

9 LISTA DE TABELAS Tabela 1. Tipos espaciais do PostgreSql...10 Tabela 2. Lista de operadores geométricos do PostGIS...13 Tabela 3. Funções Geométricas...14 Tabela 4. Comparativo entre banco de dados existentes no mercado...17 Tabela 5. Lista de caminhos Tabela 6. Lista de caminhos Tabela 7. Lista de caminhos Tabela 8. Lista de caminhos Tabela 9. Lista de caminhos Tabela 10. Lista de caminhos Tabela 11. Matriz de Adjacência...35 viii

10 RESUMO GIRARDI, Fabiano. Desenvolvimento de um módulo de busca de menor caminho para o rastreador geográfico de sanidade animal. Itajaí, f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, A sanidade animal é considerada um dos pontos cruciais na manutenção das atividades de agronegócio, quando ela se encontra fora de controle pode colocar em risco a vida dos cidadãos, ocasionar uma brutal queda das vendas, gerar desempregos, desperdícios, diminuindo a rentabilidade do país, e causando insegurança e medo para todos. Uma das maneiras de impedir a expansão de uma doença infecciosa é através da criação de áreas de quarenta ou áreas de exclusão, isolando uma determinada região que está sob suspeita de infecção. No âmbito tecnológico, o Laboratório de Computação Aplicada da UNIVALI desenvolveu para a empresa Seara Alimentos S/A o Sistema Rastreador Geográfico, utilizado para criar as áreas de quarentena a partir de uma unidade de produção com suspeita de infecção e identificar as demais unidades de produção que estejam contidas nestas áreas. Localizar as unidades existentes em uma área de quarentena não é suficiente para impedir que a doença se alastre. Outras medidas precisam ser tomadas, como o isolamento das estradas que passam por essas áreas, impedindo o transito de veículos com cargas vivas. Este trabalho disponibiliza um novo módulo ao Sistema Rastreador Geográfico para calcular a menor rota entre duas cidades, considerando a malha viária existente e realizando o desvio das áreas de quarentena. Estas áreas de quarentena serão cadastradas pelos usuários, conforme uma coordenada de latitude e longitude, e um raio para a sua definição. Para realizar o desvio destas áreas em quarentena, foi empregado o algoritmo de Dijkstra. Este algoritmo irá considerar todas as vias que não estão envolvidas em uma área de quarentena. A visualização da rota calculada dar-se-á através de mapas dinâmicos na Web utilizando a ferramenta de mapas Mapserver. Diversas atividades foram cumpridas para a construção do módulo, dentre elas pode-se destacar o estudo de outros algoritmos existentes para o cálculo de menor caminho, a implementação do algoritmo de Dijkstra, a preparação das cartas existentes de malha viária e as alterações no Sistema Rastreador Geográfico para atender as necessidades do módulo. Espera-se com este trabalho dar mais um passo no controle das doenças infecciosas, mantendo o agronegócio como um dos mercados mais importantes para a economia brasileira. Palavras-chave: Agronegócio. Map Server. Sistemas Rastreadores Geográficos. ix

11 ABSTRACT The animal heath is considered one of the crucial points in the maintenance of the agribusiness activities, when it gets out of control can put in risk the citizens' life, to cause a brutal fall of the sales, to generate unemployments, resource wastes, reducing the profitability of the country, and causing insecurity and fear for all. One in the ways of impeding the expansion of an infectious disease is through the creation of areas of quarantine or exclusion areas, isolating a certain area that is under infection suspicion. In the technological extent, the Laboratory of Applied Computation of UNIVALI developed for the company Seara Alimentos S/A the Geographical Tracker System, used to create the quarantine areas starting from an unit of production with infection suspicion and to identify the other units of production to be contained in these areas. To locate the existent units in a quarantine area is not enough to impede that the disease spreads. Another measure they need to do, as the isolation of the highways that they go by those areas, impeding it of vehicles with alive loads. This work makes available a new module to the Geographical Tracker System to calculate smallest route between two cities, considering the existent road mesh and accomplishing the deviation of the quarantine areas. These quarantine areas will be registered by the users, according to a latitude coordinate and longitude, and a ray for its definition. To accomplish the deviation of these areas in quarantine, the algorithm of Dijkstra was used. This algorithm will consider all the roads that are not involved in a quarantine area. The visualization of the calculated route will feel through dynamic maps in the Web using the tool of maps Mapserver. Several activities were accomplished for the construction of the module, among them it can stand out the study of other existent algorithms for the calculation of smaller road, the implementation of the algorithm of Dijkstra, the preparation of the existent letters of road mesh and the alterations in the Geographical Tracker System to assist the needs of the module. It is expected with this work to give one more step in the control of the infectious diseases, maintaining the agribusiness as one of the most important markets for the Brazilian economy. Keywords: Agribusiness. Map Server. System Rastreador Geografico. x

12 1 INTRODUÇÃO No Brasil, a área de agronegócio é responsável por cerca de 1/3 do produto interno bruto, empregando 38% da mão de obra e sendo responsável por 36% das nossas importações. Faz parte do agronegócio toda empresa que produz, processa e distribui produtos agropecuários. A globalização de mercados faz com que cada vez mais exista a necessidade de inter-relação entre essas empresas e que se invista em novas tecnologias de produto, processo e gestão. Apesar do mercado criado em torno do agronegócio parecer solidificado, existem diversos fatores que podem contribuir com o seu declínio, entre eles, podem-se destacar fatores políticos, como embargos fiscais e mudança de política nacional, e ainda fatores naturais, como condições meteorológicas e problemas de sanidade animal. Uma maneira de tentar auxiliar a sanidade animal isolando e desviando de áreas contaminadas é através do rastreamento, identificando plantéis infectados e efetuando o isolamento da área para poder erradicar a doença. O desvio de rotas convencionais também é um fator a ser considerado, pois cargas vivas transportadas pelos caminhões podem entrar em uma área de quarentena ou de exclusão, infectando animais saudáveis, transmitindo à doença a diante em outras áreas livres. Para atender esta necessidade, foi necessário incluir um novo módulo ao Ratreador Geográfico para calcular e demonstrar um caminho entre dois pontos desviando das áreas em quarentena agregando valor à ferramenta. Nos próximos projetos, esse módulo também pode ser utilizado juntamente com um sistema GPS (Global Positioning System), e um sistema embarcado nos caminhões onde que o condutor do veículo possa desviar das áreas em risco, porém essa parte não será implementada neste TCC. 1.1 PROBLEMATIZAÇÃO Formulação do Problema O sistema rastreador geográfico desenvolvido pelo LCA não possui um módulo para efetuar o calculo na busca do menor caminho entre dois pontos distintos desviando da área de exclusão. Também utiliza o banco de dados relacional do Oracle, que não possui instalado o

13 cartucho espacial instalado que dá suporte a manipulação de dados espaciais, dificultando a busca e armazenamento de informações geográficas. Outra restrição é que o banco de dados Oracle não é um produto livre, todas as conexões são cobradas, e o custo para a instalação e configuração do seu cartucho espacial é bem elevado, desta forma o rastreador deixa de ser acessível para outras empresas do ramo. Sendo assim este será migrado para o banco de dados PostgreSQL/PostGis, sendo o mais indicado por possuir as características desejadas e por estar em conformidade com os anseios do LCA Solução Proposta Adicionar um módulo ao Rastreador Geográfico para determinizar o menor caminho entre dois pontos distintos, desviando de uma área exclusão e migrar para o banco de dados PostgreSQL/PostGis, pois este banco possui o cartucho espacial disponível para a instalação gratuitamente. 1.2 OBJETIVOS Objetivo Geral O objetivo geral deste trabalho é desenvolver um módulo para o rastreador geográfico do LCA para o calculo do menor caminho entre dois pontos com desvio de áreas de exclusão Objetivos Específicos Estudar, verificar a documentação e interagir com Rastreador Geográfico atual; Criar um novo modelo para o Rastreador Geográfico baseando no modelo já existente; Implementar um módulo de busca do menor caminho entre dois pontos distintos desviando de áreas de exclusão; Migrar o rastreador geográfico para o SGBD PostgreSQL/PostGis; Alterar o módulo existente da área de exclusão permitindo o armazenamento da área consultada; e 2

14 Testar e validar o novo módulo utilizando o framework Map Server Guarani. 1.3 Metodologia Para alcançar os objetivos deste trabalho foi seguida a seguinte metodologia: Levantamento Bibliográfico: Estudo dos conceitos relacionados ao agronegócio, sanidade animal, sistemas de informação, roteamento, rastreador geográfico, webmapping e dos padrões e normas para estas áreas de conhecimento. Análise: Criação dos diagramas do sistema a fim de mostrar toda a colaboração e trocas de mensagens entre o Rastreador e o banco de dados. Implementação: desenvolvimento de um novo módulo para o Rastreador Geográfico. 1.4 Estrutura do trabalho O trabalho está estruturando em quatro capítulos: 1. Introdução: Na introdução terá a formulação do problema, a solução proposta e os objetivos gerais e específicos; 2. Fundamentação Teórica: A fundamentação teórica trata de capítulos, sobre agronegócio, roteamento, sanidade animal, sistemas de informações geográficas, geoprocessamento, banco de dados geográfico, aplicações web com software livre; 3. Projeto: O projeto é composto pelas etapas de análise de requisitos funcionais e não funcionais, modelagem conceitual com apresentação das principais funcionalidades, diagramas do projeto, diagrama de classes e definição do algoritmo que será utilizado. 4. Conclusão: São todas as considerações sobre o projeto, as facilidades, e dificuldades encontradas no decorrer do trabalho acadêmico, melhores práticas para o desenvolvimento. 3

15 2 FUNDAMENTAÇÃO TEÓRICA Este capítulo apresenta o estudo feito para contemplar o novo módulo do rastreador geográfico. A fundamentação teórica encontra-se subdivida em agronegócio, sistema de informação, rastreador geográfico e roteamento, que são assuntos relevantes ao Reastreador Geográfico. 2.1 AGRONEGÓCIO No cenário econômico atual é comum deparar não apenas com agricultores ou pessoas ligadas diretamente ao campo, mas com diversos membros da sociedade sofrendo os reflexos da falta de sanidade animal que se destaca principalmente no universo do agronegócio (COSTA, 2006). A falta de investimentos e incentivos por parte dos governos tem influenciado não somente as pessoas ligadas diretamente à atividade, mas a sociedade em geral já que através deste setor movimentam-se setores como o da indústria e comércio (ibiden). Dois exemplos mais comuns de adversidades são: a gripe do frango e febre aftosa, quem têm mostrado seus efeitos em nossas exportações, criando barreiras nas negociações com o mercado internacional, fechando-se as oportunidades de negócios conseguidas através da globalização. Quando ocorrem focos dessas doenças é necessário criar uma área de isolamento a fim de fazer análises laboratoriais na tentativa de erradicar a doença. Essas áreas isoladas ou áreas de quarentena podem estar disponíveis para visualização e interação em mapas na internet. O rastreador geográfico é uma dessas ferramentas, ele foi desenvolvido a partir de uma iniciativa privada, sendo solicitada pela empresa Seara Alimentos S.A sendo um exemplo que a maioria das empresas no ramo de corte de carnes investem cada vez mais em tecnologia, a fim de administrar suas unidades de produção e a qualidade de seus produtos e serviços Sanidade animal Os agentes de doenças animais prejudicam a população provocando doenças que são chamadas de zoonoses, ou seja, as doenças que se transmitem dos animais vertebrados ao homem. Elas representam uma grande ameaça, pois além de afetarem a saúde humana, diminuem a

16 produtividade dos rebanhos e reduzem a disponibilidade de alimentos saudáveis para a população (PITUCO, 2001). Para examinar a importância da saúde animal, o ser humano deve considerar a definição de saúde da Organização Mundial da Saúde como um guia. Saúde não é a mera ausência de doença ou injúria, é um estado de completo bem estar físico, mental e social. A Saúde Pública Veterinária contribui diretamente para alcançar este objetivo, pois Compreende todos os esforços comunitários que influenciam e são influenciados pela Medicina Veterinária e Ciência aplicada para a prevenção de doença, proteção da vida, e promoção do bem estar e eficiência do homem e permite um campo de trabalho ilimitado, ao participar no estudo da inter relação de doença e saúde no homem e animais (ibiden). Em relação ao agronegócio, os problemas sanitários influenciam diretamente nas exportações, devido ao fechamento dos mercados ocasionado pela insegurança dos clientes Suporte tecnológico ao Agronegócio O avanço do setor agrícola brasileiro tem incentivado a utilização e aperfeiçoamento de técnicas e ferramentas de gestão, fato que deve ser avaliado sob o ponto de vista da pressão exercida pelos custos de produção, o que tem levado várias empresas rurais a priorizarem a redução dos gastos somando-se a busca incessante por melhores índices de produtividade e conseqüentemente determinando a sobrevivência em um mercado altamente competitivo e inovador considerando-se o grande volume de novos produtos inseridos no mercado atual, causando a diminuição dos ciclos de vida de inúmeras culturas em detrimento da diversificação da oferta e exigência da demanda por alimentos mais saudáveis, acessíveis e seguros (OLIVEIRA NETO, 2004). Espera-se que a disseminação da utilização da informação contribua efetivamente para um progresso da administração do agronegócio brasileiro, principalmente agora, com a afirmação da internet que auxilia as atividades agropecuárias fornecendo dados e informações ao planejamento (ibiden). Contudo, a atração de consumidores tem sido a máxima dos complexos agroindustriais o que nos coloca uma importante questão: Como aumentar o potencial competitivo garantindo o crescimento sustentável das atividades agropecuárias? É clara a necessidade da efetivação de profissionais capazes de gerir com visão global as decisões no meio rural, entretanto, a capacidade 5

17 de dominar a informação com qualidade, garantindo a transformação dessas em conhecimento real e estratégia de ação possibilitará a criação de planos táticos e operacionais elaborados a partir das necessidades dos mais diversos consumidores mundiais inseridos em um ambiente de concorrência efetivamente acirrada (ibiden). Ao concluir, espera-se que a união da administração e da ciência que concentram ferramentas capazes de inserir a eficiência no auxílio para tomadas de decisões, seja capaz de impedir o crescimento da concorrência sobre a fatia de mercado do agronegócio, mantendo uma aproximação do conhecimento gerado pelo processamento das informações aos interesses das pessoas envolvidas, melhorando a qualidade dos nossos produtos e serviços em longo prazo. 2.2 SISTEMA DE INFORMAÇÃO O crescimento da internet, a globalização do comércio e ascensão das economias da informação deu um novo papel aos sistemas de informação (SI) nos negócios e na administração. A tecnologia de internet está servindo de base a novos modelos empresariais, novos processos de negócios e novos modos de distribuir conhecimento (LAUDON e LAUDON, 2004). O termo sistema da informação serve para designar o conjunto de recursos tecnológicos e computacionais para a geração e uso da informação, o seu principal benefício é a capacidade de melhorar a qualidade e disponibilidade de informações e conhecimentos importantes para a empresa (REZENDE, 2000). Um SI também pode ser definido tecnicamente como um conjunto de componentes interrelacionados que coleta, processa, armazena e distribui informações destinadas a apoiar a tomada de decisões, a coordenação e o controle de uma organização. Além de dar suporte para tomada de decisões, a coordenação e ao controle esses sistemas também auxiliam os gerentes e trabalhadores a analisar problemas, visualizar assuntos complexos e criar novos produtos. Os sistemas de informação contêm informações sobre pessoas, locais e coisas significativas para a organização ou para o ambiente que a cerca. No caso, informação quer dizer dados apresentados em uma forma significativa e útil para os seres humanos. Dados, ao contrário, são correntes de fatos brutos que representam eventos que estão ocorrendo nas organizações ou no ambiente físico, antes de terem sido organizados e arranjados de uma forma que as pessoas possam entendê-los e usá-los (LAUDON e LAUDON, 2004). 6

18 2.2.1 Sistemas de informações Geográficas O termo sistemas de informação geográfica (SIG) é aplicado para sistemas que realizam o tratamento computacional de dados geográficos. A principal diferença de um SIG para um sistema de informação convencional é sua capacidade de armazenar tanto os atributos descritivos como as geometrias dos diferentes tipos de dados geográficos. Assim, para cada lote num cadastro urbano, um SIG guarda, além de informação descritiva como proprietário e valor do IPTU, a informação geométrica com as coordenadas dos limites do lote. Com um (SIG) é possível inserir e integrar, numa única base de dados, informações espaciais provenientes de meio físico-biótico, de dados censitários, de cadastros urbano e rural, e outras fontes de dados como imagens de satélite, e GPS (CÂMARA, 2001). Oferecer mecanismos para combinar as várias informações, através de algoritmos de manipulação e análise, bem como para consultar, recuperar e visualizar o conteúdo da base de dados geográficos. Os componentes de um SIG estão mostrados na Figura 1. No nível mais próximo ao usuário, a interface homem-máquina define como o sistema é operado e controlado. Esta interface pode ser orientada ao ambiente de navegação da Internet, quanto baseada em linguagens de comando como Spatial SQL (EGENHOFER, 1994). No nível intermediário, um SIG deve ter mecanismos de processamento de dados espaciais. A entrada de dados inclui os mecanismos de conversão de dados. Os algoritmos de consulta e análises espaciais incluem as operações topológicas, álgebra de mapas, estatística espacial, modelagem numérica de terreno e processamento de imagens (ibiden). Cada sistema, em função de seus objetivos e necessidades, desenvolve um SIG de forma distinta, mas todos os subsistemas citados devem estar presentes dentro do mesmo. 7

19 Figura 1. Arquitetura de sistemas de informação geográfica. Fonte: CÂMARA et al, (2000) Do ponto de vista da aplicação, o uso de sistemas de informação geográfica (SIG) implica em escolher as representações computacionais mais adequadas para capturar a semântica de seu domínio de aplicação. Do ponto de vista da tecnologia, desenvolver um SIG significa oferecer o conjunto mais amplo possível de estruturas de dados e algoritmos capazes de representar a grande diversidade de concepções do espaço. O nome SIG é muito utilizado e em muitos casos é relacionado com geoprocessamento. Entretanto, geoprocessamento é o conceito mais abrangente e representa qualquer tipo de processamento de dados georreferenciados, enquanto um SIG processa dados gráficos e não gráficos (alfanuméricos) com ênfase a análises espaciais e modelagens de superfícies (SPRING, 2003) SGBD Geográfico Os sistemas de computação possuem os mais diversos tipos de informações, em diferentes formatos e para uma infinidade de propósitos. Para nos auxiliar na tarefa de organizar tanta diversidade de informações, existem os SGBDs (Sistemas Gerenciadores de Bancos de dados) (SILBERSCHATZ, 1999). Cada tipo de aplicação necessita de um tratamento adequado para os dados que servirão de auxílio para a geração de informações realmente úteis. A diferença entre um dado e uma informação está relacionada com a forma a qual se enxerga o conteúdo, ou com a forma que uma aplicação nos 8

20 apresenta. Se o que estamos vendo for válido ou tiver algum sentido prático, se trata de uma informação. Dados podem ser considerados fragmentos de informação, que sozinhos não ajudam muito, mas que são importantes para a construção da mesma. De uma forma técnica, informação é o agrupamento lógico de dados correlatos (CÂMARA, 2005). Em um SIG, a camada de armazenamento consiste na primeira fase do desenvolvimento. Neste momento, o mundo real será analisado e transformado em dados, organizados em tabelas espaciais. Mais do que em qualquer outro tipo de aplicação, em um SIG, o banco de dados é verdadeiramente o alicerce. É através da base de dados que se pode esperar muito ou pouco dos recursos a serem oferecidos por um sistema geográfico (ibiden). Segundo Silberschatz et al. (1999), os bancos de dados espaciais armazenam informações relacionadas a localizações espaciais e fornecem suporte eficiente para consultas e indexações com base nessas localizações espaciais. O diferencial da utilização de bancos de dados espaciais são comandos e ações especiais que em bancos de dados comuns não são possíveis. Atualmente, existem três principais extensões comerciais disponíveis no mercado para tratar dados geográficos: Oracle Spatial, IBM DB2 Spatial Extender e Informix. No universo do código aberto, os principais concorrentes são o MySQL e o PostgreSQL. Porém, destes dois, o PostGIS, que é a extensão espacial do PostgreSQL, vem se firmando como o padrão aberto para armazenamento e manipulação de dados espaciais (CÂMARA, 2005). Todas as principais extensões espaciais do mercado, baseiam-se nas especificações do OpenGIS, porém, apresentam variações relevantes entre os modelos de dados, semântica dos operadores espaciais, mecanismos de indexação e esquema e sintaxe da SQL extendida com tipos espaciais. O OpenGIS é a entidade responsável pela padronização dos sistemas que envolvem dados espaciais e temporais (ibiden). A base de dados escolhida para o desenvolvimento deste projeto foi o PostgreSQL com a extensão PostGIS. A principal razão desta escolha está fundamentada no custo e na quantidade de recursos oferecidos por este banco. 9

21 Dados Espaciais Existem diversos tipos de dados espaciais, e cada um deles pode ser aplicado para armazenar diferentes tipos de objetos e representações do mundo real. A escolha do tipo depende dos resultados que queremos alcançar, ou, que tipo de informações é necessário recuperar. PostGIS, como visto, é a extensão espacial para o PostgreSQL. O PostgreSQL, por padrão, já conta com uma boa quantidade de tipos espaciais primitivos, porém com escassas funções e operadores, tornando trabalhosa a implementação de sistemas mais completos. A Tabela 1, mostra os tipos de dados espaciais suportados atualmente pelo PostgreSQL. Tabela 1. Tipos espaciais do PostgreSql Nome Armazenamento Representação Decrição Point 16 bytes Ponto no plano (x,y) Line 32 bytes Linha infinita (não ((x1,y1),(x2,y2)) implementada completamente) Lseg 32 bytes Segmento de linha finito ((x1,y1),(x2,y2)) Box 32 bytes Caixa retangular ((x1,y1),(x2,y2)) Path 16+16n bytes Caminho fechado( ((x1,y1),...) semelhante ao polígono) Path 16+16n bytes Caminho aberto [(x1,y1),...] Polygon 40+16n bytes Polígono (similar ao caminho ((x1,y1),...) fechado) Circle 24 bytes Círculo <(x,y),r> centro e raio Fonte: Adaptado de POSTGRESQLSITE (2006). Com o PostGIS, alguns tipos foram especializados para oferecer um melhor controle sobre suas características. A Figura 2 mostra os dados adicionados ao PostGIS. 10

22 Figura 2. Dados adicionados ao PostGIS. Fonte: Adaptado de CÂMARA et al, (2000) Cada um dos tipos pode ser usado para representar não só objetos, mas também fenômenos climáticos, como estações do ano e aspectos políticos, e focos de doenças. Os dois tipos que irão ser utilizados pelo Rastreador Geográfico, podem ser observados na Figura 3. 11

23 Figura 3 Tipos de Dados Fonte: Adaptado de CÂMARA et al, (2000) Operadores Geométricos Um dos destaques da extensão PostGIS é o grande número de operadores e funções geométricos. No caso dos operadores, eles nos permitem recuperar diversos tipos de informações úteis, como distância, proximidade, interseção, sentido, posição vertical ou horizontal, entre outros. A lista completa dos operadores do PostGIS está na Tabela 2. 12

24 Tabela 2. Lista de operadores geométricos do PostGIS. Operador Descrição Exemplo + Translação box (( 0,0 ), (1,1)) + point (2.0,0) - Translação Box ((0,0), (1,1)) - point (2.0,0) * Escala / rotação box ((0,0), (1,1)) * point (2.0,0) / Escala / rotação box ((0,0), (2,2)) / point (2.0,0) # Ponto de intercessão entre caixas ((1,-1), (-1,1)) # (( 1,1) (-1,-1)) # Número de pontos em um caminho ou polígono # ((1,0), (0,1), ( Comprimento ou path (( 0,0 ), ( 1,0 circle (( 0,0 ), 10 ) ## Ponto mais próximo do primeiro parâmetro em relação ao segundo point (0,0) ## lseg ((2,0), (0,2)) <-> Distância entre circle ((0,0), 1) < - > circle ((5,0) 1) && Sobrepõe? box ((0,0), (1,1)) && box ((0,0), (2,2)) &< Estendido a direita de? box ((0,0), (1,1)) &< box ((0,0), (2,2)) &> Estendido a esquerda de? box ((0,0), (3,3)) &> box ((0,0), (2,2)) << Fica a esquerda de? circle ((0,0), 1) << circle ((5,0) 1) >> Fica a direita de? circle ((5,0), 1) >> circle ((0,0) 1) <^ Está abaixo? circle ((0,0), 1) <^ circle ((0,5) 1) >^ Está acima? circle ((0,5), 1) >^ circle ((0,0) 1)?# Interceptam-se? lseg ((-1,0), (1,0))?# box ((-2,-2) (2,2))?- É horizontal??- lseg ((-1,0), (1,0))?- Está horizontalmente alinhado? point (1,0)?- point (0,0)? É vertical?? lseg ((-1,0),(1,0))? Está verticalmente alinhado? point (0,1)? point (0,0)?- É perpendicular? lseg ((0,0),(0,1))?- lseg ((0,0), (1,0))? É paralelo? lseg ((-1,0),(1,0))? lseg ((- 1,2),(1,2)) - Contém? circle ((0,0), 2) - point ( 1,1 Contido dentro ou em? point circle ((0,0),2) -= Mesmo como? polygon ((0,0),(1,1)) -= Fonte: Adaptado de Postgresqlsite (2006) Funções Geométricas Para completar o conjunto de ferramentas que o PostGIS nos oferece, resta mostrar as funções disponíveis e o que elas podem fazer. O PostGIS conta hoje com um dos melhores celeiros de funções geométricas dentre todos os SGBDs espaciais conforme na Tabela 3. 13

25 Tabela 3. Funções Geométricas Função Tipo de Retorno Descrição Exemplo area (object) Precisão dupla Área area (box ((0,0), (1,1)) ) Box_intersect (box, Caixa Intercessão com caixa box_intersect (box ((0,0),(1,1)), box) Ponto Centro box ((0.5,0.5),(2,2)) ) Center (object) Precisão dupla Diâmetro do círculo center (box ((0,0),(1,2)) ) Diameter (circle) Precisão dupla Tamanho vertical da caixa diameter(circle ((0,0), 2.0) ) Height (box) TRUE ou FALSE É caminho fechado? height (box ((0,0), (1,1)) ) Isclosed (path) TRUE ou FALSE É caminho aberto? isclosed (path ((0,0), (1,1), (2,0)) ) Isopen (path) Precisão Dupla Comprimento isopen (path [ (0,0),(1,1), (2,0)] ) Length (object) Inteiro Número de pontos length (path ((-1,0),(1,0)) ) Npoints (path) Inteiro Número de pontos npoints (path [(0,0),(1,1), (2,0)] ) Npoints (polygon) Caminho Número de pontos npoints (polygon ((1,1), (0,0)) ) Pclose (path) Caminho Fecha o caminho pclose (path [(0,0),(1,1),(2,0)] ) Popen (path) Caminho Abre o caminho popen (path ((0,0),(1,1),(2,0)) ) Radius (circle) Precisão Dupla Tamanho horizontal da caixa radius (circle ((0,0), 2.0) ) Fonte: Adaptado de Postgresqlsite (2006). Usando os operadores certos, é possível recuperar informações como o comprimento de cada rua cadastrada na tabela de ruas, a exemplo deste projeto. Veja a instrução SQL que faz isso: SELECT name, length(geom) AS comprimento FROM RUAS; O suporte aos operadores e funções geométricas é fornecido através da integração do PostGIS com a biblioteca GEOS (Geometry Engine Open Source). Essa biblioteca é uma tradução da API Java JTS para a linguagem C++. (POSTGRESQLSITE,2006) Estrutura do PostGis Por ser uma extensão do PostgreSQL, o PostGIS necessita de alguns artifícios para controlar suas características geométricas que originalmente não fazem parte do banco de dados padrão. Essas características envolvem os sistemas de referência de coordenadas e as propriedades dos tipos espaciais estendidos. Por isso, sempre que for criado um novo banco de dados espacial, o PostGis criará automaticamente duas tabelas. São elas: SPATIAL_REF_SYS GEOMETRY_COLUMNS 14

26 Essas tabelas precisam ser entendidas para que seu propósito, que é de padronizar escalas de medidas, seja cumprido. É também uma forma de garantir, que entre outras aplicações, as informações sejam tratadas com a mesma precisão de escalas, e respeitando a particularidade de cada tipo. Segue abaixo uma relação das tabelas padrão do PostGIS. SPATIAL_REF_SYS Responsável por garantir o intercâmbio dos dados contidos em tabelas espaciais dopostgis, a tabela spatial_ref_sys, possui os seguintes campos. (POSTGRESQLSITE,2006) SRID - INTEGER NOT NULL PRIMARY KEY AUTH_NAME - VARCHAR(256) AUTH_SRID - INTEGER SRTEXT - VARCHAR(2048) PROJ4TEXT - VARCHAR(2048) O primeiro campo serve para garantir a unicidade da referência e impedir que exista conflitos entre esses sistemas. O segundo campo é uma referência descritiva para o sistema de referência geográfica. O campo AUTH_SRID serve como chave estrangeira para fazer referência à todas as informações contidas neste registro. Já o campo SRTEXT contém as normas e descrições que realmente são usadas pelo sistema do PostGIS. O último campo armazena informações sobre as transformações necessárias para migrar deste sistema de referência, para outros. GEOMETRY_COLUMNS Serve para controlar os tipos geográficos válidos para o PostGIS. Essa tabela também é responsável por ligar cada tipo espacial utilizado, com o seu sistema de referência nativo. Segue uma descrição desta tabela. F_TABLE_CATALOG - VARCHAR(256) NOT NULL F_TABLE_SCHEMA - VARCHAR(256) NOT NULL F_TABLE_NAME - VARCHAR(256) NOT NULL 15

27 F_GEOMETRY_COLUMN - VARCHAR(256) NOT NULL COORD_DIMENSION - INTEGER NOT NULL SRID - INTEGER NOT NULL TYPE VARCHAR(30) NOT NULL Os quatro primeiros campos guardam a referência à tabela onde o tipo é empregado e o nome dado à coluna. O quinto campo indica em quantas dimensões foi empregado o tipo espacial. O sexto campo é a chave estrangeira responsável por ligar o campo empregado ao registro local. Deve-se fazer referência no momento em que dados são inseridos na tabela que contém o campo em questão. O último campo descreve o nome do tipo empregado. (POSTGRESQLSITE, 2006). Depois de instalado o PostGIS sobre o PostgreSQL, este assume as características de um banco de dados geográfico completo. Por este motivo, cada novo banco criado, assumirá alguns objetos padrões além das tabelas de auxílio discutidas anteriormente. Novas funções e operadores também compõem os objetos criados automaticamente. Isso acontece porque o PostgreSQL define seu formato padrão para lidar com informações espaciais, mas se necessário, é possível criar bases de dados convencionais, bastando indicar esta opção no momento da criação do novo banco. (ibiden) Comparativo com outros bancos no mercado Em comparação com outros bancos de dados espaciais, podemos notar que o PostGIS possui todas as características dos melhores produtos disponíveis. Veja a tabela abaixo: 16

28 Tabela 4. Comparativo entre banco de dados existentes no mercado Recurso Oracle Spatial PostGreSQL com PostGreSQL com MySql Tipos Geométricos PostGis Tipos Especiais SFSSQL Tipos Simples SFSSQL SFSSQL Indexação R tree e Quadri R-Tree nativa ou R- R-Tree sobre GIST R-Tree Espacial Tree tree sobre GIST Operadores Matriz 9 Não Matriz 9 interseções Em topológicos interseções DE desenvolvimento Operadores de Conjunto Sim Não Sim Em desenvolvimento Operadores de Conjunto Buffer Sim Não Sim Em desenvolvimento Region Transformação entre sistemas Sim Não Sim Não de coordenadas Tabela de metadados das colunas geométricas Sim (diferente do OGIS) Não Fonte: Adaptado de Postgresqlsite (2006). Sim (conforme OGIS) Não 2.3 RASTREADOR GEOGRÁFICO O Rastreador Geográfico é um sistema de informações para o monitoramento e rastreabilidade geográfica de ocorrências de doenças junto às áreas de produção animal, baseado em internet, que visa dar suporte ao planejamento preventivo e ao apoio à decisão em situações emergenciais, possibilitando o rápido estabelecimento de medidas de sanidade em nível empresarial e governamental. O conhecimento adquirido pelo Laboratório de Computação Aplicada da UNIVALI sobre sistemas de informação com suporte geoespacial permite que o assunto seja abordado sob a perspectiva exploratória. Ou seja, não apenas se tratando da implementação de um sistema, mas sim da prospecção e emprego de novas concepções metodológicas e tecnológicas. Com base nisso, propõe-se à criação de um novo módulo ao Sistema Rastreador Geográfico que permita não somente a visualização das áreas de interdições como também a criação de rotas alternativas de tráfego para os veículos de transporte de carga das empresas a fim de disponibilizar a 17

29 rota de navegação desses veículos evitando que os mesmos entrem nas áreas de exclusão. Este novo módulo terá por finalidade demonstrar o caminho de menor custo entre dois pontos distintos, desviando da área de exclusão ou área de quarentena. Mais informações a respeito do Rastreador Geográfico do LCA encontra-se no Apêndice A Aplicações Web O volume e a complexidade de conteúdos representados na Web fazem com que encontremos inúmeros formatos para organizar e estruturar a informação. A liberdade oferecida pela Web dificulta a atividade de definição de padrões. A W3C - World Wide Web Consortium é um exemplo de organização que trabalha em prol do desenvolvimento de tecnologias para uso completo e eficaz do potencial da Web (especificações, guidelines, software, ferramentas). As aplicações Web tem sido cada vez mais utilizadas para a interação com os usuários, principalmente na área de webmapping. Segue abaixo dois exemplos de aplicçaões que utilizaram dessas tecnologias e que foram desenvolvidos pelo LCA. Tecnologia Opensource para Rastreamento Online de Veículos Monitorados Via Satélite. Este trabalho apresenta como tecnologia OpenSource, pode ser utilizada no mapeamento e controle de posições de veículos. Especificamente, descreve a arquitetura de um sistema para recepção via da informação de posição; e apresentação desta informação via web através de mapas dinâmicos. Este sistema é designado de rastreamento online, e encontra-se funcional, sendo utilizado pelo Grupo de Estudos Pesqueiros do Centro de Ciências Tecnológicas da Terra e do Mar, da Universidade do Vale do Itajaí. 18

30 Figura 4. Interface do sistema de Roteamento de Embarcações Arrendadadas. Fonte: LCA (2006). As criações das imagens desse sistema foram feitas por um script PHP armazenado no servidor de rastreamento, que manipula objetos da tecnologia MapServer/MapScript, processando os dados de posição adquiridos em etapas anteriores, e gerando arquivos no formato PNG (Portable Network Graphics). Sistemas de Informação em Gestão Ambiental um Caso Aplicado à Gestão de Recursos Pesqueiros. Este trabalho propõe um modelo de informações estruturado para não somente permitir a geração de estatísticas de pesca, mas também a integração entre estudos científicos, legislação e o georreferenciamento das informações. O seu objetivo final é ter um modelo capaz de conter as informações necessárias para o processo de tomada de decisão na gestão de recursos pesqueiros. 19

31 Figura 5. Home Page do SIPESCA. Fonte: LCA (2006). Este sistema é construído através de tecnologias computacionais modernas, capazes de prover toda funcionalidade exigida pelo modelo conceitual proposto. O uso intenso de ferramentas opensource (OpenSource Software - OSS) agrega ao sistema a confiabilidade resultante de esforço de testes extensivos e diversificados. Porém neste caso a empresa já possui o banco de dados Oracle, e os programas foram desenvolvidos em cima do mesmo. 20

32 2.3.2 Webmapping O principal conceito de webmapping, é a capacidade de um sistema em proporcionar ao usuário, navegar através da utilização de mapas para localizar as informações na Internet. Ou seja, o uso de servidores de mapas através da Internet para divulgação de informações de forma dinâmica com geração de consultas espaciais (SPERB et al., 2002). A arquitetura webmapping, é representada através da Figura 6. Figura 6. Arquitetura webmapping Fonte: LCA (2006). Ao conectar na internet, o usuário solicita uma requisição de uma determinada informação ao servidor HTTP, que por sua vez identifica para quem deve enviar essa requisição e transmite ao servidor de mapas, que tem por finalidade separar os dados espaciais dos dados descritivos, esses dados estão em um banco de dados espacial que é gerenciado pelo Sistema de Informações Geográficas. O retorno dessas informações poderá ser visto no browser do cliente. Conforme Silva et al. (2004), webmapping, representa um serviço que proporciona aplicação de análise espacial para diversos casos de estudo, utilizando mapas dinâmicos, aliados a dados armazenados sobre os mais variados temas com a utilização da interface Web. Hoje as opções são mais poderosas de forma que a implantação de webmapping em servidores de mapas já se 21

33 tornou uma necessidade para aplicações SIG atuais que tendem a ter aplicações Web com capacidade de recuperar, administrar, filtrar e visualizar as informações espaciais. No webmapping, existe o conceito de navegação por mapas utilizando marcadores espaciais como referência. O usuário, além de navegar pelo mapa, pode também escolher quais informações deseja consultar, gerando as mais diversas associações entre os dados para obter o resultado visual que deseja Map Server MapServer é uma tecnologia que permite a criação de aplicações para geração de mapas via web. O software segue a licença OSS/FS, e é construído com base em outros pacotes freeware com Shapelib, GD, Freetype, OGR, Proj.4, libtiff, regex, e outros (MAPSERVER, 2002). O Projeto MapServer foi originalmente desenvolvido pela Universidade de Minnesota (UMN) para o projeto ForNet, em cooperação com a NASA e o Departamento de Recursos Naturais de Minnesota. Atualmente, é fomentado pelo projeto TerraSIP, patrocinado via NASA e mantido pela UMN. (MAPSERVER, 2002). MapServer é integrado à linguagem PHP via MapScript, interface desenvolvida pela empresa canadense DM Solutions Group que também segue a linha OSS/FS. MapScript fornece um ambiente rico para personalizar aplicações baseadas na tecnologia MapServer. O grande diferencial do sistema proposto está no uso de MapServer/MapScript para apresentar, via web, o rastreamento das unidades de produção Map Server Guarani Segundo o Laboratório de Computação Aplicada (LCA, 2006) da UNIVALI, o MapServer Guarani constitui-se de um Framework para MapServer que foi desenvolvido para permitir a elaboração de sistemas voltados para webmapping, incluindo funcionalidade de interação através de mapas e de navegação. 22

34 De acordo com Bughi (2005), as funcionalidades disponibilizadas são para sistemas SIG para Web, e permitem que múltiplos usuários possam compartilhar das mesmas ferramentas a partir de um único sistema. Algumas dessas funcionalidades são: Conexão com banco de dados: Permite a conexão com o PostgreSQL e Oracle, também com as extensões espaciais PostGIS e Oracle Spatial; Entrega de mapas sob demanda: Permite a entrega de mapas, gerados pelo MapServer, através das requisições do usuário; Navegação aprimorada: Permite aos usuários meios de navegar no mapa através de funções simples, como: (a) zoom aleatório; (b) aproximação do mapa (zoom in); (c) afastamento (zoom out); e (d) movimentação (pan); Cálculo de distância: Permite ao usuário definir dinamicamente pontos na tela e calcular as distâncias entre os mesmos em diversos sistemas métricos; Análise espacial: Disponibiliza a capacidade do usuário definir a área de interesse no mapa e pesquisar quais as informações dos objetos geoespaciais inclusos nessa área; Análise de vizinhança: Permite ao usuário do sistema escolher um objeto geoespacial aleatório do sistema e definir um raio para busca dos vizinhos a esse que se encontram inclusos dentro do perímetro; e Pesquisa por atributos: Método de análise espacial que permite ao usuário definir de forma dinâmica qual a pesquisa, as restrições, que serão aplicadas sobre os objetos geoespaciais, demonstrando o resultado das pesquisas por atributos através do mapa Apache Web Server O Apache é a designação para o servidor Web da ASF (Apache Software Foundation Fundação de Software Apache), disponível em licença estilo OSS/FS em diversas plataformas de hardware e software. Com base no httpd (Hiper Text Transmission Protocol Daemon Protocolo de Transmissão de Hiper Texto ), o Apache implementa o serviço de acesso a páginas Web utilizando o protocolo HTTP/1.1 (SPERB, 2002). O Apache é desenvolvido por colaboradores de todo o mundo, integrantes do Apache Group. O sistema proposto irá utilizar-se do servidor Web Apache, configurado com as extensões 23

35 PHP (Hypertext PreProcessor). Atualmente ocupa o posto de Web Server mais usado na Internet (NETCRAFT, 2005) PHP PHP, que significa "PHP: Hypertext Preprocessor" é uma linguagem de programação de ampla utilização, interpretada, que é especialmente interessante para desenvolvimento para a Web e pode ser mesclada dentro do código HTML (PHP, 2006). O objetivo principal da linguagem é permitir aos desenvolvedores escrever páginas que serão geradas dinamicamente, adicionando recursos que com o HTML não são possíveis. A versão atual, PHP5, se baseia no sistema de processamento de scripts Zend, que é parte do pacote PHP e mantém o registro de requisições, processa arquivos scripts e manipulam variáveis e recursos. Este sistema de processamento de scripts foi projetado desde o inicio para poder ser facilmente incorporado aos aplicativos diferentes. O PHP é uma das linguagens Web mais utilizadas. Seus scripts são processados no servidor mostrando apenas o resultado no browser do cliente, tornando a execução mais rápida, outras características são: a portabilidade do PHP, a integração com a maioria dos bancos de dados existentes, é uma ferramenta gratuita com o código aberto, permite a criação e manipulação de arquivos pdf em tempo de execução, entre outras. 2.4 ROTEAMENTO Roteirização de veículos é a forma que vem sendo utilizada para designar o processo de determinação de um ou mais roteiros ou seqüências de paradas a serem cumpridos por veículos de uma frota, objetivando visitar um conjunto de pontos geograficamente dispersos, em locais prédeterminados. (CUNHA, 1997). Segundo Laporte et al. (2000) o problema de roteirização de veículos consiste em definir roteiros de veículos que minimizem o custo total de atendimento, cada um dos quais iniciando e 24

36 terminando nos integrados ou abatedouros, assegurando que cada ponto seja visitado exatamente uma vez. Alguns softwares e aplicativos comerciais encontrados no mercado para roteirização de veículos são heurísticos, isto é, não asseguram a obtenção da solução ótima do ponto de vista matemático. Assim, na maioria dos casos, as heurísticas propostas são bastante específicas e particulares, e carecem de robustez, isto é, não conseguem obter boas soluções para problemas com características, condicionantes ou restrições às vezes um pouco diferentes daquelas para as quais foram desenvolvidas. (HALL e PARTYKA, 1997) Atributos espaciais para o problema de roteirização Nas formulações matemáticas de problemas de roteirização de veículos pressupõe-se um grafo ou rede G=(N, A) composto de um conjunto de nós N, que representa um conjunto de pontos a serem atendidos e a base onde se localizam os veículos, e um conjunto de arcos A, representando as ligações entre todos os pares de nós em N, para os quais são conhecidos as distâncias e os tempos de viagem (NOVAES, 1989). Assim, o processamento de um algoritmo para um problema de roteirização deve ser precedido pela etapa de obtenção do grafo G. Isto envolve a localização geográfica ou espacial dos pontos de atendimento e a determinação das distâncias e dos tempos de viagem entre os mesmos. Este é um aspecto pouco discutido, mas de fundamental importância para a aplicação de modelos matemáticos a problemas reais de roteirização. (NOVAES,1989) Formas de representação do grafo Os softwares para roteirização de veículos adotam um modelo mais simplificado para determinação do grafo: os pontos de atendimento e a base onde se localizam os veículos são representados através de algum sistema de coordenadas, geralmente cartesianos ou georeferenciadas (latitude e longitude) (NOVAES,1989). Neste caso, as distâncias nos arcos são calculadas com base nas coordenadas dos pontos, segundo alguma métrica (distância Euclideana ou retangular), podendo ser ajustadas por fatores de 25