(pequena) API do Metro-SP

1,037 views
Skip to first unread message

du...@riseup.net

unread,
Aug 23, 2012, 3:06:08 PM8/23/12
to thac...@googlegroups.com
Olá a todos,
(ando sumido mas não parado)

Alguns de vocês sabem do projeto que estou fazendo chamado
Utopia[1][2], a basicamente expor recursos de um banco de dados em
REST *com hipermedia*, aos não técnicos, pegar dados fechados e abrir
de uma forma que um computador os entendam de forma razoável.

Para testar esse projeto e melhora-lo, comecei fazendo alguns scripts
que raspava a os dados do, então novo, site do metro de são paulo[3],
segue as informações e o que tenho lá, lembrando que é algo mais
conceitual e ainda não tenho uma documentação (estou pensando se o
utopia não poderia alto gerar uma documentação técnica dos projeto,
seria interessante)

o projeto está no seguinte endereço http://api.metrosp.vertigem.xxx,
pagina vazia, vai a documentação ai em breve

podemos pegar as linhas do metro em:
http://api.metrosp.vertigem.xxx/lines.json [todas as linhas]
http://api.metrosp.vertigem.xxx/lines/1.json [A linhas 1]


As estações em:
http://api.metrosp.vertigem.xxx/stations.json [todas as estações]
http://api.metrosp.vertigem.xxx/stations/1.json [A estação 1]

* coloquei json como extenção, mas funciona em xml também, pode-se
tirar a extensão e passar o cabeçalho HTTP Accept[4], EU acredito que
usar o Accept seja o correto a fazer

Tirando os dados, a magica toda quem faz é projeto utopia

Meu próximo passo é pegar os dados das estações corretamente, existe
algo intessante que são o que a estação oferece(lugar para guardar
bike, elevator para deficientes, etc) e a geolocation (isso mais fácil
por que tenho o endereço já). Algo que eu ainda não sei como fazer é,
via a api, dar o trajeto de uma estação para a outra.

Para quem quiser dar uma olhada no código
https://github.com/vertigem/api_metrosp
O código, de fato, está aqui
https://github.com/vertigem/api_metrosp/tree/master/app/resource [28
linhas de código :D]

Caso tenha alguma duvida, elogio, melhoras, algo que mude o foco da
thread ou qualquer outra coisa, não deixem de falar ;)

Abraços,
Duke


[1] https://github.com/vertigem/utopia
[2] http://vertigem.xxx/utopia/
[3] http://www.metro.sp.gov.br/
[4] http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#z3

Nitai Silva

unread,
Aug 26, 2012, 5:49:16 PM8/26/12
to thac...@googlegroups.com
Muito bom duque!
Acho que vale agora uma documentação bem simplificada e um exemplo de uso pra divulgar mais fácil.

Uma ideia. Que tal criar a possibilidade de carga dos dados com um feed GTFS??

abs
Nitai
> --
> Você recebeu esta mensagem porque está cadastrado no grupo "Transparência Hacker"Para enviar uma mensagem a todo o grupo, escreva para thac...@googlegroups.com
> Para não receber mais mensagens, envie um email para thackday+u...@googlegroups.com
> Para mais informações, ou para ler mensagens arquivadas deste grupo, visite http://groups.google.com/group/thackday?hl=pt-BR
>

alex...@gmail.com

unread,
Nov 26, 2013, 3:56:48 PM11/26/13
to thac...@googlegroups.com
Duke,
Legal, obrigado por compartilhar!
Sabe se o metrô disponibiliza a API desse componente de 'Minha viagem" que existe hoje no site deles ? http://www.metro.sp.gov.br/ 

Obrigado!

Duke

unread,
Nov 28, 2013, 8:11:16 PM11/28/13
to thac...@googlegroups.com
Olá Alex,
Disponibilizar eles não disponibiliza, mas sempre tem um jeito ;)

Quando você busca o trajeto no site ele da algumas dicas, primeiro

Estações em XML: http://www.metro.sp.gov.br/app/trajeto/xt/estacoesXML.asp
Resultadotrechos em XML:
http://www.metro.sp.gov.br/app/trajeto/xt/ResultadostrechosXML.asp?trechoId=522$507$505$503$501$499$497$495$493$519$517
trechos em XML: http://www.metro.sp.gov.br/app/trajeto/xt/trechosXML.asp


Agora precisa entender o que é o trechoId ali, se sacar como isso funciona
só criar um proxy.


Abraços,
Duke
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Transparência Hacker" dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para thackday+u...@googlegroups.com.
> Para postar neste grupo, envie um e-mail para thac...@googlegroups.com.
> Visite este grupo em http://groups.google.com/group/thackday.
> Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/thackday/d5e0e58f-62c4-4913-8458-77c43976a18f%40googlegroups.com.
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
Reply all
Reply to author
Forward
0 new messages