Blog

Here I post my thoughts, QGIS tips and tricks, updates on my QGIS-related work, etc.

Export/import of symbology in QGIS

06.02.2011 17:05 ·  GIS  ·  qgis

The so-called “new symbology” in QGIS has an impressive set of features and allows users to create their own symbols from the simplest to the most complex. Unfortunately, it does not provide a mechanism for sharing symbols, and it is not possible to use multiple symbol libraries at the same time.

I decided to fix at least some of the shortcomings and prepared a patch that allows the import/export of symbols. This is the third patch of this kind among my fixes, the previous two were also import/export related (one for import/export of PostGIS and WMS connection settings, and the other for import/export of custom keyboard shortcuts).

Symbology export dialog
Symbology export dialog

Conditional operator in RasterCalc

03.02.2011 19:24 ·  GIS  ·  qgis, plugins, rastercalc

Despite the fact that QGIS now has a built-in raster calculator (I wrote about this a couple of times), the RasterCalc plugin I developed is still quite popular. I don’t know how to explain it: either it’s a matter of habit, or my calculator is more convenient… I’d like to know what the reason is, maybe I should make a poll.

Why this preface? For a long time, I’ve been “terrorised” by requests to add support for conditional operators to my plugin. A guy from Spain was particularly active. And no matter how often I pointed out that I was busy with other projects, no matter how hard I tried to avoid it, nothing helped. After a short break, the “attacks” were repeated. Apparently, they had decided to wear me down.

The inclusion of a patch that added comparison operators (submitted by Ghislain Picard) didn’t help either. It was not enough, and it was not what they were looking for. People wanted more, something similar to r.mapcalc from GRASS and preferably with the same syntax.

Well… I have to admit, they got it. Today this most wanted feature is implemented. However, the syntax is different from r.Mapcalc’s, because I didn’t want to make the already complex parsing code even more complicated. Now you can do things like:

This nice feature is still in my local repository. I will not commit it to the public repository until the documentation has been updated. And I really don’t have the mood or energy to do that. I don’t like writing, whether it’s an essay, an article, or anything else. There are times when it is easy to write, but those are rare.

There is another reason or two, to be precise and honest. Firstly, I’m thinking about optimising the plugin a bit: operations on large rasters use a lot of CPU and memory. And secondly, that very active Spaniard made another feature request the other day, and I have a feeling that he will be as persistent in his efforts to get me to implement it as he was before.

But I haven’t made a final decision yet. Maybe the conditional operator should be enough for a new version and I should not bother with refactoring and optimisation? Or should I wait a bit, but release an even more powerful calculator and consolidate the success of the first versions?

News from the world of GIS

29.01.2011 09:21 ·  GIS  ·  qgis, gdal, osgeo4w

Alessandro Furieri has announced the SpatiaLite Cookbook, an excellent guide to SpatiaLite with many practical examples, optimisation tips and information on using SpatiaLite with different programming languages. You can check it out here.

Frank Warmerdam has announced that OSGeo4W is moving to the recently released GDAL 1.8.0. Instead of GDAL 1.5.4, the default version will be 1.8.0, additional packages like gdal-python, gdal-autotest, gdal-ecw etc. will also be updated or removed if no longer needed.

For compatibility with some packages that still require GDAL 1.5.4, a new package gdal15dll (with the necessary libraries) will be added. This package will be automatically installed if needed.

Since the transition to a new version of GDAL is a rather laborious and time-consuming process, the update of some packages included in OSGeo4W is temporarily suspended. In particular, this affects QGIS nightly builds.

The maintainers of the QGIS OSGeo4W package have already announced that they will rebuild the package with GDAL 1.8.0 as soon as possible, GRASS will be rebuilt after GRASS 6.4.1 is released.

GDAL 1.8.0

25.01.2011 17:52 ·  GIS  ·  gdal, release

Frank Warmerdam announced the release of GDAL 1.8.0.

GDAL is a free translation library for raster and vector geospatial formats. The library provides applications with a single generic data model for all supported formats. In addition to the library itself, GDAL includes a set of powerful command line utilities for data translation and processing.

Among the major changes in this version:

The full changelog can be found here.

The list of changes is impressive, and the adoption of RFC 29 and RFC 30 is particularly pleasing. For example, the changes described in RFC 29 will significantly improve performance and reduce memory consumption when processing vector data (about 1.5-2.5 times, according to tests). So far, SetIgnored is only implemented for shapefiles (by Martin) and SpatiaLite (my patch).

