Friday, February 3, 2012

OpenAviationMap technical crash cource

So how does this OpenAviationMap tick? I'll try to explain as condensed as possible.
The main part is a web application written in Ruby called Rails Port. It handles users, and the map API. This is an XML API that lets users send in changes to the map.
To edit the map we have JOSM. It's a Java application written for OpenStreetMap. It lets you draw things on the screen and give it tags. Then you can press upload, enter username and password, and JOSM posts your beautiful drawing to the API.
The Rails Port application then receives this and stores it in a PostGIS enabled PostgreSQL database.
All changes to the map are incremental. That means that you can individually revert changes, much like on Wikipedia or VCS's like GIT or SVN. This gives us the power to let everyone with an account edit the map by default, because no one can do irreplaceable damage.
To view the map I'm using OpenLayers, written in JavaScript. I serve the OpenAviationMap data from the database via some custom code as WFS to OpenLayers which displays it appropriately over (currently) a Google physical base map.

No comments:

Post a Comment