Buscar

PROJETO avanavegador GPS

Prévia do material em texto

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE 
SISTEMAS
JAMES GUSTAVO BLACK REBELATO
NAVEGADOR GPS PARA EQUIPAMENTOS MÓVEIS COM BASE 
NOS DADOS CARTOGRÁFICOS E ELÉTRICOS DA COPEL
TRABALHO DE CONCLUSÃO DE CURSO
PATO BRANCO
2013
JAMES GUSTAVO BLACK REBELATO
NAVEGADOR GPS PARA EQUIPAMENTOS MÓVEIS COM BASE 
NOS DADOS CARTOGRÁFICOS E ELÉTRICOS DA COPEL
Trabalho de Conclusão de Curso de 
graduação, apresentado à disciplina de 
Trabalho de Diplomação, do Curso 
Superior de Tecnologia em Análise e 
Desenvolvimento de Sistemas, da 
Universidade Tecnológica Federal do 
Paraná, Câmpus Pato Branco, como 
requisito parcial para obtenção do título 
de Tecnólogo.
Orientadora:
Msc. Rúbia Eliza de Oliveira Schultz 
Ascari
PATO BRANCO
2013
RESUMO
REBELATO, James Gustavo Black. Navegador GPS para equipamentos móveis 
com base nos dados cartográficos e elétricos da COPEL. 2013. 101 f. Trabalho 
de Conclusão de Curso - Curso Superior de Tecnologia em Análise e 
Desenvolvimento de Sistemas, Universidade Tecnológica Federal do Paraná, 
Campus Pato Branco. Pato Branco, 2013.
Este trabalho apresenta o desenvolvimento de um aplicativo navegador GPS voltado 
para equipamentos móveis, executado na plataforma Android. O principal objetivo do 
aplicativo é permitir a visualização de mapas vetoriais e a obtenção de cálculos de 
roteamento relacionados aos dados utilizados pela companhia COPEL. Os mapas 
são obtidos da base de dados da COPEL e convertidos para os padrões utilizados 
pelo navegador desenvolvido. Dando continuidade ao trabalho desenvolvido como 
estágio, foi possível idealizar e implantar um aplicativo próprio de navegação, 
executável em diversos dispositivos móveis, e não somente baseado em aparelhos 
de GPS automotivos. Para tanto foram utilizadas tecnologias que estiveram 
presentes na formação acadêmica, como a linguagem de programação Java, o 
ambiente de desenvolvimento Eclipse, conhecimentos sobre orientação a objetos, 
banco de dados, análise e modelagem de sistemas. Utilizando conceitos e técnicas 
de desenvolvimento para aplicativos móveis foi possível alcançar o objetivo final de 
disponibilizar uma nova ferramenta de trabalho para os empregados da COPEL.
Palavras-chave: Java. Navegador GPS. Android. Roteamento. COPEL.
ABSTRACT
REBELATO, Gustavo James Black. GPS Navigator for mobile devices based on 
cartographic data and electrical Copel. 2013. 101 f. Trabalho de Conclusão de 
Curso - Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas, 
Universidade Tecnológica Federal do Paraná, Campus Pato Branco. Pato Branco, 
2013.
This work presents the development of a GPS navigator application built over 
Android platform designed for mobile devices. The main objective of the application 
is to allow the visualization of vector maps and performing routing calculations 
related to the data used by the company Copel. The maps are obtained from 
company database and converted to the standards used by the navigator developed. 
As a consequence of the work developed during trainee, it was possible to project 
and implement a proper navigator, which is not based on automotive GPSs, 
executable on various mobile devices. To perform the study, the following 
technologies present on academic formation were used: Java programming 
language, Eclipse development environment, object-oriented programming, database 
knowledge, analysis and modeling systems. The final goal of deliver a work tool for 
the company employees was reached by using concepts and techniques for 
development of mobile applications.
Keywords: Java. GPS navigator. Android. Routing. Copel. 
LISTA DE FIGURAS
Figura 1 - Logotipo da COPEL....................................................................................15
Figura 2 - Tablet da Samsung.....................................................................................16
Figura 3 - Logotipo do Android....................................................................................17
Figura 4 - Aplicativo navegador GPS..........................................................................18
Figura 5 - Tela inicial do OpensStreetMap..................................................................19
Figura 6 - Ponto OMS XML.........................................................................................27
Figura 7 - Polilinha aberta, Polilinha fechada e Área OSM XML................................28
Figura 8 - Relação OSM XML.....................................................................................28
Figura 9 - Exemplo da linguagem Java utilizada........................................................33
Figura 10 - Tela do Android SDK Manager.................................................................34
Figura 11 - Tela demonstrativa da IDE Eclipse...........................................................35
Figura 12 - Tela do PostgreSQL.................................................................................36
Figura 13 - Tela principal da ferramenta NotePad++..................................................37
Figura 14 - GPSMapEdit com mapa vetorial aberto...................................................38
Figura 15 - JOSM exibindo o mapa vetorial do Rio de Janeiro..................................39
Figura 16 - Documentação: Diagrama de Casos de Uso para o Navegador GPS....44
Figura 17 - Documentação: Diagrama de Casos de Uso para o Gerador de Mapas 45
Figura 18 - Documentação: Diagrama de Sequencia: Visualização..........................47
Figura 19 - Documentação: Diagrama de Sequencia: Navegação............................48
Figura 20 - Documentação: Diagrama de Sequencia: Pesquisa................................48
Figura 21 - Documentação: Diagrama de Classes.....................................................49
Figura 22 - Documentação: Diagrama de Relacionamento Navegador GPS............50
Figura 23 - Documentação: Diagrama de Relacionamento Conversor Mapas..........50
Figura 24 - Tela inicial do Navegador GPS COPEL...................................................51
Figura 25 - Visualização completa do mapa COPEL da Região de Cascavel...........53
Figura 26 - Opções de zoom manual na tela de visualização de mapa.....................54
Figura 27 - Tela de pesquisa com os resultados semelhantes..................................56
Figura 28 - Ponto localizado exibido na tela do mapa................................................57
Figura 29 - Roteamento gráfico exibido pela linha azul..............................................60
Figura 30 - Fluxo do processo de geração dos mapas binários.................................61
Figura 31 - Fatura e Medidor de energia com seus números de identificação..........62
Figura 32 - Diversos pontos representando Cidades, Bairros, Comunidades, etc.....67
Figura 33 - Demonstração da simbologia elétrica padronizada COPEL....................68
Figura 34 - Estradas sobrepostas sem nenhuma união entre si................................72
Figura 35 - Estradas unidas em um único mapa vetorial............................................72
Figura 36 - Buffer e localização dos pontos de conexão............................................74
Figura 37 - Visualização das estradas na localidade de Chopinzinho - PR...............76
Figura 38 - Mapas vetoriais sobrepostos para efeito de comparação........................81
Figura 39 - Mapas convertido visualizado no JOSM..................................................81
Figura 40 - Eletricistas Rafael Pozza Cantelli e Jurandir Antonio Biedacha..............83
Figura 41 - Região urbana de Pato Branco e o Tablet executando o GPS COPEL.. 84
Figura 42 - Poste localizado na Praça Municipal de Pato Branco..............................85
Figura 43 - Navegação na área rural de Pato Branco................................................85Figura 44 - Bela imagem na localidade de São Roque do Chopim (Pato Branco)....86
Figura 45 - Os eletricistas Guilherme e Rossinni, aprovaram a novidade. ...............87
Figura 46 - James e o GPS, para ninguém mais se perder em campo......................89
Figura 47 - João, James e Ubiraci no treinamento em Cascavel...............................91
Figura 48 - Matéria de reconhecimento REVISTA COPEL........................................91
Figura 49 - Primeira parte da matéria.........................................................................92
Figura 50 - Segunda parte da matéria........................................................................93
Figura 51 - Antônio Anzolin, James Rebelato e Paulo Moreira .................................96
QUADROS
Quadro 1 - Conteúdo de um arquivo “.csv” no padrão COPEL..................................20
Quadro 2 - Representação no formato .MP para localidades....................................21
Quadro 3 - Codificação “.mp” para representar um ponto de interesse.....................22
Quadro 4 - Codificação “.mp” para representar uma rodovia.....................................23
Quadro 5 - Representação de uma área de preservação ambiental..........................26
Quadro 6 - Codificação OSM XML para um ponto de interesse................................27
Quadro 7 - Codificação OSM XML para representar uma rodovia.............................28
Quadro 8 - Representação de uma relação entre pontos e polilinhas.......................29
Quadro 9 - Várias tags representando características da rodovia.............................29
Quadro 10 - Código: Método responsável por rotacionar os elementos....................53
Quadro 11 - Código: Responsável por realizar o zoom automático...........................54
Quadro 12 - Código: XML de renderização para os elementos.................................55
Quadro 13 - Código: Desenhar os ícones e rótulos na tela........................................56
Quadro 14 - Código: Métodos de pesquisa utilizados no Navegador GPS................58
Quadro 15 - Código: Responsável por realizar o zoom automático...........................59
Quadro 16 - Código: Método responsável pelo roteamento sonoro...........................61
Quadro 17 - Código: Conversor do formato “.csv” para “.osm”..................................64
Quadro 18 - Codificação OSM XML para unidade consumidora................................64
Quadro 19 - Código: Conversão das localidades em “.mp” para “.osm”....................67
Quadro 20 - Código: Conversor de polígonos fechados.............................................71
Quadro 21 - Código: Conexão com o banco de dados PostgreSQL..........................73
Quadro 22 - Código: Trechos de códigos para leitura e gravação de estradas.........74
Quadro 23 - Código: Realização do buffer e localização dos pontos de conexão.....75
Quadro 24 - Código: Conversão das estradas em “.mp” para “.osm”........................77
Quadro 25 - Código: Leitura e gravação dos mapas vetoriais...................................80
Quadro 26 - Código: Classe para remover os acentos...............................................80
Quadro 27 - Código: Trecho do conversor de mapas “.osm” para “.bin”....................82
LISTA DE TABELAS
Tabela 1 - Significado dos tipos de pontos.................................................................22
Tabela 2 - Significado dos tipos de estradas..............................................................23
Tabela 3 - Conversão das velocidades.......................................................................24
Tabela 4 - Significado das classes de estradas..........................................................25
Tabela 5 - Significado dos tipos..................................................................................26
Tabela 6 - Representação gráfica de alguns elementos utilizados em OSM XML....30
Tabela 7 - Documentação: Requisitos: Visualização..................................................42
Tabela 8 - Documentação: Requisitos: Pesquisar Pontos..........................................43
Tabela 9 - Documentação: Requisitos: Pesquisar Endereços...................................43
Tabela 10 - Documentação: Requisitos: Iniciar Navegação.......................................43
Tabela 11 - Documentação: Descrições do Caso de Uso do Navegador GPS.........45
Tabela 12 - Documentação: Descrições do Caso de Uso do Gerador de Mapas......46
Tabela 13 - Processo de renderização de um tipo de estrada...................................52
Tabela 14 - Comparativo do mesmo município no formato “.mp” vs. “.osm”.............65
Tabela 15 - Comparativo da mesma vegetação no formato “.mp” vs. “.osm”............69
Tabela 16 - Comparativo da mesma estrada nos formatos “.mp” e “.osm”................76
Tabela 17 - Resultado das Trabalho Técnico.............................................................95
LISTA DE SIGLAS
AOSP Android Open Source Project
COPEL Companhia Paranaense de Energia do Paraná
DER Diagrama de Entidade e Relacionamento
GEDIS Número de Cadastro de Equipamentos COPEL
GEO Georreferenciamento da Rede Elétrica COPEL
GPS Global Positioning System (Sistema de Posicionamento Global)
NIO Número de Identificação Operacional 
SDK Software Development Kit
SQL Structured Query Language
TR Transformador de Potência
UC Unidade Consumidora
UML Linguagem de Modelagem Unificada
UTM Universal Transversa de Mercator
WGS 84 World Geodetic System 1984
SUMÁRIO
1 INTRODUÇÃO.........................................................................................................13
1.1 CONSIDERAÇÕES INICIAIS..............................................................................13
1.2 OBJETIVOS.........................................................................................................13
1.2.1 Objetivo Geral.................................................................................................13
1.2.2 Objetivos Específicos......................................................................................14
1.3 JUSTIFICATIVA...................................................................................................14
1.4 ESTRUTURA DO TRABALHO............................................................................15
2 NAVEGADOR GPS E MAPAS VETORIAIS...........................................................16
2.1 SOBRE A COPEL................................................................................................16
2.2 EQUIPAMENTOS MÓVEIS – TABLETS............................................................17
2.3 SISTEMA OPERACIONAL ANDROID................................................................17
2.4 APLICATIVOS NAVEGADORES GPS................................................................18
2.5 OPENSTREETMAP.............................................................................................19
2.6 MAPAS VETORIAIS E SEUS ELEMENTOS......................................................21
2.6.1 Comma Separated Values (.CSV)..................................................................21
2.6.2 Polish Map Format (.MP)................................................................................21
2.6.2.1 Localidades................................................................................................22
2.6.2.2 Pontos de Interesse...................................................................................22
2.6.2.3 Estradas.....................................................................................................24
2.6.2.4 Áreas..........................................................................................................26
2.6.3 OpenStreetMap (.OSM)..................................................................................27
2.6.3.1 Nó (Node)...................................................................................................28
2.6.3.2 Polilinha (Polyline).....................................................................................282.6.3.3 Relacionamento (Relation)........................................................................29
2.6.3.4 Marcações (Tags)......................................................................................30
2.6.3.5 Representação OSM XML.........................................................................31
3 MATERIAIS E MÉTODO.........................................................................................32
3.1 MATERIAIS..........................................................................................................32
3.1.1 UML.................................................................................................................32
3.1.2 Linguagem Java..............................................................................................33
3.1.3 Android SDK...................................................................................................35
3.1.4 SQLite.............................................................................................................36
3.1.5 Eclipse Juno....................................................................................................36
3.1.6 PostgreSQL.....................................................................................................37
3.1.7 Notepad++......................................................................................................38
3.1.8 GPSMapEdit...................................................................................................38
3.1.9 JOSM..............................................................................................................39
3.2 MÉTODO.............................................................................................................40
4 RESULTADO...........................................................................................................42
4.1 APRESENTAÇÃO DO NAVEGADOR GPS........................................................42
4.2 MODELAGEM DO SISTEMA..............................................................................42
4.2.1 Requisitos Funcionais e Não Funcionais.......................................................43
4.2.2 Diagrama de Casos de Uso............................................................................45
4.2.3 Diagrama de Sequencia.................................................................................47
4.2.4 Diagrama de Classes......................................................................................49
4.2.5 Diagrama de Entidade e Relacionamento......................................................51
4.3 DESENVOLVIMENTO DO NAVEGADOR..........................................................52
4.3.1 Tela Principal..................................................................................................52
4.3.2 Visualização do Mapa.....................................................................................53
4.3.3 Níveis de Zoom...............................................................................................55
4.3.4 Pesquisas Diversas........................................................................................57
4.3.5 Roteamento.....................................................................................................60
4.3.5.1 Roteamento Gráfico...................................................................................61
4.3.5.2 Roteamento Sonoro...................................................................................61
4.4 GERAÇÃO DOS MAPAS....................................................................................62
4.4.1 Conversão do Arquivo de Consumidores.......................................................62
4.4.2 Conversão do Mapa de Elementos................................................................66
4.4.2.1 Localidades................................................................................................66
4.4.2.2 Pontos da Rede Elétrica............................................................................68
4.4.2.3 Vegetação e Hidrografia............................................................................70
4.4.3 Concatenador do Mapa de Estradas..............................................................72
4.4.4 Conversão do Mapa de Estradas...................................................................77
4.4.5 Conferência Visual dos Mapas.......................................................................82
4.4.6 Gerador dos Mapas Binários..........................................................................83
4.5 RESULTADO PRÁTICO EM CAMPO.................................................................84
4.6 MATÉRIAS E RECONHECIMENTO...................................................................88
4.6.1 Primeira Matéria na Intranet da COPEL.........................................................88
4.6.2 Segunda Matéria na Intranet da COPEL........................................................89
4.6.3 Terceira Matéria na Intranet da COPEL.........................................................91
4.6.4 Revista COPEL...............................................................................................92
4.6.5 Matéria para Jornal Diário do Sudoeste.........................................................93
4.6.6 Prêmio SENDI Rio de Janeiro .......................................................................95
5 CONCLUSÃO..........................................................................................................98
6 PERSPECTIVAS FUTURAS...................................................................................99
7 REFERÊNCIAS......................................................................................................100
12
1 INTRODUÇÃO
Este capítulo apresenta o contexto no qual se insere a proposta do trabalho, 
os seus objetivos e a justificativa. Por fim está a organização do texto por meio da 
apresentação dos seus capítulos.
1.1 CONSIDERAÇÕES INICIAIS
Atualmente o GPS é uma ferramenta tecnológica muito difundida, 
principalmente pela sua utilização civil em diversas áreas da sociedade, sejam elas 
recreativas ou profissionais. 
Os equipamentos móveis, como Tablets e Smarthphones, possuem cada 
vez mais capacidade de armazenamento e processamento, além de recursos 
avançados de visualização de gráficos com alta resolução, possibilitando assim a 
utilização de novas funcionalidades de comandos por voz e mapas em 3D.
A cada dia é maior a disponibilidade na Internet de mapas vetoriais 
desenvolvidos por órgão públicos, como o IBGE, ou produzido por amadores em 
comunidades livres, a exemplo do OpenStreetMap, referenciado posteriormente 
nesse trabalho. A COPEL possui um cadastro completo com todos os dados 
cartográficos e elétricos do sistema de distribuição de energia no Paraná.
Considerando o contexto favorável para a continuidade do trabalho 
desenvolvido no estágio e a aplicação mais efetiva dos conhecimentos de 
programação na plataforma de desenvolvimento Java e manipulação de dados, 
tornou-se viável o desenvolvimento e implantação de um Navegador GPS e a 
criação de mapas próprios, visando a utilização do sistema por funcionários da 
COPEL nos 399 municípios do Paraná.
1.2 OBJETIVOS
O objetivo geral se refere ao resultado principal obtido com a realização do 
trabalho. E os objetivos específicos o complementam.
1.2.1 Objetivo Geral
13
Desenvolver um aplicativo navegador GPS que possa ler mapas vetoriais 
criados a partir da base cartográfica e elétrica da COPEL.
1.2.2 Objetivos Específicos
• Desenvolver um aplicativo navegador GPS para equipamentos móveis que 
permita a rápida visualização e navegação em campo;
• Gerar mapas vetoriais contendo dados elétricos da empresa COPEL que 
possam ser lidos pelo navegador GPS desenvolvido;
• Implantar o sistema em toda a COPEL para utilizaçãoem campo;
• Analisar os resultados em campo e comprovar a efetividade do sistema.
1.3 JUSTIFICATIVA
No trabalho de estágio, foi apresentada uma alternativa para facilitar a 
navegação de funcionários da empresa COPEL em estradas rurais, por meio da 
utilização de GPS automotivos. Foram gerados mapas personalizados, a partir da 
base de dados da COPEL. Esses mapas permitem, além da visualização de 
estradas rurais - normalmente não disponíveis nos mapas padrão disponibilizados 
pelos aparelhos - a visualização de dados elétricos, como transformadores, fusíveis, 
chaves, entre outros.
O desenvolvimento de um navegador GPS para equipamentos móveis 
surgiu da necessidade de apresentar, para o empregado a serviço da COPEL, novas 
funcionalidades voltadas a visualização dos mapas utilizados e maior comunicação 
com a central de operações.
O GPS automotivo não permite a modificação de seus softwares de 
navegação, impossibilitando assim a adição de novas funcionalidades específicas às 
atividades cotidianas realizadas na empresa COPEL. Sendo assim, tornou-se 
atrativa a ideia de desenvolver um aplicativo que possa ser executado em 
equipamentos móveis e permita a sua personalização.
A fonte dos dados continua sendo proveniente da base cartográfica da 
COPEL, com a necessidade da conversão dos dados para um novo formato 
compatível com o navegador desenvolvido.
14
Esse trabalho de conclusão de curso trará diversos benefícios para a 
empresa COPEL, pois apresenta uma solução que poderá ser implementada sem a 
necessidade de aquisição de GPS automotivo. Será possível a utilização de 
equipamentos já existentes na companhia.
1.4 ESTRUTURA DO TRABALHO
Este trabalho está organizado em capítulos, sendo que o capitulo 1 
apresenta as considerações iniciais, o objetivo e a justificativa.
O capítulo 2 apresenta o referencial teórico centrado em navegadores GPS 
e mapas vetoriais. 
O capitulo 3 apresenta os materiais utilizados na modelagem e no 
desenvolvimento do sistema e o método empregado. Os materiais se referem às 
tecnologias e ferramentas utilizadas. O método apresenta as principais atividades 
realizadas para desenvolver o trabalho. 
No capítulo 4 está o resultado obtido com a realização deste trabalho, que 
corresponde à modelagem e a implementação do sistema. A modelagem é 
apresentada por meio de diagramas e explicações textuais e a implementação por 
meio de telas e trechos de código utilizados no sistema. 
O capítulo 5 apresenta a conclusão do trabalho.
15
2 NAVEGADOR GPS E MAPAS VETORIAIS
Este capítulo apresenta o referencial teórico do trabalho. Esse referencial 
está organizado em seções relacionadas que apresentam o conteúdo que foi 
utilizado como base de conhecimento para o desenvolvimento do Navegador GPS e 
conversão dos mapas vetoriais.
2.1 SOBRE A COPEL
A companhia paraense de energia, COPEL, iniciou suas atividades em 1954, 
sendo uma das maiores empresas do Paraná, atuando nas áreas de geração, 
transmissão e distribuição de energia, além de telecomunicações. Abriu seu capital 
em 1994 tornando-se uma empresa de economia mista controlada pelo governo do 
estado e pela iniciativa privada.
A COPEL atende diretamente a 4.009.281 unidades consumidoras em 396 
municípios e 1.114 localidades (distritos, vilas e povoados) paranaenses. Nesse 
universo incluem-se 3,1 milhões de lares, 84 mil indústrias, 326 mil estabelecimentos 
comerciais e 374 mil propriedades rurais. O quadro de pessoal é integrado por 9.502 
empregados. (COPEL, 2013).
Opera um abrangente e eficaz sistema elétrico com parque gerador próprio 
de usinas, linhas de transmissão, subestações, linhas e redes elétricas do sistema 
de distribuição e um moderno e poderoso sistema óptico de telecomunicações que 
integra as principais cidades do Estado.
A Figura 1 apresenta o logotipo atual da COPEL.
Figura 1 - Logotipo da COPEL
Fonte: COPEL (2012)
Efetua em média, mais de 70 mil novas ligações a cada ano, atendendo 
praticamente 100% dos domicílios nas áreas urbanas e passa de 90% nas regiões 
rurais. (COPEL, 2013).
16
2.2 EQUIPAMENTOS MÓVEIS – TABLETS
Tablet é um dispositivo eletrônico pessoal em formato de prancheta, capaz 
de realizar as mesmas tarefas que um computador desktop ou notebook. Por meio 
dele é possível navegar na Internet, editar documentos, executar jogos, comunicar-
se, realizar videoconferências, explorar mapas, ver TV ou fazer ligações telefônicas.
Sua característica mais marcante é a possibilidade de interagir com os 
aplicativos clicando na tela (touchscreen) sendo esse o dispositivo de entrada 
principal, dispensando a utilização de canetas (TABLETS, 2013).
A Figura 2 apresenta um modelo de tablet da fabricante Samsung.
Figura 2 - Tablet da Samsung
Fonte: GALAXY (2013).
A popularização deste tipo de computador se deu com o lançamento do 
iPad, pela fabricante Apple, em 2010. Após o enorme sucesso do iPad, outras 
fabricantes passaram a desenvolver Tablets com recursos semelhantes utilizando 
principalmente o sistema operacional Android da Google. (TABLETS, 2013).
2.3 SISTEMA OPERACIONAL ANDROID
Android é um sistema operacional móvel baseado no núcleo do Linux. É 
desenvolvido e mantido pela Google em conjunto com a Open Handset Alliance, 
uma aliança de várias empresas. 
17
O sistema operacional Android foi desenvolvido pela Android Inc., adquirida 
pelo Google em julho de 2005 (DEITEL et al., 2013, p. 4).
Em 2008 o Android transformou-se em Open Source, com o código 
publicado como Android Open Source Project (AOSP), sendo assim de código-fonte 
aberto. A Figura 3 ilustra o símbolo principal do Android, o bugdroid.
Figura 3 - Logotipo do Android
Fonte: BUGDROID (2013)
As principais características do Android referem-se a fácil adaptação aos 
diferentes tipos de layouts dos aparelhos e diferentes resoluções e tamanhos de 
telas, exigindo gráficos 2D e 3D; utiliza o banco de dados SQLite para 
armazenamento de dados; suporta diferentes tipos de formatos de mídia; é 
totalmente capaz de fazer uso de câmeras de vídeo, GPS, bluetooth; inclui um 
emulador capaz de permitir o debugging, depuração de aplicativos, sendo essa uma 
funcionalidade vital para o desenvolvimento de aplicativos (ANDROID, 2013).
Com o lançamento do SDK (Software Development Kit), ou seja Kit de 
Desenvolvimento de Software, foi possível o desenvolvimento de aplicativos em 
linguagem Java.
2.4 APLICATIVOS NAVEGADORES GPS
Um navegador GPS, é um aparelho ou aplicativo com a função de auxiliar o 
motorista na navegação, seja traçando rotas e indicando o melhor caminho, ou 
simplesmente exibindo o mapa das estradas e os pontos de interesse ao longo do 
trecho.
18
A funcionalidade principal do GPS, é receber os sinais emitidos por satélites, 
que contém a longitude, latitude e altitude e assim converter em informações 
relevantes para o motorista (GPS, 2013).
Um exemplo de navegação com visualização 3D pode ser visto na Figura 4.
Figura 4 - Aplicativo navegador GPS
Fonte: APLICATIVOGPS (2013)
O simples fato de saber “onde se está” já é algo importante para uma 
orientação em campo, sendo possível identificar quais as saídas ou caminhos mais 
próximas.
O GPS deve permitir a pesquisa por endereço e/ou pontos próximos citando 
como exemplo, postos de combustíveis mais próximos.
Outra funcionalidade em destaque é a utilização de navegação por voz onde 
o usuário pode falar para onde deseja ir e escutar orientações de manobras a serem 
seguidas enquanto percorre o trajeto sugerido pelo GPS.
2.5 OPENSTREETMAP
OpenStreetMap é um projeto colaborativo, que possui um formato próprio de 
mapa livre e editável do mundo todo. Os mapassão criados e mantidos por qualquer 
pessoa que queira colaborar.
19
O projeto foi fundado em 2004 por Steve Coast, sendo que inicialmente os 
mapas foram desenvolvidos com a utilização de coordenadas GPS anotadas em 
mapas impressos e posteriormente, a partir de 2006, empresas autorizaram a 
utilização de forma livre de seus dados cartográficos e fotos aéreas para 
atualizações do mapa mundial. 
OpenStreetMap tem regras rigorosas quanto a utilização de mapas 
comerciais para alimentar seu mapa público, exigindo liberação formal dos dados 
antes da inclusão, pois sua licença é a Creative Commons 2.0 (OPENSTREETMAP, 
2013).
O mapa completo do projeto pode ser visualizado no endereço eletrônico 
(COAST, 2013), onde áreas especificas do mapa podem ser exportadas para 
analise e edição offline.
A Figura 5 apresenta a página inicial do projeto juntamente com a 
visualização da área do Paraná em destaque.
Figura 5 - Tela inicial do OpensStreetMap
 
