Using QGIS processing scripts

One of the area’s that QGIS is constantly improving is the ‘Processing framework’, Formerly known as the sextante framework and written in java, it is rewritten in Python by one of the original authors Victor Olaya and made part of QGIS since about QGIS 2.0.

I think it is VERY usefull and in use a lot already, but not so much people are writing about this. In this blogpost I use it as a tool to run some pyqgis code, but Processing is much much more! Read about it in docs and manuals.

Recently there were some questions in the mailing list, which I thought would be fun to solve with a Processing script (instead of writing some lines of code in the python console, or creating a plugin).

processingtoolbox

Continue reading

A QGIS class room setup on Windows

Somebody in my neighbourhood is Windows Administrator on a ‘Middelbare School’ here in Haarlem, my hometown.

The school, het Mendelcollege, received a (Q)GIS intro by Margit Stapel of GisWijzer who is doing introductions for 10 – 14 year old childer with GIS. The school received this course from a GIS professional as part of the ‘national geo week‘.

qgismendel1

Continue reading

Using MetaSearch plugin to search and load (meta)data from your National Georegister

We (mostly Tom Kralidis, Angelos Tzotsos with some additions by me) just released the MetaSearch Catalogue Client plugin for QGIS. The new plugin is an update of the CSWClient plugin from NextGIS. This new MetaSearch plugin makes searching metadata and using the services peanuts!

A Catalog Service for the Web (CSW), for example provided by the Dutch clearinghouse Nationaal Georegister, contains metadata about geographic data and services. The metadata not only provide descriptions, but can also contain hyperlinks to the services to directly view (e.g. WMS) or load (e.g. WFS and WCS) the geographic information.

Search and result based on several keywords in combination with a spatial constraint

Search and result based on several keywords in combination with a spatial constraint


Continue reading

Generate series of maps with Python script

Sometimes you need to produce a series of similar thematic maps. The only difference is the field used to colour areas or show graduated symbols. Classifications or maximal symbol sizes are identical. For large numbers of maps it is quite annoying to repeat the same actions in QGIS over and over again. Moreover, mistakes are easily made this way. This article explains how the production of large numbers of maps can be automated with a Python script. All files needed to try this method are available in a ZIP file. This is a modified version of a previous article. This new method works better and faster than the previous one en works the same for Windows and Linux.

Continue reading

Generate a series of maps 2 (Linux)

In a previous article I described how you can let QGIS generate a series of thematic maps with a batch file. This method was meant for the Windows version of QGIS. Now I have written a similar shell script for Linux (‘projectsnapshots’). You can find it in the ZIP file included with this article. It also contains all other files you need to test the script and an example of the result. The result consist of a series of images and a HTML showing all maps. The content could be copied and pasted in a word processing file. Before the script can be run, you have to make it executable. For further instructions I refer to the previous article. The script was tested with openSUSE 12.3. It works with QGIS 1.9.0-Master, but unfortunately not with QGIS 1.8.

Shell script to generate series of maps

Download ZIP file with shell script and sample files

Temporary Fix for OpenLayers Plugin

Current development version of QGIS ( upcoming QVIS 2.0 ) has undergone a nessecary upgrade of the Python-Cpp glue (SIP) which temporarily broke almost all python plugins. Currently plugin devs are busy fixing their plugins to be usable on time for the real launch of QGIS 2.0.

One plugin notably missing plugin is the OpenLayers-plugin, which is very usefull to use Openstreetmap (or Google or Bing) as a quick reference underground in QGIS. In the mailinglist the OpenLayers-plugin made it clear that there was currently no time available to fix this in a way they want it to be fixed (that is in a way that the plugin keeps working in both 1.8 and 2.0) and that there will be time to work on it during the QGIS hackfest in Brighton in september.

The good news is that the code of the plugins is available on Github. Because it was just easier to fix it only for QGIS 2.0 I did a quick fix to be able to use the plugin on my own build of QGIS (users of QGIS 1.8 should use the official version). The fixes you can find in my Github repo.

This fixed plugins is available for download here, but note that you can only use it by downloading it and unpacking it in the right plugin directory. On Linux this is ~/.qgis2/python/plugins and on Windows somewhere near C:\Documents and Settings\you\.qgis2\python\plugins. Note also that this is a temporary hack and that in time there will be an offical ( better :-) ) fix from the original authors.

Combining the best of Top10NL, BAG & OSM in QGIS

For some time now I’ve been using the BAG buildings in QGIS as an alternative to the Top10NL buildings. The BAG buildings are more accurate, after all. This is not to disqualify the Top10NL, on the contrary: each geo data set has its own merits. The Top10NL is unbeatable regarding terrain details. As for the Open Street Map (OSM), that would of course be the road lines, which is updated daily by a community of enthusiasts. As the Top10NL usually lags behind a few years, it is tempting to use the OSM roads as an alternative to the Top10NL roads. But can the OSM roads be rendered just as if they look like the Top10NL roads? The answer is: yes, if you keep using a few specific lines of the Top10NL. Here’s a sample of Highway junction Raasdorp near Haarlem-Amsterdam, where the brand new A5 highway is already available in OSM but not yet in the Top10NL (made in QGIS 1.8)

Using Top10NL, BAG, and OSM to render an up-to-date map in QGIS 1.8Top10NL (april 2013/from aerial photo 2011), OSM (22 june 2013) and BAG (april 2013) to render an actual map.

The Dutch OSM roads are downloadable als shapefiles from http://download.geofrabrik.de/europe.html. When using Top10NL, you do need to convert the OSM roads to the RD coordinate system, which is easy in QGIS 1.8. Add the OSM vector layer “Roads”, select it with right mouse button and choose “Save as…”. Choose ESRI Shapefile and select the correct CRS (Amersfoort / RD New, EPSG:28992). This results in a shapefile of 264Mb. Add that layer to the Top10NL layers and off we go.

The Top10NL roads are polygons, allowing the exact width of each road to be rendered. OSM roads are lines, so all roads have the same width. This may sound like a disadvantage, but in practice this is no nuisance. The example above uses a scale of 1:25000, and roads that seem to be wider are actually double rendered lines in the data (for both sides of the road). The colouring of the roads is easy thanks to the attribute “type” that allows the colouring on values such as “trunk”, “motorway”, “primary”, “secondary”, etc. The Top10NL and OSM differ on occasion on wheter a road is a primary road or secondary road, but that only goes to show the subjectivity of such labeling. Of course, the dark grey lining below the roads is easily done by adding the same map layer just below the coloured roads and making it slightly broader.

The Top10NL ‘problem’ of lining roads at non-level crossings is easily solved using OSM thanks to the attributes “Tunnel” and “Bridge”. For roads crossing above other roads of the same type, add that piece of road (filtered on “Bridge > 0″) plus another copy of that layer with dark grey lining slightly off-bias to both sides.

So no drawbacks? One obvious argument could be that OSM doesn’t guarantee a complete and correct map because it’s updated by so many different people. But as is well known these days, the quality of (at least the Dutch OSM) is astoundingly high. When zooming in, you can see some OSM lines not exactly following the actual line compared to the aerial photograph (a deviation of a meter is no exception), but on a scale such as 1:25000 that’s barely noticeable.

The great thing about all this newly available open source geodata is that QGIS offers such a wonderful vehicle to make the most out of these datasets and render a meaningful map image. The Top10NL is unbeatable regarding terrain image, the BAG on buildings, and the OSM on roads. I’m really looking forward to QGIS 2.0.

Jan-Willem van Aalst, www.imergis.nl