OpenSource Technical Infrastructure: PostGIS, Geoserver and Django …

The technologies underpinning Stepping Into Time will take advantage of free or low cost computing resources and open-source software now prevalent in web and app development. The final technical infrastructure is being finalised but this post summarises the fundamental components.

Technical Infrastructure Diagram
Stepping Into Time Project

Server Side 

The server-side of Stepping Into Time will be built using the Python GeoDjango web-app framework, supplemented by Geoserver, with the generated data hosted in a PostGIS database. The server will run in a industry standard Linux-Apache server environment, deployable on a wide variety of server providers (eg Amazon EC2,  University hosted – to be determined).

The PostGIS database provides an appropriate method for data storage, management, spatial retrieval and processing, and is the most appropriate Spatial  Relational Database Management System (RDBMS) for integration with the rest of the proposed technology stack, ie it is fully supported and the recommended spatial RDBMS for GeoDjango. It will hold the geographic data  in the format of either a point, line or an area (ie vector data) for example each bomb that fell is marked at the street level as point with an X, Y coordinate that denotes its location.

The original maps are scanned they are processed in the desktop GIS to add a geographic reference system  – a method known as geo-referencing (we will use the low cost GIS called Manifold), they will be saved in the GeoTiff file format and saved on the server. The middleware Geoserver will then enable the geographic data to be accessed and served to the tools we are developing, in a variety of standard formats (eg KML, SHP, Map Tiles and WMS georeferenced images) by either the desktop GIS, mobile application or web-mapping application.

GeoDjango is a web framework designed to facilitate the building of GIS-based web applications, and to enable the use of spatial data on the web.  It is based on the Django framework, a Python framework originally designed to handle fast-moving news websites.  Django offers an in-built administration interface, along with the ability to define database data models and queries, and a template language to separate design, content and code.

Client Side

The project’s client-side will make use of modern Ajax design standards to achieve an easy-to-use,  interactive user experience. This will be achieved through a combination of HTML, CSS & JavaScript, facilitated through JQuery, with the essential web-mapping and geo-data contribution mechanism enabled via the Leaflet framework.

The Leaflet open source JavaScript library will be used to provide to end clients (web and mobile) both access and display of various base maps as well as custom data, along with spatial interaction functionality.  JQuery provides a framework of JavaScript functions simplifying the development of rich and interactive applications.

This entry was posted in project details, technical and tagged , , , , . Bookmark the permalink.

1 Response to OpenSource Technical Infrastructure: PostGIS, Geoserver and Django …

  1. Pingback: Sharing my experience of setting up a sustainable technical development infrastructure compliant with university standards | Mapping the Blitz Bomb Census

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s