Os dados mantidos no OpenStreetMap possuem a extensão de arquivo 
“.osm”, sendo um formato XML, o que proporciona uma visualização rápida e legível 
de todo seu conteúdo, permitindo o desenvolvimento de mapas próprios.
20
2.6 MAPAS VETORIAIS E SEUS ELEMENTOS
Mapas vetoriais são compostos por coordenadas que representam pontos 
de interesse (postos de combustível, lojas, bancos), linhas (estradas de terra, 
rodovias, rios), polilinhas (áreas de mata, oceanos). Esses elementos em conjunto 
podem representar todos os objetos existentes no meio ambiente e assim 
proporcionar a visualização e navegação nos mapas desenvolvidos. 
Os próximos itens demonstram os três formatos de mapas vetoriais 
utilizados para analise, conversão e criação dos mapas próprios para COPEL. 
2.6.1 Comma Separated Values (.CSV)
Traduzido para o português, refere-se a valores separados por virgula. É um 
formato de arquivo que armazena dados tabelados, separados por um delimitador, a 
vírgula. Para separar as linhas é utilizado um caractere especial de quebra de linha.
Quando é necessário utilizar caracteres especiais (vírgula, quebra de linha, 
ou aspas) nos campos, então utiliza-se aspas duplas para o campo todo. Um 
exemplo já utilizando dados reais da COPEL, em formato “.csv”, pode ser 
visualizado no Quadro 1.
NUMERO_UC,COD_LOCAL_UC,NIO_MEDIDOR,COORDENADAS,REGIONAL
51418517,2242,922807116,"[-52.1143124623513,-25.3690756322014]",SDO
81345259,5026,244733617,"[-53.8459049386436,-24.2805152768301]",SDO
51204614,4972,232200073,"[-51.9868981983845,-26.498073160458]",SDO
81529554,6184,301506523,"[-53.4825302868025,-25.8207912305414]",SDO
81176104,4444,291131763,"[-53.0320568992716,-26.1462776940661]",SDO
81371403,1810,264702160,"[-53.216389685935,-25.6348829415196]",SDO
Quadro 1 - Conteúdo de um arquivo “.csv” no padrão COPEL
A grande vantagem da utilização de arquivos “.csv”, é que o arquivo é em 
formato de texto, permite uma enorme quantidade de informações e é independente 
de programas específicos para poder ser visualizado (CSV, 2013).
2.6.2 Polish Map Format (.MP)
É um formato polonês para mapas vetoriais baseados no modo texto corrido 
com quebra de linha após cada nova informação. 
21
É usado principalmente como formato base para criação de mapas para 
aparelhos GPS Automotivos da marca GARMIN. 
A formatação dos arquivos é em linhas, seguindo sequências de 
informações delimitadas em colchetes a cada agrupamento de característica. O sinal 
de igual (“=”) é utilizado para separar a chave do seu respectivo valor (MP, 2013).
2.6.2.1 Localidades
Para que seja possível a localização de endereços no GPS é necessário 
informar os relacionamentos entre as diferentes localidades no arquivo “.mp”. 
O Quadro 2 apresenta um pequeno exemplo da formatação das localidades. 
[Countries]
Country1=BRASIL
[END-Countries]
[Regions]
Region1=SÃO PAULO
CountryIdx1=1
Region2=PARANÁ
CountryIdx2=2
[END-Regions]
[Cities]
City3406=PATO BRANCO
RegionIdx3406=1
City1039=CASCAVEL
RegionIdx1039=1
City2351=CAMPINAS
RegionIdx2351=2
[END-Cities]
Quadro 2 - Representação no formato .MP para localidades
2.6.2.2 Pontos de Interesse
Para representar pontos de interesse é utilizada a chave principal [POINT]. 
O Quadro 3 apresenta um ponto de interesse em formato descritivo no padrão “.mp”.
[POINT]
Type=0x2f01
Label=Posto Kalhambeque
22
City=25
Data0=(-25.6706924438,-52.1251258850)
StreetDesc=Avenida Tupy
HouseNumber=675
Phone=(46)3220-2291
[END]
Quadro 3 - Codificação “.mp” para representar um ponto de interesse
Algumas informações precisam ser inseridas para representar o ponto de 
interesse (GPSMAPEDIT2, 2013):
• Type: É o atributo que indica o tipo do ponto, sendo inserido um valor 
hexadecimal. A Tabela 1 apresenta alguns tipos de pontos de interesse 
com sua respectiva categoria.
Tabela 1 - Significado dos tipos de pontos
Valor MP Categoria Descrição
0x650c Água Ilha
0x2a03 Alimento Restaurante (Churrascaria)
0x2b01 Alojamento Hotel/Motel
0x2c03 Atrações Biblioteca
0x2f01 Automóvel Posto de combustível
0x5905 Aviação Aeroporto
0x3000 Cidades Cidade Grande (2-5 milhões)
0x4000 Esportes Campo de Golf
0x2f05 Serviços Correios
0x2e01 Shopping Compras/Shopping
• Label: É o nome do ponto de interesse que será utilizado para exibição 
na tela e fonte de pesquisa do local. Possui uma limitação de 80 caracteres.
• City: Corresponde ao número da cidade criada no início do mapa e 
serve para atrelar o ponto ao seu município sede possibilitando assim uma 
pesquisa mais precisa por proximidade.
• Data0: É a coordenada do ponto no mapa. O ponto de interesse deve 
possuir apenas 1 coordenada de latitude e longitude.
• StreetDesc: Nesta tag deve ser inserido o endereço do ponto quando 
existir.
23
• HouseNumber: Número do logradouro.
• Phone: Número do telefone.
2.6.2.3 Estradas
Para representar estradas utiliza-se a chave principal [POLYLINE] e ao 
término dos detalhamentos a tag [END]. O Quadro 4 contém um exemplo de 
polilinha utilizando os atributos necessários para representar uma estrada.
[POLYLINE]
Type=0x2
Label=PR-180
DirIndicator=0
RoadID=283
RouteParam=5,3,0,0,0,0,0,0,0,0,0,1
Data0=(-25.994,-53.0856),(-25.9958,-53.0856),(-26.0208,-53.0675),(-26.0234,-53.066)
Label2=Rodovia dos imigrantes
[END]
Quadro 4 - Codificação “.mp” para representar uma rodovia
Algumas informações devem ser inseridas para representar a estrada 
corretamente (GPSMAPEDIT2, 2013):
• Type: É o atributo que indica o tipo da estrada, sendo inserido um valor 
hexadecimal. A Tabela 2 apresenta os principais tipos de estradas.
Tabela 2 - Significado dos tipos de estradas
Valor MP Descrição
0x0 Rodovia
0x1 Rodovia tronco/federal
0x2 Rodovia principal/estadual
0x3 Outras rodovias
0x4 Estrada principal
0x5 Estrada secundária
0x6 Rua residencial
0x7 Viela/Acesso particular
0x8 Rampa de rodovia, baixa velocidade
0x9 Rampa de rodovia, alta velocidade
24
0x0a Rodovia sem pavimentação
0x0b Conector da autoestrada maior
0x0c Rotatória
• Label: É o nome da estrada que será utilizado para exibição na tela e 
fonte de dados para pesquisa de endereços. Possui uma limitação de 80 
caracteres.
• DirIndicator: Utiliza valor binário (0 e 1) para sinalizar se a direção da 
estrada deve ser exibida quando se clica na tela do GPS.
• RoadID: É o número da estrada. Esse número é único para cada 
estrada.
• RouteParam: Para indicar atributos específicos de cada estrada são 
utilizados valores numéricos separados por “,” (virgula). Seguindo o padrão 
da linha RouteParam=3,1,1,0,0,0,0,0,0,0,0,1 e analisando a codificação 
dos valores após o sinal de “=” (igual), destacam-se os seguintes atributos 
na ordem respectiva:
a. Velocidade: Para indicar a velocidade máxima da pista é utilizada 
uma escala numérica de 0 a 7. A Tabela 3 representa essa escala de 
conversão.
Tabela 3 - Conversãodas velocidades
Valor MP Valor real
7 128 Km/h
6 108 Km/h
5 93 Km/h
4 72 Km/h
3 56 Km/h
2 40 Km/h
1 20 Km/h
0 8 Km/h
b. Classe: O principal atributo para a realização do cálculo de 
roteamento é a determinação da classe da estrada. A Tabela 4 
representa essa escala de conversão.
25
Tabela 4 - Significado das classes de estradas
Valor MP Descrição
0 Rua Residencial/Beco/Estrada sem asfalto/Trilha
1 Rotatória/Coletor
2 Rua Arterial/Outras Rodovias
3 Rodovia Principal
4 Rodovia Principal/Rampa
c. Sentido: Para indicar que uma determinada estrada possui apenas 
um sentido único de trânsito é utilizado o valor numérico “1” (um) e 
quando a estrada permitir o trânsito em ambas as direções utiliza-se o 
valor “0” (zero) para representar.
d. Pedágio: Para estrada sem pedágio utiliza-se o valor numérico “0” 
(zero), já com pedágio utiliza-se “1”;
e. Demais valores: Referem-se a restrições de acesso para 
determinados meio de transporte onde segue-se o mesmo padrão de 
representação onde “0” (zero) para permitir o acesso e “1” (um) para 
estrada com restrição de acesso. O valor padrão é “0” permitindo o 
acesso a todos tipos de transporte. A sequência de tipos de veículos é 
a seguinte: ambulâncias; entregas; passeio; ônibus; táxi; pedestres; 
bicicletas e caminhões.
• Data0: Representa as coordenadas dos pontos de cada trecho. Uma 
estrada precisa no mínimo de 2 valores de latitude e longitude agrupados 
em parênteses e separados por “,” (vírgula). O padrão da coordenada é o 
WGS84.
• Label2: É o nome de referência da estrada sendo utilizado em caixas 
delimitadoras para dar destaque ao nome. Geralmente utilizado em 
rodovias federais e estaduais.
2.6.2.4 Áreas
Para representar áreas fechadas se utiliza a chave principal [POLYGON] e 
ao término dos detalhamentos a tag [END]. As áreas não são utilizadas para 
pesquisa, sendo apenas utilizadas como objetos de visualização.
26
O Quadro 5 contém um exemplo de polígono e seus atributos.
[POLYGON]
Type=0x20
Label=RESERVA BIOLÓGICA DO PARANÁ
Data0=(-24.94109,-53.51151),(-24.94087,-53.51202),(-24.94083,-53.51166)
[END]
Quadro 5 - Representação de uma área de preservação ambiental
Algumas informações devem ser inseridas para representar o polígono 
corretamente (GPSMAPEDIT2, 2013).
• Type: É o atributo que indica o tipo de área, sendo inserido um valor 
hexadecimal. A Tabela 5 apresenta os principais tipos de polígonos.
Tabela 5 - Significado dos tipos
Valor MP Categoria Descrição
0x0028 Água Mar/Oceano
0x0046 Água Rio principal > 1 Km
0x0018 Esporte Campo de Golf
0x0020 Terra Parque estadual
0x0016 Terra Parque nacional
0x000c Feito pelo Homem Complexo industrial
• Label: É o nome da área que será utilizado para exibição na tela. 
Possui uma limitação de 80 caracteres.
• Data0: Representa as coordenadas dos pontos de cada trecho. Uma 
estrada precisa no minimo de 2 valores de latitude e longitude agrupados 
em parênteses e separados por “,” (vírgula). O padrão da coordenada é o 
WGS84.
2.6.3 OpenStreetMap (.OSM)
O formato OSM, é um sistema de marcação livre que utiliza o esquema XML 
como base para manter uma forma legível de estrutura transparente e independente 
27
da máquina ou sistema operacional que vai ser executado. Pode conter um número 
ilimitado de dados. 
Basicamente um arquivo “.osm” contém instâncias, com base em elementos 
primitivos (nós, linhas, polígonos e relacionamentos) para representar todas formas 
existentes em um mapa vetorial (OSM, 2013).
Um elemento primitivo é um componente básico do OpenStreetMap ao qual 
tudo pode ser representado e definido (ELEMENTOS, 2013). 
2.6.3.1 Nó (Node)
Representa um único ponto geoespacial utilizando uma latitude e longitude. 
Podem ser utilizados para apresentar características de pontos independentes ou na 
definição de caminhos de uma estrada. 
A Figura 6 exemplifica o ponto no padrão OpenStreetMap.
Figura 6 - Ponto OMS XML
O Quadro 6 demonstra a representação de um ponto como exemplo.
<node id="183" version="1" changeset="12370" lat="54.090066" lon="12.253938" 
user="rebelato" uid="75625" visible="true" timestamp="2013-02-12T09:43:19Z">
<tag k="name" v="UTFPR – Pato Branco"/>
<tag k="amenity" v="university"/>
</node>
Quadro 6 - Codificação OSM XML para um ponto de interesse
2.6.3.2 Polilinha (Polyline)
Polilinha é usada para representar características lineares (abertas e 
fechadas) ou polígonos (áreas fechadas). Estradas, rios, linhas ferroviárias e trilhas 
são representados por polilinhas abertas. Já polilinhas fechadas, quando o ponto 
inicial conecta com o ponto final, representam círculos ou perímetros vazados sem 
28
conteúdo interno. Áreas são polígonos fechados que representam, açudes, mata, 
construções e demais propriedades. A Figura 7 demonstra as polilinhas e área no 
padrão OpenStreetMap.
Figura 7 - Polilinha aberta, Polilinha fechada e Área OSM XML
O Quadro 7 representa uma rodovia utilizando uma polilinha aberta.
<way id="26659127" user="rebelato" uid="5598" visible="true" version="5" changeset="414260" 
timestamp="2013-02-12T11:47:08Z">
<nd ref="2924"/>
<nd ref="2988"/>
<nd ref="2617"/>
 ...
