Waiting time is over, Gimp 2.8 is finally here. That is reason enough to take it for a quick test run!
How about a new look for the QGIS user map?
This “glowing hot” map was made using the Gimp filter of the same name:
For the user point layer, I selected a simple point style with high transparency and separately exported land and user points from print composer.
In Gimp, I applied the “glowing hot” filter to the user points and combined the layers. The trick here is to first use “Color to alpha” on the user point layer and turn black to transparent. This way, the “glowing hot” filter will only be applied to the remaining points.
Gimp 2.8 RC1 is close enough to the previous version to get comfortable fast. I like the single-window mode even if it’s hard to tell which part of the GUI has the focus sometimes.
Open source GIS and image editing for a perfect work flow.
This is just a quick “note to self” on some interesting information I picked up from the QGIS mailing list today. Kudos to David J. Bakeman for sharing this:
If both the input and the output arguments to ogr2ogr are directories then it will clip all of the shapes in the source directory and write them to the output directory.
So:
ogr2ogr -clipsrc mask.shp output sourceShapefiles are the default so you don’t even need the -f “ESRI Shapefile”.
Today’s hot topic on the mailing list was a recently added feature which enables QGIS to load data directly from ZIP archives.
To get the contents of a ZIP archive display in the browser dock, it is necessary to activate this feature in the Options dialog. The setting is called “Scan for contents of compressed files (.zip) in browser dock” and is located right at the bottom of the first tab. Both “basic scan” and “full scan” settings seem to work fine:
In the file browser panel, archives are now listed like any other folder and their content can be added to the map through both double click and drag and drop.
This can help save tons of disk space: The NaturalEarthData.zip in this example is 280 MB big while the unzipped folders take more than 700 MB.
Here’s a summary of recent additions and updates to plugins in the QGIS repository.
To install any of these plugins:
After my successful experiment with QGIS Server on Ubuntu, I took a shot at Windows7. These are my notes on installing QGIS Server following the instructions on the wiki.
Using OSGeo4W installer it is easy to install QGIS Server: Just mark qgis-server for installation from “Web” category (in the “Advanced” installation).
All other necessary packages will be selected automatically.
As mentioned on the wiki, the next step is to tell Apache which port number to use. Apache (2.2.14-4 from OSGeo4W) does not have any default IP/port set and it fails to start. To fix this, we need to edit the file
c:/osgeo4w/apache/conf/httpd.conf
and change
Listen @apache_port_number@
to our needs, e.g. to listen on port 80
Listen 80
The last thing I had to do to get QGIS Server working was to copy two files
libeay32.dll and ssleay32.dll
from C:\OSGeo4W\apache\bin
to C:\OSGeo4W\apps\qgis\bin.
The GetCapabilities request should work now
http://localhost/qgis/qgis_mapserv.fcgi.exe?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
To add a project file to the server, we stay in C:\OSGeo4W\apps\qgis\bin. If we put a project file in this directory, it will be served by default (without having to pass the optional map parameter).
For this test, I added my vienna.qgs project file. This is how my QGIS bin folder looks like (notice the .dll files we copied from Apache/bin and the project file):
Next, we have to restart Apache to force QGIS Server to load the project file. The OSGeo4W installation provides a handy “Apache-Monitor” GUI to restart Apache. If it fails, try to reboot ;)
The project layers are now available through WMS and can be loaded into your client.
That wasn’t bad. The wiki page was very helpful and I didn’t encounter any real problems. Editing a config file and copying a few .dlls is easy enough.
Since linking files is not one of Windows’ strengths, I’d expect a server with multiple projects to get quite messy. But it certainly works for home use and experiments.
This week we look at a newly arrived plugin named qNote. This plugin allows you to create a note and store it in a QGIS project file. When the project is loaded, the note is restored and can be viewed in the qNote panel.
This little plugin provides a way to attach metadata to a project. Things you might want to include in a note are:
This information can be helpful when sharing a project or when you forget what you did six months after the fact.
Here is a screenshot showing qNote in action:

