{"id":24740538,"url":"https://github.com/laurybueno/monibus","last_synced_at":"2026-05-08T19:31:25.080Z","repository":{"id":88031730,"uuid":"92366055","full_name":"laurybueno/MoniBus","owner":"laurybueno","description":"API de monitoramento de ônibus em São Paulo","archived":false,"fork":false,"pushed_at":"2017-08-14T13:55:06.000Z","size":634,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-26T17:44:29.614Z","etag":null,"topics":["api","crawler","django","docker","mapping","sptrans"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laurybueno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-25T04:54:38.000Z","updated_at":"2024-08-19T01:26:41.000Z","dependencies_parsed_at":"2023-03-13T18:32:55.976Z","dependency_job_id":null,"html_url":"https://github.com/laurybueno/MoniBus","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/laurybueno/MoniBus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laurybueno%2FMoniBus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laurybueno%2FMoniBus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laurybueno%2FMoniBus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laurybueno%2FMoniBus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laurybueno","download_url":"https://codeload.github.com/laurybueno/MoniBus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laurybueno%2FMoniBus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32794552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","crawler","django","docker","mapping","sptrans"],"created_at":"2025-01-27T23:24:24.418Z","updated_at":"2026-05-08T19:31:25.062Z","avatar_url":"https://github.com/laurybueno.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MoniBus\n\n## Origem dos dados\nTodas as informações disponibilizadas pela API MoniBus foram extraídas diretamente da [API Olho Vivo](http://olhovivo.sptrans.com.br/).\n\n```json\n{\n   \"hr\":\"12:51\",\n   \"vs\":[\n      {\n         \"p\":\"72944\",\n         \"a\":true,\n         \"py\":-23.661334500000002,\n         \"px\":-46.768457749999996\n      }\n   ]\n}\n```\n\nInicialmente, um script Python 3.5 foi usado para receber dados minuto a minuto, o [Crawler-OlhoVivo](https://github.com/laurybueno/Crawler-OlhoVivo). Os arquivos JSON obtidos eram então importados pela plataforma Django.\n\nAtualmente, o processo todo é feito via Django e os dados são armazendos em um banco de dados PostGIS.\n\n## Sobre os dados\nUma amostra dos dados armazenados está disponível para análise exploratória [no CartoDB](https://laurybueno.carto.com/builder/0828ce18-ab57-4681-8655-2d6b0146818f/).\n\n![mapa monibus](docs/img/monibus-carto-20170624.png)\n\n\n## Dados via API\nO ponto de saída desses dados é o endereço https://monibus.laury.me/api/registro pelo método HTTP GET. Os filtros disponíveis podem ser usados em conjunto ou separadamente e são eles:\n\n- “p”: código do veículo\n\n- “codigoLinha”: código da linha segundo o padrão de bancos de dados internos da SPTrans. Para encontrar esse número é preciso ou fazer uma busca na API oficial da SPTrans ou consultar o arquivo GTFS também disponibilizado pela empresa pública\n\n- “a”: veículo buscado tem acessibilidade para pessoas com mobilidade reduzida. Valores possíveis são “true” e “false”\n\n- “hr”: horário oficial desse registro dado pela API da SPTrans no momento da coleta do dado\n\n- “data”: data e horário em que a coleta foi de fato realizada. Esse campo usa o formato de representação de data ISO 8601. Exemplo: “2017-04-26T12:59:00.868132Z”\n\n- “data_lte”: busca todos os registros com data e horário menor do que o especificado\n\n- “data_gte”: busca todos os registros com data e horário maior do que o especificado\n\nOs dados retornados seguem a especificação aberta GeoJSON.\n\n## Contexto\nA malha de transporte público viário na cidade de São Paulo teve quase 3 bilhões de transportes de passageiros em 2016 e é operada exclusivamente por empresas privadas.\n\nEntre consórcios e cooperativas, 16 organizações são responsáveis pelos 15 mil veículos e 1.300 linhas que atendem a capital paulista. O papel estatal nessa relação é cumprido pela São Paulo Transporte S.A. (SPTrans), que gere licitações e acompanha a atuação empresarial no transporte.\n\nNesse ínterim, foi criada a API Olho Vivo que torna pública a posição geográfica de todos os ônibus em circulação na cidade. A partir desses dados, vários empreendimentos como “Cadê o ônibus” e “Trafi” passaram a oferecer interfaces para dar ao público acesso a esses dados.  Por meio desses, é possível acompanhar o transporte público com aplicações móveis e saber quando ônibus realmente vão passar por pontos pela cidade com alguns minutos de antecedência.\n\nApesar de conveniente, essas interfaces, assim como a API oficial, não oferecem uma visão geral da situação e do gerenciamento do transporte público em São Paulo. Não há séries históricas desse mapeamento, nem dados sumarizados sobre essas movimentações que facilitem a extração de conclusões sobre a execução desse serviço.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaurybueno%2Fmonibus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaurybueno%2Fmonibus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaurybueno%2Fmonibus/lists"}