<tag k="highway" v="trunk"/>
<tag k="name" v="BR-277"/>
</way>
Quadro 7 - Codificação OSM XML para representar uma rodovia
2.6.3.3 Relacionamento (Relation)
Uma relação consiste de uma lista ordenada de nós, polilinhas e outras 
relações. É utilizada para representar relações lógicas ou geográficas entre outros 
elementos. Limites territoriais, linhas de ônibus e restrições de manobra são 
representadas com a utilização de relacionamentos. A Figura 8 exemplifica o 
relacionamento no padrão OpenStreetMap.
Figura 8 - Relação OSM XML
O Quadro 8 apresenta a utilização de uma relação para representar o 
itinerário de uma linha de ônibus urbano.
29
<relation id="5668" user="rebelato" uid="5619" visible="true" version="28" changeset="69476" 
timestamp="2011-01-12T14:23:49Z">
<member type="node" ref="294942" role=""/>
<member type="way" ref="4579143" role=""/>
 ...
<tag k="name" v="UTFPR - Alvorada"/>
<tag k="operator" v="Motorista José"/>
<tag k="ref" v="123"/>
<tag k="route" v="bus"/>
<tag k="type" v="route"/>
</relation>
Quadro 8 - Representação de uma relação entre pontos e polilinhas
2.6.3.4 Marcações (Tags)
Outra representação importante são as “tags”. Comumente denominadas 
etiquetas, são pequenas unidades de dados anexadas aos elementos primitivos. 
Consistem em dois campos de formato livre textualmente, uma “chave” e um “valor”, 
cada um sendo sequências de caracteres que representam características 
importantes dos elementos.
Tags podem representar a velocidade máxima de uma estrada ou o telefone 
de uma pizzaria, bastando apenas utilizar chaves sugeridas pela comunidade 
OpenStreetMap, que são interpretadas por todos os sistemas de visualização de 
mapas. 
O Quadro 9 exemplifica a utilização de “tags” para incrementar as 
informações de uma estrada formada por uma polilinha.
<way id="26659127" user="rebelato" uid="5598" visible="true" version="5" changeset="414260" 
timestamp="2013-02-12T11:47:08Z">
<nd ref="2924"/>
<nd ref="2988"/>
<nd ref="2617"/>
 ...
