For part of a traffic simulation project I am currently working on we need country-wide road network data for Ireland. In the past, getting decent road network data for an area this large was quite a task (not to mention expensive and time consuming), however, with OpenStreetMap we have access to this type of data instantly, and for free! In order to download full country coverage all at once, all I had to do was turn to this extremely useful site, which provides links for daily excerpts of OpenStreetMap data for any country in Europe plus several non-country regions such ...
- Thu 13 May 2010 cfarmer
PostGIS ‘select’ statement as vector layer in QGIS
Tue 27 April 2010 cfarmerSeveral colleagues of mine have asked whether it is possible to visualise the results of a
SELECT
statement on a PostGIS database that returns spatial data in QGIS. In other words, can we map the results of something like:SELECT id, st_union(the_geom) FROM spatial_table GROUP BY id;
My usual answer to this in the past has been “not yet…”, but now thanks to Giuseppe Sucameli and Jürgen E. Fischer, the answer is a resounding “yes!”. A recent patch to QGIS trunk now makes custom Postgres queries possible via the postgres data provider.
Parallel bootstrapping with R
Wed 21 April 2010 cfarmerIn a recent post, I mentioned that I was testing the stability of clusters generated from a modified network partitioning algorithm using bootstrap resampling techniques. I also mentioned that I was doing this in R, using the very nice foreach package published by REvolution Computing. To show just how nice this package is, below is a minimal example of bootstrapping a network partitioning algorithm which takes advantage of a multicore processor:
Bootstrapping network partitioning methods
Sat 17 April 2010 cfarmerMy PhD research at the moment focuses on network-based algorithms for delineating functional regions (geographical regions within which a large majority of the local population seeks employment, and the majority of local employers recruit their labour). Currently I’m using a network partitioning algorithm based on modularity maximisation. I have found my results to be quite good so far, but, ‘quite good’ isn’t really a very scientific description of validity, so obviously some others means of validation is required. Enter bootstrap resampling!
Why I’m *not* going to use Mendeley
Wed 14 April 2010 cfarmerBesides the obvious: “It’s not open source!”, I’m also not making the switch from Zotero to Mendeley for my academic reference management needs due to the answer to this question on the Mendeley FAQ page:
Is Mendeley free?
The straight answer would be yes and no. Yes, it’s free, because: Everything you get when you sign up to Mendeley is completely free and will always remain free - including the features described in What is Mendeley?
No, it’s not completely free, because: At a later point in time, we will expand upon the existing features and introduce ...
Speeding up geoprocessing in QGIS
Thu 01 April 2010 cfarmerLast night I had an uncontrollable urge to make geopoprocessing in QGIS better, faster and more fun! I had come across a couple of posts (here, here) on the idea of a cascaded union operation, and since it has recently been added to GEOS (which QGIS uses for its geometry operations), I thought I’d give a much needed boost to the fTools union tool and related functions.
QGIS developer meeting update
Wed 11 November 2009 cfarmerLast week I attended the 2009 QGIS Developers Meeting in Vienna, Austria. We all had a really good time, met many new people, and actually got a lot done in the process. There have been updates about the meeting (hackfest) on the QGIS blog, and Tim Sutton has written a few words about our progress as well. I’m not going to repeat what others have said, but I would like to give a quick update on the work that I was doing at the meeting, and show off the new geoprocessing features now available to all QGIS developers (Python and C++).
Community structure in directed, weighted networks
Tue 20 October 2009 cfarmerMany natural and human systems can be represented as networks, including the Internet, social interactions, food webs, and transportation and communication flows. One thing that these types of networks have in common, is that they can each be represented as a series of vertices (or nodes) and edges (or links). This blog entry presents a nice description of networks, highlighting the differences between various network types (directed, undirected, weighted, unweighted, etc.).