Last week saw the GECO team attending and co-organising an Open Mapping Workshop with the DevCSI team. Addy Pope of GoGeo was one of our speakers on the day and has kindly written us this guest post about the event and some of the useful resources related to the presentations and discussions on the day. For more information on the event you can also see our LiveBlog of the day, we will also be adding audio and images from the day in the coming weeks.
The DevCSI Open mapping workshop was held in Glasgow on the 24th August 2011. The program was:
- Introduction to OpenStreetMap – Bob Kerr (OSM)
- Open Source GIS and OpenLayers – Addy Pope (EDINA)
- Getting started with PostGIS/Postgres – Lasma Siestone (EDINA)
This post aims to highlight the resources that were introduced and discussed during the workshop rather than chronicle the workshop itself.
Getting Started With OSM
Basic editing in OSM can be done through the OSM web interface. Just create an account and then sign in. The web editor runs Potlach 2 which is shown really intuitive to use.

For more advanced editing, perhaps where you want to compare different satellite images or where you with to do bulk edits, you may want to have a look at JOSM. JOSM is a Java based desktop editor which has a lots of useful resources that are not available in simple online editors such as Potlach2. In addition, there is a stack of videos and tutorials to help you get started with JSOM.
Open Source GIS and Openlayers
GIS was once the the preserve of large software companies and the cost of licences made it difficult for non-gis professionals to access GIS tools. However, over the past 5 years open source GIS tools have emerged and are now competing with proprietary GIS software in terms of usability and functionality. This has allowed “Joe Public” to create custom maps and publish spatial data.
QGIS – QGIS is a free open source desktop GIS. While there are many other open source GIS’s out there, QGIS is packed with features, easy to use and well documented. The other nice thing about QGIS is that there are a host of python plugins written by the QGIS user community that you can access and use. These allow you to do some neat things including:
- DXF2SHP – convert dxf files to shapefiles
- Delimited Text file import
- Ordnance Survey translator – transforms OS GML to shapefile
- fTools – Vector data management toolkit
- PostGPS – load and save GPX files from your GPS
The plugin that was demoed at the workshop was the OGR2Layer tool. This allows you to load spatial data into QGIS and add the data to a Web Mapping Service (WMS) from OSM. The tool outputs the OpenLayers code that you need to embed in your website to create an interactive, map. The configuration options may be quite simple and limited, but they do give you a good start point from which you can easily build more complex, customised map inserts. A screenshot example (sadly not interactive) of the OGR2Layer output is shown below.

OGR2Layer output
and here is some of the code that the tool produces:
var map, selectsControls
function init(){
var option = {
projection: new OpenLayers.Projection(“EPSG:900913”),
displayProjection: new OpenLayers.Projection(“EPSG:4326”)
};
map = new OpenLayers.Map(‘map’, option);
olosma = new OpenLayers.Layer.OSM(“OpenStreetMap Osmarender”, “http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png”);
map.addLayer(olosma);
map.setBaseLayer(olosma);
var ls= new OpenLayers.Control.LayerSwitcher();
map.addControl(ls);
ls.maximizeControl();
map.addControl(new OpenLayers.Control.Attribution());
var ForestSOTM2_template = {
strokeColor: “#b9b9b9”,
strokeOpacity: 1,
strokeWidth: 0.26,
fillColor: “#00aa7f”,
fillOpacity: 1
}
var ForestSOTM2_style = new OpenLayers.Style(ForestSOTM2_template)
//START QUERY ForestSOTM2
function onPopupCloseForestSOTM2(evt) {
selectControl.unselect(selectedFeature);
}
function onFeatureSelectForestSOTM2(feature){
selectedFeature = feature;
tableForestSOTM2=”<html><meta http-equiv=’Content-Type’ content=’text/html; charset=UTF-8′><body><table><tr><td><b>NAME:</b></td><td><i>”+feature.attributes.NAME+”</i></td></tr></table></body></html>”;
popup = new OpenLayers.Popup.FramedCloud(“chicken”,
feature.geometry.getBounds().getCenterLonLat(),
new OpenLayers.Size(1000,500),
tableForestSOTM2,
null,
true,
onPopupCloseForestSOTM2
);
feature.popup = popup;
map.addPopup(popup);
}
function onFeatureUnselectForestSOTM2(feature) {
map.removePopup(feature.popup);
feature.popup.destroy();
feature.popup = null;
}

Openlayers by Erik Hazzard
If you want to find out more about OpenLayers then I would suggest reading OpenLayers 2.1.0 by Erik Hazzard. This book covers the basics but has enough detail to be useful for experienced users.
Another useful feature of QGIS is that you can stream a WMS into it so you always have a basemap to give your data some context. I wont explain this here, if you wish to read about doing this then please read the post on the GoGeo blog.
PostGIS/Postgres
The final session of the day looked at PostGIS and Postgres. Used in tandem, these packages have powerful spatial capabilities but the barrier to use is often perceived to be quite high can put some off using them. The presentation should be available through the GECO blog soon but you might want to look at the following books:
That should be enough to get started with. I will try to add more links to useful resources as i find them. In the meantime, you could search through the thousands of links in GoGeo. If you think there is a link that compliments this thread, please add a comment below including the link and a wee sentence or two about the resource it relates to and why you find it useful.