<tag k="highway" v="trunk"/> // Tipo: Rodovia Federal
<tag k="oneway" v="no"/> // Não é sentido único
<tag k="lanes" v="3"/> // Quantidade de pistas
<tag k="name" v="BR-277"/> // Nome da pista
<tag k="maxspeed" v="110"/> // Velocidade máxima
</way>
Quadro 9 - Várias tags representando características da rodovia
30
2.6.3.5 Representação OSM XML
Utilizando os elementos do padrão OSM é possível representar tudo que 
existe em um ambiente e incluir o maior número de atributos possíveis para que 
esses sejam utilizados pelo software de renderização dos mapas.
A Tabela 6 exibe alguns exemplos de elementos visuais que podem ser 
representadosem um mapa vetorial.
Tabela 6 - Representação gráfica de alguns elementos utilizados em OSM XML
Chave Valor Tipo Visual mapa Foto real
barrier fence 
Cerca de arrame farpado. 
Divisa de propriedade rural.
boundary administrative
Limite de município, estado 
ou país.
highway trunk
Rodovia. Tipicamente 
utilizada para rodovias 
estaduais.
sport golf
Ponto (nó) indicando o nome 
do campo de golf.
31
3 MATERIAIS E MÉTODO
Este capítulo apresenta os materiais e o método utilizados na realização 
deste trabalho. Os materiais se referem às tecnologias como linguagens e 
ferramentas para a modelagem e a implementação do sistema. O método contém as 
etapas com os principais procedimentos utilizados para o desenvolvimento do 
sistema, abrangendo o levantamento dos requisitos e a definição das tecnologias a 
serem utilizadas nos testes.
3.1 MATERIAIS
As ferramentas e as tecnologias utilizadas para o desenvolvimento do 
sistema foram:
a) UML para realizar a modelagem do sistema;
b) Java como a linguagem de programação;
c) Android SDK (Software Development Kit) como compilador mobile;
d) SQLite para o banco de dados do navegador;
e) Eclipse Juno como IDE de desenvolvimento;
f) PostgreSQL para o banco de dados;
g) Notepad++ como visualizador dos mapas em formato texto (.csv);
h) GPSMapEdit como visualizador dos mapas no estágio intermediário (.mp);
i) JOSM para visualizador dos mapas no formato final (.osm).
A seguir são apresentadas algumas características referentes a cada 
material utilizado.
3.1.1 UML
 A Linguagem de Modelagem Unificada (Unified Modeling Language - UML) 
