ponto_taxi codigo: INTEGER
endereco: TEXT cooperativa
nome: TEXT telefone: VARCHAR(15) atendimento info_referencia nome: TEXT telefone: VARCHAR(15)
hotel atracao_turistica hospital delegacia quartel transporte ponto_onibus codigo: INTEGER endereco: TEXT descricao: TEXT estacao_metro codigo: INTEGER nome: TEXT trecho trajeto_pe trajeto_metro codigo: INTEGER trajeto_onibus codigo: INTEGER linha_onibus codigo: INTEGER nome: TEXT operadora: TEXT linha_metro codigo: INTEGER nome: TEXT trajeto_taxi codigo: INTEGER 0..* 0..* 1 1 Contains
Contains trafeg
o
Firefox http://aqui.io/omtg/
11/01/2021 OMT-G Designer aqui.io/omtg/# 1/1 COOPERATIVA_TAXI NOME: VARCHAR(255) TELEFONE: VARCHAR(9) PONTO_TAXI LOCALIZACAO: TEXT 1 1..* CIDADE HOSPITAL NOME: TEXT ENDERECO: TEXT TELEFONE: TEXT DELEGACIA NOME: TEXT ENDERECO: TEXT TELEFONE: TEXT QUARTEL_PM NOME: TEXT ENDERECO: TEXT TELEFONE: TEXT LINHA_ONIBUS CODIGO: TEXT NOME: TEXT OPERADORA: TEXT LINHA_METRO CODIGO: TEXT COR: TEXT ITINERARIO 1 0..* 1 0..* PARADA_ONIBUS CODIGO: TEXT ENDERECO: TEXT DESCRICAO: TEXT 1..* 1..* ESTACAO_METRO CODIGO: TEXT NOME: TEXT 1..* 1..* AREA_ATENDIMENTO LISTA_PONTOS: TEXT LISTA_ESTACOES: TEXT PONTOS_ACESSO_PREFERENCIAIS: TEXT 1..* 1..* 0..* 0..* TRECHO COORDENADAS: TEXT VELOCIDADE: INTEGER 1..* 0..* possui contém contém faz parte de faz parte de atende atende possui
Felipe dos Santos Leão Ribeiro - 2016006425
Primeiramente, criou-se classes para representar os pontos de interesse e de apoio para os turistas
mencionados no enunciado do problema como endereços. Assim, a junção desses endereços
compõe, não inteiramente, o banco de endereços, que por sua vez foi relacionado com os
logradouros da cidade, numa relação 1 para muitos. Cada logradouro foi dividido em segmentos de
logradouros e utilizou-se o conjunto das estações que compõem a malha única da cidade (metrô e
ônibus) como referências. Assim, para cada um dos meios de transporte mencionados, foi criado um
esquema parecido com o dos logradouros, porém conectados às linhas de cada um (linha de ônibus
ou metrô).
Ao tratarmos as linhas de metrô e ônibus como complementares às Estações pertencentes aos
segmentos de logradouros, supomos que a junção da malha de ônibus e da malha de metrô cobrem
inteiramente a malha única definida. De forma simples, supõe-se que é possível percorrer toda a
cidade utilizando metrô e ônibus.
Note que cada segmento de linha (SegLin) contém o tempo e a distância para ser percorrido pelo
meio de transporte característico, assim como os segmentos de logradouro.
Dessa maneira, tendo todos os códigos de logradouros dos pontos de interesse (Endereços), é
possível calcular o tempo para ir de um ponto ao outro. No caso de não haver meio de transporte e
precisar andar a pé, basta consultarmos o tempo dos segmentos de logradouros. Assim, o aplicativo
é capaz de unir todos os possíveis caminhos, utilizando os possíveis meios de transporte e
recomendar aquele com menor tempo e/ou distância.
Segue, o modelo OMT-G criado utilizando o software OMT-G Designer. Será enviado um outro
arquivo PDF com o modelo numa escala com melhor visualização.
Problema para Modelagem -
Transportes durante a Copa
Curso: Bancos de Dados Geográficos Professor: Clodoveu Davis
Aluno: Rafael Alexandre Pardini Guedes Semestre: 2020/2
Data de entrega: 12/01/2021
Endereço Coord: INTEGER Logradouro: TEXT Numero: TEXT Complemento: TEXT AtraçõesTurísticas Código: INTEGER Nome: TEXT Endereço: TEXT Descrição: TEXT Tipo: TEXT PontoTáxi Código: INTEGER Endereço: TEXT Cooperativa: TEXT QuartelPM Código: INTEGER Endereço: TEXT Nome: TEXT Delegacias Código: INTEGER Endereço: TEXT Nome: TEXT Hospitais Código: INTEGER Nome: TEXT Endereço: TEXT Hospedagens Código: INTEGER Nome: TEXT Endereço: TEXT Tipo: TEXT 1 1 1 1 1 1 1 1 1 1 1 1 TrechoCirculação id: INTEGER velocidade: INTEGER itinerário: TEXT Logradouro id: INTEGER Nome: TEXT 0..* 0..* 0..* 0..* PontosTransporte id: INTEGER endereço: TEXT 0..* 0..* 0..* 0..* Onibus id: INTEGER NomeEmpresa: TEXT Metro id: INTEGER cor: TEXT PontoOnibus id: INTEGER EstacaoMetro id: INTEGER NomeMetro: INTEGER 0..* 0..* 0..* 0..* 0..* 0..* 0..* 0..*
Universidade Federal de Minas Gerais
Disciplina: Banco de Dados Geográficos
Tarefa: Exercício de modelagem 2: Transportes na Copa
Aluno: Fernanda Guimarães de Araújo - 2016058166
1/11/2021 OMT-G Designer aqui.io/omtg/# 1/1 Hospital Nome: TEXT Público: BOOLEAN Convênios: INTEGER Telefone: INTEGER Classificação: INTEGER Pronto_Socorro: BOOLEAN Atração_Turística Nome: INTEGER Tipo: TEXT Classificação: INTEGER Telefone: INTEGER ✏ Hotel Nome: TEXT Telefone: INTEGER Classificação: INTEGER Valor_diária: INTEGER Vagas: BOOLEAN Delegacia Nome: INTEGER Telefone: INTEGER Aberto: BOOLEAN Classificação: INTEGER Quartel_PM Nome: TEXT Classificação: INTEGER Telefone: INTEGER Endereço Código_do_logradouro: INTEGER Número_de_porta: INTEGER Latitude: INTEGER Longitude: INTEGER Tipo: INTEGER Ponto_de_ônibus Id: INTEGER Linhas: INTEGER Estação_de_metro Id: INTEGER Linhas: INTEGER Logradouro Codigo_do_logradouro: INTEGER Segmento_de_Logradouro Codigo_do_logradouro: INTEGER NumTrecho: INTEGER Tempo: INTEGER Velocidade: INTEGER Linha_de_Onibus ID_Linha_Bus: INTEGER Nome: TEXT Empresa: TEXT SegLin_Onibus ID_Linha_Bus: INTEGER Tempo: INTEGER Velocidade: INTEGER Parada_Onibus ID_Parada_Bus: INTEGER Endereço: TEXT Descrição_Textual: TEXT Linhas: TEXT Linha_de_Metro ID_Linha_Metro: INTEGER Cor: INTEGER SegLin_Metro ID_Linha_Metro: INTEGER Tempo: INTEGER Velocidade: INTEGER ✏ Parada_Metro ID_Parada_Metro: INTEGER Nome: TEXT Linhas: TEXT Área_de_Atendimento ID_Parada_Metro: INTEGER Área_de_Atendimento_1 ID_Parada_Bus: INTEGER Estações Tipo: TEXT Ponto_de_Taxi ID_ponto_taxi: INTEGER Cooperativa: TEXT Telefone: INTEGER 1 1..* 1 1..* 1..* 1..* 1..* 1..* 1 0..* Inclui malha onibus Inclui malha metro Within Within malha unica Inclui
11/01/2021 OMT-G Designer aqui.io/omtg/# 1/1 Taxi Horario_funcionamento: INTEGER Telefone: INTEGER Hotel Nome: INTEGER Telefone: VARCHAR(15) Hospital Nome: INTEGER Horario_Funcionamento: TEXT Delegacia Nome: INTEGER Telefone: INTEGER Tipo: INTEGER Atracao_Turistica Nome: INTEGER Horario_Funcionamento: TIME Telefone: VARCHAR(50) Ingresso: INTEGER Quartel_PM Nome: INTEGER NumeroQuartel: INTEGER Telefone: INTEGER CoopTaxi Nome: INTEGER Telefone: INTEGER Ponto_Destino Latitude: INTEGER Longitude: INTEGER Logradouro: TEXT CodDestino: INTEGER Linha_Onibus CodLinhaOnibus: INTEGER Nome: TEXT EmpresaOperadora: TEXT Linha_Metro CodLinhaMetro: INTEGER Cor: VARCHAR(50) Transporte Itinerario No_Parada Area_Atendimento EstacaoMetro CodEstacao: INTEGER Nome: TEXT Ponto_Onibus CodPonto: INTEGER Nome: TEXT Logradouro: TEXT Descricao: TEXT 0..* 1 0..* 1 1..* 1 1..* 1 1 0..* 1 0..* Rota LogradouroOrigem: INTEGER CodDestino: INTEGER Trecho_Rota Trecho_Pe Velocidade: INTEGER Trecho_Onibus Velocidade: INTEGER Trecho_Metro Velocidade: INTEGER 1..* 2 1..* 2 0..* 0..2 0..* 0..* 0..* 0..* 0..* 0..2 0..* 0..* 0..* 0..* itinerarios Possui possui Covers Covers Near (0) Near (10) Touches Touches Near (500) Near (500) Intersects Near (500) Sugere Sugere
Aluno(a): Rúbia Aires Marques Wardil
Matrícula: 2016077209
Disciplina: Banco de Dados Geográficos
________________________________________________________________________________________________________________________________
Exercício 2: Modelagem OMT-G
Transportes na Copa
Hospital NOME: TEXT DELEGACIA QUARTEL_PM ENDERECO LATITUDE: INTEGER LONGITUDE: INTEGER PARADA CODIGO: INTEGER DESCRICAO: TEXT ESTACAO CODIGO: INTEGER NOME: INTEGER COOPERATIVA NOME: TEXT TELEFONE: TEXT PONTO_TAXI AREA_ATENDIMENTO HORARIO_FUNCIONAMENTO: TEXT TRADUTOR_DISPONIVEL: BOOLEAN ATRACAO_TURISTICA NOME: TEXT DESCRICAO: INTEGER 0..* 1..* 0..* 1..* 0..* 1..* 0..* 1..* 0..* 0..* IDIOMA NOME: TEXT 0..* 1..* HOTEL ESTRELAS: INTEGER 0..* 1..* TRECHO_A_PE DISTANCIA: INTEGER VELOCIDADE: INTEGER 0..* 1 0..* 1 LINHA_ONIBUS CODIGO: INTEGER NOME: TEXT OPERADORA: TEXT LINHA_METRO CODIGO: INTEGER COR: TEXT 1..* 1 1..* 1 ITINERARIO 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* TRECHO VELOCIDADE: INTEGER 1 1 1 1 Contains Contains Contains Contains Contains Contains Contains Contains Contains Contains Contains Contains Contains Contains Contains Contains Contains Contains Contains
1/11/2021 OMT-G Designer aqui.io/omtg/# 1/1 PontoInteresse ID: INTEGER Hotel ID: INTEGER Nome: TEXT AtraçãoTurística ID: INTEGER Tipo: TEXT Nome: TEXT Hospital ID: INTEGER Nome: TEXT Delegacia ID: INTEGER Nome: TEXT Quartel ID: INTEGER Nome: TEXT Município Nome: TEXT LinhaÔnibus Código: INTEGER Nome: TEXT Empresa: TEXT Itinerário: TEXT LinhaMetro ID: INTEGER Cor: TEXT Itinerário: TEXT PontoÔnibus Código: INTEGER Endereço: TEXT Descrição: TEXT EstaçãoMetro Código: INTEGER Nome: TEXT 1..* 1..* 1..* 1..* ÁreaAtendimento ID: INTEGER PontoTransporte ID: INTEGER Tipo: TEXT Via ID: INTEGER Nome: INTEGER 1..* 1..* 1..* 1..* 1..* 1..* PontoTaxi ID: INTEGER Nome: TEXT Telefone: INTEGER Cooperativa ID: INTEGER Nome: TEXT Telefone: INTEGER 1..* 1..* Contains
Bancos de Dados Geográficos
Problema para Modelagem – Transportes na Copa
Orlando Enrico Liz Silvério Silva11/01/2021 OMT-G Designer aqui.io/omtg/# 1/1 Endereço Id: INTEGER Geolocalização: VARCHAR(200) Delegacia Id: INTEGER Nome: VARCHAR(50) Informações: VARCHAR(200) Hotel Id: INTEGER Nome: VARCHAR(50) Informações: VARCHAR(200) AtraçãoTurística Id: INTEGER Tipo: VARCHAR(50) Nome: VARCHAR(50)
Informações: VARCHAR(200) Hospital
Id: INTEGER Nome: VARCHAR(50) Informações: VARCHAR(200) QuartelPM Id: INTEGER Nome: VARCHAR(50) Informações: VARCHAR(200) LinhaÔnibus Id: INTEGER Código: VARCHAR(50) Cor: VARCHAR(50) LinhaMetro Id: INTEGER Cor: VARCHAR(50) Itinerário Id: INTEGER Informações: VARCHAR(200) Estação Id: INTEGER Nome: VARCHAR(50) PontoDeParada Id: INTEGER Nome: VARCHAR(50) Descrição: VARCHAR(200) ÁreaAtendimento Id: INTEGER Nome: VARCHAR(50) Descrição: VARCHAR(200) Trecho Id: INTEGER Nome: VARCHAR(50) Descrição: VARCHAR(200) Deslocamento: REAL 1 1 1 1 1 1 1 1 1 1 1..* 1 1..* 1 1..* 1..* 0..* 0..* 1 1 0..* 1 0..* 1 PontoTaxi Id: INTEGER Nome: VARCHAR(50) 1 1 Cooperativa Id: INTEGER Nome: VARCHAR(50) Telefone: TEXT 0..* 1 1 0..* 0..* 1 TrechoAPe Id: INTEGER Nome: VARCHAR(50) Descrição: VARCHAR(200) Deslocamento: REAL 0..* 0..* 0..* 0..* Pertence a
11/01/2021 OMT-G Designer aqui.io/omtg/# 1/1 Hoteis NumHotel: INTEGER Atrações_Turisticas NumAtração: INTEGER Cidade Hopital Delegacia Quartel_PM Municipio cod_IBGE: INTEGER Nome: TEXT Trecho_Itir Nó_Itinr Linhas_Bus Cod: INTEGER Nome: TEXT Nome_Empresa: TEXT Linhas_Metro Cod: INTEGER Cor: TEXT Pontos_Parada Cod: INTEGER Descricao: TEXT Estações Cod: INTEGER Nome: TEXT Onibus Cod: INTEGER Placa: INTEGER Marca: INTEGER Modelo: INTEGER Ano: INTEGER Metro Cod: INTEGER Nome_Empresa: INTEGER Endereço Cod_Parada: INTEGER NumPorta: INTEGER Area_De_Atendimento CodArea: INTEGER Trecho_Pe Nó_Pe Taxi Cod: INTEGER Nome: TEXT Contato: INTEGER Pontos_Taxi Cod: INTEGER
Nome: TEXT Loc_Pontos_Taxi
TimeStamp: INTEGER Ponto_Local IdPonto: INTEGER Nome: TEXT Descrição: TEXT Foto_url: TEXT 1..* 0..* 1..* 0..* 0..* 0..* 0..* 0..* 1..* 0..* 1..* 0..* 0..* 0..* 0..* 1..* 0..* 0..* 1..* 0..* 1..* 0..* 1..* 0..* 1..* 0..* 1..* 1..* 1..* 1..* Contains Contains itinerário trecho Near (10) Near (10) Traféga Traféga Possui Possui Possui Passa Passa Passa Pos. em Possui Possui
1/7/2021 OMT-G Designer aqui.io/omtg/# 1/1 Pontos_de_Interesse idPontosInteresse: INTEGER Endereço: TEXT Abertura: TIME Fechamento: TIME Hotel Nome: TEXT Estádio Nome: TEXT Hospital Nome: TEXT Delegacia Nome: TEXT Quartel Nome: TEXT Pontos_Transporte Codigo: INTEGER Ponto_Onibus Endereço: TEXT Descrição: TEXT Ponto_Metro Nome: TEXT Linhas_transporte Codigo: INTEGER Velocidade: REAL Linha_Onibus Nome: TEXT Empresa: TEXT Linha_Metro Cor: TEXT Itinerario idItinerario: INTEGER 2..* 1..* 1 1 Area_Atendimento idAreaAtendimento: INTEGER 1..* 1..* Rua idRua: INTEGER Nome: TEXT Velocidade: REAL 0..* 1 Taxi Cooperativa: TEXT Telefone: TEXT Malha de transporte Malha Rodoviária
Lote - Descrição Estabelecimento Contém 1 0..* Estabelecimento comercial - Tipo (loja, restaurante,...)
Estabelecimento público - Tipo (delegacia, hospital,...)
- Tipo de trecho: reto, esquina, bifurcação... - Tipo de via: calçada, rua, ciclovia, rio, trilho... - Coordenadas
- Tráfego (mão única ou dupla) - Largura da via
- Velocidade máxima neste ponto - Velocidade mínima neste ponto - Velocidade típica neste ponto
Ponto sobre a via
Ponto De Ônibus Estação do Metrô Ponto de transporte público Linha - Codigo - Nome - Empresa Linha de ônibus - Codigo - Cor Linha de metrô Entrada próxima de 1 1..* Área de Atendimento 1 1..* Contém Ponto De Taxi
- Tipo : (ônibus, carro) Veículo - Tipo : (ônibus, carro)
Ônibus - Tipo : (ônibus, carro)
Taxi
- Tipo : (taxi, ônibus, metrô) Empresa de Transporte
- Tipo : (ônibus, carro) Metrô Possui Possui 0..* 1..* 0..* 0..* Possui 0..* 0..* Possui Possui 1..* 1..* Possui 1..* 1..*
Ricardo Bruno da Cruz Costa - 2015131765 - Sistemas de Informação Exercício –Transporte COPA
Documentação Auxiliar:
O TipoLocal da classe LocalImportante salva a informação do tipo de local que é, como o estadio de futebol, os hoteis, as atrações turísticas, as delegacias, os hospitais etc...
A Especialização de parada é do tipo Sobreposto / Total e a especialização de Linha é do tipo Disjunto / Total (O OMG não carregou o desenho)
UNIVERSIDADE FEDERAL DE MINAS GERAIS
Instituto de Ciências Exatas - ICEX Departamento de Ciência da Computação - DCC
Disciplina: DCC049 | TN - Tópicos em Sistemas de Informação (Banco de Dados Geográficos)
12/1/2021 OMT-G Designer aqui.io/omtg/# 1/1 LOGRADOURO CodLograd: INTEGER NomeLograd: TEXT CIDADE MUNICIPIOS CodMuni: INTEGER NomeMuni: TEXT HOSPEDAGEM
ESTADIOS_FUTEBOL ATRAÇOES_TURISTICAS HOTEIS
ENDEREÇO CodLograd: INTEGER NumPorta: INTEGER TRECHO_LOGRAD CodLograd: INTEGER NumSeq: INTEGER Velocidade: INTEGER Dist: INTEGER DESLOCAMENTO CodDesloc: INTEGER ESTAÇAO CodPonto: INTEGER Descrição: INTEGER TRECHO_DESLOCAMENTO PontoPartida: INTEGER PontoParada: INTEGER CodTransporte: INTEGER NumSeq: INTEGER TRECHO_TRANSPORTE CodTransporte: INTEGER Color: TEXT NumSeq: INTEGER cruzamento TRANSPORTE CodTransporte: INTEGER Nome: TEXT Empresa: TEXT
BUS METRO CAMINHANDO
AREA_ATENDIMENTO PONTO_TAXI CodPonto: INTEGER Nome: TEXT Telef: INTEGER 1 0..* 1 1 1 0..* 1 0..* 1 0..* 1 0..* 1 0..* 0..* 1 1 0..* possui Near (0) Contains possui ponto parada Near (0) Near (10) malha possui Contains
UNIVERSIDADE FEDERAL DE MINAS GERAIS
Trabalho apresentado ao professor
Clodoveu dias, da disciplina de Banco
de Dados Geográficos, pelo aluno
Enok Januário da Rocha, do curso de
Ciência
da
Computação,
como
exigência da disciplina.
Belo Horizonte
2021
Universidade Federal de Minas Gerais Instituto de Ciências Exatas
Departamento de Ciência da Computação
Disciplina: Tópicos Especiais em Bancos de Dados / Bancos de Dados Geográficos
Professor: Clodoveu Davis
Considere a seguinte especificação de requisitos para um sistema voltado para a orientação de turistas e visitantes durante a Copa 2014 em uma cidade brasileira:
1. O sistema tem a finalidade de orientar turistas e demais visitantes com relação aos locais de hospedagem e os deslocamentos para o estádio de futebol e para visitas a pontos turísticos. 2. A localização e dados básicos sobre hotéis e atrações turísticas (incluindo o estádio de futebol)
deverão ser registrados pelo sistema. A localização de hospitais, delegacias e quartéis da Polícia Militar deverá ser também registrada no sistema, juntamente com dados básicos sobre cada um, como apoio aos turistas.
3. O deslocamento poderá ser feito por ônibus urbano ou metrô, que estão integrados em uma malha única. É necessário conhecer as linhas de ônibus, caracterizadas por um código, nome e empresa operadora, e as linhas de metrô, que possuem um código e uma cor (nome). Cada linha de ônibus ou metrô tem um itinerário, que passa por pontos de parada ou estações. Os pontos de parada ou estações podem ser compartilhados por mais de uma linha da respectiva modalidade de transporte. As estações de metrô são descritas por um código e um nome, e os pontos de ônibus têm um código, um endereço e uma descrição textual.
4. Será definida, ao redor de cada ponto de parada ou estação de metrô, uma área de atendimento. Pode haver superposição entre áreas de atendimento de pontos ou estações diferentes. O objetivo é fornecer ao turista, com base em sua localização de momento, uma lista de pontos ou estações que poderão atendê-‐lo, e também informar os pontos de transporte preferenciais para acesso aos hotéis, atrações turísticas, hospitais, delegacias e quartéis, com base em sua localização.
5. Um algoritmo é capaz de gerar rotas ótimas entre qualquer estação ou ponto de ônibus de origem e outro de destino. Portanto, é necessário integrar os pontos de parada e estações com trechos que serão percorridos a pé pelos visitantes, de modo a permitir o planejamento de viagens que envolvam mais de um transporte (ex.: caminhar até um ponto de ônibus, pegar um ônibus até o centro, desembarcar em outro ponto de parada, caminhar até uma estação de metrô, de lá pegar o metrô para uma estação de destino, e finalmente caminhar até o destino final). Serão criados automaticamente trechos a pé entre pontos de parada ou estações “próximos” entre si, ou seja, situados a menos de 500 metros um do outro.
6. Cada tipo de deslocamento possui uma velocidade de percurso diferenciada: no caso do metrô, essa velocidade é tipicamente de 60 km/h; para os ônibus, é de 40 km/h. Nos trechos a pé, o deslocamento é considerado a 3 km/h. No entanto, o sistema deve manter essa informação em cada trecho, pois as velocidades podem variar em função das características de cada via.
7. É necessário incluir dados sobre o sistema de transporte por taxi, consistindo na localização dos pontos de taxi e em dados sobre as cooperativas, estas desprovidas de localização espacial relevante, mas identificadas com o nome e telefone de contato.
Produza um esquema OMT-‐G para esta aplicação. Inclua: classes, relacionamentos, atributos conforme os requisitos (inclusive atributos chave, quando for o caso), restrições de cardinalidade. Descreva e justifique qualquer aspecto do esquema em que você porventura tenha resolvido exceder aos
requisitos propostos, e também pressupostos que você tenha estabelecido. Caso exista a necessidade de estabelecer alguma restrição semântica adicional, que não possa ser formulada com os recursos do modelo de dados, documentá-‐la em separado usando linguagem natural.