very geeky but I have to post this:
D/Qt (27512): src/python/qgspythonutilsimpl.cpp: 188: (runString) COMAND OK: import sys
D/Qt (27512): src/python/qgspythonutilsimpl.cpp: 188: (runString) COMAND OK: import os
D/Qt (27512): src/python/qgspythonutilsimpl.cpp: 188: (runString) COMAND OK: sys.path = ["/data/data/org.qgis.qgis/files/share/python","/data/data/org.qgis.qgis/files//python","/data/data/org.qgis.qgis/files//python" + "/plugins","/data/data/org.qgis.qgis/files/share/python/plugins"] + sys.path
D/Qt (27512): src/python/qgspythonutilsimpl.cpp: 91: (initPython) newpaths: "/data/data/org.qgis.qgis/files/share/python","/data/data/org.qgis.qgis/files//python","/data/data/org.qgis.qgis/files//python" + "/plugins","/data/data/org.qgis.qgis/files/share/python/plugins"
D/Qt (27512): src/python/qgspythonutilsimpl.cpp: 188: (runString) COMAND OK: from sip import wrapinstance, unwrapinstance
D/Qt (27512): src/core/qgsmessagelog.cpp: 45: (logMessage) 2013-05-21T01:57:20 [0] Python support ENABLED ![]()
Today, I updated my QGIS Time Manager plugin to version 0.8. It now works with the QGIS 2.0 API and that means that we can take advantage of all the cool new features in our animations. The following quick example uses the “multiply” blend mode with the tweet sample data which is provided by default when you install the plugin:
(The video here is a little small. Watch it on Youtube to see the details.)
Here is a preview of a new cool feature coming in QGIS 2.0. Alpha channel in colour ramps.

Fancy!
The best part is it even works on raster layers.

