APLICAÇÃO WEB PARA CONSULTA DE
ITINERÁRIOS DE TRANPORTE PÚBLICO COM VISUALIZAÇÃO NO GOOGLE MAPS
Acadêmica: Kelly Cristina Boeck
Orientador: Prof. Dalton Solano dos Reis, M.Sc
FURB – Universidade Regional de Blumenau BCC – 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çãoObjetivos
● 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
Cartografia
Cartografia
●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
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
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
Objetos de Mapas Básicos
● O objeto fundamental - google.maps.Map
● Recipiente
Objetos de Mapas Básicos
● Inicialização
● Classe Map
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
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
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.
Trabalhos correlatos - TMB
Trabalhos correlatos - TransporLis
Trabalhos correlatos - SPTrans
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)
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
Diagrama de Classes
class Class Model
Rua - nom e: string - m etragem : float - cep: int + Rua(string) : Rua + consultarRua(string) : Rua + excluirRua(Rua) : void + consultarLinhas() : Linha[] + consultarPontos() : Ponto[] + vincularReferenciaAdjacente(Referencia) : void + vincularRuaAdjacente(Rua) : void Ponto
- num eroLocalizacao: int - identificacaoPonto: string - descricao: string
- ruasAdjacentes: Rua[]
+ Ponto(Rua, int) : void
+ consultarPonto(Rua, int) : Ponto + excluirPonto(Ponto) : void + consultarLinhas() : Linha[] + consultarLinhas(Horario) : Linha[] + consultarAdjacencias() : Adjacencia[] + cadastrarRuaAdjacente(Rua) : void Terminador + consultarLinhasSaida() : Linha[]
+ consultarLinhasEntrada() : Linha[] Linha
- nom e: string - descricao: string
- localEntrada: T erm inador - localSaida: T erm inador
+ Linha(string) : Linha
+ consultarLinha(string) : Linha + excluirLinha(Linha) : void + localizarOrdem (int, int) : Rua[] + consultarPontos() : Ponto[] + consultarLinhas() : Linha[] + consultarHorarios() : Horario[]
+ linhasQueAtendem OsPontos(int, int) : Rua[] + carregaOrdem Pontos() : Ponto[]
+ carregarOrdem Ruas(int, int, int) : Rua[] + consultarItinerario() : Rua[]
+ vincularPonto(ponto) : void
Horario
- horarioSaida: DateT im e - diaSem ana: int
+ Horario() : Horario + consultarHorario(DateT im e) : Horario + excluirHorario(Horario) : void Adjacência/Referencia - nom e: string - observacao: string + Adjacência/Referencia(string) : void + consultarReferencia(string) : Adjacência/Referencia + excluirReferencia(Referencia) : void Usuario - nom e: string
- ehAdm inistrador: bool - senha: string + Usuario(string) : Usuario + consultarUsuario(string) : Usuario + excluirUsuario(Usuario) : void 1 0..* 1..* 1..* 0..* 1
LINQ
Operacionalidade
Cadastro de Ruas
Resultados
Resultados
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
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
Demonstração
Demonstração
● Obrigada!
Um mapa é o maior de todos os poemas épicos. Suas linhas e cores mostram a realização de grandes sonhos. Gilbert H. Grosvenor
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()
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()
Modelo Conceitual
Funções em JavaScript
com a API do Google Maps
Introdução
● Cartografia ● Geoprocessamento e Geotecnologias ● Web mapping ● Google Maps ● Entity FrameworkOpen Street View
Google Maps
Objetos de Mapas Básicos
● O objeto fundamental - google.maps.Map
● Recipiente
● Chamada da API
● Inicialização
● Classe Map