é a linguagem utilizada para representar graficamente todos os elementos 
envolvidos em um sistema orientado a objetos.
“A UML não é uma metodologia, mas sim uma linguagem de 
modelagem gráfica para descrever um projeto de software. A 
UML surgiu da união dos métodos Booch e OMT em 1994, 
quando seus autores (Grady Booch e James Rumbaugh) 
juntaram forças através da Rational Corporation e unificaram 
completamente seus trabalhos. (BOOCH, 2000)”. 
32
Na UML existem vários modelos para representar a compreensão do 
sistema, e não um modelo único que represente a totalidade do sistema. Para 
representar o sistema é possível utilizar diferentes diagramas, ou seja, 
representações gráficas, que dividem-se em três famílias, segundo Wazlawick 
(2011):
a) Diagramas estruturais: diagramas de pacotes, classes, objetos, estrutura 
composta, componentes e distribuição;
b) Diagramas comportamentais: diagramas de caso de uso, atividades e 
máquina de estados;
c) Diagramas de interação: diagramas de pacotes de comunicação, 
sequência, tempo e visão geral de integração.
As principais vantagens na utilização da UML são a padronização; 
independência na linguagem utilizada para o desenvolvimento do sistema; 
diversidades de visões; ser extensível e adaptável.
A UML é utilizada desde sistemas simples aos mais complexos. Atualmente 
ela está sendo empregada nas mais diversas áreas, como por exemplo: serviços de 
bancos e finanças, telecomunicações, transportes, vendas, sistemas distribuídos, 
entre outros.
3.1.2 Linguagem Java
Java é uma linguagem de programação de alto nível orientada a objetos, 
cujo código-fonte gerado é organizado em classes.
Desenvolvida a partir da década de 90 por uma equipe da Sun Microsystem, 
chefiada por James Goling, é diferente das linguagens convencionais pois sua 
execução acontece em uma máquina virtual (JAVA, 2013). Uma máquina virtual 
permite que a aplicação seja executada em diferentes sistemas operacionais sem a 
necessidade de reescrever o código.
Para execução do programa o código de máquina é gerado por um 
compilador java, o javac. O código gerado é conhecido por bytecode, sendo esse 
traduzido pela máquina virtual java (JVM).
Classes em Java podem ser concretas ou abstratas permitindo assim a 
utilização dos conceitos de polimorfismo e herança, trazendo assim a reutilização, 
33
clareza e fácil manutenção do código. Java oferece suporte a operações em Banco 
de Dados.
Java possui desalocação de memória automática por processo coletor de 
lixo (garbage collection). Esse processo otimiza o uso da memória durante a 
execução do programa (JAVA, 2013).
Java é dividido em três grandes edições:
1. Java Standard Edition (JSE) : É a tecnologia Java para computadores 
pessoais, notebooks e arquiteturas com poder de processamento e 
memória consideráveis.
2. Java 2 Mobile Edition (JME) : É a tecnologia Java para dispositivos 
móveis. Possui APIs bem simples e leves para economizar espaço, 
memória e processamento. 
3. Java 2 Enterprise Edition (JEE) : É a tecnologia Java para aplicações 
corporativas que podem estar na Internet ou não. Possui um grande 
número de APIs onde a segurança é a principal preocupação. É ideal para 
a construção de servidores de aplicação, integração de sistemas ou 
distribuição de serviços para terceiros.
A Figura 9 apresenta a um exemplo da linguagem Java em uma classe 
utilizada para representar um serviço, onde são apresentados os atributos que são 
referenciados em um construtor.
Figura 9 - Exemplo da linguagem Java utilizada
34
Para o desenvolvimento do navegador GPS foi optado em utilizar a linguagem 
Java, devido as vantagens citadas acima e ao fato de o sistema operacional Android 
a utilizar como padrão de programação. 
3.1.3 Android SDK
O SDK é um kit de desenvolvimento para o Android que proporciona 
ferramentas e chamadas via API na linguagem Java, para desenvolvimento de 
programas. 
A Figura 10 apresenta a tela principal do Android SDK Manager, que 
possibilita que o aplicativo desenvolvido para Android seja testado em diferentes 
versões da API, e que as novas funcionalidades da linguagem Android sejam 
atualizadas de maneira prática.
Figura 10 - Tela do Android SDK Manager
Para o desenvolvimento do navegador GPS foi utilizada a API 2.2 do 
Android, sendo copiadas todas as versões mais recentes para poder utilizar 
conjuntamente funcionalidades novas e antigas do Android.
35
3.1.4 SQLite
 SQLite é uma ferramenta de manipulação e armazenamento de dados 