To install the plugin:
You can control the visiblity of the qNote panel from the View->Panels menu.
The README for the plugin can be viewed on the qNote GitHub page.
The QGIS project has a number of support channels. Like many open source projects, these are loosely coupled. Recently the forum was made read-only and this has prompted a number of questions and concerns about how to receive support. This post outlines the ways in which you can get your questions answered.
The QGIS home page has links to all the documentation and
community resources. The navigation panel on the left has links to both the
Community resources and the manual.
To quickly see links to all the resources, click the Need Help? button on the home page. You’ll find links to:
GIS StackExchange allows you to ask questions and get answers from a wide range
of users and experts in the GIS realm. If you have a question specific to QGIS, tag it
with the qgis keyword, otherwise use an appropriate tag.
Since StackExchange is question-based, you should not ask multiple questions in a single posting.
Also, make sure you flag the question as answered once you receive a satisfactory response.
The QGIS project maintains a number of mailing lists. For most people, the two of interest are qgis-user and qgis-developer:
qgis-user: Use this list for discussion of QGIS in general, as well as specific questions regarding its installation and use.
qgis-developer: Used for discussion of development issues, plans, and features. If you plan to contribute code or patches to the project or write your own Python plugins, you’ll find this list useful.
If you just want to browse or search the mailing lists without subscribing, they are available on Nabble.
IRC (Internet Relay Chat) is a method of communication used widely by open source communities. On any given day you will find both developers, contributors, and users monitoring the #qgis channel on irc.freenode.net.
To use IRC, you’ll need a client application for your computer, tablet, or smartphone.
Here are a couple of guidelines for using the #qgis channel:
The QGIS IRC community is very friendly and helpful. Give it a try.
All of the web resources for the QGIS project are indexed by search engines. Searching for your specific question can often lead you to the answer you are looking for, whether it be in a blog, on a mailing list, or the QGIS web site itself.
In addition to your favorite search engine, try DuckDuckGo for more targeted search results.
If you need a good introduction to open source GIS applications, tools, and scripting, take a look at my book.
The forum (http://forum.qgis.org) has been closed for new registrations and marked read-only. Users have been encouraged to use http://gis.stackexchange.com instead.
If you have an thoughts on the closure, good, bad, or otherwise, please comment.
This post summarizes my notes about installing QGIS Server on Ubuntu, adding a QGIS project file to the server and using the WMS in an OpenLayers application.
First, it’s useful to figure out the Ubuntu version:
lsb_release -a
Since my server runs “lucid”, I add the following package sources to /etc/apt/sources.list (as described in the QGIS installation documentation)
deb http://qgis.org/debian lucid main
deb-src http://qgis.org/debian lucid main
Before we can install anything, we need to add the key and update the package list
gpg --keyserver keyserver.ubuntu.com --recv 1F9ADD375CA44993
gpg --export --armor 1F9ADD375CA44993 | sudo apt-key add -
sudo apt-get update
Now we can install QGIS Server and the necessary Apache package
sudo apt-get install qgis-mapserver libapache2-mod-fcgid
It never hurts to restart Apache :)
sudo /etc/init.d/apache2 restart
Let’s test the installation before we proceed. The GetCapabilities request should already work
http://10.101.21.28/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
It’s time to add a QGIS project to our server. To do that, we move to the QGIS Server folder
cd /usr/lib/cgi-bin
where you should find qgis_mapserv.fcgi and wms_metadata.xml.
I’ve decided to have one folder for each project file. My first project is “vienna”.
sudo mkdir vienna
cd vienna
qgis_mapserv.fcgi and wms_metadata.xml can now be linked into this new folder
sudo ln -s ../qgis_mapserv.fcgi .
sudo ln -s ../wms_metadata.xml .
The only thing that’s missing anymore is a QGIS project file. It can be copied or linked into the folder. After restarting Apache, we should be good to go.
Let’s test the setup using “Add WMS Layer” in QGIS by adding the service URL such as
http://10.101.21.28/cgi-bin/vienna/qgis_mapserv.fcgi
and ticking “Ignore GetMap URI …” and “Ignore GetFeature URI …”.
After clicking “Connect”, all layers from the project file we added should get listed and we can select and load them.
QGIS Server can serve as many project files as you want. There a different ways to organize your server but I would simply add a new folder (like the “vienna” folder in this example) and link in the executable and project file.
Of course QGIS Server doesn’t just talk to QGIS Desktop but to any other WMS client that conforms to the standard. One classic use case is to add the WMS layers to an OpenLayers application. This is rather simple but I’ll add it here for the sake of completeness:
I used to have a Geoserver WMS base layer in my application. The only lines of code that needed to be changed to migrate to QGIS Server were the service URL and the layer names.
wms = new OpenLayers.Layer.WMS(
'roads', "http://10.101.21.28/cgi-bin/vienna/qgis_mapserv.fcgi",
{
layers: 'roads',
format: 'image/png';
bgcolor: '#fafafa'
},
{
buffer: 1,
isBaseLayer: true,
graphicZIndex: 0,
}
);
Standardized services are great!
So far, Time Manager has been limited to vector layers. Support for raster layers has been on the wish list for quite a while. I’ve been considering different approaches and for now I have settled with one that keeps the way how raster layers work as close to the workings of vector layers as possible:
All layers have to be loaded before they can be added to Time Manager. The layers are added one-by-one and start and end time values are defined. (This differs from vector layers where start/end attribute are defined instead.) All raster layers that are not within the current time frame are set to 100 % transparency.
I’m not certain yet whether this is a good approach though. I’ll probably keep trying different approaches for a while.
This is a screen cast of the current status:
The plugin source is available on Github, as usual. It’s still going to take a while until there will be a plugin package including this feature.
I’m looking forward to reading your comments here or on Youtube. Do you think this approach is usable?
This is a follow-up to my recent “Natural Earth Quick Start Kit” post in which I presented the great quick start kit provided by the Natural Earth team. The QGIS project file they provide was written in QGIS 1.4 with both old symbology and old labeling:
Since then a lot has changed. QGIS has a new powerful labeling engine which avoids label collisions and more advanced layer symbology. If that’s not reason enough to switch, it is also worth noting that both old systems will most certainly be removed for QGIS 2.0 release. Luckily, switching is pretty easy:
In QGIS 1.7.4, switching to new symbology is very straight forward: Click the “new symbology” button in the upper right corner of the style tab and confirm the popup message. That’s it.
Changing from old to new labeling is less automated. It will help if you take notes about font, size and colors as well as scale ranges before deactivating labeling in layer properties. Enable new labeling from the labeling toolbar and fill in the settings you have written down.
One of the known issues with new labeling is that it is currently not possible to rotate the labels without also specifying the label position. In most projects, this won’t be an issue though.
Besides switching to the new infrastructure, I’ve applied some minor changes to increase readability:
I’ve uploaded the new project file version to QGIS Ressources on Github if you want to give it a try.