Differences
This shows you the differences between two versions of the page.
sptrans [2014/12/09 09:12] rogerio [Links importantes] |
sptrans [2017/07/21 03:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{template>: | ||
- | | name = SPTrans | ||
- | | version = 0.1.0 | ||
- | | accountable = Rogério Schneider | ||
- | | depdency = None | ||
- | }} | ||
- | ===== SPTrans ===== | ||
- | A prefeitura de São Paulo fornece uma API para consulta de posicionamento da frota de ônibus que atende ao transporte público municipal. A API Olho Vivo é de acesso aberto, mediante cadastro do desenvolvedor e suas aplicações. | ||
- | |||
- | ===== Links importantes ===== | ||
- | * [[https:// | ||
- | |||
- | * [[http:// | ||
- | |||
- | * [[http:// | ||
- | |||
- | * [[http:// | ||
- | |||
- | * [[http:// | ||
- | |||
- | ===== Exemplos de uso ===== | ||
- | Abaixo temos alguns exemplos de uso da API Olho Vivo. | ||
- | |||
- | ==== Endereço da API ==== | ||
- | Endereço principal da API. Pode mudar a rota /v0 variando o número de acordo com a versão da API. | ||
- | |||
- | http:// | ||
- | |||
- | ==== Preparação do ambiente ==== | ||
- | É preciso exportar o token da sua aplicação antes de poder reproduzir os comandos dos exemplos abaixo. Todos os exemplos utilizam a variável de ambiente $TOKEN para ler o valor correto da chave de acesso. | ||
- | |||
- | export TOKEN=< | ||
- | |||
- | ==== Login ==== | ||
- | Antes de consultar a API é preciso iniciar um processo de autenticação. Após o POST de login é preciso gerenciar corretamente os cookies da sessão HTTP para que a API responda corretamente. | ||
- | |||
- | <file bash login.sh> | ||
- | curl -sv -X POST -d '' | ||
- | |||
- | > POST / | ||
- | > User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/ | ||
- | > Host: api.olhovivo.sptrans.com.br | ||
- | > Accept: */* | ||
- | > Content-Length: | ||
- | > Content-Type: | ||
- | > | ||
- | < HTTP/1.1 200 OK | ||
- | < Cache-Control: | ||
- | < Pragma: no-cache | ||
- | < Content-Type: | ||
- | < Expires: -1 | ||
- | < Server: Microsoft-IIS/ | ||
- | < X-AspNet-Version: | ||
- | < Set-Cookie: apiCredentials=2FCC66D5E42C11C64366D96FE275E5BF2B4B1C93E8A3FF7E15437CA5FF366DF0A7B351178CA1D448A2161A636E396DC833AFBB723119A22D3F169233175DC949AB7C641B171F3284227C33A4BD0B9C5DBEF04F70368ED308D0F3502866BDCB9F93FC74F8E3323AB44081770BDBAAADB7447951D6EEDC69B14301B4A0A56C9B54D72A727F0C3E71252D49BC3954E13BE8C328D91A2D42E95AD904B4EDD50B7278026F5CEA4618DBCF325DE9ABC11FC958BDF65FBD210121BFF07AAF36F56CAE8E189C3872BAAA4F74AD011505589EA9EC; | ||
- | < X-Powered-By: | ||
- | < Date: Sat, 06 Sep 2014 07:48:04 GMT | ||
- | < Content-Length: | ||
- | < | ||
- | true | ||
- | </ | ||
- | |||
- | ==== Linhas (buscar) ==== | ||
- | Retorna códigos de linhas a partir da pesquisa de um termo. | ||
- | |||
- | <file bash linhas-buscar.sh> | ||
- | curl -sv -b / | ||
- | |||
- | > GET / | ||
- | > User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/ | ||
- | > Host: api.olhovivo.sptrans.com.br | ||
- | > Accept: */* | ||
- | > Cookie: apiCredentials=2FCC66D5E42C11C64366D96FE275E5BF2B4B1C93E8A3FF7E15437CA5FF366DF0A7B351178CA1D448A2161A636E396DC833AFBB723119A22D3F169233175DC949AB7C641B171F3284227C33A4BD0B9C5DBEF04F70368ED308D0F3502866BDCB9F93FC74F8E3323AB44081770BDBAAADB7447951D6EEDC69B14301B4A0A56C9B54D72A727F0C3E71252D49BC3954E13BE8C328D91A2D42E95AD904B4EDD50B7278026F5CEA4618DBCF325DE9ABC11FC958BDF65FBD210121BFF07AAF36F56CAE8E189C3872BAAA4F74AD011505589EA9EC | ||
- | > | ||
- | < HTTP/1.1 200 OK | ||
- | < Cache-Control: | ||
- | < Pragma: no-cache | ||
- | < Content-Type: | ||
- | < Expires: -1 | ||
- | < Server: Microsoft-IIS/ | ||
- | < X-AspNet-Version: | ||
- | < X-Powered-By: | ||
- | < Date: Sat, 06 Sep 2014 07:56:43 GMT | ||
- | < Content-Length: | ||
- | < | ||
- | [ | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | </ | ||
- | |||
- | ==== Paradas (buscar) ==== | ||
- | Retorna códigos de paradas a partir da pesquisa de um termo. | ||
- | |||
- | <file bash paradas-buscar.sh> | ||
- | curl -sv -b / | ||
- | |||
- | > GET / | ||
- | > User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/ | ||
- | > Host: api.olhovivo.sptrans.com.br | ||
- | > Accept: */* | ||
- | > Cookie: apiCredentials=2FCC66D5E42C11C64366D96FE275E5BF2B4B1C93E8A3FF7E15437CA5FF366DF0A7B351178CA1D448A2161A636E396DC833AFBB723119A22D3F169233175DC949AB7C641B171F3284227C33A4BD0B9C5DBEF04F70368ED308D0F3502866BDCB9F93FC74F8E3323AB44081770BDBAAADB7447951D6EEDC69B14301B4A0A56C9B54D72A727F0C3E71252D49BC3954E13BE8C328D91A2D42E95AD904B4EDD50B7278026F5CEA4618DBCF325DE9ABC11FC958BDF65FBD210121BFF07AAF36F56CAE8E189C3872BAAA4F74AD011505589EA9EC | ||
- | > | ||
- | < HTTP/1.1 200 OK | ||
- | < Cache-Control: | ||
- | < Pragma: no-cache | ||
- | < Content-Type: | ||
- | < Expires: -1 | ||
- | < Server: Microsoft-IIS/ | ||
- | < Set-Cookie: apiCredentials=27F85582A2625CF61095A99B3CBCF08EA6AE4EB9EA44FA370077D7EAB1D359E1FB18432C7D679A8FFE93C19C7FC7961AF744FFE2986B0CDC0A47484E0DDEEA6D9769F13246F5F6E48A8DF1CA23B36DC97DE4ADA4E232BDD245FF5E048D9780EF5DC296A86C7B001DFE99D6E8E35EC7CA11EB454D02A4E2A75BE5CCF7224A408C63BC7234D0BB5015DAC054C19746F252C1E6DCED90A70C5CA6A28C49AEBFF0E99C4EC307D2845A7FF5535CFB1EE960FA759F4F05F928D69F7687643384DED60A0D887DCC00980154913962DDD4167977; | ||
- | < X-AspNet-Version: | ||
- | < X-Powered-By: | ||
- | < Date: Sat, 06 Sep 2014 08:07:46 GMT | ||
- | < Content-Length: | ||
- | < | ||
- | [ | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | </ | ||
- | |||
- | ==== Paradas (corredor) ==== | ||
- | JSON com todos os corredores será salvo no arquivo data/ | ||
- | |||
- | <file bash paradas-corredor.sh> | ||
- | for x in $(seq 11) | ||
- | do | ||
- | echo "- Corredor $x" | ||
- | curl -sv -b / | ||
- | | jq . | ||
- | echo | ||
- | done | tee data/ | ||
- | </ | ||
- | |||
- | ==== Corredores (listar) ==== | ||
- | Lista os corredores inteligentes. | ||
- | |||
- | <file bash corredores-listar.sh> | ||
- | curl -sv -b / | ||
- | |||
- | > GET / | ||
- | > User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/ | ||
- | > Host: api.olhovivo.sptrans.com.br | ||
- | > Accept: */* | ||
- | > Cookie: apiCredentials=2E423A1C7F3FE250369AC103F20088EB86A96B537B12800501F1A7958D72DD0DCF4E1FA5565C97EA39940C25143C5426951DCE46D355882EB418484D5F75EF1418854E023CB05B5904671AB9A9A3FB70867CDB7573B8F86ECA803615A101A9CE2D0A6C52D801C23B43A27605136CD458EDA914FFAE8AF94A907C93FB63027D4A3DCAE8FA03867399481A4DC6FCC68F4AE59EC51059739909C883AF2C15ABAC0EF2B8E9C90DBDBC62C700D1DE5A3A6C5023435E983C99AF91EF0A234AC18394F13742670249B93E96C21A0ED2DDA7BC98 | ||
- | > | ||
- | < HTTP/1.1 200 OK | ||
- | < Cache-Control: | ||
- | < Pragma: no-cache | ||
- | < Content-Type: | ||
- | < Expires: -1 | ||
- | < Server: Microsoft-IIS/ | ||
- | < X-AspNet-Version: | ||
- | < X-Powered-By: | ||
- | < Date: Sat, 06 Sep 2014 08:21:32 GMT | ||
- | < Content-Length: | ||
- | < | ||
- | [ | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | </ | ||
- | |||
- | ==== Posição dos veículos (por linha) ==== | ||
- | Retorna a posição dos veículos que estão atendendo a uma determinada linha. | ||
- | |||
- | Este é o serviço mais importante pois fornece as coordenadas de posicionamento dos veículos em serviço. | ||
- | |||
- | <file bash posicao-linha.sh> | ||
- | curl -sv -b / | ||
- | |||
- | > GET / | ||
- | > User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/ | ||
- | > Host: api.olhovivo.sptrans.com.br | ||
- | > Accept: */* | ||
- | > Cookie: apiCredentials=2E423A1C7F3FE250369AC103F20088EB86A96B537B12800501F1A7958D72DD0DCF4E1FA5565C97EA39940C25143C5426951DCE46D355882EB418484D5F75EF1418854E023CB05B5904671AB9A9A3FB70867CDB7573B8F86ECA803615A101A9CE2D0A6C52D801C23B43A27605136CD458EDA914FFAE8AF94A907C93FB63027D4A3DCAE8FA03867399481A4DC6FCC68F4AE59EC51059739909C883AF2C15ABAC0EF2B8E9C90DBDBC62C700D1DE5A3A6C5023435E983C99AF91EF0A234AC18394F13742670249B93E96C21A0ED2DDA7BC98 | ||
- | > | ||
- | < HTTP/1.1 200 OK | ||
- | < Cache-Control: | ||
- | < Pragma: no-cache | ||
- | < Content-Type: | ||
- | < Expires: -1 | ||
- | < Server: Microsoft-IIS/ | ||
- | < X-AspNet-Version: | ||
- | < X-Powered-By: | ||
- | < Date: Sat, 06 Sep 2014 08:32:00 GMT | ||
- | < Content-Length: | ||
- | < | ||
- | { | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | } | ||
- | </ | ||
- | |||
- | ==== Previsão de chegada dos veículos (por linha) ==== | ||
- | Dada uma linha, é informada a previsão de chegada e posicionamento atual dos veículos que a atendem. | ||
- | |||
- | <file bash previsao-linha.sh> | ||
- | curl -sv -b / | ||
- | |||
- | > GET / | ||
- | > User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/ | ||
- | > Host: api.olhovivo.sptrans.com.br | ||
- | > Accept: */* | ||
- | > Cookie: apiCredentials=2E423A1C7F3FE250369AC103F20088EB86A96B537B12800501F1A7958D72DD0DCF4E1FA5565C97EA39940C25143C5426951DCE46D355882EB418484D5F75EF1418854E023CB05B5904671AB9A9A3FB70867CDB7573B8F86ECA803615A101A9CE2D0A6C52D801C23B43A27605136CD458EDA914FFAE8AF94A907C93FB63027D4A3DCAE8FA03867399481A4DC6FCC68F4AE59EC51059739909C883AF2C15ABAC0EF2B8E9C90DBDBC62C700D1DE5A3A6C5023435E983C99AF91EF0A234AC18394F13742670249B93E96C21A0ED2DDA7BC98 | ||
- | > | ||
- | < HTTP/1.1 200 OK | ||
- | < Cache-Control: | ||
- | < Pragma: no-cache | ||
- | < Content-Type: | ||
- | < Expires: -1 | ||
- | < Server: Microsoft-IIS/ | ||
- | < Set-Cookie: apiCredentials=3E8646703FFE5CDFF03C05CED150E456D3914E64FFDC5607512B73DAC07D129F974DFB96F799F877B30BD12CDF85CAA45A9B3E89C682C87C087F6E8E12EACD7269E601867D252DDFCC2484FE571923366FCE4FD57B9D6C11A52B44BADA62088A84CF9514D10440CD3CBF6E6C9A400CAE5BBC48B9D5EC9B9CFF5B8A823F3C4155E1C7E40CBB711C58425C0E6DBCF90E0D9A48BC026DE30F7FC07534BF59ECBA76665E2181B6676F1CAC87DCE1B42A13A131479EB75943DA3FD515DD30650372891957EB57C59BAACB3839B91333A44803; | ||
- | < X-AspNet-Version: | ||
- | < X-Powered-By: | ||
- | < Date: Sat, 06 Sep 2014 08:47:13 GMT | ||
- | < Content-Length: | ||
- | < | ||
- | { | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | } | ||
- | </ | ||
- | |||
- | ==== Previsão de chegada dos veículos (por parada) ==== | ||
- | Dada uma parada, é informada a previsão de chegada e posicionamento atual dos veículos que a atendem. | ||
- | |||
- | Este serviço foi utilizado em um script mais elaborado para descobrir a listagem completa de linhas, uma vez que apenas a listagem completa de paradas é fornecida. | ||
- | |||
- | <file bash previsao-parada.sh> | ||
- | curl -sv -b / | ||
- | |||
- | > GET / | ||
- | > User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/ | ||
- | > Host: api.olhovivo.sptrans.com.br | ||
- | > Accept: */* | ||
- | > Cookie: apiCredentials=E87C1CA3864AF6323A05D598B01AF2539D58028DF6E9D494759AB93B264D27C80ABC787963640240B3D7065356DF49991474998102EC4625D1CFD156B0BD80A0DEDCD3EDE83A466A9CCC82168D38198D194EFEA4D6AF6691C604AC4096C6CFBF2DDC267959DC8752EA8937A888849DF7F51088BECA910E2285CA94CA37E6A9170B89B7D8BB2DC25AF43CDE2032C76423D7BD3E19727FB407C6C7FFDAC6ED6A64262012C8CB87428819E3BF08FC68634DC4AE2DE591C03AE7DADE86883E933A7214991747E9EF2499C909BAE6449ADF9D | ||
- | > | ||
- | < HTTP/1.1 200 OK | ||
- | < Cache-Control: | ||
- | < Pragma: no-cache | ||
- | < Content-Type: | ||
- | < Expires: -1 | ||
- | < Server: Microsoft-IIS/ | ||
- | < X-AspNet-Version: | ||
- | < X-Powered-By: | ||
- | < Date: Sat, 06 Sep 2014 08:50:22 GMT | ||
- | < Content-Length: | ||
- | < | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | } | ||
- | ] | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | ==== Previsão de chegada dos veículos (por parada e linha) ==== | ||
- | Dada uma parada e uma linha, é informada a previsão de chegada e posicionamento atual dos veículos que as atendem. | ||
- | |||
- | <file bash previsao-parada-e-linha.sh> | ||
- | curl -sv -b / | ||
- | |||
- | > GET / | ||
- | > User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/ | ||
- | > Host: api.olhovivo.sptrans.com.br | ||
- | > Accept: */* | ||
- | > Cookie: apiCredentials=E87C1CA3864AF6323A05D598B01AF2539D58028DF6E9D494759AB93B264D27C80ABC787963640240B3D7065356DF49991474998102EC4625D1CFD156B0BD80A0DEDCD3EDE83A466A9CCC82168D38198D194EFEA4D6AF6691C604AC4096C6CFBF2DDC267959DC8752EA8937A888849DF7F51088BECA910E2285CA94CA37E6A9170B89B7D8BB2DC25AF43CDE2032C76423D7BD3E19727FB407C6C7FFDAC6ED6A64262012C8CB87428819E3BF08FC68634DC4AE2DE591C03AE7DADE86883E933A7214991747E9EF2499C909BAE6449ADF9D | ||
- | > | ||
- | < HTTP/1.1 200 OK | ||
- | < Cache-Control: | ||
- | < Pragma: no-cache | ||
- | < Content-Type: | ||
- | < Expires: -1 | ||
- | < Server: Microsoft-IIS/ | ||
- | < X-AspNet-Version: | ||
- | < X-Powered-By: | ||
- | < Date: Sat, 06 Sep 2014 08:52:03 GMT | ||
- | < Content-Length: | ||
- | < | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | } | ||
- | ] | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | ===== Scripts de download automatizado de posicionamento de veículos ===== | ||
- | Foi criado um conjunto de scripts que utiliza uma série de serviços da API Olho Vivo de maneira a manter uma base local atualizada com as posições de veículos fornecidas por GPS. | ||
- | |||
- | O propósito de se manter uma base local atualizada é o da utilização desses dados de posicionamento para simulação e análise de movimentação com embasamento em padrões reais de deslocamento urbano. | ||
- | |||
- | Para que fosse possível coletar e manter uma amostra de dados de posicionamento, | ||
- | |||
- | ==== Script | ||
- | Encontra-se no repositório Git do LAC e faz o seguinte processo: | ||
- | |||
- | * Utiliza os arquivos apiref/ | ||
- | * De posse da lista de paradas, enumera em cada uma delas quais as previsões de chegada de veículos e salva o resultado em um arquivo. Esta previsão de chegada por parada contém algumas informações, | ||
- | * Ao terminar a consulta em todas as paradas, uma lista de linhas ativas é extraída das previsões resultantes. Esta lista de linhas será salva no arquivo data/ | ||
- | |||
- | Exemplo de execução contínua do script de descoberta de linhas, via cron: | ||
- | <file bash cron-linhas.sh> | ||
- | # Executa a cada quatro horas | ||
- | 0 */4 * * * user cd / | ||
- | </ | ||
- | |||
- | ==== Script | ||
- | Encontra-se no repositório Git do LAC e faz o seguinte processo: | ||
- | |||
- | * Utiliza a lista de linhas descoberta pelo script '' | ||
- | * O download é feito em paralelo e é configurável. | ||
- | * O ideal é que o número de threads seja ajustado para terminar o processamento dentro de 85 segundos, uma vez que a API Olho Vivo mantém os dados atualizados com as posições dos veículos nesta mesma frequência. | ||
- | |||
- | Exemplo de execução contínua do script de download de posicionamento de veículos, via cron: | ||
- | <file bash cron-posicao.sh> | ||
- | # Executa a cada minuto | ||
- | * * * * * user cd / | ||
- | </ | ||
- | |||
- | ==== Utilizando os scripts ==== | ||
- | |||
- | === update-linhas.sh === | ||
- | |||
- | O script '' | ||
- | |||
- | Note que o script '' | ||
- | |||
- | cd / | ||
- | ./ | ||
- | |||
- | === posicao-dl.rb === | ||
- | |||
- | O script '' | ||
- | |||
- | * Instalar o RVM (Ruby Version Manager - http:// | ||
- | |||
- | curl -sSL https:// | ||
- | |||
- | * Abrir uma nova aba ou fazer login para garantir que o RVM seja carregado em um novo shell. | ||
- | * Instalar o Ruby 2.1.2. | ||
- | |||
- | rvm install ruby-2.1.2 | ||
- | |||
- | * Acessar o diretório raiz do Git e confirmar que o RVM trocou o Ruby e o Gemset correntes. | ||
- | |||
- | cd / | ||
- | cd / | ||
- | rvm current | ||
- | (deve retornar: ruby-2.1.2@sptrans) | ||
- | |||
- | * Instalar as dependências. | ||
- | |||
- | bundle | ||
- | |||
- | * Utilizar o '' | ||
- | |||
- | ./ | ||
- | |||
- | Usage: | ||
- | | ||
- | ./ | ||
- | | ||
- | Examples: | ||
- | | ||
- | ./ | ||
- | ./ | ||
- | ./ | ||
- | ./ | ||
- | | ||
- | Options: | ||
- | | ||
- | -t, --token | ||
- | -d, --download_dir | ||
- | -l, --routes_file | ||
- | -w, --threads_num | ||
- | -v, --verbose | ||
- | -h, --help | ||
- | |||
- | ===== Formato dos JSONs salvos ===== | ||
- | Os arquivos salvos pelo script '' | ||
- | |||
- | / | ||
- | / | ||
- | |||
- | <file python p_1337.json> | ||
- | { | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ] | ||
- | } | ||
- | </ | ||
- | |||
- | '' | ||
- | |||
- | '' | ||
- | |||
- | '' | ||
- | |||
- | '' | ||
- | |||
- | '' | ||
- | |||
- | ===== Volume de dados ===== | ||
- | |||
- | Em um primeiro acompanhamento, | ||
- | |||
- | * 2k linhas de ônibus sendo consultadas abaixo de 60 segundos com 100 threads. Estão listadas no arquivo data/ | ||
- | |||
- | wc -l data/ | ||
- | 2572 data/ | ||
- | |||
- | * 14k veículos acompanhados diariamente. | ||
- | |||
- | find data/pos -type f | wc -l | ||
- | 14423 | ||
- | |||
- | * 5M posições GPS coletadas diariamente (380 posições por veículo em média). | ||
- | |||
- | # Total em três dias de operação | ||
- | cat *json | jq ' | ||
- | 16585174 | ||
- | |||
- | * 350MB de dados coletados diariamente. | ||
- | |||
- | # Total em três dias de operação | ||
- | du -sm data/pos | ||
- | 1025 data/pos | ||
- | |||
- | Dados coletados utilizando um computador pessoal, desktop, com sistema operacional Linux Ubuntu 12.04 (32 bits), com CPU Core 2 DUO de 3GHz, com 4GB de RAM e discos SATA simples (sem RAID). Conexão internet doméstica, de 10mbps. | ||
- | |||
- | ===== Contato ===== | ||
- | * [[user: |