Tag Archives: work


It’s been a busy conference month: they didn’t rename it Maptember for nothing! Of all the conferences that were held (especially in the UK) I have attended three: the RSPSoc conference in Glasgow; AGI Geocommunity; and FOSS4G. The latter two were both held in Nottingham, re-branded Mappingham during FOSS4G.

These were three very different conferences, at least from my perspective. The RSPSoc conference had approximately 130 delegates, a fair number of whom I knew or recognised. Maybe this is why I felt most comfortable at this conference. The RSPSoc annual conference is very much an academic conference and a key part of the remote sensing calendar. It’s a brilliant opportunity to see what new methods and applications are being developed in the RS sector.

This was my first time at both the AGI GeoCommunity and FOSS4G conferences. To be honest, I wasn’t sure what to expect as my background is much more on the RS side, rather than the GIS side. I didn’t attend all of the events available at these conferences as funds are limited this year, so I only made the final day of the AGI GeoComm and the two main conference days of FOSS4G. I realise that there were loads more to both conferences and wish I could have made everything. For comparison, there must have been a couple of hundred attendees at GeoComm and there were about 850 at FOSS4G.

Some random points I have taken away from the conferences:


  • There were two great keynote speeches given by Stewart Walker and Craig Clark.
  • I chaired a session on behalf of TOPSIG (Technical and Operational Procedures SIG) – there were some great presentations in that session and I’d like to thank all the speakers for their efforts.
  • The ARGUS-IS is a bonkers system – check out (http://www.youtube.com/watch?v=QGxNyaXfJsA) to see what I mean
  • Doreen Boyd presented some very cool work being undertaken at the University of Nottingham on using traffic cameras as data sources for validation work (http://www.mdpi.com/2072-4292/5/5/2200)
  • Glasgow was a lot warmer than I thought it would be!

AGI GeoCommunity

  • Maybe I was expecting more from the level of the talks at this conference or maybe I want to the wrong talks, but having come from the RSPSOc conference (and understanding that the AGI GeoComm was the flagship event in the UK of the GIS community), I was surprised not to be listening to reports about cutting edge developments. The talks were interesting in their own way, but they came across as very generic for what I assumed was going to be a specialist audience.
  • Anne Kemp did a really good job of chairing the day 2 opening session. She got audience members to identify themselves as groups of professionals who have worked in the sector for >20 years, 10-20 years and <10 years. She made the point that these groups should make sure they mix and pass on skills and experience to each other. It was a lot more effective than my description is making out!
  • Peter Batty gave a well timed keynote on Openness at the end of the day in readiness for FOSS4G (http://www.slideshare.net/pmbatty/agi-geocommunity-2013)


  • I was nervous about attending this. I am not a developer. I can script in Python, but to me that is very different to being a software developer. I wondered whether the entire conference would be full of developers talking code rather than something for general users. I was steadied for rapidly getting lost in the detail, but it wasn’t like that at all. It was a totally inspiring experience, especially once I realised that I was brushing shoulders with some of the rock-stars of the FOSS world. The local organising committee did a great job of pulling together people from different (but related) technical backgrounds, cultures and languages and making the conference feeling one of cohesion.
  • The talks were brilliantly structured to take you from discussions of what ‘open’ means to hardcore technical breakdowns.
  • Arnulf Christl is an inspirational speaker and fully deserved to be presented with the Sol Katz Award


The main thing I learnt from all of the conferences – contribute in some way (as a developer, user, speaker, volunteer) and build your community. Collaborative research and development is fun, everyone has something to offer, and more often than not people are intrigued/excited/chuffed by what you say or do.


Tagged , , ,


Wanna link your Thunderbird on Linux to your company MS Exchange Server? No probs, just use DavMail. This is a brilliant local server application that allows you to use Linux at work, even when your work doesn’t support Linux.

Tagged ,


I have spent the last day or so looking at the interaction between PIL and numpy. PIL is useful for quickly loading and manipulating images (size, subsets etc) but if you really want to get to grips with image processing you need to understand numpy and the array structure. If you have come from Matlab then it can be a bit confusing as the syntax is “similar but different”. Anyway, here are some basic snippets of code:

import Image as I # Import PIL
import numpy as N # Import Numpy
import pylab as P # Import Matplotlib functions
a = I.open("/home/al/Documents/temp_image_proc/bird/image4.jpg", "r") # Open the image
b = N.asarray(a) # Convert to Numpy array
red = b[:,:,0] # Extract red band
P.imshow(red) # Display the image

So we import the Image functions from PIL, numpy and the matplotlib plotting functions in pylab. Then we open up an image (.jpg format) convert it to an array, subset out the red band and display it. The image is shown here:

Continue reading

Tagged , , , , ,

Back to PyQT

Today I got back to developing up an application using PyQT4.

1) Creating a .exe file using py2exe

You need to have py2exe installed. Using pythonxy means that everything is in place so that’s good. The setup file that I used had the following in it:

from distutils.core import setup
import py2exe

        windows=[{"script" : "FindPyTab.pyw"}],
        options={"py2exe" : {
            "includes" : [
            # Needed only for Qt-based applications:
            # Needed only for matplotlib-based applications:

where the file to be converted is FindPyTab.pyw

Continue reading

Tagged , ,

Understanding a QGIS Plugin

Right, this might be a bit long but hopefully it will help explain how to put together a QGIS plugin.

First I would install the “Plugin Builder” plugin and create a base using that. The path of the plugin you are creating should be something similar to .qgis\python\plugins\ and should contain the following files:

  • <pluginname>.py
  • ui_<pluginname>.py
  • resources.py
  • __init__.py

The __init__.py file will include the set-up details similar to the following (for the purposes of this post, the plugin is called Raster Killer – it just resizes rasters at the moment using PIL): Continue reading

Tagged , , , , , ,