Establishing the basics for handling environmental spatial data relies on proper organization of the data into repositories where it is stored and prepared for dissemination. This article points to how such a structure could be made using geoserver, geonetwork, WordPress, Geonode, Postgis and Linux. All modules has been chosen because of being open source. As a consequence this constellation is an excellent starting point for establishing thematic data infrastructures in developing countries. As it is, the infrastructure below would not be possible without the support of contributors like the WorldBank and OpenGeo.
Will the suggested infrastructure can do the job. And if it does, how is it used by the human/organisational part of the equation? The answers to latter are beyond the scope of this article. This time I will try to answer the first question – and thus look at the technical sides of it.
One of the challenges with establishing SDIs is that it usually will require a rather complex constellation of software, hardware, legal framework an local capacity. A sketch of the relations could be like this:
On the technical side one would typically have a database server, a gis server, desktop gis systems for styling and analysis, website integration systems and more. Historically this would fill up the better part of a server room. Rumors has it that the Norwegian mapping authorities at some point considered a separate building for their servers. These days more systems are moving towards being hosted in server farms. This posting is the story about how you can put it all into one small box.
Important factors in building such systems are:
- Flexibility in setup and use
- Ability to scale up the solution (desktop->virtual machine->server farm)
- Low initial cost (proof of concept should not cost)
- Portable (possible to develop one place and set in use somewhere else)
- Management level compatibility (easy to communicate the capacities of the system)
- Backup systems
Having worked with such systems in a production environment it easily gets overwhelming. The solution is to start from scratch. Being familiar with these pieces of software helped:
- Ubuntu Linux
- VmWare virtualisation software
- …and finally Geonode
With these as my building blocks I ended up establishing a hardware/software stack as indicated in the following figure:
Setting up this system is done as follows:
- Power on computer
- Install VMWare vSPhere Hypervisor – ESXi 5.0 (download)
- Make two virtual machines for 64bit Ubuntu, geo1 and wp1
- geo1: 7Gb memory 200 Gb disk
- wp1: 1Gb memory, 100 Gb disk
- Consider your network and choose
- Install the defaults for Ubuntu version 10.04.3
- Make sure to install LAMP and ssh-server
- Install webmin on both machines
- Update all packages on the servers
- geo1 – GIS server 1
- wp1 – WordPress Content Management System
- Install wordpress (use quick installation instructions)
Webmin provides a great interface for editing your server settings. It will come in handy when you are setting up the MySQL databases used in the WordPress install. If you are not a linux command line this is your best option. It will work in parallel with both Geonode and WordPress. In their own words:
“Webmin is a web-based interface for system administration for Unix. Using any modern web browser, you can setup user accounts, Apache, DNS, file sharing and much more. Webmin removes the need to manually edit Unix configuration files like /etc/passwd, and lets you manage a system from the console or remotely.”
With Geonode running you are ready to upload data and prepare maps. Geonode provides excellent information about how this is done. A map (work) in progress is shown below:
So what is Geonode? The Geonode webpage gives us the following description:
GeoNode is a platform for the management and publication of geospatial data. It brings together mature and stable open-source software projects under a consistent and easy-to-use interface allowing users, with little training, to quickly and easily share data and create interactive maps. GeoNode provides a cost-effective and scalable tool for developing information management systems.
Geonode would be nothing without Geoserver, Geonetwork, Postgis and more systems. Bringing them together in the geonode architechture OpenGeo has effectively made a very important component of an efficient SDI.
The next step is to create a relevant structure within WordPress effectively providing your users with an entry level dissemination system. You embed your map by pasting the iframe code from geonode:
<iframe style="" src="http://mygisserver.com/maps/1/embed" width="600" height="500"></iframe>
Make sure to paste the code while being in the HTML-edit moduos in WordPress.
WordPress has several plugins for adding maps. It also integrates rss feeds, which incidentally is one of the outputs from Geoserver and GeoNetwork.
There are many challenges in a setup like this. Changing ip-adress for the whole setup might lead to unforeseen problems:
- Geonode is a bit delicate with regards to changed addresses. Although the documentation says how to deal with it existing map might have dependencies to the data sets which could break.
- WordPress also “breaks” if you move it to a different location. There is an easy fix for that explained in the WordPress documentation.
In conclusion the technical system described above could work as an internal spatial data infrastructure. It could also be opened up for external use. External access could be either just placing the hardware on part of the office network which is externally available, or it could be transferring the virtual machines to a server farm.
Further developments would be special databases supporting thematic focus areas and data sets to be provided externally according to conventions and other agreements. This part is the complicated one since it will demand more with regards to data management, management, legal arrangements and more.
I will be working on this article for the next week as basis for a lecture.