PROGRAMA DE P ´
OS-GRADUAC
¸ ˜
AO EM ENGENHARIA EL ´
ETRICA E
INFORM ´
ATICA INDUSTRIAL
PAULO CARVALHO DINIZ JUNIOR
SERVIC
¸ OS TELEM ´
ATICOS EM UMA REDE DE TRANSPORTE
P ´
UBLICO BASEADOS EM VE´ICULOS CONECTADOS E DADOS
ABERTOS
DISSERTAC
¸ ˜
AO
CURITIBA 2017
SERVIC
¸ OS TELEM ´
ATICOS EM UMA REDE DE TRANSPORTE
P ´
UBLICO BASEADOS EM VE´ICULOS CONECTADOS E DADOS
ABERTOS
Dissertac¸˜ao apresentada ao Programa de P´os-graduac¸˜ao em Engenharia El´etrica e Inform´atica Industrial da Universidade Tecnol´ogica Federal do Paran´a como requisito parcial para obtenc¸˜ao do grau de “Mestre em Ciˆencias” – ´Area de Concentrac¸˜ao: Engenharia da Computac¸˜ao.
Orientador: Heitor Silv´erio Lopes
CURITIBA 2017
Dados Internacionais de Catalogação na Publicação
D585s Diniz Junior, Paulo Carvalho
2017 Serviços telemáticos em uma rede de transporte público baseados em veículos conectados e dados abertos / Paulo Carvalho Diniz Junior.-- 2017.
114 f.: il.; 30 cm.
Disponível também via World Wide Web. Texto em português, com resumo em inglês.
Dissertação (Mestrado) - Universidade Tecnológica Federal do Paraná. Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial. Área de Concentração: Engenharia de Computação, Curitiba, 2017.
Bibliografia: f. 74-76.
1. Transporte urbano - Curitiba (PR). 2. Planejamento urbano - Aspectos ambientais. 3. Sistemas de transmissão de dados. 4. Telemática. 5. Levantamentos de origem e destino do trânsito. 6. Métodos estatísticos. 7. Sistemas inteligentes de veículos rodoviários. 8. Métodos de simulação. 9. Engenharia elétrica – Dissertações. I. Lopes, Heitor Silvério, orient. II. Universidade Tecnológica Federal do Paraná. Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial. III. Título.
CDD: Ed. 22 -- 621.3
Biblioteca Central do Câmpus Curitiba - UTFPR
Universidade Tecnológica Federal do Paraná Diretoria de Pesquisa e Pós-Graduação
TERMO DE APROVAÇÃO DE DISSERTAÇÃO Nº____
A Dissertação de Mestrado intitulada “Serviços Telemáticos em uma Rede de Transporte Público Baseados em Veículos Conectados e Dados Abertos” defendida em sessão pública pelo(a) candidato(a) Paulo Carvalho Diniz Junior, no dia 29 de agosto de 2017, foi julgada para a obtenção do título de Mestre em Ciências, área de concentração Engenharia da Computação, e aprovada em sua forma final, pelo Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial
BANCA EXAMINADORA:
Prof(a). Dr(a). Heitor Silvério Lopes - Presidente – (UTFPR) Prof(a). Dr(a). Keiko Verônica Ono Fonseca - (UTFPR) Prof(a). Dr(a). Luis Carlos Erpen de Bona – (UFPR)
A via original deste documento encontra-se arquivada na Secretaria do Programa, contendo a assinatura da Coordenação após a entrega da versão corrigida do trabalho.
Os autor reconhece o suporte da municipalidade de Curitiba e parceiros do projeto “Smart city concepts in Curitiba - innovation for sustainable mobility and energy efficiency”.
Este ´ultimo financiado pela VINNOVA (Agˆencia Governamental para Sistemas Inovadores) na Su´ecia, liderados pelo KTH Royal Institute of Technology e envolvendo os seguintes parceiros suecos e brasileiros: Universidade Tecnol´ogica Federal do Paran´a (UTFPR), Volvo Bus Corporation, Combitech, URBS (Urbanizac¸˜ao de Curitiba S.A.) e a prefeitura de Curitiba.
O autor gostaria de agradecer imensamente tamb´em ao suporte, resiliˆencia, atenc¸˜ao e paciˆencia do orientador Heitor Silv´erio Lopes e da professora Keiko Fonseca. Al´em da ajuda e contribuic¸˜ao essenciais de Daniel Guerra Diniz, Leonardo Presoto de Oliveira e Kelly Trefflich.
CARVALHO DINIZ JUNIOR, Paulo. SERVIC¸ OS TELEM ´ATICOS EM UMA REDE DE TRANSPORTE P ´UBLICO BASEADOS EM VE´ICULOS CONECTADOS E DADOS ABERTOS. 114 f. Dissertac¸˜ao – Programa de P´os-graduac¸˜ao em Engenharia El´etrica e Inform´atica Industrial, Universidade Tecnol´ogica Federal do Paran´a. Curitiba, 2017.
Um conceito bastante em voga atualmente ´e o de cidades inteligentes. Ele define um tipo de desenvolvimento urbano capaz de reduzir os impactos ambientais, melhorando os modelos atuais de acesso a recursos naturais, transportes, gest˜ao do lixo, climatizac¸˜ao residencial e sobretudo a gest˜ao da energia (produc¸˜ao e distribuic¸˜ao).
O massivo volume de dados produzidos por cidades inteligentes oferece uma grande oportunidade para analisar, compreender e melhorar o modo como elas funcionam e se desenvolvem. Esta explos˜ao na quantidade de informac¸˜oes tem elevado a importˆancia do aprendizado a partir de dados a um patamar extremamente elevado.
Esta dissertac¸˜ao tem por objetivo descrever uma metodologia para aquisic¸˜ao e explorac¸˜ao de dados de um dos mais importantes pilares de cidades inteligentes: o sistema de transporte p´ublico. Como obter, armazenar e utilizar tais dados a fim de prover a todos os envolvidos, servic¸os telem´aticos de alto valor agregado ´e o problema que se busca resolver neste trabalho. Cinco servic¸os telem´aticos s˜ao propostos sob forma de prova de conceito: avaliac¸˜ao da cobertura da rede de transporte atual, seguida de uma proposta de novas linhas de ˆonibus; avaliac¸˜ao indireta da ocupac¸˜ao di´aria dos ˆonibus da cidade; cerca-eletrˆonica com os limites geogr´aficos definidos pelos itiner´arios das linhas; servic¸os de alerta de velocidade e de manutenc¸˜ao.
Os resultados s˜ao bastante coerentes e promissores, abrindo um grande leque de poss´ıveis trabalhos futuros a serem explorados.
Palavras-chave: Servic¸os telem´aticos, dados abertos, transporte p´ublico, matriz origem-destino
CARVALHO DINIZ JUNIOR, Paulo. TELEMATICS SERVICES IN A PUBLIC TRANSPORTATION NETWORK BASED ON CONNECTED VEHICLES AND OPEN DATA. 114 f. Dissertac¸˜ao – Programa de P´os-graduac¸˜ao em Engenharia El´etrica e Inform´atica Industrial, Universidade Tecnol´ogica Federal do Paran´a. Curitiba, 2017.
Smart city is a very trendy concept today. It defines a type of urban development capable of reducing environmental impacts, enhancing current models of access to natural resources, better transportation systems, waste management, residential climatization and, above all, energy management (production and distribution).
The huge data volume produced by smart cities offers a great opportunity to analyze, understand and improve the way cities work and grow. This explosion in the amount of digital information has elevated the importance of learning from data to a higher level.
This document aims at describing a methodology for acquiring and exploring data from one of the most important pillars of smart cities: the public transportation system. How to acquire, store and use such data in order to provide to all stakeholders telematics services with high added value is the problem that is sought to solve in this work.
Five telematics services proof of concept are proposed: assessment of current network coverage followed by the proposal of some new bus lines; indirect evaluation of buses’ passengers occupation during the day; geofence with geographical boundaries according to itineraries; speed alert and maintenance reminder services.
The results are very coherent and promising, opening up a wide range of possible future work to be explored.
–
FIGURA 1 Exemplo de estac¸˜ao tubo. . . 14 –
FIGURA 2 Vis˜ao geral da metodologia proposta. . . 25 –
FIGURA 3 Diagrama de relacionamento entre as diversas bases de dados criadas. . . . 28 –
FIGURA 4 Vis˜ao geral da grade quadricular sobre a cidade de Curitiba. . . 31 –
FIGURA 5 Exemplo de inferˆencia do ponto de desembarque - parte 1. . . 34 –
FIGURA 6 Exemplo de inferˆencia do ponto de desembarque - parte 2. . . 35 –
FIGURA 7 Exemplo de inferˆencia do ponto de desembarque - parte 3. . . 35 –
FIGURA 8 Exemplo de inferˆencia do ponto de desembarque - parte 4. . . 36 –
FIGURA 9 Configurac¸˜oes do QGIS para produc¸˜ao dos mapas de calor. . . 39 –
FIGURA 10 Servic¸os Telem´aticos propostos. . . 40 –
FIGURA 11 Grades consideradas na busca por linhas diretas cobrindo os principais pares origem-destino. . . 41 –
FIGURA 12 Vis˜ao detalhado da metodologia proposta. . . 46 –
FIGURA 13 Extrac¸˜ao da base de utilizac¸˜ao dos cart˜oes. . . 48 –
FIGURA 14 Extrac¸˜ao da base de pontos de ˆonibus. . . 48 –
FIGURA 15 Extrac¸˜ao da base de percurso do itiner´ario das linhas. . . 49 –
FIGURA 16 Extrac¸˜ao da base contendo a posic¸˜ao GPS de todos os ˆonibus da rede. . . . 49 –
FIGURA 17 Extrac¸˜ao da base contendo o detalhe sobre os pontos do tipo tubo ou terminais. . . 49 –
FIGURA 18 Histograma de utilizac¸˜ao dos cart˜oes de transporte no per´ıodo considerado. 50 –
FIGURA 19 Histograma de utilizac¸˜ao dos cart˜oes de transporte para um ´unico dia. . . . 50 –
FIGURA 20 As 15 linhas e ve´ıculos mais utilizados segundo a base de cart˜oes. . . 51 –
FIGURA 21 Exemplo de ˆonibus t´ıpico da rede de Curitiba. . . 51 –
FIGURA 22 Quantidade de dados de utilizac¸˜ao dos cart˜oes de transporte resultante dos processos de limpeza dos dados. . . 53 –
FIGURA 23 Quantidade de utilizac¸˜ao de um mesmo cart˜ao por dia. . . 54 –
FIGURA 24 Exemplo de grade incluindo diversos pontos de ˆonibus. . . 55 –
FIGURA 25 Tentativa de visualizac¸˜ao do grafo de origem-destino completo. . . 56 –
FIGURA 26 Visualizac¸˜ao do grafo de origem-destino considerando as mil ligac¸˜oes mais importantes. . . 57 –
FIGURA 27 Exemplos de mapa de calor utilizando R e GoogleMaps. . . 58 –
FIGURA 28 Concentrac¸˜ao dos principais pontos de origem e destino de passageiros -Dias de semana. . . 58 –
FIGURA 29 Concentrac¸˜ao dos principais pontos de origem e destino de passageiros -Dias de final de semana. . . 59 –
FIGURA 30 Comparativo dos principais pontos de embarque e desembarque de passageiros. . . 60 –
FIGURA 31 Visualizando a matriz origem-destino filtrada por um ponto de interesse. . 60 –
FIGURA 32 Top 50 pares origem-destino identificados sem cobertura direta por alguma linha existente. . . 61 –
FIGURA 33 Exemplo de ligac¸˜ao com alta utilizac¸˜ao mas sem cobertura direta por alguma linha existente. . . 62
para a linha 461. . . 64 –
FIGURA 36 Exemplo de servic¸o de cerca eletrˆonica. . . 68 –
FIGURA 37 Exemplo de servic¸o de alerta de velocidade. . . 69 –
FIGURA 38 Exemplo de servic¸o de avaliac¸˜ao da velocidade m´edia da linha. . . 69 –
FIGURA 39 Exemplo de servic¸o de avaliac¸˜ao da velocidade m´edia em diversos trechos da linha. . . 70 –
–
TABELA 1 Principais entradas e sa´ıdas da etapa “Obtenc¸˜ao e Armazenamento dos dados” . . . 26 –
TABELA 2 Principais entradas e sa´ıdas da etapa “Limpeza e Preparac¸˜ao dos dados” . . 29 –
TABELA 3 Principais entradas e sa´ıdas da etapa “Associac¸˜ao dos dados de GPS `as informac¸˜oes de utilizac¸˜ao dos cart˜oes” . . . 31 –
TABELA 4 Principais entradas e sa´ıdas da etapa “Estimac¸˜ao do Ponto de Desembarque de cada usu´ario” . . . 33 –
TABELA 5 Principais entradas e sa´ıdas da etapa “Criac¸˜ao e Visualizac¸˜ao da Matriz de Origem-Destino” . . . 36 –
TABELA 6 Principais entradas e sa´ıdas da etapa “Oferta de pacote de Servic¸os Telem´aticos” . . . 39 –
TABELA 7 Quantidade de dados obtidas durante o per´ıodo considerado. . . 48 –
TABELA 8 Associac¸˜ao entre cod urbs e os quinze terminais e tubos mais utilizados. . 52 –
TABELA 9 Dispers˜ao na definic¸˜ao da posic¸˜ao GPS de passagem do cart˜ao. . . 55 –
TABELA 10 Dispers˜ao do tempo m´edio de permanˆencia dos passageiros na linha 461. . 63 –
1 INTRODUC¸ ˜AO . . . 12
1.1 SISTEMA DE TRANSPORTE P ´UBLICO DE CURITIBA . . . 13
1.2 CIDADES INTELIGENTES E DADOS ABERTOS . . . 15
1.3 VE´ICULOS CONECTADOS E SERVIC¸ OS TELEM ´ATICOS . . . 16
1.4 OBJETIVOS . . . 17
1.5 ESTRUTURA DA DISSERTAC¸ ˜AO . . . 18
2 REVIS ˜AO BIBLIOGR ´AFICA . . . 19
2.1 TRABALHOS CORRELATOS . . . 19
2.2 FERRAMENTAS UTILIZADAS . . . 22
2.2.1 Python . . . 22
2.2.2 Web-services e R . . . 22
2.2.3 Base de dados geo-referenciados . . . 23
3 M ´ETODOS . . . 25
3.1 OBTENC¸ ˜AO E ARMAZENAMENTO DOS DADOS . . . 25
3.2 LIMPEZA E PREPARAC¸ ˜AO DOS DADOS . . . 29
3.3 ASSOCIAC¸ ˜AO DOS DADOS DE GPS `AS INFORMAC¸ ˜OES DE UTILIZAC¸ ˜AO DOS CART ˜OES . . . 31
3.4 ESTIMAC¸ ˜AO DO PONTO DE DESEMBARQUE DE CADA USU ´ARIO . . . 33
3.5 CRIAC¸ ˜AO E VISUALIZAC¸ ˜AO DA MATRIZ DE ORIGEM-DESTINO . . . 36
3.6 OFERTA DE PACOTE DE SERVIC¸ OS TELEM ´ATICOS . . . 39
3.6.1 Ligac¸˜oes importantes sem linha direta dedicada . . . 40
3.6.2 Estimac¸˜ao do n´ıvel de utilizac¸˜ao dos ˆonibus . . . 41
3.6.3 Alerta de sa´ıda da rota prevista . . . 43
3.6.4 Alerta de quilometragem . . . 44
3.6.5 Alerta de excesso de velocidade . . . 44
4 EXPERIMENTOS E RESULTADOS . . . 47
4.1 OBTENC¸ ˜AO E ARMAZENAMENTO DOS DADOS - RESULTADOS . . . 47
4.2 LIMPEZA E PREPARAC¸ ˜AO DOS DADOS - RESULTADOS . . . 52
4.3 ASSOCIAC¸ ˜AO DOS DADOS DE GPS `AS INFORMAC¸ ˜OES DE UTILIZAC¸ ˜AO DOS CART ˜OES - RESULTADOS . . . 54
4.4 ESTIMAC¸ ˜AO DO PONTO DE DESEMBARQUE DE CADA USU ´ARIO -RESULTADOS . . . 55
4.5 CRIAC¸ ˜AO E VISUALIZAC¸ ˜AO DA MATRIZ DE ORIGEM-DESTINO -RESULTADOS . . . 56
4.6 OFERTA DE PACOTE DE SERVIC¸ OS TELEM ´ATICOS - RESULTADOS . . . 61
5 CONCLUS ˜OES . . . 71
5.1 TRABALHOS FUTUROS . . . 72
REFER ˆENCIAS . . . 74
Anexo A -- SCRIPT R: OBTER POSIC¸ ˜OES GPS E DADOS DOS CART ˜OES . . . 77 Anexo B -- SCRIPT PYTHON: CONTAR QUANTAS VEZES CADA CART ˜AO FOI
CURITIBA . . . 82 Anexo D -- SCRIPT SQL: ASSOCIAR GRADES AOS PONTOS DE ˆONIBUS . . . 84 Anexo E -- SCRIPT SQL: UNIR UTILIZAC¸ ˜AO DOS CART ˜OES COM
INFORMAC¸ ˜AO DE GPS DOS ˆONIBUS . . . 86 Anexo F -- SCRIPT SQL: DEFINIR GRADE DE PARTIDA E DE CHEGADA . . . 89
Anexo G -- SCRIPT R: CRIAR GRAFO DAS PRINCIPAIS LIGAC¸ ˜OES
ORIGEM/DESTINO . . . 95 Anexo H -- SCRIPT SQL: CONFIRMAR AUS ˆENCIA DE COBERTURA DIRETA . 98
Anexo I -- SCRIPT PYTHON: CONFIRMAR AUS ˆENCIA DE COBERTURA
DIRETA . . . 101 Anexo J -- SCRIPT SQL: IMPLEMENTAR SERVIC¸ OS TELEM ´ATICOS . . . 104 Anexo K -- SCRIPT PYTHON: IMPLEMENTAR SERVIC¸ OS TELEM ´ATICOS . . . 109 Anexo L -- TIPOS E CAPACIDADES DOS ˆONIBUS DE CURITIBA . . . 113
1 INTRODUC¸ ˜AO
Alimentada principalmente pelo aumento da capacidade de processamento e o custo cada vez menor do armazenamento de dados (localmente ou na nuvem) (Executive Office of the President, 2014), a coleta, o armazenamento e a an´alise de dados segue uma trajet´oria ascendente e aparentemente sem limites.
A qualquer momento do dia e em qualquer lugar do planeta, grandes volumes de dados s˜ao produzidos pelos mais diversos dispositivos como celulares, cˆameras de seguranc¸a, equipamentos m´edicos, plataformas de com´ercio eletrˆonico e sites de redes sociais.
Esta explos˜ao na quantidade de informac¸˜oes tem elevado a importˆancia do aprendizado a partir de dados a um patamar extremamente elevado. ´E cada vez maior o n´umero de cientistas, decisores e governantes que consideram a an´alise massiva de dados como uma grande alavanca para promover melhoras na qualidade de vida e proporcionar um grande crescimento econˆomico `a sociedade (EDWARDS, 2014).
O jornal britˆanico The Economist em 2010 j´a afirmava que “Dados est˜ao se tornando a nova mat´eria prima dos neg´ocios: Uma entrada econˆomica quase equivalente ao capital ou ao trabalho”. Na mesma linha, tamb´em em 2010, a Gartner (uma das maiores empresas de consultoria do mundo) afirmava que “Dados ser˜ao o petr´oleo do s´eculo 21”.
Como in´umeros “dispositivos conectados” est˜ao se tornando parte de nossas vidas di´arias incluindo dispositivos vest´ıveis (wearables), sensores, cˆameras de vigilˆancias, aplicativos de smartphones, sistemas de automatizac¸˜oes residenciais etc., temos cada vez mais informac¸˜oes dispon´ıveis. Todas estas informac¸˜oes que comp˜oem tais dados est˜ao a disposic¸˜ao para serem analisados, com a esperanc¸a que os resultados de tais an´alises ajudem a desenvolver novas intuic¸˜oes, ideias e percepc¸˜oes sobre o mundo e ajude a melhor´a-lo (GESELOWITZ, 2014).
Um conceito bastante em voga atualmente ´e o de “cidades inteligentes”. Este conceito define um tipo de desenvolvimento urbano capaz de reduzir os impactos ambientais, melhorando os modelos atuais de acesso a recursos naturais, transportes, gest˜ao do lixo,
climatizac¸˜ao residenciais e gest˜ao da energia.
Do conceito de cidades inteligentes, muitas outras ideias e tendˆencias vem sendo identificadas e fomentadas. A t´ıtulo de exemplo tem-se projetos de SmartGrid (para gest˜ao inteligente no consumo de energia) e projetos de “ve´ıculos conectados” (buscando auxiliar na reduc¸˜ao do trˆansito nas cidades, por exemplo).
Para entender o conceito de “Ve´ıculo Conectado”, pode-se dividi-lo em trˆes componentes (PORTER; HEPPELMANN, 2015):
• Componentes f´ısicos: Referem-se as pec¸as mecˆanicas e eletrˆonicas propriamente ditas: motor, pneu, bateria etc.;
• Componentes inteligentes: Referem-se aos captores, microprocessadores, mem´orias, comandos, softwares, interfaces homem-m´aquina etc.. No caso automotivo, pode-se citar como exemplos a unidade de injec¸˜ao eletrˆonica, o sistema de frenagem ABS, o limpador de para-brisa autom´atico acoplado ao sensor de chuva, o sistema multim´ıdia etc.;
• Componentes de conectividade: Referem-se a componentes que permitam a comunicac¸˜ao com ou sem fio com o produto, como ´e o caso de antenas, modens, protocolos de comunicac¸˜ao etc..
A chegada massiva dos componentes de conectividade no mundo automotivo ´e que tem modificado o panorama e amplificado as possibilidades para esta ´area.
Esta dissertac¸˜ao explora um dos principais eixos de cidades inteligentes: o sistema de transporte p´ublico.
A primeira e a mais essencial quest˜ao para o sucesso de qualquer processo de an´alise massiva de dados, ´e ter claramente definido o problema que se deseja resolver (EMC, 2015). Como obter, armazenar e utilizar os dados abertos do transporte p´ublico de Curitiba a fim de prover a todos os envolvidos, servic¸os telem´aticos de alto valor agregado ´e o problema que se busca resolver neste trabalho.
1.1 SISTEMA DE TRANSPORTE P ´UBLICO DE CURITIBA
Curitiba ´e a capital do estado do Paran´a, Brasil, e se estende por uma ´area de 430,9 km2. De acordo com o ´ultimo censo brasileiro (datando de 2010), a cidade tem cerca de 1,8 milh˜oes de habitantes, sendo a oitava mais populosa do pa´ıs.
Planejamento urbano ´e essencial para ordenar e melhorar o desenvolvimento da cidade. Planejar o espac¸o urbano, considerando todos os aspectos de uso do territ´orio, ´e fortemente ligado aos sistemas de transporte p´ublico e suas infraestruturas (GUERRA, 2011). Curitiba ´e conhecida como a “capital ecol´ogica do Brasil”, tendo uma longa tradic¸˜ao no planejamento urbano sustent´avel e conceitos urbanistas inovadores. A cidade j´a foi considerada uma das cidades mais inteligentes do mundo e ´e atualmente membro da C40 megacidades (KOZIEVITCH et al., 2016).
O sistema de transporte p´ublico de Curitiba ´e controlado, gerido e operado pela URBS (Urbanizac¸˜ao de Curitiba S.A.)1. Trata-se de uma empresa de capital misto com mais de 99% das ac¸˜oes pertencentes `a Prefeitura de Curitiba2.
No in´ıcio da d´ecada de 70, a URBS criou corredores ligando os eixos norte e sul da cidade atrav´es de ˆonibus expressos (atualmente cobertos tamb´em por ˆonibus articulados ou biarticulados, com capacidade para cerca de 250 passageiros por ˆonibus). Diversos terminais foram criados para conectar estes corredores `as linhas alimentadoras (que conectam regi˜oes mais distantes da cidade). Existem tamb´em algumas linhas espec´ıficas (Interbairros) que conectam as regi˜oes perif´ericas sem passar pelo centro da cidade, al´em de algumas linhas diretas oferecendo alternativas mais r´apidas e eficientes para os usu´arios. Estas, utilizam pontos de ˆonibus especiais chamados Estac¸˜ao Tubo (ver Figura 1), onde o usu´ario paga ao entrar no ponto de ˆonibus, reduzindo o tempo de embarque nos ˆonibus e melhorando a agilidade do sistema como um todo.
Figura 1: Exemplo de ponto de ˆonibus utilizado pelas linhas expressas da cidade: Estac¸˜ao Tubo.
A respeito do modo de pagamento, Curitiba utiliza a tecnologia de smart card como cart˜ao de transporte (trata-se de um cart˜ao pl´astico contendo um chip capaz de validar a coleta da tarifa do ˆonibus atrav´es de Comunicac¸˜ao por Campo de Proximidade - Near Field Communication - NFC em inglˆes (PELLETIER et al., 2011)). Os usu´arios podem pagar as
1http://www.urbs.curitiba.pr.gov.br/transporte/rede-integrada-de-transporte (site visitado em 02/07/2017) 2https://www.urbs.curitiba.pr.gov.br/institucional/acionistas - visitado em 02/07/2017
viagens com dinheiro ou utilizando o cart˜ao de transporte (que pode ser carregado em diversos pontos da cidade). Segundo ´ultimos dados oficiais divulgados (datando de 2016), cerca de 60%3 dos usu´arios do sistema, utilizam o cart˜ao de transporte como meio de pagamento.
1.2 CIDADES INTELIGENTES E DADOS ABERTOS
Em 2012, pela primeira vez, mais de 50% da populac¸˜ao mundial passou a viver em cidades (isto significa mais de 3,5 bilh˜oes de pessoas). De acordo com as Nac¸˜oes Unidas, este n´umero deve passar de metade para dois-terc¸os em 2040 (BABINET, 2015).
De certo modo, uma cidade ´e a concentrac¸˜ao de diversos tipos de fluxos: pessoas, trens, carros, informac¸˜ao, energia, ´agua pot´avel, esgoto etc. Um dos maiores desafios para muitas administrac¸˜oes p´ublicas ao redor do planeta ´e aprender a lidar com todos esses fluxos de forma eficiente e ambientalmente respons´avel.
Este enorme crescimento da densidade populacional humana em ´areas urbanas tem forc¸ado governos a repensar sobre o pr´oprio funcionamento das cidades.
´
E f´acil identificar muitos problemas que as cidades dever˜ao enfrentar a fim de se manterem atrativas tanto para os neg´ocios quanto para os cidad˜aos.
A partir destas necessidades, nasceu o conceito de Cidades Inteligentes (Smart Cities). Este conceito est´a relacionado a um padr˜ao de desenvolvimento capaz de reduzir impactos ambientais, melhorando, por exemplo, acessos a recursos naturais, gest˜ao de energia e de transporte (CHEN et al., 2014). Ele est´a fortemente relacionado `a obtenc¸˜ao e an´alise de dados, com o intuito de aumentar a compreens˜ao, avaliar e melhorar o modo como as cidades trabalham e se desenvolvem4.
Em 2014, um cons´orcio de partes interessadas (stakeholders) suecas e brasileiras foi criado com o intuito de promover o desenvolvimento urbano sustent´avel em Curitiba (projeto chamado Smart city concepts in Curitiba)5.
Este projeto pode ser visto como o ponto de partida para iniciativas com dados abertos na cidade. Dados abertos (do inglˆes Open Data) significa dados livres acess´ıveis a qualquer um. Eles devem ser publicados de uma maneira estruturada e compartilhado sob uma licenc¸a aberta,
3http://www.urbs.curitiba.pr.gov.br/transporte/estatisticas/uso cartoes (site visitado em 02/07/2017)
4Alguns exemplos reais de avanc¸os em cidades inteligentes nos EUA podem ser encontrados neste artigo do The Wall Street Journal https://www.wsj.com/articles/the-rise-of-the-smart-city-1492395120 (site visitado em 02/07/2017)
garantindo sua livre utilizac¸˜ao, sem nenhuma barreira t´ecnica ou legal (BABINET, 2015)6.
1.3 VE´ICULOS CONECTADOS E SERVIC¸ OS TELEM ´ATICOS
Dado seu alto impacto em engarrafamentos, poluic¸˜ao do ar e mobilidade de pessoas e mercadorias, uma das pec¸as mais cr´ıticas do quebra-cabec¸a de Cidades Inteligentes ´e o transporte p´ublico(KOZIEVITCH et al., 2016) e a mobilidade urbana de forma geral. Cidades Inteligentes ser˜ao capazes de suportar sistemas de transporte multimodais, facilitar a busca por vagas de estacionamento, controlar de forma inteligente os sem´aforos sincronizando-os, por exemplo, com os hor´arios e posic¸˜oes dos ˆonibus da cidade7.
Ali´as, com o advento de novas tecnologias nesta ´area, transformando ˆonibus ordin´arios em ˆonibus conectados (capazes de se comunicar `a distˆancia alguns de seus estados e parˆametros), ´e poss´ıvel ter acesso a uma grande quantidade de dados, oferecendo uma mir´ıade de possibilidades para ajudar a organizar, planejar e gerir de forma inteligente o sistema de transporte p´ublico.
Ve´ıculos conectados s˜ao uma das maiores tendˆencias atualmente no mundo automotivo, conforme ´e apresentado pela imprensa e empresas de consultoria especializadas, tais como a McKinsey & Company8. Ele tamb´em ´e considerado como um dos pilares da pr´oxima revoluc¸˜ao que o setor deve viver: ve´ıculos autˆonomos.
Tanto as montadoras de luxo como as mais populares, veem as tecnologias associadas ao ve´ıculo conectado como essenciais para seus futuros. At´e 2020, o ve´ıculo conectado deve transformar de forma disruptiva todo o ecossistema automotivo. No entanto, ainda restam muitos desafios t´ecnicos, legais e de seguranc¸a a serem vencidos para que os futuros consumidores realmente confiem em ve´ıculos altamente conectados e autˆonomos (VIERECKL et al., 2015).
A palavra telem´atica (formada da junc¸˜ao das palavras telecomunicac¸˜oes e inform´atica) foi cunhada pela primeira vez em um relat´orio destinado ao governo francˆes em maio de 1978 (NORA; MINC, 1978). Este relat´orio foi o resultado de uma trabalho solicitado pela presidˆencia da rep´ublica para “fazer progredir a reflex˜ao sobre como conduzir a informatizac¸˜ao 6Uma lista das cidades mais inteligentes da Europa, bem como algumas das iniciativas de Open Data das mesmas ´e apresentada neste artigo do jornal britˆanico The Guardian https://www.theguardian.com/media-network/2015/oct/14/manchester-barcelona-smart-cities-open-data (site visitado em 02/07/2017)
7ver http://www.techrepublic.com/article/smart-cities-6-essential-technologies/ para alguns outros exemplos neste sentido (site visitado em 02/07/2017)
8 http://www.mckinsey.com/industries/high-tech/our-insights/disruptive-trends-that-will-transform-the-auto-industry (site visitado em 02/07/2017)
na sociedade”.
Ainda que no meio acadˆemico a palavra ainda tenha mantido seu sentido mais amplo, comercialmente ela ´e geralmente associada `a telem´atica veicular (tamb´em chamada de “servic¸os conectados”). O padr˜ao IEEE 802.11p trata da telem´atica veicular versando sobre a problem´atica de trazer a conectividade sem fio para o ambiente veicular. O trabalho de (SARQUIS, 2013) apresenta maiores detalhes sobre esta norma, bem como um caso de aplicac¸˜ao no contexto de comunicac¸˜ao entre um ve´ıculo e uma estac¸˜ao rodovi´aria.
Um ve´ıculo conectado ´e um ve´ıculo capaz de comunicar seus dados, estados e informac¸˜oes com agentes externos (como servidores, empresas, call-centers etc) oferecendo novas possibilidades de servic¸os aos usu´arios e a todos os atores interagindo com ele. Novos servic¸os, como o rastreamento de ve´ıculos roubados podem ser criados e oferecidos; al´em de servic¸os tradicionais j´a existentes, como a assistˆencia 24 horas, podem ser abrilhantados com a ajuda da conectividade. Tais tipos de servic¸os s˜ao tamb´em conhecidos por Servic¸os Telem´aticos Automotivos ou, simplesmente, Servic¸os Telem´aticos.
Conforme ser´a apresentado, os ˆonibus conectados de Curitiba ainda s˜ao bastante t´ımidos com relac¸˜ao a disponibilizac¸˜ao de seus dados e suas capacidades de conectividade. No entanto, essas capacidades j´a permitem, por exemplo, criar a chamada matriz de origem-destino (matriz O/D), que basicamente descreve de onde os usu´arios vˆem e para onde eles v˜ao.
Esta matriz pode ter diversas aplicac¸˜oes para uma agˆencia de gest˜ao de trˆansito: planejamento do servic¸o ao longo do dia; an´alise da operac¸˜ao global do sistema; avaliac¸˜ao do impacto de alguma alterac¸˜ao da rede e melhora na gest˜ao do servic¸o (CUI, 2006).
1.4 OBJETIVOS
O objetivo geral deste trabalho ´e apresentar, de forma simples e direta, como os dados abertos da cidade de Curitiba podem ser obtidos, armazenados e melhor utilizados.
No caso deste trabalho, a matriz O/D ser´a a base de dois dos servic¸os telem´aticos propostos. De modo geral, sob a forma de uma prova de conceito, os seguintes servic¸os ser˜ao apresentados: cerca-eletrˆonica, alerta de velocidade, alerta de manutenc¸˜ao, nova proposta de linhas e avaliac¸˜ao do n´ıvel de ocupac¸˜ao dos ˆonibus.
Para tal, os seguintes objetivos espec´ıficos foram buscados:
• Apresentar uma alternativa eficaz para a obtenc¸˜ao cont´ınua dos dados abertos do sistema de transporte p´ublico de Curitiba (dados de utilizac¸˜ao dos cart˜oes de transporte,
posicionamento geogr´afico dos ˆonibus da rede e dados diversos sobre a estrutura do sistema de transporte em si);
• Identificar pontos de correc¸˜ao e ajustes nos mesmos e prover um retorno a URBS sobre eventuais acr´escimos de informac¸˜oes (capazes de permitir um melhor aproveitamento dos dados j´a disponibilizados);
• Criar uma representac¸˜ao aproximada do modo de movimentac¸˜ao dos usu´arios do sistema, no que tange suas respectivas origens e destinos (atrav´es da criac¸˜ao e visualizac¸˜ao da matriz origem/destino);
• Utilizar tais informac¸˜oes para propor algumas opc¸˜oes de servic¸os telem´aticos que poderiam ser facilmente colocadas `a disposic¸˜ao de todos os usu´arios.
Criar uma matriz O/D e utiliz´a-la junto com outros dados brutos tamb´em dispon´ıveis, com o intuito de propor servic¸os telem´aticos com alto valor agregado, ´e a maior contribuic¸˜ao deste trabalho.
1.5 ESTRUTURA DA DISSERTAC¸ ˜AO
O texto segue com o Cap´ıtulo 2 contendo a revis˜ao bibliogr´afica e um pouco mais de detalhes sobre as ferramentas utilizadas.
O Cap´ıtulo 3 apresenta as hip´oteses, condic¸˜oes e m´etodos fundamentais para cada uma das etapas necess´arias `a passagem dos dados brutos da cidade `a explorac¸˜ao dos servic¸os telem´aticos. Ela ´e seguida pelo Cap´ıtulo 4 contendo a discuss˜ao dos resultados obtidos em cada uma das etapas apresentadas.
Este texto ´e finalizado com o Cap´ıtulo 5 apresentando as conclus˜oes e as diversas possibilidades de trabalhos futuros que se apresentam.
2 REVIS ˜AO BIBLIOGR ´AFICA
2.1 TRABALHOS CORRELATOS
A literatura est´a repleta de exemplos de utilizac¸˜ao de dados abertos do sistema de transporte p´ublico (para trens e/ou ˆonibus) em v´arias cidades do mundo. Em sua imensa maioria, os trabalhos se dedicam a produzir, de forma autom´atica a partir destes dados, as chamadas Matrizes Origem/Destino (matriz O/D).
Segundo (CUI, 2006), isto se deve ao fato de tecnologias como cobranc¸a automatizada de tarifas (Automated Fare Collection - AFC em inglˆes) e localizac¸˜ao autom´atica de ve´ıculos (Automated Vehicle Location - AVL em inglˆes), estarem cada vez mais disseminadas nos sistemas de transporte ao redor do mundo (como ´e tamb´em o caso de Curitiba).
No entanto, mesmo que diversos trabalhos compartilhem ideias e objetivos, a preparac¸˜ao e preprocessamento dos dados dispon´ıveis ´e bastante peculiar e espec´ıfico a cada cidade (observamos diferenc¸as tanto no foco como na metodologia) (GUERRA, 2011).
Uma matriz O/D basicamente quantifica e sintetiza a mobilidade associada a pessoas e bens (CACERES et al., 2008), descrevendo o n´umero de viagens realizadas entre cada regi˜ao de origem e de destino, para um certo per´ıodo de tempo.
Esta maneira de obter a matriz O/D quando comparado aos m´etodos tradicionais (atrav´es de pesquisas manuais, entrevistas e contagens), ´e bastante atrativa por ser muito mais barata, r´apida e, em certos aspectos, mais precisa. Por exemplo, a municipalidade de Curitiba iniciou em marc¸o de 2016 uma pesquisa de Origem e Destino tradicional1 (entrevistando cerca de 48000 pessoas, a fim de obter ao menos 16000 entrevistas v´alidas) com previs˜ao de divulgac¸˜ao dos resultados no final de 2017. Por´em, dado seu alto custo (cerca de R$ 6,3 milh˜oes) e tempo necess´ario de realizac¸˜ao (por volta de dez meses), n˜ao ´e poss´ıvel que seja aplicada com uma frequˆencia elevada (sendo realizadas a cada dez anos, aproximadamente (GUERRA, 2011)).
1http://www.curitiba.pr.gov.br/noticias/pesquisa-origem-destino-comeca-nesta-sexta-feira-em-curitiba/39381 (visitado em 02/07/2017)
Esta pesquisa tradicional tem tamb´em outros objetivos, como identificar as raz˜oes e motivac¸˜oes por tr´as de cada mobilidade. Este tipo de informac¸˜ao ´e mais dif´ıcil de ser obtida atrav´es da an´alise de dados dos cart˜oes de transporte. Ainda assim, existem trabalhos que buscam avanc¸ar neste sentido tamb´em, relacionando os dados dos cart˜oes a dados s´ocio-demogr´aficos da cidade, como ´e o caso de (KUHLMAN, 2015).
Um ´otimo survey sobre o uso de dados abertos dos ˆonibus e trens para aplicac¸˜ao em transporte p´ublico, respondendo aos mais diversos objetivos operacionais, t´aticos ou estrat´egicos, pode ser encontrado em (PELLETIER et al., 2011).
Um dos primeiros estudos sobre o uso de dados AFC para definic¸˜ao de uma matriz O/D ocorreu em S˜ao Francisco, nos Estados Unidos, na d´ecada de 80 ((BUNEMAN, 1984)). Tratava-se de um sistema de transporte f´erreo, cujo controle do cart˜ao de transporte era feito no embarque e no desembarque facilitando, portanto, a precisa identificac¸˜ao dos pontos de origem e destino de cada usu´ario.
A maioria dos sistemas de transporte de ˆonibus ao redor do mundo possui controle de validac¸˜ao apenas na entrada do mesmo (como tamb´em ´e o caso de Curitiba). Isso significa que os usu´arios n˜ao validam seus cart˜oes de transporte quando saem do sistema. Portanto, n˜ao ´e poss´ıvel definir precisamente o destino dos usu´arios. Como consequˆencia, algumas hip´oteses devem ser assumidas a fim de estimar o ponto de descida de cada usu´ario.
Tais hip´oteses tiveram suas bases estabelecidas em (ZHAO, 2004), na cidade de Chicago em 2004, e ser˜ao apresentadas no Cap´ıtulo 3. Elas tiveram pouca evoluc¸˜ao desde ent˜ao, contando essencialmente com melhorias marginais como uma melhor definic¸˜ao dos hor´arios do dia a serem considerados (TREPANIER et al., 2007) (evitando considerar o dia como sendo de 0h00 at´e 23h59, mas algo do tipo 4h00 do dia “d” at´e 3h59 do dia “d+1”) ou tentativas de melhoria na identificac¸˜ao dos pontos de transferˆencia (com base nos tempos levados em cada transic¸˜ao), como o que ´e apresentado em (BAGCHI; WHITE, 2004).
Em 2007, na cidade de Quebec, (TREPANIER et al., 2007) aplica este m´etodo e levanta a importante quest˜ao referente `a validac¸˜ao dos resultados obtidos. Em 2008, (TREPANIER et al., 2008) prossegue com um estudo onde apresenta uma forma de modelagem do sistema de transporte (em linguagem orientada a objeto) e busca comparar os resultados com uma pesquisa O/D realizada na cidade no mesmo per´ıodo (algo que poder´a ser feito tamb´em com o resultado desta dissertac¸˜ao).
Na China, tamb´em em 2007, (LIANFU et al., 2007) constr´oi uma matriz O/D utilizando apenas dados AFC. Como n˜ao utiliza AVL e n˜ao disp˜oe de daos estruturais da rede de
transporte, a identificac¸˜ao dos pontos de ˆonibus ´e feita atrav´es de um question´ario preenchido pelos motoristas com o hor´ario de parada em cada ponto.
A primeira aplicac¸˜ao no Brasil aconteceu com (FARZIN, 2008) na cidade de S˜ao Paulo. O sistema AVL estava presente apenas em alguns poucos ˆonibus, o que dificultou a validac¸˜ao e exaustividade dos resultados. Em 2011, (GUERRA, 2011) tamb´em aplicou um m´etodo semelhante na cidade de Macei´o. Como tamb´em n˜ao dispunha de um sistema AVL, considerou o ponto de embarque e desembarque atrav´es da comparac¸˜ao do hor´ario de validac¸˜ao do cart˜ao com a tabela hor´aria das linhas de ˆonibus. Al´em disso, a partir desta primeira matriz (chamada de matriz semente, considerando apenas os usu´arios com cart˜ao de transporte), ele expandiu a matriz unindo-a a dados de contagem de tr´afego atrav´es de um programa profissional especializado chamado TransCAD2.
Formas inovadoras de visualizac¸˜ao tamb´em s˜ao de extrema importˆancia, pois facilitam a comunicac¸˜ao sobre os resultados encontrados destas an´alises. Por exemplo (MA; WANG, 2014), (CALABRESE, 2013) e (COME et al., 2014) apresentam uma boa vis˜ao geral de poss´ıveis soluc¸˜oes para responder ao problema da visualizac¸˜ao de grandes volumes de dados.
S˜ao bem poucos os trabalhos que v˜ao al´em da criac¸˜ao autom´atica da matriz O/D, se aproximando, ainda que em pequena escala, dos tipos de servic¸os telem´aticos propostos nesta dissertac¸˜ao. S˜ao eles: Identificar irregularidades nas transac¸˜oes a fim de evidenciar erros, fraudes ou equipamentos defeituosos (DEAKIN; KIM, 2001); Estudar o trajeto preciso que cada usu´ario teria empregado (HOFFMAN et al., 2009); Calcular o tempo de vida ´util de um cart˜ao de transporte (TREPANIER; MORENCY, 2010); Avaliar a aderˆencia `a tabela de hor´arios ou a quilometragem total percorrida por cada ve´ıculo e usu´ario (TREPANIER et al., 2009, 2009); Estimar quais os pontos de ˆonibus com maior afluˆencia de usu´arios (TREPANIER et al., 2007); Propor novas linhas visando adaptar a rede existente `as reais necessidades dos usu´arios (CHU; CHAPLEAU, 2008; CHU et al., 2009). Neste mesmo sentido de recriar as linhas existentes, (CALABRESE, 2013) prop˜oe um m´etodo semelhante em Abidjan, na Costa do Marfim, atrav´es de dados do sistema de telefonia celular da cidade.
Em suma, muitos artigos atacam o problema de criac¸˜ao da matriz O/D atrav´es de informac¸˜oes AVL e AFC, por´em, poucos mostram como transform´a-las em servic¸os telem´aticos aos cidad˜aos ou ao gestor do pr´oprio sistema. Esta ´e a maior contribuic¸˜ao desta dissertac¸˜ao.
2.2 FERRAMENTAS UTILIZADAS 2.2.1 PYTHON
Python ´e uma linguagem de programac¸˜ao interpretada bastante poderosa, r´apida e de f´acil aprendizado3. Python integra-se facilmente com outras linguagens e sistemas e possui c´odigo aberto (facilitando sua utilizac¸˜ao inclusive para usos comerciais). N˜ao obstante, ela ´e amplamente utilizada no meio industrial, cient´ıfico e acadˆemico.
Python possui uma comunidade bastante ativa de desenvolvedores e utilizadores. Milhares de m´odulos e aplicac¸˜oes utilizando Python existem hoje no mercado: desenvolvimento para web e internet, acesso a banco de dados, aplicac¸˜oes em ´areas cient´ıficas e educacionais, desenvolvimento de jogos entre outros. A sua integrac¸˜ao com um sistema de gest˜ao de base de dados foi especialmente explorada neste trabalho.
Independentemente da linguagem de programac¸˜ao, possuir uma boa ferramenta de desenvolvimento (chamado de IDE - Integrated Development Environment) ´e de bastante utilidade pois facilita em muito a edic¸˜ao e validac¸˜ao do programa que se deseja implementar. Existem diversos IDEs para Python, dentre eles pode-se citar o Pydev, PyCharm, Wing IDE, Spyder Python, PTVS, VIL ou KOMODO IDE. A escolha do IDE a ser utilizado depende essencialmente das necessidades do desenvolvedor, bem como do orc¸amento dispon´ıvel para tal. Neste trabalho, utilizou-se a vers˜ao gr´atis (sob licenc¸a Apache) do IDE PyCharm como ambiente de desenvolvimento para as tarefas realizadas em Python.
2.2.2 WEB-SERVICES E R
Um web-service pode ser entendido como uma aplicac¸˜ao que funciona como interface entre dois sistemas diferentes, possibilitando a comunicac¸˜ao e integrac¸˜ao entre ambos.
Os dados abertos da cidade de Curitiba s˜ao disponibilizados atrav´es da publicac¸˜ao de web-services dedicados uma vez que os dados est˜ao armazenados em servidores e banco de dados internos a URBS. Para serem acessados faz-se necess´ario o envio do pedido ao web-serviceque retornar´a a resposta em um formato padronizado.
R ´e uma linguagem de programac¸˜ao utilizada essencialmente para c´alculos estat´ısticos e gr´aficos4. Ele ´e gr´atis, tem ampla disponibilidade para diversos sistemas operacionais e uma enorme quantidade de pacotes e bibliotecas (criados por sua ativa comunidade de
3https://www.python.org/(visitado em 02/07/2017).
desenvolvedores) cobrindo diversas ´areas de estudo.
Ele tem se tornado, junto a linguagem Python, o principal “idioma” de cientista de dados e estat´ısticos na realizac¸˜ao de an´alises avanc¸adas de dados ou na gerac¸˜ao de gr´aficos sofisticados.
Neste trabalho, utilizou-se como IDE (tamb´em gr´atis e de c´odigo aberto) R-Studio, que facilita bastante o uso da linguagem R.
A automatizac¸˜ao destes chamados foi realizada pelo Windows task scheduler. Ele ´e um componente do sistema operacional Microsoft Windows que permite lanc¸ar programas scripts de forma pr´e-agendada ou em intervalos de tempo regulares5
2.2.3 BASE DE DADOS GEO-REFERENCIADOS
De maneira geral, banco de dados (ou base de dados) ´e um reposit´orio onde informac¸˜oes s˜ao armazenadas de forma organizada, permitindo que sejam encontradas facilmente. Dito de outra forma, s˜ao colec¸˜oes organizadas de dados que se relacionam de modo a criar algum sentido e dar mais eficiˆencia durante uma pesquisa ou estudo.
As bases de dados s˜ao geridas por um software espec´ıfico chamado de Sistema de Gerenciamento de Base de Dados (SGBD). Atualmente, existem v´arios SGBDs dispon´ıveis no mercado, pagos (como os da Oracle ou o SQL Server da Microsoft) ou gratuitos (como o MySQL e o PostgreSQL).
PostgreSQL6 ´e um programa de gest˜ao de base de dados objeto-relacional extens´ıvel, com alta conformidade ao padr˜ao da linguagem SQL (Structured Query Language), de c´odigo aberto e gratuito.
A linguagem SQL ´e um linguagem que ´e usada exclusivamente para criar, manipular e consultar os dados de base de dados. ´E atrav´es do SQL, que os programas interagem com um banco de dados. Praticamente todas as linguagens de programac¸˜ao (incluindo Python e R) tˆem bibliotecas para acessar e trabalhar com bancos de dados.
Alguns SGBDs possuem tamb´em capacidade de operar com objetos geogr´aficos (pontos, linhas, ´areas etc). PostGIS7 ´e uma extens˜ao ao PostgreSQL que possibilita o suporte a objetos geogr´aficos. Permite que atrav´es de consultas integradas ao c´odigo SQL, seja poss´ıvel incluir diretamente condic¸˜oes ligadas a posic¸˜oes geogr´aficas dos objetos da base (por exemplo,
5https://msdn.microsoft.com/en-us/library/aa446802.aspx (visitado em 02/07/2017). 6https://www.postgresql.org/about/ (visitado em 02/07/2017).
quais s˜ao todos os pontos de ˆonibus a um certo raio de distˆancia de uma determinada posic¸˜ao geogr´afica).
Para trabalhar com SGBDs georreferenciados, um Sistema de Informac¸˜ao Geogr´afico ou SIG (Geographic Information System - GIS, em inglˆes) pode ser de grande valia. Trata-se de um sistema informatizado para captura, armazenamento, verificac¸˜ao, integrac¸˜ao, manipulac¸˜ao, an´alise e visualizac¸˜ao de dados relacionados a posic¸˜oes na superf´ıcie terrestre.
SIG ´e uma tecnologia e metodologia computacional para coletar, gerenciar, analisar, modelar e apresentar dados geogr´aficos para uma ampla gama de aplicac¸˜oes.
Neste trabalho utilizou-se o QGIS8como SIG. Ele ´e gr´atis e de c´odigo aberto. Atrav´es da conex˜ao deste programa com a base de dados PostgreSQL/PostGIS, ´e poss´ıvel criar r´apida e facilmente visualizac¸˜oes compondo diversas camadas como a localizac¸˜ao de pontos de ˆonibus sobre o mapa da cidade, por exemplo.
3 M ´ETODOS
Este cap´ıtulo apresenta, de forma estruturada e cronol´ogica, a metodologia proposta por este trabalho. A Figura 2 re´une as principais etapas a serem seguidas, descritas nas Sec¸˜oes seguintes.
Figura 2: Apresentac¸˜ao dos seis passos fundamentais propostos para passar da obtenc¸˜ao dos dados `a explorac¸˜ao de caracter´ısticas operacionais da rede de transporte p ´ublico atrav´es de alguns servic¸os telem´aticos.
A seguir, s˜ao apresentados tanto a metodologia como os detalhes e hip´oteses de cada etapa. A fim de facilitar a leitura e resumir brevemente cada passo, no in´ıcio de cada Sec¸˜ao tem-se uma “ficha de processo” (Tabelas 1, 2, 3, 4, 5 e 6), indicando os principais elementos de entrada e de sa´ıda de cada uma.
3.1 OBTENC¸ ˜AO E ARMAZENAMENTO DOS DADOS
A URBS disponibilizou (atrav´es de um portal web e dos chamados web-services) uma s´erie de informac¸˜oes sobre o sistema de transporte e sua utilizac¸˜ao pelos usu´arios.
´
Entrada Dados colocados a disposic¸˜ao pela prefeitura de Curitiba (atrav´es de web-services e links espec´ıficos)
Sa´ıda Base de dados contendo elementos iniciais, tais como: • Utilizac¸˜ao dos cart˜oes de transporte;
• Posic¸˜ao dos ˆonibus durante todo o per´ıodo considerado;
• Geolocalizac¸˜ao de diversos elementos da rede de transporte (pontos de ˆonibus e terminais, trac¸ado das linhas e associac¸˜ao entre pontos de ˆonibus e linhas).
Tabela 1: Principais entradas e sa´ıdas da etapa “Obtenc¸˜ao e Armazenamento dos dados”
possu´ıa cadastro no in´ıcio deste trabalho, no entanto, qualquer cidad˜ao tem o direito de solicitar acesso aos dados1.
Dentre os diversos web-services disponibilizados, quatro deles foram essenciais para a obtenc¸˜ao do material de base deste estudo:
• getLinhas - retorna uma lista com todas as linhas de ˆonibus existentes no sistema p´ublico de transporte de Curitiba;
• getPontosLinhas - retorna o detalhe sobre cada ponto de ˆonibus que cada uma das linhas possui. ´E preciso passar como parˆametro para este web-service o n´umero da linha. Logo, a lista resultante do comando precedente foi utilizada para automatizar a obtenc¸˜ao de todos os pontos para todas as linhas;
• getShapeLinhas - retorna o detalhe sobre o trajeto/itiner´ario de cada linha (atrav´es de um conjunto de posic¸˜oes GPS). ´E preciso passar como parˆametro para este web-service o n´umero da linha. Logo, a lista resultante do comando getLinhas foi utilizada para automatizar a obtenc¸˜ao desta informac¸˜ao para todas as linhas;
• getVeiculosLinha - retorna a coordenada GPS de todos os ˆonibus rodando no sistema no momento do chamado do web-service;
Al´em das func¸˜oes citadas, a informac¸˜ao sobre a utilizac¸˜ao dos cart˜oes de transporte pode ser obtida atrav´es de um link dedicado, disponibilizado apenas aos parceiros da URBS, como ´e o caso da UTFPR, n˜ao sendo acess´ıvel a todos os cadastrados.
1http://www.urbs.curitiba.pr.gov.br/fale-conosco (referenciar-se `a rubrica “Acesso `a Informac¸˜ao - Lei Federal 12.527”) (site visitado em 02/07/2017)
A forma escolhida para automatizar a obtenc¸˜ao destes dados foi atrav´es da combinac¸˜ao do uso do Windows task scheduler e de um script bastante simples em R. Os scripts R utilizados podem ser encontrados no Anexo A.
A informac¸˜ao sobre as linhas, itiner´arios e os pontos de ˆonibus ´e est´atica, necessitando uma ´unica execuc¸˜ao do web-service correspondente.
No entanto, a informac¸˜ao sobre a posic¸˜ao dos ˆonibus ´e atualizada a cada dois minutos. Logo, uma tarefa com periodicidade de dois minutos foi configurada no Windows task scheduler. Esta tarefa tinha por ac¸˜ao lanc¸ar um script em R que: realizava a execuc¸˜ao do web-service; obtinha o retorno do mesmo; fazia a an´alise (parsing) dos dados recebidos; armazenava o resultado em um arquivo tipo texto.
A informac¸˜ao sobre a utilizac¸˜ao dos cart˜oes ´e bastante volumosa, por´em, bem menos frequente que a anterior. As informac¸˜oes s˜ao atualizadas apenas uma vez ao dia. Portanto, criou-se uma tarefa com recorrˆencia di´aria, que executava atrav´es do lanc¸amento de um script em R, o comando para obtenc¸˜ao da base de utilizac¸˜ao de cart˜oes do dia anterior. Esta informac¸˜ao tamb´em era processada e salva em um arquivo tipo texto pelo mesmo script em R.
Foram obtidos dados dos dias 29 de outubro de 2016 at´e 11 de novembro de 2016. No entanto, por raz˜oes de indisponibilidade do sistema, os dias 01 e 02 de novembro n˜ao puderam ser obtidos completamente (tendo sido descartados, portanto, da an´alise final dos dados).
A Figura 3 mostra um diagrama de relacionamento entre as diversas bases de dados criadas e carregadas com os dados obtidos. Os atributos em azul n˜ao fazem parte da base inicial fornecida pela URBS, mas s˜ao necess´arios para a aplicac¸˜ao da metodologia desenvolvida neste trabalho.
1. URBS CARD raw: Cont´em os dados de utilizac¸˜ao dos cart˜oes. Basicamente, daqui obtemos a informac¸˜ao do n´umero do cart˜ao, o hor´ario, ˆonibus e linha na qual o mesmo foi validado. Vale ressaltar que os dados s˜ao anonimizados, n˜ao sendo poss´ıvel saber os dados do portador do cart˜ao. Tamb´em n˜ao existe nenhuma informac¸˜ao sobre a posic¸˜ao GPS do ˆonibus no momento de validac¸˜ao do cart˜ao.
2. bus stops table: Tem-se para cada linha da rede, detalhes sobre todos os pontos de ˆonibus que comp˜oe o itiner´ario da mesma. Al´em da posic¸˜ao, sentido e n´umero ´unico do ponto, a tabela apresenta a sequˆencia (coluna seq) indicando a sequˆencia dos pontos no itiner´ario da linha para cada sentido da mesma. A coluna grupo ´e importante pois possui o mesmo valor para pontos que fazem parte de uma mesma estrutura maior, como um terminal, por exemplo.
Figura 3: Diagrama de relacionamento entre as diversas bases de dados utilizadas.
3. lines shape: Descreve o trajeto previsto no itiner´ario de cada linha. Ap´os uma pequena transformac¸˜ao (convertendo as informac¸˜oes de latitude e longitude em um objeto geogr´afico do tipo ponto ou diretamente em uma linha) o conte´udo desta tabela pode ser visualizado no QGIS.
4. Period BUS GPS: Todas as posic¸˜oes GPS emitidas por cada ve´ıculo s˜ao armazenadas nesta tabela. Prefixo refere-se a informac¸˜ao sobre o ve´ıculo (´e o mesmo que codveiculo da tabela URBS CARD raw ). O web-service para obter este servic¸o retorna apenas a hora da ´ultima informac¸˜ao de GPS emitida. Logo, foi necess´ario acrescentar uma coluna (scriptdate) contendo o dia e hora quando o web-service foi lanc¸ado.
Al´em da base de pontos obtidas pelo web-service, os terminais e tubos necessitam um tratamento especial. A utilizac¸˜ao de um cart˜ao de transporte na entrada de um terminal ou estac¸˜ao tubo ´e identificada de forma especial na base de utilizac¸˜ao dos cart˜oes. Cada equipamento validador do cart˜ao em um destes locais possui um c´odigo espec´ıfico, inicialmente n˜ao disponibilizado pela URBS. Ap´os diversas reuni˜oes e trocas de informac¸˜oes com a mesma, boa parte destes c´odigos foi esclarecida, compondo a tabela base tt no PostgreSQL2. A estrutura 2A URBS ficou de evoluir a implementac¸˜ao de seus web-services para incluir tais informac¸˜oes tamb´em na mesma base de dados GPS dos ˆonibus
completa e uma pequena extrac¸˜ao de cada uma destas bases est´a apresentada na Sec¸˜ao 4.1.
3.2 LIMPEZA E PREPARAC¸ ˜AO DOS DADOS
Antes de poder iniciar propriamente a metodologia para a identificac¸˜ao da origem e estimativa do destino de cada usu´ario, ´e necess´ario realizar uma limpeza e preparac¸˜ao dos dados brutos, conforme mostrado na Tabela 2.
Entrada Base de dados contendo elementos iniciais, tais como: • Utilizac¸˜ao dos cart˜oes de transporte;
• Posic¸˜ao dos ˆonibus durante todo o per´ıodo considerado;
• Geolocalizac¸˜ao de diversos elementos da rede de transporte (pontos de ˆonibus e terminais, trac¸ado das linhas e associac¸˜ao entre pontos de ˆonibus e linhas). Sa´ıda Base de dados contendo um subconjunto dos elementos
iniciais, acrescida de algumas informac¸˜oes, tais como: • Utilizac¸˜ao dos cart˜oes de transporte apenas para os
casos onde o cart˜ao ´e utilizado uma ou duas vezes ao dia;
• Cada instˆancia de utilizac¸˜ao do cart˜ao ´e categorizada como sendo a ´unica, primeira ou segunda no dia; • Apenas as utilizac¸˜oes de cart˜oes realizadas em
ˆonibus, pontos ou terminais cuja informac¸˜ao GPS ´e conhecida s˜ao mantidas;
• Cada ponto de ˆonibus ´e associado ao ID de uma grade quadrada de 500 metros de lado (um conjunto dessas grades ´e criado cobrindo todo o territ´orio de Curitiba).
Tabela 2: Principais entradas e sa´ıdas da etapa “Limpeza e Preparac¸˜ao dos dados”
Uma decis˜ao bastante estruturante para a sequˆencia do processo ´e o fato de considerar apenas o caso onde um mesmo cart˜ao ´e utilizado uma ou duas vezes ao dia. Tal decis˜ao est´a justificada na Sec¸˜ao 4.2.
Para identificar quantas vezes cada cart˜ao ´e utilizado em um mesmo dia, criou-se um procedimento em Python (ver Anexo B). Este procedimento percorre todos os registros (para
um determinado dia) da base de cart˜ao por duas vezes. Na primeira ele identifica o total de utilizac¸˜ao de cada cart˜ao e na segunda ele atualiza cada instˆancia (em um atributo chamado step pass card) como sendo a primeira, segunda, terceira etc utilizac¸˜ao no dia.
Um dos passos fundamentais para identificar o ponto de origem do usu´ario ´e a fus˜ao das informac¸˜oes de utilizac¸˜ao do cart˜ao com a posic¸˜ao do ˆonibus no qual o mesmo foi utilizado. Devido a uma indisponibilidade da informac¸˜ao, ou incorreta ativac¸˜ao no sistema em alguns ˆonibus, diversas instˆancias de passagem de cart˜ao tiveram que ser descartadas, pois n˜ao existia informac¸˜ao de GPS para a linha/ve´ıculo em quest˜ao.
A princ´ıpio, os pontos de origem e destino dos usu´arios poderiam ser definidos dentre o conjunto de pontos de ˆonibus da cidade. No entanto, para simplificar a visualizac¸˜ao, reduzir o volume de dados final e absorver eventuais erros na predic¸˜ao dos pontos exatos de origem e destino, optou-se por mapear os pontos de partida e chegada sobre uma malha quadricular cobrindo toda a regi˜ao metropolitana da cidade (ver Figura 4).
Esta malha quadricular foi criada automaticamente atrav´es de um script em Python. O c´odigo para tal pode ser encontrado no Anexo C. Este script cria um shapefile contendo cada uma das grades, que ´e armazenada sob forma de base de dados geo-referenciada (identificada por PolygonGrid na Figura 3).
Cada grade ´e formada por um quadrado de 500 metros de lado. Esta dimens˜ao foi escolhida pois, segundo a pr´opria URBS, a cada 500 metros seria poss´ıvel encontrar um ponto de ˆonibus na cidade3.
A base de dados contendo os pontos de ˆonibus foi ent˜ao populada com esta informac¸˜ao adicional (ID da grade na qual o ponto se insere). Como detalhado no c´odigo SQL do Anexo D, esta operac¸˜ao ´e bastante facilitada atrav´es da funcionalidade oferecida pelo PostGIS. Utilizando a func¸˜ao ST MakePoint, cria-se um objeto geogr´afico representando a posic¸˜ao de cada ponto de ˆonibus (a partir das informac¸˜oes de latitude e longitude). Em seguida, a func¸˜ao ST Contains avalia qual grade (que ´e, por sua vez, um objeto geogr´afico do tipo ´area) cont´em o ponto geogr´afico que representa o ponto de ˆonibus.
Este procedimento ´e exatamente o mesmo para associar qualquer outra posic¸˜ao GPS (de usu´arios ou de elementos da rede) ao respectivo ID da base contendo a grade.
3Informac¸˜ao confirmada durante o Semin´ario “Open Data Seminar”, realizada na UTFPR com a presenc¸a de representantes da URBS, em 25 de outubro de 2016.
Figura 4: Grade composta por quadrados de 500 metros de lado, cobrindo toda a regi˜ao de Curitiba. Cada grade possui um ID ´unico.
3.3 ASSOCIAC¸ ˜AO DOS DADOS DE GPS `AS INFORMAC¸ ˜OES DE UTILIZAC¸ ˜AO DOS CART ˜OES
Entrada Base de dados contendo a utilizac¸˜ao dos cart˜oes de transporte e base de dados com a posic¸˜ao GPS de todos os ˆonibus da rede.
Sa´ıda Base de dados contendo a utilizac¸˜ao dos cart˜oes incrementada com a informac¸˜ao de GPS, o ID do ponto de ˆonibus e o ID da grade onde provavelmente o cart˜ao foi validado no ˆonibus, estac¸˜ao tubo ou terminal em quest˜ao.
Tabela 3: Principais entradas e sa´ıdas da etapa “Associac¸˜ao dos dados de GPS `as informac¸˜oes de utilizac¸˜ao dos cart˜oes”
A base de utilizac¸˜ao dos cart˜oes possui apenas a informac¸˜ao sobre o n´umero do cart˜ao, o ˆonibus/ linha na qual o cart˜ao foi validado e o hor´ario desta validac¸˜ao (ver a estrutura da base URBS CARD raw na Figura 3). Logo, a informac¸˜ao de geolocalizac¸˜ao n˜ao faz parte desta base. Portanto, a fim de identificar ou estimar o ponto de partida dos usu´arios, faz-se necess´ario cruzar as informac¸˜oes desta base com as informac¸˜oes oriundas da base contendo as posic¸˜oes dos ˆonibus na rede.
Basicamente, ´e preciso identificar na base Period BUS GPS qual era a posic¸˜ao, para aquele determinado ˆonibus e linha, mais pr´oxima do hor´ario em que o usu´ario validou seu cart˜ao no mesmo. A partir desta posic¸˜ao, identifica-se a grade na qual a mesma est´a inserida.
Como detalhado no Anexo E, passa-se por 4 tabelas intermedi´arias at´e obter-se a posic¸˜ao GPS do ve´ıculo especificado na base de cart˜oes (atrav´es dos atributos codlinha, codveiculoe datautilizacao da base de cart˜oes). A informac¸˜ao referente a diferenc¸a de tempo entre a passagem do cart˜ao no ˆonibus e a emiss˜ao da posic¸˜ao GPS considerada do mesmo tamb´em ´e armazenada na base de cart˜oes (no atributo timedif ), podendo ser utilizada para avaliac¸˜ao do n´ıvel de confiabilidade da inferˆencia realizada.
Subentende-se aqui que o passageiro suba no ˆonibus e valide seu cart˜ao. Um poss´ıvel erro deve ser aceito j´a que existem usu´arios que podem aguardar na parte da frente do ˆonibus antes da validac¸˜ao do cart˜ao (por opc¸˜ao ou devido ao alto grau de ocupac¸˜ao do ˆonibus em quest˜ao). No entanto, haja visto o espac¸o existente nesta parte, ´e de se esperar que a grande maioria dos usu´arios valide seu cart˜ao logo que embarque no ve´ıculo.
Para um dos servic¸os telem´aticos propostos, ´e preciso identificar o ponto de ˆonibus mais prov´avel de embarque do usu´ario (e n˜ao somente a grade que o inclui). Neste caso, ´e necess´ario um passo adicional buscando associar a posic¸˜ao GPS identificada com o ponto de ˆonibus mais pr´oximo pertencente `a linha em quest˜ao. Novamente, funcionalidades do PostGIS facilitam bastante esta busca pois ela se resume a identificar dentre os pontos de ˆonibus de uma lista definida (cujo parˆametro line da base bus stops table ´e o mesmo do parˆametro linha da base de GPS) aquele que apresenta a menor distˆancia para a posic¸˜ao GPS identificada (utilizando a func¸˜ao ST DistanceSphere, por exemplo).
No entanto, nem a base de GPS (Period BUS GPS) nem a base de cart˜oes (URBS CARD raw), cont´em informac¸˜ao sobre o sentido do ˆonibus naquele instante. Logo, nem sempre ´e poss´ıvel definir com precis˜ao qual o ponto exato utilizado.
Resta salientar que, de maneira geral, o ponto de ˆonibus exato no qual o usu´ario embarcou n˜ao ´e essencial nesta abordagem, uma vez que o que se procura ´e identificar a grade
de onde ele embarcou e aquela na qual ele teria desembarcado do ˆonibus.
3.4 ESTIMAC¸ ˜AO DO PONTO DE DESEMBARQUE DE CADA USU ´ARIO
Entrada Base de dados contendo a utilizac¸˜ao dos cart˜oes de transporte (j´a com o ponto de origem definido).
Sa´ıda Base de dados contendo a utilizac¸˜ao dos cart˜oes (j´a com a informac¸˜ao de GPS e o ID da grade de embarque) acrescida da informac¸˜ao sobre o ID da grade onde estima-se que o usu´ario desceu do ˆonibus.
Tabela 4: Principais entradas e sa´ıdas da etapa “Estimac¸˜ao do Ponto de Desembarque de cada usu´ario”
Conforme mencionado no Cap´ıtulo 2, as hip´oteses apresentadas em (ZHAO, 2004) tem norteado a maior parte dos estudos de criac¸˜ao de matriz O/D a partir de dados de cart˜oes e posic¸˜oes GPS dos ˆonibus. A inferˆencia do ponto/grade de desembarque se baseia nas seguintes hip´oteses:
1. N˜ao existe nenhum modo de transporte privado (carro, moto, bicicleta etc) entre dois trechos consecutivos de utilizac¸˜ao do cart˜ao no dia;
2. A ´ultima viagem dos usu´arios tem por destino final o ponto de partida do dia em quest˜ao.
Nesta primeira abordagem, considera-se apenas os casos de utilizac¸˜ao de at´e duas vezes o mesmo cart˜ao no dia. No caso de exatas duas vezes no dia (o que seria o trajeto mais regular e simples poss´ıvel), considera-se que: o usu´ario utiliza o cart˜ao uma primeira vez no dia, descendo na grade onde ele utilizar´a o cart˜ao pela segunda vez. Neste mesmo local, ele deve pegar um ˆonibus para retornar ao ponto de partida.
Por´em, em muitas situac¸˜oes um dado cart˜ao ´e validado uma ´unica vez no dia. Subentende-se que nestes casos, o usu´ario deva contar com algum outro meio de transporte para retornar ao seu ponto de origem, por exemplo. Para estes casos de uma ´unica utilizac¸˜ao no dia, a seguinte estrat´egia foi adotada (ver 1):
• Procura-se, dentre os outros dias dispon´ıveis (mantendo a distinc¸˜ao entre dias da semana e finais de semana), se aquele usu´ario teria um cen´ario de duas passagens exatas do cart˜ao no dia, onde ele teria partido de alguma das 8 grades adjacentes `a grade em quest˜ao. Caso positivo, considera-se que no dia onde h´a apenas uma passagem, ele estaria se dirigindo para a mesma localidade que foi no dia onde registrou duas utilizac¸˜oes di´arias;
• Caso este cen´ario n˜ao ocorra, considera-se como destino o ponto para onde a maior parte dos outros usu´arios se dirigiram naquele dia e faixa hor´aria.
Algorithm 1 Estrat´egia para ´unica utilizac¸˜ao di´aria
1: GradeOrigem← grade ID da utilizac¸˜ao ´unica naquele dia (grade de partida); 2: if Existe algum caso de duas utilizac¸˜oes di´arias do mesmo cart˜ao? then
3: if Posic¸˜ao de partida igual GradeOrigem OU Posic¸˜ao de partida adjacente a GradeOrigemthen
4: GradeDestino← Mesmo destino da viagem identificada
5: elseGradeDestino ← Top grade ID destino dentre todos os usu´arios (no per´ıodo) 6: elseGradeDestino ← Top grade ID destino dentre todos os usu´arios (no per´ıodo)
O Anexo F apresenta o c´odigo SQL utilizado para realizar esta etapa da metodologia. No cen´ario contendo uma ´unica utilizac¸˜ao, n˜ao ´e feito nenhuma distinc¸˜ao caso haja mais de uma viagem do mesmo usu´ario partindo de um ponto pr´oximo mas indo para destinos diferentes. O primeiro deles ser´a considerado como o destino do dia onde apenas uma utilizac¸˜ao foi contabilizada. Melhorar este ponto exigiria um esforc¸o computacional consider´avel para um ganho em precis˜ao question´avel.
Observa-se, novamente, que em nenhum momento foi considerada a quest˜ao do trajeto exato tomado pelo usu´ario. Logo, caso ele tenha feito algum tipo de transferˆencia em ´areas onde n˜ao ´e necess´ario revalidar o cart˜ao (como em estac¸˜oes tubos ou terminais) tal manobra n˜ao ser´a evidenciada por esta abordagem.
Para os casos de duas utilizac¸˜oes di´arias, a metodologia seguida ´e a seguinte:
1. Seja o exemplo real do cart˜ao 0001659901, que pegou a linha 212 no per´ıodo da manh˜a e validou seu cart˜ao pela segunda vez na linha 685 no in´ıcio da tarde do mesmo dia (ver Figura 5).
Figura 5: Exemplo de trajeto considerado como exemplo: O cart˜ao 0001659901 utiliza duas vezes o cart˜ao no dia, uma pela manh˜a e outra no in´ıcio da tarde, em dois ˆonibus e linhas diferentes.
2. Cruzando a informac¸˜ao da posic¸˜ao GPS do ˆonibus BN406 realizando a linha 212 por volta das 05:50, pode-se inferir o ponto de partida da primeira viagem deste usu´ario. Da mesma forma, cruzando-se a informac¸˜ao da posic¸˜ao GPS do ˆonibus HA612 realizando a linha 685 por volta das 16:18, pode-se inferir o ponto de partida deste usu´ario na viagem de volta. (ver Figura 6)
Figura 6: Posic¸˜oes onde o cart˜ao foi validado nos dois momentos do dia.
3. A partir da´ı, determina-se diretamente em qual das grades cada uma das posic¸˜oes faz parte (ver Figura 7)
Figura 7: Grades contendo cada uma das posic¸˜oes identificadas.
4. Por fim, assume-se que a viagem de ida tem por destino a grade definida como o ponto de partida da viagem de volta, e vice-versa. Deste modo, completa-se a base de dados com os pontos de origem e destino prov´avel de cada viagem para os cart˜oes utilizados duas vezes
ao dia. Novamente, a hip´otese adotada aqui n˜ao leva em considerac¸˜ao o trajeto utilizado pelo usu´ario. A t´ıtulo de exemplo, a Figura 8 apresenta quais teriam sido possivelmente os trajetos deste usu´ario no dia do exemplo em quest˜ao.
Figura 8: A que poderia se assemelhar o trajeto utilizado por este usu´ario no dia em quest˜ao. (fonte mapa: GoogleMaps)
3.5 CRIAC¸ ˜AO E VISUALIZAC¸ ˜AO DA MATRIZ DE ORIGEM-DESTINO
Entrada Base de dados contendo a utilizac¸˜ao dos cart˜oes (j´a com a informac¸˜ao de GPS e o ID da grade de embarque) acrescida da informac¸˜ao sobre o ID da grade onde se estima que o usu´ario desceu do ˆonibus.
Sa´ıda Visualizac¸˜ao do resultado obtido atrav´es de diversas formas: mapas de calor sobre o mapa da cidade, grafos e tabelas contendo as ligac¸˜oes mais utilizadas pelos usu´arios.
Tabela 5: Principais entradas e sa´ıdas da etapa “Criac¸˜ao e Visualizac¸˜ao da Matriz de Origem-Destino”
A partir da base SQL que j´a representa a matriz origem-destino referentes aos dias observados neste estudo, a primeira abordagem para verificar os resultados dos passos precedentes ´e apresentar esta informac¸˜ao sob o formato de grafos. Para isto, exportou-se a base produzida em SQL sob forma de um arquivo tipo texto, para posterior importac¸˜ao e trabalho
em R. Aqui, a matriz foi modelada sob forma de grafo, servindo-se de uma biblioteca em R dedicada para este fim chamada igraph.
Neste grafo, os n´os representam as grades, cada aresta indica a ligac¸˜ao existente entre estas duas regi˜oes e o peso de cada uma representa o volume de utilizac¸˜ao daquela ligac¸˜ao pelos usu´arios.
Do grafo obtido, fica simples a criac¸˜ao de uma lista contendo as ligac¸˜oes mais utilizadas pelos usu´arios nos dias em quest˜ao. Tal lista ser´a a fonte essencial para a implementac¸˜ao de um dos servic¸os telem´aticos, conforme ser´a abordado na Sec¸˜ao 3.6.
Com este mesmo arquivo tipo texto, uma ferramenta gratuita chamada GEPHI4 tamb´em foi avaliada. Apesar de bastante poderosa e flex´ıvel, contendo diversos adendos para estat´ısticas e visualizac¸˜oes de grafos, tal ferramenta ainda apresenta um alto grau de instabilidade, raz˜ao pela qual n˜ao foi muito mais explorada ao longo deste trabalho, tendo sida utilizada apenas para produzir algumas poucas imagens ilustrativas, n˜ao justificando sua presenc¸a dentre as ferramentas apresentadas no Cap´ıtulo 2.
Em virtude das dimens˜oes do grafo (com os n´os representando as cerca quatro mil grades), a visualizac¸˜ao integral do mesmo fica bastante prejudicada (o que ser´a discutido no Cap´ıtulo 4). Logo, tentar apresentar simplesmente todas as ligac¸˜oes entre grades n˜ao ´e nada leg´ıvel. Portanto, concluiu-se que a melhor soluc¸˜ao passe pela apresentac¸˜ao de alguns aspectos espec´ıficos da rede sob forma de grafos ou ent˜ao integralmente via os chamados “mapa de calor” sobrepostos ao mapa da cidade.
Durante este trabalho, buscou-se criar tais mapas das mais diversas maneiras:
• Atrav´es de bibliotecas dedicadas em R (ggmap, por exemplo), cuja vantagem ´e ser bastante simples, n˜ao necessitando de muitas linhas de c´odigo para produzir algo visualmente interessante. No entanto, a imagem produzida ´e est´atica, n˜ao sendo poss´ıvel trabalhar dinamicamente, reconstruindo a imagem a cada aproximac¸˜ao desejada (aumentando o n´ıvel de detalhe apresentado, por exemplo);
• Para buscar maior flexibilidade quanto a isso, experimentou-se utilizar os APIs disponibilizados pelo Google, atrav´es da utilizac¸˜ao direta do GoogleMaps e de algumas poucas linhas em javascript5;
Em uma primeira abordagem, um arquivo .html era produzido diretamente pelo script em R, sendo aberto em um navegador de internet. Esta soluc¸˜ao era visualmente bastante 4https://gephi.org/ (visitado em 02/07/2017)
atraente, por´em, pecava pelo pouco controle sobre os mapas de calor produzidos n˜ao sendo poss´ıvel, de maneira f´acil, obter a legenda das cores, muito menos os algoritmos utilizados para sua produc¸˜ao;
• A soluc¸˜ao encontrada, combinando simplicidade, controle e potˆencia, foi a utilizac¸˜ao direta do QGIS para a produc¸˜ao de tais visualizac¸˜oes.
Como mencionado anteriormente, ´e poss´ıvel integrar o QGIS diretamente `a base de dados do PostgreSQL. Todos os elementos de tipo geogr´aficos (oferecidos pela extens˜ao PostGIS) s˜ao pass´ıveis de serem apresentados sobre o mapa da cidade. O QGIS tamb´em possibilita a criac¸˜ao de mapas de calor atrav´es dos chamados Mapas de kernel.
O termo Mapa de kernel, faz referˆencia a um m´etodo estat´ıstico de estimac¸˜ao de curvas de densidade. Ele ´e bastante ´util para se ter uma vis˜ao geral da intensidade do processo em estudo sobre todas as regi˜oes do mapa. No caso deste trabalho, o processo se trata dos pontos de subida e descida dos usu´arios do transporte p´ublico de Curitiba.
Basicamente, no ponto central de cada grade (ou eventualmente na geolocalizac¸˜ao de cada ponto de ˆonibus) aplica-se uma func¸˜ao espec´ıfica (a func¸˜ao kernel). Esta func¸˜ao contabiliza seu valor de m´aximo neste ponto, conforme a quantidade de subidas ou descidas inferidas ali. Ela ent˜ao decresce, seguindo a definic¸˜ao da pr´opria func¸˜ao de kernel, conforme nos afastamos do ponto central da grade, sobrepondo seus valores `as func¸˜oes aplicadas nos pontos centrais das grades adjacentes.
O QGIS possui algumas opc¸˜oes de configurac¸˜ao para a criac¸˜ao de tais mapas. A Figura 9 apresenta a maneira como este foi configurado para este trabalho6.
Assim, os mapas de calor foram gerados a partir da considerac¸˜ao do mapeamento de origem-destino baseado nas grades quadradas de 500 metros de lado. Como o ponto central de cada grade encontra-se a 500 metros de distˆancia de seus adjacentes, o valor de raio de 750 metros produziu mapas de kernel bastante suaves e visualmente atraentes.
Naturalmente, diversas outras formas de visualizac¸˜ao dos resultados s˜ao poss´ıveis. Tal t´opico faz parte dos trabalhos futuros vislumbrados e elencados no final do Cap´ıtulo 5.