I travel a lot on business. I'm not much of a car guy, so when I have some free time, I prefer to walk or bike around a city. Many of the cities I've visited on business have bikeshare systems, which let you rent a bike for a few hours. Most of these systems have an app to help users locate and rent their bikes, but it would be more helpful for users like me to have a single place to get information on all the bikes in a city that are available to rent.
To solve this problem and demonstrate the power of open source to add location-aware features to a web application, I combined publicly available bikeshare data, the Python[1] programming language, and the open source Redis[2] in-memory data structure server to index and query geospatial data.The resulting bikeshare application incorporates data from many different sharing systems, including the Citi Bike[3] bikeshare in New York City. It takes advantage of the General Bikeshare Feed provided by the Citi Bike system and uses its data to demonstrate some of the features that can be built using Redis to index geospatial data. The Citi Bike data is provided under the Citi Bike data license agreement[4].
General Bikeshare Feed Specification
The General Bikeshare Feed Specification (GBFS) is an open data specification[5] developed by the North American Bikeshare Association[6] to make it easier for map and transportation applications to add bikeshare systems into their platforms. The specification is currently in use by over 60 different sharing systems in the world.
The feed consists of several simple JSON[7] data files containing information about the state of the system. The feed starts with a top-level JSON