Location-based applications grow in importance, not only for the augmentedreality gaming community, but also for businesses adding location-awarefunctionality to their web applications, mobile apps and the like. We show howto work with the vast set of OpenStreetMap data with minimal Pythonprogramming and very little resources using the OSMAlchemy library.
In this workshop, we will create a web application that uses the live set ofOpenStreetMap data to allow users to review places like restaurants, bars andthe like. Doing so, we will use the following technologies:
* the Python programming language * the Flask micro-framework for web applications * an SQLite database * the SQLAlchemy object-relational mapper * the OSMAlchemy library * the Angular.JS framework
When writing applications that use OpenStreetMap, one had to decide whether toonly use a really small subset of the data or maintain their own local copy ofthe whole planet data, which accumulates to more than 1 TB of data andconsumes a lot of resources to work with it. OSMAlchemy provides access to thelive data through the Overpass API in combination with a local, SQLAlchemy-based cache. It also allows access to the complete set of OpenStreetMap databy simply querying SQLAlchemy, without even caring about Overpass API access.
After attending the workshop, you will be able to implement arbitraryapplications using whatever OpenStreetMap features you like. You should havesome basic knowledge about Python and relational databases. Having heard aboutFlask, REST and SQLAlchemy gives you an extra bonus, but is not strictlynecessary. If you want to try the examples during the workshop, please makesure to have the most recent (stable) versions of Python 3, Flask, Flask-SQLAlchemy, Flask-Restless and OSMAlchemy installed beforehand. |