Post on 09-Feb-2019
APLICAÇÃO WEB PARA CONSULTA DE ITINERÁRIOS DE TRANPORTE PÚBLICO COM
VISUALIZAÇÃO NO GOOGLE MAPS
Acadêmica: Kelly Cristina BoeckOrientador: Prof. Dalton Solano dos Reis, M.Sc
FURB – Universidade Regional de BlumenauBCC – Bacharel em Ciência da Computação
TCC – Trabalho de Conclusão de Curso
Roteiro
● Objetivos● Fundamentação Teórica● Desenvolvimento● Implementação● Resultados ● Conclusões e Extensões● Demonstração
Objetivos
● Objetivo Geral Especificação e implementação de um aplicativo web
para a consulta de itinerário e horário de transporte público urbano permitindo a visualização destes no Google Maps
● Objetivos Específicos Disponibilizar os horários e itinerário dos locais
consultados Disponibilizar a visualização do itinerário no Google
Maps
CartografiaCartografia
● Breve histórico● Mapa● Tipos de mapas● Características
Localização e atributos Escala Projeção cartográfica Abstração Simbolismo
Geoprocessamento
● Geoprocessamento: É o tratamento das informações geográficas, ou de
dados georreferenciados, por meio de softwares específicos e cálculos.
Ou, o conjunto de técnicas relacionadas ao tratamento da informação espacial
Geotecnologias
● Geotecnologias São tecnologias relacionadas com as diferentes etapas
do Geoprocessamento● Etapas do Geoprocessamento
Coleta Armazenamento Tratamento e Análise Uso integrado
Web Mapping
● Conceito Web Mapping / WebGis: relacionada ao
Geoprocessamento. É a publicação na internet de mapas interativos ou dados espaciais
Tipos Estáticos Gerados a partir de formulários Dinâmicos
● Vantagens e Desvantagens
API do Google Maps
● Visão Geral● APIs disponibilizadas:
Google Maps Java Script API Google Maps API for flash Google Earth API Serviços da web ...
Sobreposições de Mapas
● Visão geral Sobreposições são objetos no mapa ligados a coordenadas
de latitude/longitude● Marcadores
locais individuais no mapa (podem ser marcadores personalizados, neste caso chamados de ícones)
● Linhas são exibidas por meio de polilinhas (que representam uma
sequência ordenada de locais)
Sobreposições de Mapas
● Áreas Com forma aleatória no mapa são exibidas por meio de
polígonos, que são parecidos com as polilinhas● Camadas
o próprio conjunto de blocos criando tipos de mapa personalizados que substituem ou são exibidos por cima de conjuntos de blocos de mapas base
Serviços de Mapas
● Solicitações de Geocodificação Geocodificação é o processo de conversão de
endereços em latitude e longitude● Geocodificação reversa
Geocodificação é o processo de conversão de latitude e longitude em endereços
● Rotas Objeto: comunica com o Serviço de rotas da Google.
Recebe solicitações de rota e retorna resultados calculados
Limitação: 8 waypoints para a versão gratuita
Serviços de Mapas
● Modos de transporte Especificar o modo de transporte a ser usado
● Sistema de Medidas As rotas são calculadas e exibidas usando o sistema de
medidas do país ou região de origem ...
Entity Framework
● Visão geral Transforma objetos de negócio em dados relacionais e
vice-versa
● LINQ Define um conjunto de métodos, chamados operadores
de consulta padrão, que com regras de tradução de expressões, expressões lambda e tipos anônimos permite a consulta.
Principais Requisitos Funcionais
● Permitir ao usuário administrador informar ruas (RF01)● Permitir ao usuário administrador informar pontos de
paradas (RF05) ● Permitir ao usuário administrador informar linhas de ônibus
(RF06)● Permitir ao usuário web consultar horários (RF09) ● Permitir ao usuário web consultar itinerários (RF10)● Permitir ao usuário visualizar mapa com marcações (RF11)
Principais Requisitos Não Funcionais
● O protótipo da aplicação (regras de negócio) deve ser desenvolvido em C# (RNF01)
● A persistência é em banco de dados SQL Server Express 2008 R2 Edition Free (RNF02)
● O protótipo da aplicação (consultas) deve estar disponibilizado para web (RNF03)
● O protótipo da aplicação deve consumir a API do Google Maps (RNF04)
Diagrama de Classes
class Class Model
Rua
- nom e: string- m etragem : fl oa t- cep: in t
+ Rua(string) : Rua+ consu l ta rRua(string) : Rua+ exclu i rRua(Rua) : vo id+ consu l ta rL inhas() : L inha[]+ consu l ta rPontos() : Ponto []+ vincularReferenciaAdjacente(Referencia) : vo id+ vincularRuaAdjacente(Rua) : vo id
Ponto
- num eroLoca l i zacao: i n t- identi fi cacaoPonto : string- descricao: string- ruasAdjacentes: Rua[]
+ Ponto(Rua, in t) : vo id+ consul ta rPonto(Rua, in t) : Ponto+ exclu i rPonto(Ponto) : vo id+ consul ta rL inhas() : L inha[]+ consul ta rL inhas(Horario ) : L inha[]+ consul ta rAd jacencias() : Ad jacencia []+ cadastrarRuaAdjacente(Rua) : vo id
Terminador
+ consu l ta rL inhasSaida() : L inha[]+ consu l ta rL inhasEntrada() : L inha[]
Linha
- nom e: string- descricao: string- localEntrada: T erm inador- localSa ida: T erm inador
+ L inha(string) : L inha+ consul ta rL inha(string) : L inha+ exclu i rL inha(L inha) : vo id+ local izarOrdem (in t, i n t) : Rua[]+ consul ta rPontos() : Ponto []+ consul ta rL inhas() : L inha[]+ consul ta rHorarios() : Horario []+ l inhasQueAtendem OsPontos(in t, in t) : Rua[]+ carregaOrdem Pontos() : Ponto []+ carregarOrdem Ruas(in t, in t, in t) : Rua[]+ consul ta rItinerario() : Rua[]+ vincu larPonto(ponto) : vo id
Horario
- horarioSa ida: DateT im e- d iaSem ana: in t
+ Horario () : Horario+ consu l ta rHorario (DateT im e) : Horario+ exclu i rHorario (Horario ) : vo id
Adjacência/Referencia
- nom e: string- observacao: string
+ Adjacência /Referencia(string) : vo id+ consu l ta rReferencia(string) : Ad jacência /Referencia+ exclu i rReferencia(Referencia) : vo id
Usuario
- nom e: string- ehAdm inistrador: boo l- senha: string
+ Usuario(string) : Usuario+ consu l ta rUsuario (string) : Usuario+ exclu i rUsuario (Usuario ) : vo id
1
0..*
1 ..*1 ..*
0 ..*1
Conclusões
● Aplicação para consultas de horários de ônibus e itinerários das linhas com visualização em mapa
● Considerações sobre API do Google Maps● Considerações gerais sobre a aplicação (LINQ...)
Extensões
● Otimizar a busca, utilizando busca por largura● Utilizar outro serviço de mapa disponível no mercado● Criar webservice para consumo e atualização da base de
dados● Criar coordenadas cartográficas para todo o mapeamento● Disponibilizar mais detalhes na consulta● Customizar a interface para a consulta em versão mobile
● Obrigada!
Um mapa é o maior de todos os poemas épicos. Suas linhas e cores mostram a realização
de grandes sonhos.
Gilbert H. Grosvenor
Demonstração
Geoprocessamento em Planejamento Urbano
● SIG em Planejamento Urbano As áreas do setor público, auxiliado por técnicas de
geoprocessamento, consegue melhor planejar suas tarefas e também melhor atender aos usuários internos e externos
● Transporte público (atributos considerados pelo usuário) *** confiabilidade; tempo de deslocamento; acessibilidade; conforto; conveniência; segurança; custo
Objetos de Eventos de Mapa
● Eventos da interface de usuário São desenvolvidos para responder aos eventos de
usuário (google.maps.Marker - click)● Eventos de mapa
Para receber notificações de evento usa-se o manipulador de evento addListener(). Esse método usa um objeto, um evento a ser ouvido e uma função a ser chamada quando ocorre o evento especificado. (manipulador de evento a um marcador que amplia o mapa quando clicado)
Controles de Mapa
● Visão geral Os mapas do Google Maps contêm elementos de
interface do usuário que possibilitam a interação do usuário em todo o mapa (instanciar com MapOptions ou modificar com setOptions()
● Tipos: Zoom, escala, rotação
Controles de Mapa
● Visão geral Os mapas do Google Maps contêm elementos de
interface do usuário que possibilitam a interação do usuário em todo o mapa (instanciar com MapOptions ou modificar com setOptions()
● Tipos: Zoom, escala, rotação
Introdução
● Cartografia● Geoprocessamento e Geotecnologias● Web mapping● Google Maps● Entity Framework
Objetos de Mapas Básicos
● O objeto fundamental - google.maps.Map● Recipiente● Chamada da API● Inicialização ● Classe Map● Opções básicas e tipos suportados