através de comandos SQL. É simples e eficiente, desenvolvida na linguagem C 
padrão (ANSI). 
Na prática, o SQLite funciona como um “mini-SGB”, capaz de criar um 
arquivo em disco e ler e escrever diretamente sobre este arquivo. O arquivo possui a 
extensão “.db” e é capaz de manter diversas tabelas.
Foi utilizado como banco de dados no navegador GPS desenvolvido em 
Android, pois é um software gratuito, multiplataforma e não necessita instalação, 
configuração ou administração.
3.1.5 Eclipse Juno
O Eclipse é um ambiente integrado de desenvolvimento (IDE) que começou 
a ser desenvolvido no final dos anos 90 pela IBM. Essa ferramenta é open source, 
ou seja, de código livre. É um IDE comumente utilizado para desenvolvimento Java, 
no entanto, por meio de plugins, pode ser usado para desenvolver várias linguagens 
(ECLIPSE, 2013). A Figura 11 exibe a tela do Eclipse em utilização.
Figura 11 - Tela demonstrativa da IDE Eclipse
36
Como o Eclipse possui integração com Android e tem diversas ferramentas 
voltadas para a linguagem Java, esse aplicativo foi utilizado para o desenvolvimento 
dos conversores do mapas e para o navegador GPS.
3.1.6 PostgreSQL
PostgreSQL é um sistema gerenciador de banco de dados objeto-relacional 
(SGBDOR), desenvolvido como projeto de código livre, desenvolvido pelo 
Departamento de Ciência da Computação da Universidade da Califórnia em 
Berkeley, e possui mais de 15 anos. É um banco de dados extremamente robusto e 
confiável, além de extremamente flexívele rico e recursos (POSTGRESQL, 2013).
O gerenciador conta com recursos como, consultas complexas, chaves 
estrangeiras, integridades transacional, triggers e principalmente o suporte a dados 
espaciais com a utilização do módulo PostGIS.
A tela principal do PostgreSQL é exibida na Figura 12 abaixo.
Figura 12 - Tela do PostgreSQL
PostgreSQL foi utilizado para manipulação dos dados que foram utilizados 
para gerar os mapas vetoriais, já que permite a utilização de dados geoespaciais 
(dados com coordenadas).
37
3.1.7 Notepad++
É um editor de textos e códigos fonte completo que suporta as mais diversas 
linguagens de programação (NOTEPAD, 2013).
Possibilita a abertura de arquivos com mais de 65 mil linhas e possibilita a 
execução de comando de localização e substituição de caracteres levando em 
consideração expressões complexas de pesquisa e renomeação de palavras. Essa 
ferramenta é executada no ambiente Microsoft Windows sendo baseada na licença 
GNU (General Public License). 
A Figura 13 apresenta a tela principal do Notepad++.
Figura 13 - Tela principal da ferramenta NotePad++
Esse aplicativo foi utilizado para visualização e manipulação dos mapas 
vetoriais em formato texto ou XML.
3.1.8 GPSMapEdit
O GPSMapEdit é um aplicativo que permite a visualização de mapas 
vetoriais e seu formato nativo é “.mp” (polish format). É possível editar e categorizar 
os eixos viários alterando sua categoria, velocidade limite, restrições de manobra e 
muitas outras opções (GPSMAPEDIT1, 2013).
38
Com o GPSMapEdit é possível realizar verificações de consistência do mapa 
conferindo as conexões das estradas e o caminho sugerido pelo roteamento 
simulado.
Abaixo um exemplo da visualização do mapa rural da COPEL na Figura 14.
Figura 14 - GPSMapEdit com mapa vetorial aberto
Esse aplicativo foi utilizado para visualizar graficamente os mapas, no 
formato “.mp”, no estágio intermediário de processamento, possibilitando assim um 
reconhecimento visual de possíveis falhas.
3.1.9 JOSM
Java OpenStreetMap Editor (JOSM), desenvolvido por Immaniel Scholz, é 
um editor de dados no formato “.osm”, formato esse original do site 
“OpenStreetMap” (JOSM, 2013).
É possível carregar mapas de todos os tamanhos e visualizar possíveis 
falhas de conexão entre os nós de roteamento ou informações incorretas nas 
descrições nos pontos.
Na Figura 15 é possível evidenciar a facilidade em visualizar mapas 
completos.
39
Figura 15 - JOSM exibindo o mapa vetorial do Rio de Janeiro
JOSM foi utilizado para visualizar graficamente os mapa, no formato “.osm”, 
após serem concluídos. A visualização é muito importante para garantir a 
confiabilidades das informações convertidas.
3.2 MÉTODO
O método consiste nas atividades que foram realizadas para o 
desenvolvimento deste trabalho de conclusão. Os procedimentos seguidos foram 
baseados no modelo sequencial linear (PRESSMAN, 2005) sendo: definição dos 
requisitos, análise e projeto, implementação e testes.
a) Definição dos requisitos – Os requisitos foram definidos com base no 
trabalho realizado como estágio, comparando as funcionalidades do 
navegador GPS automotivo desenvolvido com as funcionalidades solicitadas 
para o aplicativo Android. Aliando a isso as experiências obtidas em campo 
durante os serviços realizados para a COPEL, foram definidos os requisitos 
funcionais e não funcionais para o Navegador GPS.
b) Análise e projeto - Para a análise foram desenvolvidos dois diagramas de 
casos de uso, sendo um para o Navegador GPS e outro para o Gerador de 
Mapas. Foram também gerados diagramas de sequencia e de classes para o 
40
Navegador GPS. Representando a estrutura do banco de dados, foi gerado o 
diagrama de entidades e relacionamentos para ambos os sistemas. 
c) Implementação - Nesta fase do projeto foi realizada a codificação do 
aplicativo navegador GPS e os testes de conversão dos mapas vetoriais.
d) Testes - Os testes foram realizados em campo, em situações reais, pelos 
próprios funcionários da COPEL e foram de vital importância para o 
aperfeiçoamento da ferramenta.
41
4 RESULTADO
Este capítulo apresenta o que foi obtido com o desenvolvimento do 
aplicativo Navegador GPS e o Gerador dos mapas vetoriais personalizados, 
baseados nos dados cartográficos e elétricos da COPEL.
Em um primeiro momento, serão descritas as principais funcionalidades do 
Navegador GPS, sendo demonstrados os requisitos levantados, Diagrama de Caso 
de Uso, Diagrama de Classes e Diagrama de Sequência, além do Diagrama de 
Entidade e Relacionamento, utilizado para modelar o banco de dados.
Na sequência será apresentado o processo de conversão, do formato “.mp” 
para “.osm” dos mapas vetoriais e sua conversão para o formato binário final de 
visualização no Navegador GPS.
Por fim será apresentada a utilização em campo do Navegador GPS 
devidamente instalado em um Tablet e sendo utilizado em conjunto com os mapas 
binários compilados pelo conversor de mapas desenvolvido.
4.1 APRESENTAÇÃO DO NAVEGADOR GPS
O aplicativo Navegador GPS tem como finalidade principal propiciar a rápida 
visualização de mapas vetoriais que também foram desenvolvidos para este 
trabalho. Com esse sistema os funcionários da COPEL poderão localizar-se em 
campo, visualizando a rede elétrica mais próxima, assim como as estradas urbanas 
e rurais que deve seguir, utilizando um dispositivo móvel.
No navegador GPS desenvolvido, há a possibilidade de pesquisar todos os 
pontos da rede elétrica do estado do Paraná bastando apenas digitar o código único 
de cada elemento.
A funcionalidade principal do aplicativo é a utilização dos mapas vetoriais 
próprios e consequentemente o cálculo do roteamento, sugerindo assim o melhor 
caminho a ser seguido do ponto de partida até o destino final.
4.2 MODELAGEM DO SISTEMA
O presente trabalho foi modelado baseando-se principalmente na Análise 
Orientada a Objetos, utilizando, portanto, os conceitos e diagramas da UML. 
42
Segundo Booch (2000), UML é uma linguagem padrão para elaboração da estrutura 
de projetos de software, podendo ser empregada para visualização, especificação, 
construção e documentação dos artefatos de sistemas de software.
Para o desenvolvimento do sistema primeiramente foi realizado o processo 
de levantamento dos requisitos, sendo possível identificar as principais 
necessidades para o sistema em questão, conforme apresentado no item 3.2.
Após o levantamento dos requisitos seguida de sua classificação, de acordo 
com requisitos funcionais e não-funcionais, foram realizados os diagramas de casos 
de uso, diagrama de sequencia, diagrama de classes e o diagrama de entidades e 
relacionamentos.
4.2.1 Requisitos Funcionais e Não Funcionais
A analise de requisitos busca descrever as operações que o sistema realizará 
e as restrições sobre essas operações. Os requisitos funcionais são as operações 
que descrevem as funcionalidades do sistema e suas ações para cada entrada, ou 
seja, são as funcionalidades identificadas como necessárias ao sistema que será 
desenvolvido. As restrições sobre as funcionalidades são denominadas requisitos 
não-funcionais (WAZLAWICK, 2011). As tabelas de 7 a 10 apresentam os requisitos 
funcionais e restrições resultantes dessa análise, com base em Wazlawick (2011). 
Tabela 7 - Documentação: Requisitos: Visualização
F1 Visualização do Mapa Oculto ( )
Descrição: 
O Navegador GPS deve permitir que o funcionário da Copel possa visualizar o mapa completo das 
estradas e rede elétrica da COPEL.
Requisitos Não-Funcionais
Nome Restrição Categoria Desejável Permanente 
NF 1.1
Controle de acesso
A opção só pode ser acessada 
por equipamentos móveis 
autorizados pela COPEL.
Segurança ( ) ( x )
NF 1.2
Coordenada inicialO funcionário informa o ponto 
inicial para posicionar o mapa 
ou aguarda o receptor GPS 
captar o sinal de satélite.
Interface ( x ) ( )
NF 1.3
Níveis de zoom
O funcionário deve manipular 
os botões de (+) e (-) para 
acionar o carregamento do 
mapa.
Interface ( ) ( x )
43
Tabela 8 - Documentação: Requisitos: Pesquisar Pontos
F2 Pesquisar Pontos Oculto ( )
Descrição: 
Pesquisar pontos possibilita encontrar qualquer elemento da rede elétrica da COPEL que esteja 
contido nos mapas vetoriais gerados.
Requisitos Não-Funcionais
Nome Restrição Categoria Desejável Permanente 
NF 2.1
Consistência dos 
dados
O Navegador precisa verificar 
a indexação a cada 
inicialização do sistema.
Segurança ( ) ( x )
NF 2.2
Coordenada atual
O receptor GPS precisa 
fornecer a coordenada atual 
do aparelho para iniciar a 
pesquisa radial dos pontos 
próximos.
Interface ( x ) ( )
NF 2.3
Últimas pesquisas
Todos as pesquisas realizadas 
com resultados válidos serão 
guardadas internamente no 
Navegador GPS.
Implementação ( ) ( x )
Tabela 9 - Documentação: Requisitos: Pesquisar Endereços
F3 Pesquisar Endereços Oculto ( )
Descrição: 
O funcionário tem a possibilidade de pesquisar logradouros informando a cidade, rua e rua 
transversal.
Requisitos Não-Funcionais
Nome Restrição Categoria Desejável Permanente 
NF 3.1
Consistência dos 
dados
O Navegador precisa verificar 
a indexação a cada 
inicialização do sistema.
Segurança ( ) ( x )
NF 3.2
Coordenada atual
O receptor GPS precisa 
fornecer a coordenada atual 
do aparelho para iniciar a 
pesquisa radial dos pontos 
próximos.
Interface ( x ) ( )
NF 3.3
Informações 
detalhadas
O funcionário pode visualizar 
detalhes do endereço 
pesquisado e saber a distância 
prévia até o local.
Interface ( x ) ( )
Tabela 10 - Documentação: Requisitos: Iniciar Navegação
F4 Iniciar Navegação Oculto ( )
Descrição: 
Esta opção permite que o funcionário informe o ponto de destino e ative o cálculo de roteamento, 
podendo assim seguir o trajeto indicado pelo Navegador GPS.
Requisitos Não-Funcionais
Nome Restrição Categoria Desejável Permanente 
44
NF 4.1
Controle de acesso
Apenas será permitida a 
navegação após uma 
verificação se o aparelho está 
autorizado no cadastro da 
COPEL.
Segurança ( ) ( x )
NF 4.2
Recálculo de rota
O Navegador GPS deve 
recalcular a rota conforme o 
funcionário siga um trajeto 
diferente do trajeto 
inicialmente sugerido pelo 
Navegador.
Desempenho ( ) ( x )
NF 4.3
Informações de 
navegação
O Navegador GPS deve 
informar na tela as 
informações básicas como: - 
Tempo restante até o destino; 
- Velocidade atual; - Próxima 
manobra a ser executada.
Interface ( ) ( x )
NF 4.4
Gravar roteiro
Durante o percurso o trajeto 
seguido deve ser gravado em 
arquivo “.gpx”. Implementação ( x ) ( )
4.2.2 Diagrama de Casos de Uso
Para representar as funcionalidades disponíveis no Navegador GPS, que 
podem ser utilizadas pelo Funcionário da COPEL, foi criado o Diagrama de Casos 
de Uso conforme a Figura 16.
Figura 16 - Documentação: Diagrama de Casos de Uso para o Navegador GPS
45
Pelo diagrama é possível perceber que todas as funcionalidades são 
iniciadas pelo Funcionário realizando operações de consulta de informações 
conforme apresentado na Tabela 11.
Tabela 11 - Documentação: Descrições do Caso de Uso do Navegador GPS
CASO DE USO DESCRIÇÃO
Visualizar Mapa
O Funcionário aciona a visualização do mapa. É 
carregado o mapa binário na memória interna do 
Tablet e acionado o renderizador de vetores. São 
exibidos os elementos cartográficos (estradas e áreas) 
e os pontos de interesse (rede elétrica da COPEL).
Pesquisar Pontos
Responsável pela ação de pesquisa de códigos 
operacionais encontrando o valor informado pelo 
Funcionário dentre os milhões de pontos inseridos no 
mapa vetorial gerado.
Pesquisar Endereços
Fornece a funcionalidade de pesquisa onde o 
Funcionário informa o nome da localidade e o nome 
do logradouro e o Navegador GPS retorna a 
localização na tela.
Iniciar Navegação
Quando o sistema identifica a localização atual do 
Funcionário e o ponto de destino já foi pesquisado e 
marcado na tela essa opção possibilita a inicialização 
do cálculo de roteamento surgindo assim o melhor 
trajeto a ser seguido na tela do Tablet.
A Figura 17 apresenta o Diagrama de Caso de Uso criado para o Gerador de 
Mapas, por se tratar de um sistema complementar ao Navegador GPS, mas que 
possui funcionalidades próprias.
Figura 17 - Documentação: Diagrama de Casos de Uso para o Gerador de Mapas
46
Todo o processo de geração dos mapas baseia-se no processo de 
conversão de dados, realizando a leitura de informações provenientes do banco de 
dados da COPEL.
A Tabela 12 apresenta uma descrição sucinta dos caso de uso do Gerador 
de Mapas Vetoriais.
Tabela 12 - Documentação: Descrições do Caso de Uso do Gerador de Mapas
CASO DE USO DESCRIÇÃO
Concatenar Estradas
Responsável por unir dois mapas diferentes 
em apenas um mapa no formato “.mp”. 
Esse processo realiza a leitura de dados 
vetoriais de estradas corrigindo assim suas 
informações e unindo as linhas para gerar um 
único mapa cartográfico.
 Converter Estradas
