Thursday 24 February 2011

Easier Map Creation with OpenStreetMap Data

I have been giving some thought to making the process of creating maps form OpenStreetMap data easier.  The problem is that to use the mapnik map renderer, you need to install quite a lot of tools and set different configuration files before you can even start to create a map.
This means you have to be pretty keen to persevere enough to get to an end result.
I am thinking of creating a service to allow you to bypass the tool installing bits, and concentrate on the setting up of the map configuration, so you can get to a result quicker - see http://wiki.openstreetmap.org/wiki/User:Grahamjones#Speciality%20Maps.

Quite a few of the responses that I got to that proposal were about the lack of good documentation to get people started on the process.  I have had a go at addressing this by putting together a simple overview presentation to go through the main concepts and tools that you need to generate a map using mapnik.   The presentation is on slideshare.net, and should be visible below:

Friday 18 February 2011

Mounting FTP Directory as a Filesystem

I just discovered a really useful trick to mount the directory structure of a remote FTP server as a directory on a linux computer.   You use a program called curlftps.   On Ubuntu do:
sudo apt-get install curlftps
The directories on the remote ftp server are then mounted using:
 curlftpfs ftp://[username]:[password]@[server address] [local directory mount point] 
This works fine (you do not even need to be root to do it), but the password will be present if you do 'ps -ef | grep ftp'.
A solution is to create a .netrc file in the /root directory containing:

machine [server address]
login [username]
password [password]
You can then add the file system to /etc/fstab by adding the following line to /etc/fstab:
curlftpfs#[server address] [local directory mount point] fuse allow_other,rw,user,noauto 0 0
You can then just do
sudo mount [local directory mount point]
and you get the same effect with the server password invisible.



Sunday 13 February 2011

OpenWRT Based Utility Meter Monitor

I have made some progress porting my MeterServ application (http://meterserv.webhop.net) to openWRT.   I have managed to work out how the openWRT makefile system works enough to add it to the build system and produce an openWRT package for the MeterServ application.
To do the improvements that I want to make to the application though, it needs more work.  In particular I don't like Perl, so want to convert the web interface part of it to Python.   Rather than go for a completely DIY web framework, I have adopted webpy (http://webpy.org) - this seems like a simplified version of django - you define URLs that you want the application to work with, then point it to a python class that does the processing associated with the user requesting a particular URL.
I have started a seperate google code project for meterserv, because a couple of people expressed an interest in it.  I have put the latest version of the software in its repository too - see http://code.google.com/p/meterserv.