How bloody awesome is that!
Mathieu Pellerin made a cool made showing of this new feature on our flickr map group
Joining an open source project has been one of the best things I did for my career. To better myself in the process of improving QGIS. To grow as a GIS professional. To learn to be part of team and respect each others ideas even if don't agree. To be open to ideas that others have spent a lot of time on. To not just be single tool pusher and learn a wider range of toolkits. To work with people who you have never seen in person, or even talked to.
How did it feel to join an open source project? Scary but awesome I would say. Scary in that that everyone would read my code - my very amateur code.
Scary in that I had never really joined an open source project before and wasn't sure what everyone would think of my work, or my ideas.
Scary because there are so many people better at this than me and they might think I'm crap.
However all of this fear is outweighed by the awesome feeling of knowing that people benefit from the work you, and the rest of the team, put in. Sometimes even the small things can make a huge difference to what people can do with your software - and yes I did use "your software" on purpose. Contributing to open source means you, personally, are part of the software. Being a contributor, for me at least, gives you a deeper relationship with the project. The kind of relationship that sees you staying up at night when the rest of the family is in bed trying out a new idea, fixing some annoying bug, or writing a blog post about being an open source contributor. All for free! - well mostly. Some call it obsession I prefer passion.
It's not pretty roses all the time. Passion can lead to burnout. Trying to be involved in most of the major parts of the project can result in stretching yourself thin. A project that never sleeps makes this even harder. The wave of ideas can sometimes be a distraction from just getting stuff done. Rejection of your work can be hard to handle the first time, you just have to remember it's never personal. Most of these are just personal demons that need to be managed but they do sneak up if you enjoy what you do. Having a family - and an xbox - helps to ground you and make sure you don't spend all your free time on the computer hacking away.
Like I said, and despite personal demons, joining an open source project has been one of the best things I did. There is an emotional kick working on something and seeing it used by other people. I didn't expect my expression based labeling addition would get such good remarks but it did and that helped push me further into becoming a QGIS contributor.
You will meet well known Keynote Speakers (random order): Jeff McKenna, Paul C. Smits, Jáchym Čepický, Schuyler Erle, Maria Antonia Brovelli, Dirk Frigne, Markus Neteler, Alyssa Wright, and Radu Puchiu.
Check the long list of Practical Workshops and Oral Presentations at: http://2013.foss4g-cee.org/program/schedule
Check out for the additional Code Sprint, the Open GeoData Hackathon, and the Open Data Side Event.
How to arrive? See http://2013.foss4g-cee.org/venue/map
There are two things I have coded, re-coded and re-re-coded through all my plugins: the management of the settings and the management of combo boxes associated to layers and their fields.
I have decided to write two generic python modules to solve these tasks to avoid reinventing the wheel every time.
The first one is called QGIS setting manager.
This module allows you to:
- manage different types of settings (bool, string, color, integer, double, stringlist)
- read and write settings in QGIS application or in the QGIS project
- automatically set widgets from corresponding setting
- automatically write settings from widgets of a dialog
This means that the class of a dialog dedicated to editing the plugins settings can be reduced to just a few lines.
You just have to name widgets according to settings and the module automatically detect the widgets, sets/reads the value from the widget and read/write the settings accordingly.
A setting class would look like this
from qgissettingmanager import *
class MySettings(SettingManager):
def __init__(self):
SettingManager.__init__(self, myPluginName)
self.addSetting("myVariable", "bool", "global", True)
reading and write settings are performed by doing
self.settings = MySettings()
self.settings.setValue("myVariable", False)
myVariable = self.settings.value("myVariable")
and a dialog looks like this
class MyDialog(QDialog, Ui_myDialog, SettingDialog):
def __init__(self):
QDialog.__init__(self)
self.setupUi(self)
self.settings = MySettings()
SettingDialog.__init__(self, self.settings)
You can find a complete howto here and look at the code on github.
The second module is called QGIS combo manager. This module autmatically manages combo box widgets for layers, fields of vector layers and bands of raster layers.
You can associate a field combo to a layer combo: as soon as the layer has been modified, the fields are updated to the current layer.
Associating a combo box to layers and another one to its fields would look like this:
from qgiscombomanager import * self.layerComboManager = VectorLayerCombo(self.layerComboWidget) self.myFieldComboManager = FieldCombo(self.myFieldComboManager, self.layerComboManager)
You can find a complete howto here and look at the code on github.
An advantage of using map services like WMS and WMTS is that your styling has been done by someone else. But this can turn into a disadvantage as well in case the colours of your overlay are similar to the colours in your remote base layer. To show this I created an example using the [...]
No words for this one, just pictures! Above: What we are trying to achieve… Above: Our symbol layers Above: The roof colour is data defined A shadow Layer And a highlight layer One other hint – don’t forget to enable symbol levels!
The excitement about the upcoming 2.0 release is growing and to add some fuel to the fires, Mathieu founded the QGIS Flickr Group. Anyone can join and add their maps done with QGIS master.
I’m looking forward to seeing what you have come up with. Please note that this group is meant for maps only (therefore no screenshots of the application please).
Want to show of some the cool maps you have made using QGIS 1.9/2.0?
Mathieu has now setup a new Flickr group to collect and show of cool maps that have been made using the new features in the upcoming QGIS 2.0.
The group can be found at http://www.flickr.com/groups/qgis/pool
Here is one I uploaded a few days ago
and a cool one from Anita
Anyone can join and submit to the group.
There are just a few rules:
- No Screen shots of the application
- Only output from the composer or Save Image As..
- List data sources used
- List any new QGIS features used e.g blending, label buffers, etc
- Only post maps you are proud of or you would show your mother
A QGIS Map Book might be on the cards in the future so keep that in mind when uploading a map to the group.
Now go forth and make awesome maps!
De Basisregistratie Topografie (BRT/Top10NL) houdt ongeveer een kilometer na de landsgrens al op. Velen, bijvoorbeeld brandweermensen, hebben behoefte aan meer kaartbeeld over de landsgrens. Die kaartdata is er, en nog kosteloos ook. De Open Street Map (OSM) van de Europese landen is als Shapefiles te downloaden, o.a. via de Duitse GeoFabrik, http://download.geofabrik.de/europe.html. Ze wordt aangeboden in [...]
Sextante is quickly becoming the goto geoprocessing toolbox for me. I’ve been working with Sextante 1.0.8 on QGIS 1.8 and lately I’ve started looking into Sextante 1.1 for QGIS 2. This post highlights some of the main differences between the two versions. I’m sure there are many more hidden gems I have not discovered so far.
One thing you will notice if you have used previous versions of Sextante is that the new version comes with a simplified interface which groups tools into three categories: geoalgorithms, models, and scripts. If you prefer the old style grouping by algorithm source such as GDAL, GRASS, etc. you can switch to the Advanced interface.
Let’s start with the bad news: Models created in 1.0.8 are not compatible with 1.1 since many of the algorithms have been rearranged in new categories and Sextante cannot find them by their old names anymore, e.g.
1.0.8 … ALGORITHM:ftools:fixeddistancebuffer
1.1 … ALGORITHM:qgis:fixeddistancebuffer
The great news is that the modeler has been improved greatly. Model representations now show the flow of input and output data through the model steps much more clearly:
I also found the new modeler much more stable – no crashes so far. *fingerscrossed*
Another nice new feature is Sextante commander which can be started using the shortcut Ctrl+Alt+M. It’s a quick launch solution for all Sextante algorithms:
At FOSS4G, I’ll be presenting some work I did evaluation OSM using Sextante 1.0.8. I’d love to hear how you are using Sextante.
Today’s post: More print composer overview magic!
Inverted Map Overviews
Thanks to the “Invert overview” option, we can now chose between highlighting the detail area (left example in the image) or blocking out the surrounding area (right example).
The “Lock layers for map item” option can come in very handy if you want to reduce the number of layers in the overview map while still keeping all layers of interest in the main map.
QGIS Cloud and Sourcepole are proud to be official sponsors of the team Öcher-Safari, attending the Allgäu-Orient-Rallye. One of the last adventures in the world of cars. Sourcepole serves the team with know how, infrastructure and more. Information about the team and the charity ideas of this event you can find on Öcher-Safari and the official web site of the Allgäu-Orient-Rallye.
Here is a handy tip to be able to install and update OSGeo4W packages, things like QGIS, GRASS, etc, using the apt utility from OSGeo4W. apt is a command line utility that you can install using OSGeo4W and then run using the OSGeo4W Shell.
First install apt via OSGeo4W