Once threading_branch is merged into trunk, QGIS will open large shapefiles much faster and many geoprocessing scripts will speed up. By the way, I will have to rewrite my data extraction script to take advantage of these changes.

I am looking forward to adding GDAL 1.8.0 to OSGeo4W, especially as Frank promised a global update of OSGeo4W after the release. GDAL 1.8.0 will be the main version instead of the outdated 1.5.4, and Python 2.5 will be replaced by 2.7.

QGIS package with new raster providers

14.01.2011 10:11 ·  GIS  ·  qgis

I have created an OSGeo4W-compatible QGIS package from the raster-providers branch (r15015) and uploaded it to the forum. As the name suggests, developers in this branch are working on optimising raster providers; in particular, one of the results will be support for on-the-fly raster reprojection (already available for the GDAL provider).

QGIS has been built with GRASS and Python support and uses GDAL 1.7.3 (all dependencies are from OSGeo4W). To use it:

kCube will be fixing bugs

12.01.2011 15:25 ·  GIS  ·  qgis

A work front has been selected for the kCube developer. SunilRaj Kiran will work on QGIS bugfixing for 6 months.

If you are interested, you can find out more about kCube and the new developer in an interview that Tim has published.

The first three issues he will work on have already been selected: #13034, #13215 and #12301.

QGIS commit history visualisation

11.01.2011 17:16 ·  Notes  ·  qgis, gource

Nathan has published an interesting video showing 8 years of QGIS development.

The video was created using Gource, detailed explanations of the process can be found on Nathan’s blog. Each cluster of files represents a directory, and branches show the directory hierarchy of the source code.

CSWClient plugin for QGIS

06.01.2011 07:03 ·  GIS  ·  qgis, plugins, cswclient

I have released a first experimental version of the CSWClient plugin for QGIS.

The plugin interacts with the OGC CSW (Catalogue Service for Web) servers and is used to search and view spatial data and related resources.

CSWClient plugin dialog
CSWClient plugin dialog

Among the main features of the plugin:

CSWClient is available from the QGIS plugins repository.

The plugin was developed for Linfinity Consulting for the TanBIF (Tanzania Biodiversity Information Facility) project.

2010 recap

31.12.2010 11:58 ·  Notes  ·  recap

With this post I’ll try to summarise the past year.

Work

Last year I changed jobs twice. I left the area where I had been working for more than 6 years - the land registry. Then I worked for some time in a software company developing a trading platform for the Forex market. I had to learn the Ada language as the trading server was developed in this language. Despite the new field and new tools, I did quite well, although there were some difficulties. But I wanted something else…

Private life

This area is best described by the title of E. M. Remarque’s famous novel “All Quiet on the Western Front”. There is nothing to add.

GIS

The OSM (OpenStreetMap) project has gained worldwide recognition. In addition, Microsoft has given the project access to raster data from its Bing Maps service. Unfortunately, I am not yet involved in the OSM community, but I am very pleased with the development of the project.

ESRI has opened the Geodatabase API, Shapefile is still alive.

GIS are pawing their way into the mobile device market.

QGIS is evolving: improved new symbology, raster calculator, QGIS MapServer, many new useful plugins. I have developed and released a few new plugins and continue to improve existing ones. QGIS User Guide was translated into Russian.

This year I was unable to attend the QGIS developer meetings in Pisa and Wrocław. It’s a shame and a pity.

Other things

Party of Regions won majorities on most regional and city councils as well as most of the mayoralties.

It’s been 10 years since school and 5 years since university.

On the desktop, I switched from Slackware to Debian testing. There is a dual-boot to Windows XP, as I need it sometimes, e.g. to build QGIS and/or test some bugs (the power of the computer does not allow comfortable use of virtual machines).

Basically, this is the year I gave up dancing. Most likely, for good.

Happy New Year!

kCube poll

21.12.2010 06:59 ·  GIS  ·  qgis

A few days ago I wrote about the kCube Consulting initiative. The ideas have been collected, and the voting has started. Unfortunately, you can only vote for one option.

So far “Fixing bugs” is leading with 23.8%, followed by “Improving import/export on dwg/dxf” with 8.8% and “QGIS Mobile (e.g. on Android)” - 7.5%.