GithubHelp home page GithubHelp logo

bergpb / dadosbicicletar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from paoloo/dadosbicicletar

0.0 1.0 0.0 61 KB

Status das estações do projeto bicicletar, de Fortaleza/BR, como API e aplicacao

Python 100.00%

dadosbicicletar's Introduction

DadosBicicletar

Status das estações do projeto bicicletar, de Fortaleza/BR, como API e aplicação

Trata-se de um extrator de dados do do bicicletar, através dos scripts em seu site, fornecendo esta informação tanto diretamente no terminal, quanto como uma API, retornando um GeoJSON (especificação e documentação do GeoJSON: http://geojson.org/geojson-spec.html) do status em tempo real das estações. Um exemplo do GeoJSON gerado pode ser visto no arquivo estacoes.geojson. As informações são tratadas de forma a propiciar tanto uma visão completa de todas as estações quanto apenas informações resultantes de uma busca de estações por local.

A ideia, ao desenvolver isto, foi propiciar a criação de hooks que chequem os dados regularmente e informem quando houver uma bike disponível em uma estação especifíca, bem como procurar estações em uma região específica para depositar a bike, planejando o deslocamento de forma mais eficiente.

Requisitos

  • python 3.0+
  • bottle ( bottlepy.org - mas já vai embarcado)

Uso - modo API

  • diretamente no terminal:
python api.py
  • ou, em modo deamon:
nohup python web.py &

Requisição

As requisições devem ser feitas através do endpoint http://localhost:8080/estacoes/.

para buscar estações que tenham certo critério,

curl http://localhost:8080/estacoes/<k>

onde é a rua ou nome da estação que se procura.

Uso - modo terminal

python cli.py [criterio de busca]

onde o critério de busca, se informado, trará, apenas, as estações que se adequarem ao critério definido

Exemplo da saída da API da busca por "Bezerra" com a URL: http://localhost:8080/estacoes/Bezerra

{
	"type": "FeatureCollection",
	"features": [{
		"geometry": {
			"type": "Point",
			"coordinates": [-38.547983, -3.732094]
		},
		"type": "Feature",
		"properties": {
			"qtd_bikes_disp_1": "8",
			"statusInterno": "Est_Normal 1",
			"status_operacional": "EO",
			"qtd_vagas_total": "4",
			"nome": "Parque Arax&#225;",
			"endereco": "Avenida Bezerra de Menezes, 334 / Esquina Rua Ribeiro da Silva",
			"qtd_bikes_disp_2": "8",
			"estacao": "Parque Arax&#225;",
			"id": 37,
			"status_online": "A"
		}
	}, {
		"geometry": {
			"type": "Point",
			"coordinates": [-38.551978, -3.7331071]
		},
		"type": "Feature",
		"properties": {
			"qtd_bikes_disp_1": "9",
			"statusInterno": "Est_Normal 1",
			"status_operacional": "EO",
			"qtd_vagas_total": "3",
			"nome": "Instituto dos Cegos",
			"endereco": "Canteiro Central da Avenida Bezerra de Menezes, 801 / Esquina Rua Padre Anchieta",
			"qtd_bikes_disp_2": "9",
			"estacao": "Instituto dos Cegos",
			"id": 38,
			"status_online": "A"
		}
	}, {
		"geometry": {
			"type": "Point",
			"coordinates": [-38.563427, -3.7354169]
		},
		"type": "Feature",
		"properties": {
			"qtd_bikes_disp_1": "11",
			"statusInterno": "Est_Normal 1",
			"status_operacional": "EO",
			"qtd_vagas_total": "1",
			"nome": "&#201;rico Mota",
			"endereco": "Avenida Bezerra de Menezes, 2080 / Esquina Rua Eduardo Barros Leal",
			"qtd_bikes_disp_2": "11",
			"estacao": "Esquina com a Rua Eduardo Barros Leal",
			"id": 41,
			"status_online": "A"
		}
	}, {
		"geometry": {
			"type": "Point",
			"coordinates": [-38.565929, -3.7357836]
		},
		"type": "Feature",
		"properties": {
			"qtd_bikes_disp_1": "4",
			"statusInterno": "Est_Normal 1",
			"status_operacional": "EO",
			"qtd_vagas_total": "8",
			"nome": "North Shopping",
			"endereco": "Avenida Bezerra de Menezes, 2500",
			"qtd_bikes_disp_2": "4",
			"estacao": "North Shopping",
			"id": 42,
			"status_online": "A"
		}
	}]
}

Exemplo da saída do terminal com a busca por estações na "Bezerra"

paolo@abyss:~/Sources/DadosBicicletar$ python cli.py Bezerra
PROJETO BICICLETAR - FORTALEZA/BR
estacao id 37: Parque Araxá - Parque Araxá - Avenida Bezerra de Menezes, 334 / Esquina Rua Ribeiro da Silva / bikes disponiveis: 8, vagas livres: 4
estacao id 38: Instituto dos Cegos - Instituto dos Cegos - Canteiro Central da Avenida Bezerra de Menezes, 801 / Esquina Rua Padre Anchieta / bikes disponiveis: 9, vagas livres: 3
estacao id 41: Érico Mota - Esquina com a Rua Eduardo Barros Leal - Avenida Bezerra de Menezes, 2080 / Esquina Rua Eduardo Barros Leal / bikes disponiveis: 11, vagas livres: 1
estacao id 42: North Shopping - North Shopping - Avenida Bezerra de Menezes, 2500  bikes disponiveis: 4, vagas livres: 8
foram mostradas 4 estacoes

Todo o código é um enorme draft, foi criado apenas para testar o hook de checar uma bike disponível em loop de tempo, e tem muito espaço para melhorias. Quem achar divertido, brinca um pouco e faz um pull request ;D

be happy

dadosbicicletar's People

Contributors

paoloo avatar lucasgdo avatar alynnefs avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.