52
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

APLICAÇÃO WEB PARA CONSULTA DE …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-18-AP-KellyC...Trabalhos correlatos - SPTrans Fonte: SPTRANS, (2011). Principais Requisitos Funcionais

Embed Size (px)

Citation preview

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

Comparativo entre serviços disponíveis

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

● Chamada da API

Objetos de Mapas Básicos

● Inicialização

● Classe Map

● Opções básicas e tipos suportados

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.

Trabalhos correlatos - TMB

Fonte: TMB VIRTUAL (2011).

Trabalhos correlatos - TransporLis

Fonte: TRANSPORLIS (2009).

Trabalhos correlatos - SPTrans

Fonte: SPTRANS, (2011).

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 Casos de Uso

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

Modelo Entidade-Relacionamento

Modelo Conceitual

LINQ

LINQ

Chamada da API do Google Maps

Função de Marcação do Mapa

Recriando mapa com o itinerário

Operacionalidade Cadastro de Ruas

Resultado de uma Consulta

ResultadosTemporização da Consulta

ResultadosArmazenamento

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

Demonstração

● Demonstração Prática da Aplicação

Demonstração

● Perguntas

● 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

Modelo Conceitual Exemplo de fonte de cadastro

Entity

Diagrama de Atividades

Funções em JavaScript com a API do Google Maps

Introdução

● Cartografia● Geoprocessamento e Geotecnologias● Web mapping● Google Maps● Entity Framework

Open Street View

Fonte: OPEN STREET MAP (2012).

Google Maps

Fonte: GOOGLE MAPS (2012).

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

Modelo Conceitual