Dados abertos do transporte
Aspeto
Como o uso de dados abertos de transporte numa metrópole pode ajuda-la a funcionar melhor? Entenda melhor como: um sistema de transporte urbano capaz de atender a sua demanda e que funcione como uma plataforma, entenda plataforma no sentido desse artigo do David Weinberger: Library as Platform
Os dados pedidos foram:
- Número de passageiros por viagem para cada linha de ônibus. (em processo de extração segundo eles)
- As ruas e paradas de ônibus existentes em Recife e na região metropolitana do Recife. (já disponível no site)
Ainda não tenho um modelo para o formato desses dados, coisa que quero resolver em breve na reunião com o pessoal do portal, publico aqui quando conseguir.
Atividades
[editar]- 14/09, pela manhã. Reunião com gestor do consórcio Grande Recife que possui os dados requisitados, objetivo: ver o que eles vem fazendo e apresentar ideias.
Propostas
[editar]Histórico
[editar]Conversa via IRC - 8 de Setembro
[editar]<jonas_agx> oi <jonas_agx> alguém? <edenc> oi <edenc> só não sei se vou ser muito útil <jonas_agx> edenc, oi tô testando <edenc> testando o quê? <jonas_agx> daqui a pouco vai começar uma reunião <jonas_agx> por aqui <edenc> ah, ok <jonas_agx> todos são bem vindos <edenc> jonas_agx: o mibbit.com costuma ser útil pra testar :) <jonas_agx> edenc, não conhecia, obrigado pela dica <jonas_agx> edenc, mas parece que e mibbit não se conecta ao freeNode <jonas_agx> :P * everton137 (~everton@201.52.137.116) entrou em #wikimedia-br <edenc> jonas_agx: conecta sim <jonas_agx> edenc, eu tô no cliente web, não encontrei ele na lista <jonas_agx> everton137, bem vindo <everton137> jonas_agx, oi, Jona <everton137> s <jonas_agx> :) <jonas_agx> o/ <edenc> jonas_agx: você tem que colocar ele manualmente no campo server, só que parece que o freenode não está aceitando conexões via mibbit mesmo <edenc> jonas_agx: ele aponta pra http://webchat.freenode.net/ * testando (bb26b23f@gateway/web/freenode/ip.187.38.178.63) entrou em #wikimedia-br <testando> jonas_agx: tipo isso <jonas_agx> edenc, ah tá * testando saiu (Client Quit) <everton137> jonas_agx, posso ficar apenas 30 minutos. Acho que podemos começar, não? Primeiro, que tipo de dados vc tem acesso? Eles estão disponíveis online? <edenc> everton137: opa, tudo bom? :) <jonas_agx> everton137, certo <everton137> olá, edenc tudo bem? <edenc> normalmente eu stalkeio aqui, do que se trata a reunião? <everton137> edenc, estou esperando o jonas_agx começar :) <edenc> ah, acabei de ver na lista <jonas_agx> Assim, solicitei ao portal de dados abertos do gov de PE dados sobre o uso de ônibus na reg metropolitana <everton137> edenc, repetindo o que ele falou na lista "Tô escrevendo uma análise, sobre o uso de transporte público aqui em Recife, usando dados abertos dos cartões eletrônicos usados no pagamento das passagens. Quero encontrar padrões nesses dados. Entre um email e outro, o pessoal do consórcio, que regula a transporte na região metropolitana, ficou interessado na Wikimedia, então me convidaram pra conversar e mostrar o que a gente faz/pode fazer, <everton137> provavelmente com eles." <edenc> ah, legal <edenc> bom, primeira coisa é olhar pros dados em si, onde estão? <jonas_agx> isso significa: dados do número de passageiros por linha ao longo do dia <everton137> edenc, procurei agora o portal de dados abertos de PE e achei essa seção sobre transporte Tô escrevendo uma análise, sobre o uso de transporte público aqui em Recife, usando dados abertos dos cartões eletrônicos usados no pagamento das passagens. Quero encontrar padrões nesses dados. Entre um email e outro, o pessoal do consórcio, que regula a transporte na região metropolitana, ficou interessado na Wikimedia, então me convidaram pra <everton137> conversar e mostrar o que a gente faz/pode fazer, provavelmente com eles. <everton137> desculpe, era para passar esse link http://www.dadosabertos.pe.gov.br/PortalDadosAbertos/public/pages/dado/dadoConsultaDetalhada.jsf <jonas_agx> isso foi por aí que solicitei tudo <everton137> jonas_agx, uma das primeiras coisas que eu faria seria colocar os dados que te enviaram online para outros interessados em trabalhar neles terem acesso. um exemplo de um site para isso é o http://thedatahub.org/ <edenc> bom, seria útil se eu me apresentasse, eu acho <edenc> eu sou do São Paulo Perl Mongers/OpenData-BR <jonas_agx> everton137, perfeito <jonas_agx> edenc, legal esse grupo <everton137> edenc, olá, nos conhecemos então :) <edenc> everton137: sim :) <everton137> esse nick me soava familiar <edenc> everton137: esse link retorna 500 <everton137> edenc, aqui funciona http://www.dadosabertos.pe.gov.br/PortalDadosAbertos/public/pages/dado/dadoConsultaDetalhada.jsf * edenc suspira... java... <everton137> edenc, se não rola, vá em http://www.dadosabertos.pe.gov.br/ e clique em transportes <jonas_agx> aqui tbm deu 500 <everton137> jonas_agx, edenc estão falando do http://thedatahub.org/ ? <edenc> everton137: agora funcionou <jonas_agx> ok <edenc> uso errado do padrão HTTP * Novato (bb15431f@gateway/web/freenode/ip.187.21.67.31) entrou em #wikimedia-br <jonas_agx> edenc, conta pra eles <everton137> jonas_agx, após ter esses dados (de preferência trabalhados de forma que sejam abertos), é preciso ter alguma explicação sobre eles. Você disse que quer fazer análise. Que tipo de análise? Tentou envolver alguém? * Novato saiu (Client Quit) <edenc> uma das primeiras coisas que a gente tem que ensinar pra esse pessoal do governo é a importância de usar padrões... alguém imaginaria que depois de 20 anos as pessoas teriam aprendido <jonas_agx> everton137, issi mesmo * Ozymandias (bb15431f@gateway/web/freenode/ip.187.21.67.31) entrou em #wikimedia-br <jonas_agx> everton137, vou minerar isso e encontrar formas de evitar gargalos <everton137> jonas_agx, você começou a descrever o tipo de análise que quer fazer em algum local? (página wiki, post de blog etc) <jonas_agx> everton137, ainda não, isso provavelmente deve virar meu TCC <Ozymandias> Hao, seres humanos <jonas_agx> ping <jonas_agx> everton137, o que quero estudar com vcs são formas de agregar gente da wmbr e okfn <everton137> jonas_agx, quando precisa entregar seu TCC? pretende fazer sozinho ou envolver outras pessoas na análise? Talvez seria uma boa um post de blog convidando pessoas para ajuda-lo, quando tiver uma ideia clara do tipo análise que quer fazer, em cima dos dados que *tem* (ou que pode vir a ter, pode haver coisa importante faltando) <everton137> ola, Ozymandias <edenc> pronto <jonas_agx> everton137, eu sei, meu TCC tem um ano ainda <Ozymandias> Está querendo fazer um processo de KDD Jonas ? <jonas_agx> everton137, tô trabalhando essa ideia com um colega de faculdade <everton137> jonas_agx, acho que a melhor forma é escrever de forma clara o que possui, o que quer fazer e divulgar para esses grupo. Em PE conheço duas pessoas hoje trabalhando no governo federal que possivelmente se interessariam. Mas é necessário antes algo bem definido sobre o que quer trabalhar <jonas_agx> o pessoal da grande Recife que tem esses dados ainda não tem eles extraídos completamente <edenc> jonas_agx: estou olhando o xml <jonas_agx> edenc, qual xml? <edenc> argh <edenc> também não consigo linkar pro xml porque tem um js espertinho na página <edenc> RuasParadasOnibus_metadados.xml <edenc> esse daí ^ <edenc> esse é um problema recorrente com esses dados <jonas_agx> everton137, e outra coisa e como incluir gente da wmbr num mutirão <jonas_agx> *é <edenc> jonas_agx: você sabe se tem um schema/dtd pra esses xml em algum lugar? <edenc> xml perde 80% do valor sem isso <jonas_agx> edenc, boa pergunta, não sei ainda <jonas_agx> edenc, mas podemos perguntar aos caras <edenc> jonas_agx: se tivesse o schema, eu te entregava em 30 minutos um protótipo <Ozymandias> jonas_agx, qual o processo de KDD q vc está querendo fazer, para quais dados e com qual sentido ? <jonas_agx> Ozymandias, na próxima semana devo "pegar" nos dados sobre o uso de ônibus aui de Recife, isso significa: número de passageiros por linha e horário <Ozymandias> Ok, esta massa de dados possui quanto tempo já ? <jonas_agx> Ozymandias, não confirmei ainda <jonas_agx> Ozymandias, quero a maio possível <jonas_agx> *maior <Ozymandias> Sim... O problema técnico é que quanto menor o período, menos consistentes seriam os padrões. Mas talvez a boa abordagem seria desenvolver a ferramenta e não se preocupar tanto com os dados. <edenc> Ozymandias: pra ser sincero, e desculpe se eu estiver me intrometendo de forma grosseira, mas eu (e o pessoal do opendata-br) não acreditamos muito em processo pra esse tipo de coisa <Ozymandias> Pode até ser edens <edenc> os dados costumam ir muito mal-estruturados pra se fazer dessa forma <edenc> *vir <Ozymandias> No meu caso, trabalho com KDD em bases de saúde e sistemas de transportes <everton137> jonas_agx, acho que na linha do que o edenc e eu sugerimos já possui uma to-do list :) 1. colocar dados extras que obtiver num site acessível a todos (p. e., thedatahub.org), 2. pedir o DTD desses dados e publicá-los, 3. escrever um post convidando pessoas a ajudarem nesse análise, explicando de forma clara o tipo de dados que possui e algumas ideias que possui para trabalhar com eles <Ozymandias> E há um esforço grande na parte do ETL <jonas_agx> edenc, concordo com vc <edenc> geralmente, o que tem funcionado é tentar trabalhar com os fornecedores de dados pra estruturar direito os dados <edenc> e fazer um desenvolvimento espontâneo em cima <Ozymandias> O problema edenc é esta tentativa <Ozymandias> A maior parte dos sistemas são descentralizados <Ozymandias> Talvez seja conveniente em pequenas bases de dados <jonas_agx> everton137, ok, na próxima semana quando tiver a reunião com o pessoal dos dados faço isso <Ozymandias> Mas qdo se trabalha com sistemas de larga escala, um processo eficiente tem de ser formado <Ozymandias> Mas lógico que depende do tamanho do trabalho do Jonas <jonas_agx> everton137, acontece que tbm quero levar algumas ideas e fazer, talvez, uma parceria com os caras <everton137> jonas_agx, legal <edenc> Ozymandias: o arquivo em particular para o qual estou olhando tem 700Kb <Ozymandias> Daí a primeira pergunta <jonas_agx> edenc, grep nele <edenc> jonas_agx: o problema não é exatamente esse <Ozymandias> Se esta base será a padrão ou se a ferramenta será para uma base maior <jonas_agx> everton137, em nome da wikimedia br <Ozymandias> Dentro do que o Jonas disse anteriormente, julgo que ele pretende formalizar isto para uma base histórica de larga escala <edenc> jonas_agx: o problema é que a maior parte das ferramentas de kdd requerem estrutura <edenc> senão vai levar um século pra re-desenvolver tudo pro formato específico que o governo de pernambuco está divulgando esses dados <Ozymandias> jonas_agx, qual a ferramenta padrão q vc utiliza para esta analise ? <edenc> o schema/dtd ajuda bastante com isso <jonas_agx> edenc, entendo, mas aí a ideia a escrever um "filtro" pra cada coisa <jonas_agx> Ozymandias, uso basicamente python + shell no filtro e depois faço consultas pelo mongoDb <edenc> jonas_agx: "<abrangencia temporal="2012-08-08/2012-08-08" />" <-- você vai ter que escrever código específico pra extrair as datas daí <Ozymandias> Não é interessante uma ferramenta simples para otimizar seu tempo de desenvolvimento ? <jonas_agx> Ozymandias, qual por exemplo? <Ozymandias> edenc, quando fiz MD no SUS, como havia muitas BDs diferentes, um mecanismo foi utilizar uma linguagem padronizada e só escrever conversores para esta linguagem. É uma idéia. <Ozymandias> No seu caso, acho que o Knime e o Weka podem funcionar bem <everton137> pessoal, preciso ir. abraço <edenc> jonas_agx: se você tivesse um schema/dtd, algo como o lxml já te daria os dados extraídos, dentro do python, pra você já começar a usar <everton137> boa conversa para vocês <Ozymandias> Falou efetuou <Ozymandias> *everton * everton137 saiu (Quit: Saindo) <jonas_agx> Ozymandias, se for para usar o Weka prefiro usar lib do python <Ozymandias> Tem algum motivo especial ? <jonas_agx> edenc, valeu, mas isso nem online tá ainda <edenc> "isso"? <Ozymandias> (motivo: comparacao de ferramentas) <jonas_agx> edenc, os dados de transporte <edenc> então não estou entendendo <edenc> estou nesse exato momento olhando pros dados que peguei no portal <jonas_agx> edenc, falo dos dados que pedi <jonas_agx> edenc, dos usos horários <Ozymandias> Aliás Jonas, se quiser evoluir a idéia depois posso te colocar em contato com o povo do departamento onde faço pesquisa. <jonas_agx> Ozymandias, ótimo, vou ter uma reunião na próxima semana com o pessoal que libera os dados que pedi <jonas_agx> Ozymandias, então tó pensando em várias coisas <Ozymandias> Trabalho no Departamento de Transportes da Poli, e apesar de mexer com KDD aqui, tem a parte de sistemas inteligentes de transportes que pode refinar bem suas idéias. <edenc> jonas_agx: certo, e quando te entregarem esses dados, provavelmente vão te entregar algo parecido com o que eu estou vendo aqui <jonas_agx> Ozymandias, sobre o weka, acho muito mais "modular" usar coisas como python ou uma ferramenta chamada dakota <Ozymandias> Entendi sua idéia. <jonas_agx> edenc, aham, I hope <Ozymandias> Apenas perguntei inicialmente aquelas coisas, pq, no caso, é um TCC <edenc> jonas_agx: pois é, esse formato vai ter dar um trabalho imenso de lidar <Ozymandias> como professor, o q posso lhe falar é q vc tem um ano, com recursos escassos para finalizar isto <jonas_agx> edenc, como vc trabalha em cima dele <jonas_agx> ? <edenc> jonas_agx: com um schema, qualquer linguagem razoável te entrega uma estrutura de dados já parseada que você pode alimentar pras ferramentas de KDD <jonas_agx> Ozymandias, o que posso fazer é usar o poder da multidão <edenc> do jeito que está agora, você vai perder um tempão só pra escrever um extrator <edenc> e testar, etc. <edenc> então se você puder convencer eles a te entregar um dtd/schema, teu trabalho vai ficar *muito* mais fácil de fazer <jonas_agx> edenc, entendo <Ozymandias> jonas_agx, pode até ser. Mas a melhor idéia é criar a base teórica consistente da ferramenta, fazer uma implementação simples e evoluir posteriormente a idéia. <edenc> e você vai poder focar no kdd em si, invés do trabalho de extração <Ozymandias> edenc, ou ele pode se oferecer para criar a ferramenta para eles XD <edenc> e como o Ozymandias acabou de ressaltar, seus recursos são escassos <jonas_agx> edenc, vc pode me mandar os teus comentários/críticas sobre o http deles e tudo mais? <edenc> jonas_agx: eu enviei uma mensagem lá pra eles <edenc> Ozymandias: não acho que essa seja a melhor forma de fazer <jonas_agx> edenc, vou mostrar pra os caras lá na reunião <edenc> Ozymandias: eles obviamente não tem padrão, então a estrutura pode variar a qualquer momento <jonas_agx> edenc, perfeito, até melhor <Ozymandias> Provavelmente eles não vão querer mudar muita coisa <edenc> Ozymandias: então além de criar a ferramenta, ele vai ter que *manter* a ferramenta <Ozymandias> Não digo isto <jonas_agx> Ozymandias, isso mesmo, vou bolar um protótipo inicial e trabalhar nele <Ozymandias> Digo de ele escrever um script e disponibilizar ao publico <edenc> Ozymandias: esse script vai funcionar por 2 meses <edenc> Ozymandias: depois vai quebrar <Ozymandias> Sim, mas não é oficial <Ozymandias> Não vai estar no site deles <edenc> certo, mas é trabalho jogado fora <jonas_agx> :P <Ozymandias> Vai estar na rede para quem quiser utilizar. é uma idéia XD <Ozymandias> Jonas_agx, o maior problema do seu trabalho não é a ferramenta <Ozymandias> Alias, é a parte mais fácil, pq tem trocentas ferramentas já existentes no mercado <edenc> Ozymandias: eu mantenho cerca de 60 bibliotecas OS/FS e 3 sistemas de dados abertos, ninguém vai colaborar <jonas_agx> edenc, wow <Ozymandias> Jonas_agx: o problema é a consistência dos seus padrões <edenc> exatamente <Ozymandias> Edenc: eu sou do lado contrário <edenc> certo, é lindo na teoria, na prática, é bem difícil de funcionar <edenc> muitos casos funcionam <jonas_agx> Ozymandias, por isso quero a amostra maior possível <edenc> e são lindos quando funcionam <Ozymandias> Concordo edenc. Apenas acho que se o script for interessant3 <Ozymandias> Tem muita gente querendo utilizar. P.ex. Tem um amigo meu que quer pegar os dados de bilhete único, de rotas etcetc para criar mapas dinâmicos da cidade <jonas_agx> legal <Ozymandias> Ele colaboraria em manter um script destes <jonas_agx> como ele faz? <edenc> Ozymandias: de pernambuco? <edenc> Ozymandias: ele sabe escrever python? <Ozymandias> Ele é de SP <Ozymandias> Faz doutorado no IPT <Ozymandias> E tem acesso às bases da SPTrans <Ozymandias> Aí q é a questão edenc <jonas_agx> eu perdi a linha de vcs, que script é esse? <Ozymandias> Em uma ferramenta de mercado, haveria um script, baixaria e utilizaria diretamente <edenc> certo, mas a pergunta é, ele está interessado o suficiente nos dados de pernambuco a ponto de aprender python e ajudar a manter o extrator dessa base específica de pernambuco? <Ozymandias> Daí teria que ser um bom script genérico com módulos para cada cidade <jonas_agx> nisso que pensei <Ozymandias> Jonas_agx: estamos falando de como vc teria q extrair os dados <edenc> jonas_agx: a linha é o seguinte, o governo de pernambuco vai te entregar dados que nenhuma ferramenta de kdd da atualidade consegue interpretar <jonas_agx> :( <Ozymandias> Talvez um caminho edenc <edenc> jonas_agx: então o seu trabalho é conseguir converter esses dados num formato que alguma ferramenta de kdd consiga interpretar <Ozymandias> É criar um mecanismo ao estilão Excel <Ozymandias> Como um ex-professor meu fez no Incor <edenc> jonas_agx: esse trabalho, por si só, pode ocupar todos os recursos disponíveis pra conclusão do seu TCC <Ozymandias> Verdade <Ozymandias> XD <jonas_agx> isso não é bom <Ozymandias> Apesar de toda discussão, o Jonas vai ter q fazer o caminho básico <edenc> e talvez eu esteja sendo pessimista demais (normalmente eu sou) <Ozymandias> Gaste uns 3 meses montando o plano de trabalho, fazendo a revisão bibliográfica e vendo os dados <Ozymandias> Já tem orientador no caso ? <edenc> Ozymandias: o que seria um mecanismo ao estilão excel? <Ozymandias> O pior de todos os mundos <jonas_agx> hehehe <jonas_agx> Ozymandias, ainda não <edenc> excel por excel, já tem csv lá <jonas_agx> Ozymandias, não tenho orientador <Ozymandias> Um quadradão que vc pode tentar entender toda espécie de entrada possível <Ozymandias> vou colar a tese <edenc> jonas_agx: e pela menção que você fez ao mongodb, imagino que você tenha aversão a sql <jonas_agx> edenc, na verdade não * edenc não compreende a vantagem de se usar mongodb pra analisar dados, mas enfim... <jonas_agx> edenc, eu gosto, mas prefiro o estilo de consulta do mong <jonas_agx> mongo <jonas_agx> *? <jonas_agx> mas pra mim isso é questão de gosto <Ozymandias> Estou caçando a tese, mas só falando Jonas, o primeiro passo é sentar e definir o que você pretende fazer. Um orientador é essencial para vc não abraçar o mundo. <edenc> jonas_agx: não é, nem nunca foi, mas enfim, podemos discutir isso outra hora <edenc> jonas_agx: eu trabalho há 15 anos com bancos de dados :) <jonas_agx> edenc, ehehe pode ser <Ozymandias> Fraquinho edec XD <edenc> inclusive, estou salvando uma empresa que quase foi arruinada <Ozymandias> Eu trabalho um pouco menos... 16 XD <edenc> throughput de 2 TB diários <jonas_agx> :O <jonas_agx> e como vc faz? <edenc> não é trivial de explicar <jonas_agx> ah se não for segredo industrial tenta aí <Ozymandias> Hehe. <edenc> jonas_agx: basicamente, agregação incremental <Ozymandias> Bem, vou almoçar <edenc> e particionamento inteligente de dados <Ozymandias> Colo a tese nas páginas de discussão de vcs <jonas_agx> Ozymandias, obrigado pelas dicas, me manda a tese depois, pfv <Ozymandias> E se precisar de ajuda para uma proposta inicial, é só falar Jonas <jonas_agx> ah tá <Ozymandias> Abraços <edenc> Ozymandias: jonas_agx: é importante sair da discussão com uma "tarefa", não? <jonas_agx> Abraço <jonas_agx> sim <Ozymandias> Sim <jonas_agx> 1 - Discutir e pensar pra não abraçar o mundo <Ozymandias> Buscar umas 50 referencias de KDD em artigos de 2010 até agora XD <jonas_agx> O.o <edenc> jonas_agx: você já sabe o que você está procurando nos dados, ou vai esperar pra ver quais dados você tem disponível pra responder essa pergunta? <jonas_agx> edenc, espero encontrar formas de evitar gargalos nas linhas <jonas_agx> assim, bem macro <edenc> "Otimização prematura é a raiz de todo mal" -- Tony Hoare (?) * Ozymandias saiu (Quit: Page closed) <jonas_agx> pode ser <edenc> se você não sabe quais dados vai ter, nem em que formato eles estão, você nunca vai conseguir evitar os gargalos <jonas_agx> mas não sei o o que esperar desses dados <edenc> eu acho que o que você tem que evitar nesse momento são os gargalos no *teu* trabalho <jonas_agx> boa <edenc> jonas_agx: então sim, a tarefa do Ozymandias é algo que você deveria fazer <edenc> <Ozymandias> Buscar umas 50 referencias de KDD em artigos de 2010 até agora XD <jonas_agx> edenc, certo, e definir meu plano de trabalho <edenc> jonas_agx: ler os artigos vai te ajudar muito com isso <jonas_agx> edenc, concordo, inspira <edenc> jonas_agx: http://en.wikipedia.org/wiki/Knowledge_discovery#References <edenc> jonas_agx: só aqui já tem 37 :) <jonas_agx> edenc, vc recomenda ir escrevendo? <jonas_agx> eu tava vendo <edenc> jonas_agx: firefox + zotero consegue extrair essas referências e ele gera a bibliografia pro teu TCC em ABNT automático <jonas_agx> edenc, vou anotar isso <jonas_agx> Firefox <3 <edenc> é, não tinha isso na minha época <edenc> sinto uma pontadinha de raiva sempre que me lembro do fato <edenc> jonas_agx: https://addons.mozilla.org/en-US/firefox/addon/zotero/ <jonas_agx> acabei de abrir o site <edenc> jonas_agx: você acabou de ganhar 5 horas pra escrever código invés de formatar teu TCC <jonas_agx> edenc, dá pra usar com latex? <edenc> jonas_agx: se não me engano, ele consegue exportar bibtex <jonas_agx> edenc, perfeito então <edenc> o valor dele é que ele consegue extrair da sessão de referência do wikipedia <edenc> e de lugares como amazon, projeto gutenberg, etc. <jonas_agx> edenc, onde posso conversar de novo com vc, vou ter que sair agora <jonas_agx> ? <edenc> além de referências a urls, "acessada na data X", que atualiza <edenc> se você visitar de novo o site :D <edenc> jonas_agx: estou sempre por aqui <jonas_agx> então tá, muito abrigado e agente se fala <edenc> []'s <jonas_agx> [ ]'s