Realiza a conversão do mapa de estradas 
concatenadas do formato “.mp” para “.osm”, 
analisando a consistência das informações e 
modificando alguns atributos para que o mapa 
seja exibido de maneira correta na tela do 
Tablet.
Converter Elementos
Converte os outros elementos importantes 
para criação do mapa como localidades, 
hidrografia e vegetação. Gera um mapa 
unificado no formato “.osm”.
Converter Consumidores
O dados dos consumidores estão no formato 
“.csv” em milhares de linhas e precisam ser 
convertidos para o formato “.osm”. Os dados 
passam por uma formatação de suas 
informações visando ser utilizados na pesquisa 
do navegador.
Gerar Mapas Binários
Realiza o processo final de leitura dos mapas 
no formato “.osm” e conversão para o formato 
final “.bin” para que os mapas possam ser 
interpretados e utilizados no Navegador GPS.
4.2.3 Diagrama de Sequencia
Os diagramas de sequência demonstram a ordenação das mensagens por 
tempo. É utilizado para mostrar as trocas de mensagens entre os objetos.
Em um diagrama de sequência, os objetos são colocados em forma de caixa 
na parte superior de uma linha tracejada vertical. Essa linha é chamada de linha de 
47
vida do objeto que representa a sua duração. As flechas contidas entre as linhas 
pontilhadas de dois objetos são as mensagens de envio e retorno. 
Segundo WAZLAWICK (2011) o Diagrama de Sequência é “útil para 
representar a sequência dos eventos de sistema em um cenário de um caso de 
uso”. 
Na etapa de visualização do mapa o usuário solicita o carregamento dos 
dados contidos no mapa vetorial, sendo necessário para isso a informação da 
coordenada, em latitude e longitude, recebida pelo receptor GPS. Após é acionada a 
classe de pesquisa selecionando todos elementos vetoriais contidos próximos ao 
ponto de localização atual, exibindo assim o mapa gráfico para o funcionário. Esse 
processo é repetido constantemente enquanto existir movimentação do mapa.
Na Figura 18 é apresentado o Diagrama de Sequência para o processo de 
visualização do mapa.
Figura 18 - Documentação: Diagrama de Sequencia: Visualização
Para realizar uma navegação, primeiramente é necessário saber a posição 
atual, recebida do receptor GPS, e após a verificação do ponto de destino na classe 
mapa para assim ser realizado o cálculo da rota.
A Figura 19 é apresenta o Diagrama de Sequência para o processo de 
navegação.
48
Figura 19 - Documentação: Diagrama de Sequencia: Navegação
A pesquisa também utiliza a informação da posição atual pararealizar uma 
pesquisa gradativa circular onde serão localizados primeiramente os elementos mais 
próximos e coincidentes com o parâmetro de pesquisa.
É apresentado na Figura 20 o Diagrama de Sequência para a realização da 
pesquisa.
Figura 20 - Documentação: Diagrama de Sequencia: Pesquisa
4.2.4 Diagrama de Classes
O Diagrama de Classes representa a estrutura do sistema, destacando 
classes que servirão de base para implementação do Navegador GPS. Na Figura 21 
são exibidos os atributos e métodos das classes e o relacionamento entre elas.
49
 F
