VelibDataSet
This code can be used to dump periodically all the available data from the Velib API, the bike sharing system in Paris.
It is basically a wrapper around pybikes to dump values periodically in a SQLite database.
Usage
- Clone this repo.
- Install pybikes.
- Run
python2 velib.py.
Note: For now, pybikes is only Python2 compatible.
Dumped data
Important: For the latest information about the dump available at https://pub.phyks.me/datasets/velib/, please refer to https://pub.phyks.me/datasets/velib/README.txt.
This script is used to dump the returned data from the Velib API every few minutes. Dumps are available at https://pub.phyks.me/datasets/velib/.
The script writes in a new SQLite file every week, put in a different folder by year, and labelled with the week number.
Each SQLite file has three tables:
- A
stationstable, containing "permanent" information about each station (latitude, longitude, number of stands etc). - A
stationsstatstable which contains the available number of bikes and stands at each time, for each station. Not that these data are directly dumped from the API, henceupdatedfield is coming from the API and is a timestamp in milliseconds. - A
stationseventstable keeps tracks of modifications of fields in thestationstable. For instance when a mobile station changes position,latitudeandlongitudeare updated, or when a station gains newstands, this table keeps track of the changes.
You should have a look at the init_db function (or run .schema in the
resulting SQLite database) to have more details about the structure of these
tables, it should be rather self-explicit.
Note: There are currently no ways to explicitly list stations addition /
removal. As the API response always contains the data for all the available
stations, you can find when a station was created (removed) by looking at the
first (last) time a line was added in stationsstats table for this station.
Visualization
The visualization script generates sequences of PNG images from your database
dump. You can then concatenate them in a x264 movie using ffmpeg (or
avconv, should be the same command):
cat *.png | ffmpeg -f image2pipe -framerate 10 -i - output.mp4
Links
- Velib website: http://velib-metropole.fr/
License
Code is released under MIT license.