Crowdfunding initiative: Automated testing for QGIS

QGIS is improving in functionality and spreads wider. At the same time it is important to keep the high standards. To tackle this, I started a crowdfunding campaign to implement automated unit tests with github integration and to fix currently failing tests. The goal is to collect CHF 5000.- until November 15. This project will improve the quality and stability of QGIS in the long run and your participation is therefore highly appreciated.

Original goal: CHF 5000
Extra tests: CHF 1740
CHF 6740

Advanced feature requests in QGIS

Expression Filtering

If you are implementing QGIS plugins, you will know the problem already. Querying a layer only for a subset of features.

  • If you have a layer with buildings you may be only interested in buildings where the attribute type is "housing".
  • If you have a layer with cities, you may only be interested in cities with more than 500000 inhabitants.
  • If you have a table with people, you want to only have people who are between 20 and 30 and have a particular zip code.

To put it into database terms: You want to specify a WHERE-clause

Good news for you: This is available starting from QGIS 2.2 or the current master already via the QgsFeatureRequest.setFilterExpression( unicode ) method

It supports the full set of functions available in QGIS Expressions.

QGIS Relations

Imagine the following scenario: You are maintaining a cities wastewater network. Of course you are doing this in QGIS. You have a layer with all the reaches (pipes) which are connected to houses and make sure, that whatever flows down the sink of these buildings will end up in the clarification plant. You have a layer with the geometries (lines) of the reaches, which also has some attributes for width, material and a unique id (which acts as primary key). That's easy so far.

Checkout github pullrequests locally

Just found this lovely article.

If you're administering a github project and you need to test pull request. What do you do? I normally added a new remote for the repository the developer who sent the pull request is working on. Then fetched that and checked out the pull request. How about not having to add a new remote from now on?

To checkout the pull request 789 you will simply have to do

Develop QGIS python plugins using eclipse PyDev

After some experiments concerning how to develop plugins for QGIS, I ended up using eclipse which offers some neat features, that help you to develop. Before starting make sure you know about the pyqgis cookbook and if developing on windows pay particular attention to this section.

For reference, please never forget the API.

profile for Matthias Kuhn at Geographic Information Systems Stack Exchange, Q&A for cartographers, geographers and GIS professionals