ig
ur
a 
21
 - 
D
oc
um
en
ta
çã
o:
 D
ia
gr
am
a 
de
 C
la
ss
es
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
4.2.5 Diagrama de Entidade e Relacionamento
O diagrama de entidade e relacionamento (DER) representa os 
relacionamentos entre objetos de dados e conduzem à modelagem de dados. Este 
diagrama é composto por: entidades, atributos e relacionamentos.
Na Figura 22 é apresentado o DER criado para descrever o banco de dados 
do Navegador GPS, implementado posteriormente utilizando SQLite.
Figura 22 - Documentação: Diagrama de Relacionamento Navegador GPS.
Para a modelagem do Conversor de Mapas foi utilizado o banco de dados 
PostgreSQL conforme exibido na Figura 23.
Figura 23 - Documentação: Diagrama de Relacionamento Conversor Mapas
51
4.3 DESENVOLVIMENTO DO NAVEGADOR
Para o desenvolvimento do Navegador GPS, foram criadas classes 
personalizadas, contendo comandos responsáveis por interpretar os mapas vetoriais 
no formato “.osm” e converter eles em imagens gráficas na tela do Tablet.
A seguir são apresentados alguns tópicos importantes relacionados ao 
desenvolvimento do Navegador GPS.
4.3.1 Tela Principal
Os ícones e imagens utilizados no Navegador GPS foram desenvolvidos 
com base em gráficos de outros aplicativos GPS para seguir uma padronização de 
fácil entendimento.
A Figura 24 exibe a tela principal (inicial) do Navegador GPS, onde é 
possível observar a disposição dos ícones principais (Mapa, Pesquisar, 
Alimentadores e Serviços) e dos ícones secundários (estrela de favoritos e fechar).
Figura 24 - Tela inicial do Navegador GPS COPEL
O botão “MAPA” dará acesso à visualização do mapa, o botão 
“PESQUISAR” acessa a página de pesquisa dos elementos e localidades. Os botões 
de “ALIMENTADORES” e “SERVIÇOS” são opções personalizadas para a COPEL, 
52
que provem acesso a informações da rede de distribuição e integração com outro 
aplicativo próprio da COPEL de distribuição de serviços, respectivamente.
4.3.2 Visualização do Mapa
A visualização é o processo de “renderização” dos elementos gravados no 
mapa que está no formato “.osm”. O mapa vetorial fornece uma vista aérea superior 
da localidade ativa na tela, exibindo com proporcionalidade todos os elementos 
existentes no mapa vetorial e que sejam coincidentes com as configurações internas 
de renderização do navegador GPS. Um exemplo dos arquivos envolvidos no 
processo de renderização do mapa, é apresentado na Tabela 13.
Tabela 13 - Processo de renderização de um tipo de estrada
MAPA
estradas.osm
<way id="74832" user="rebelato" uid="4372" visible="true" version="3">
<nd ref="98123"/>
<nd ref="1233"/>
<nd ref="83724"/>
 ...
<tag k="highway" v="primary"/>
<tag k="name" v="Rua Getulio Vargas"/>
</way>
NAVEGADOR
render.xml
<renderingStyle name="copel" depends="" defaultColor="#f4fbff" version="1">
 <line>
 <group>
 <filter tag="highway" value="primary" maxzoom="13" color="#FFAA80"/>
 <groupFilter shadowRadius="1">
 <filter minzoom="7" maxzoom="9" strokeWidth="4"/>
 <filter minzoom="10" maxzoom="13" strokeWidth="5"/>
 </groupFilter>
</group>
 </line>
</renderingStyle>
tipos.xml
<category name="highway">
...
<type tag="highway" value="primary" minzoom="7" nameTags="ref"/>
 ...
</category>
A estrada possui características de exibição como cor, espessura e 
contorno, além da informação de níveis de zoom em cada filtro, especificando o 
zoom mínimo e máximo de cada característica, para assim exibir com clareza a 
estrada a cada aproximação ou afastamento do mapa na tela. 
53
A Figura 25 exibe o mapa vetorial completo com todos os elementos 
cartográficos (estradas, rios, vegetação) e elétrico (rede de distribuição e 
transmissão de energia elétrica).
Figura 25 - Visualização completa do mapa COPEL da Região de Cascavel
O Quadro 10 apresenta o código-fonte responsável por analisar os 
elementos do mapa e verificar se existem ícones relacionados no Navegador GPS. 
Em caso afirmativo os ícones são rotacionados para obter a exibição correta na tela.
private boolean desenharRotacionarMapa(Canvas canvas, Bitmap bmp, Localiza bmpLocaliza) {
boolean shown = false;
 if (bmp != null && bmpLocaliza != null) {
 float rot = bmpLocaliza.getRotate();
float mult = (float) MapaUtil.getPowZoom(view.getZoom() - bmpLocaliza.getZoom());
float fmult = (float) MapaUtil.getPowZoom(view.getFloatZoom() - bmpLocaliza.getZoom());
float cos = bmpLocaliza.getRotateCos();
float sin = bmpLocaliza.getRotateSin();
float x1 = MapaUtil.calcDiffPixelX(sin, cos) + view.getCenterPointX();
float y1 = MapaUtil.calcDiffPixelY(sin, cos) + view.getCenterPointY();
canvas.rotate(-rot, view.getCenterPointX(), view.getCenterPointY());
destImage.set(x1, y1, x1 + bmpLocaliza.getTileWidth(), y1 + bmpLocaliza.getTileHeight() * ts);
if(!bmp.isRecycled()){
canvas.drawBitmap(bmp, null, destImage, paintImg);
shown = true;
}
canvas.rotate(rot, view.getCenterPointX(), view.getCenterPointY());
}
return shown;
}
Quadro 10 - Código: Método responsável por rotacionar os elementos
54
4.3.3 Níveis de Zoom
O controle de zoom é essencial para uma experiência completa de 
navegação e visualização das informações, pois quanto mais se aproxima o mapa, 
mais informações detalhadas serão exibidas de cada elemento. O nível de zoom 
pode ser definido manualmente (Figura 26), utilizando o dedo indicador e o polegar 
em movimentos de aproximação e afastamento ou clicando nos botões de “+” e “-” 
posicionados no canto inferior direito da tela.
Figura 26 - Opções de zoom manual na tela de visualização de mapa
O Quadro 11 apresenta ainda a funcionalidade de controle automático do 
zoom, em relação a velocidade do veículo, sendo que quanto maior a velocidade, 
mais afastado fica o mapa, exibindo uma área maior com menos detalhamento.
public float definirZoomPorVelocidade(float velocidade) {
double visivelDistancia = mapaBase.getDistance(mapaVisual.getLongitude(), mapaVisual.getLongitude());
float tempo = 75f;
if (velocidade < 83f) {
tempo = 60f;
}
double distanciaChegada = velocidade * tempo;
float zoomDelta = (float) (Math.log(visivelDistancia / distanciaChegada) / Math.log(2.0f));
zoomDelta = Math.round(zoomDelta * 3) * 1/3f;
return zoomDelta;
}
Quadro 11 - Código: Responsável por realizar o zoom automático
55
Cada elemento do mapa possui configurações próprias de renderização 
informando o zoom mínimo e máximo, informações de impressão dos rótulos como 
cor, tamanho e contorno. Essa configuração garante a qualidade visual do mapa 
impedindo o desenho de todos os elementos ao mesmo tempo. O Quadro 12 
apresenta o XML existente no Navegador GPS responsável pela renderização dos 
elementos do mapa.
<group>
<filter tag="highway" value="primary" color="#788BD5" />
 <groupFilter shadowRadius="1" >
 <filter minzoom="7" maxzoom="9" strokeWidth="4"/>
 <filter minzoom="10" maxzoom="12" strokeWidth="5"/>
 <filter minzoom="13" maxzoom="16" strokeWidth="8"/>
 </groupFilter>
</group>
Quadro 12 - Código: XML de renderização

Continue navegando