Now open the OSGeo4W Shell

from here you can run the apt utility.
The basic commands are apt update, apt install {package}, apt upgrade
Installing nightly QGIS
For a quick example we will install qgis-dev.
From the shell we can just run:
apt setup
apt update
apt install qgis-dev

apt will install all the needed dependencies
Done!
Script for updating nightly QGIS
So the good thing about using apt is if you wanted to make a quick batch file that you can run to update to the nightly build it's as simple as
@echo off
set OSGEO4W_ROOT=C:\OSGeo4W
set PATH=%OSGEO4W_ROOT%\bin;%PATH%
apt update
apt install qgis-dev
pause
Now you can just run the batch file to update your QGIS to the nightly build.
Extra tip
If you just want to upgrade all the packages you have installed you can do:
apt setup
apt upgrade
Simple
Did you know you can use textures to fill a polyon in QGIS? No? Well you do now!
The cool thing is you can get results like this with a simple SVG and a texture.

So how do you do it? Lets give it a go.
First grab a texture you want from http://texturelib.com/
Install Inkscape, or any other tool that can create svgs with textures.
Drag and drop your texture into Inkscape and embed the texture into the SVG:

Twaek any settings you need in Inkscape and save it somewhere QGIS can find.
Tip: You can configure extra search paths for svg in Options -> System -> SVG Paths

Open QGIS and load a polygon layer
Change the symbol type for the style to SVG fill and selet your SVG

Hit apply.
Opps that's not right

Enter the handy blend modes added by Nyall.
Change the blend mode to Soft Light and move the layer to the top of the drawing list

SWEEEET!!!!
Now go and make some pirate maps.
The dutch PDOK-services plugin is a simple plugin to load some national (PDOK) dataservices. One of the available services is a Web Features Service (WFS), while a very handy service, calling the WFS service to load all roads in the Netherlands shows you the following result: As you can see the blue bar are actually [...]
It seems upgrading to Ubuntu 13.04 breaks a few things in the QGIS build process. Here’s some quick workarounds I’ve found to get it building again.
Firstly, Ubuntu defaults to Qt 5, causing the error:
CMake Error at /usr/share/cmake-2.8/Modules/FindQt4.cmake:1216 (message):
Found unsuitable Qt version "5.0.1" from /usr/bin/qmake, this code requires Qt 4.x
This can be fixed by switching the system default back to Qt 4, so that qmake refers to the Qt 4 version. The “qt4-default” package handles this switch for you, so just run:
sudo apt-get install qt4-default
Update: A better solution was found by Pierre and Pvanb and is described here. Basically it involves changing the QMAKE_EXECUTABLE option from /usr/bin/qmake to /usr/bin/qmake-qt4.
Next, I was getting the error:
make[2]: *** No rule to make target `/usr/lib/libpython2.7.so', needed by `output/lib/libqgispython.so.1.9.0'. Stop.
I’m not sure if this is the correct solution, but setting up some links and re-running ldconfig gets around this:
sudo ln -sf /usr/lib/x86_64-linux-gnu/libpython2.7.so.1 /usr/lib/libpython2.7.so.1 sudo ln -sf /usr/lib/x86_64-linux-gnu/libpython2.7.so /usr/lib/libpython2.7.so sudo ldconfig
Update: a better solution is to change the PYTHON_LIBRARY option from /usr/lib/libpython2.7.so to /usr/lib/x86_64-linux-gnu/libpython2.7.so
These two changes were enough to get QGIS building again. If you’ve got a better solution for these errors, let me know…


















