Related Plugins and Tags

QGIS Planet

QGIS Contributor meeting at BIDS ‘23 Vienna

We are happy to announce that OSGeo kindly extended an invitation to have a QGIS contributor meeting joining the OSGeo Community Sprint 2023 during the Big Data from Space 2023 conference in Vienna.

The 26th QGIS Contributor Meeting will be held from Monday, November 6th to Thursday, 9th.

For more details and to sign up, please visit the corresponding OSGeo announcement page.

About QGIS contributor meetings

QGIS Contributors Meetings are volunteer-driven events where contributors to the QGIS project from around the world get together in a common space – usually a university campus. During these events, contributors to the QGIS project take the opportunity to plan their work, hold face-to-face discussions and present new improvements to the QGIS project that they have been working on. Everybody attending the event donates their time to the project for the days of the event. As a project that is built primarily through online collaboration, these meetings provide a crucial ingredient to the future development of the QGIS project. The event is planned largely as an ‘unconference’ with minimal structured programme planning. We do this to allow attendees the freedom to meet dynamically with those they encounter at the event. Those sessions that are planned are advertised on the event web page, and we try to enable remote participation through video conferencing software. Although our hosts are not funded and donate the working space to us, we show our appreciation by making one of our software release’s splash screens in honour of that host, which is a great way to gain exposure of your institution and country to the hundreds of thousands of users that make use of QGIS.

About OSGeo

The Open Source Geospatial Foundation (OSGeo) has a long tradition of organizing code sprints for developers of Free and Open Source GIS software.

Since 2009, the Open Source Geospatial Foundation (OSGeo) has been organizing a yearly Code Sprint of the “C Tribe” OSGeo projects, which has evolved into a full OSGeo Community Sprint and all “Tribes” are included/welcome. Leading developers of projects like GDAL, PostGIS,
MapServer, GeoServer, GRASS, QGIS, PDAL, pygeoapi and many more get together to discuss new ideas, hack, decide, tackle large geospatial problems and have fun.

The OSGeo Community Sprint is open to all who wish to participate in one or more projects. There is always plenty to do – it’s not all about programming. Translation, documentation, feedback, discussions, testing – all this is also important for projects so everyone is cordially invited to attend the code sprint!

About BiDS

BiDS brings together key actors from industry, academia, EU entities and government to reveal user needs, exchange ideas and showcase the latest technical solutions and applications touching all aspects of space and big data technologies, providing a unique opportunity to discuss and present the most recent innovations and challenges encountered in the context of big data from space. The 2023 edition of BiDS will focus not only on technologies enabling insight and foresight inferable from big data from space. Together, we want to emphasize how breakthrough space data-driven technologies impact society’s grand challenges, such as climate change and the green transition.

The event, organized by the European Space Agency (ESA) together with the European Union Satellite Center (SatCen) and the Joint Research Center (JRC), will take place at the Austria center Vienna, and counts on the support of the partners FFG, Austria in Space and the Federal Ministry Republic of Austria.

Save the date: QGIS user conference and contributor meeting in ‘s-Hertogenbosch

We are happy to announce that our 25th Contributor Meeting will be held in ‘s-Hertogenbosch, The Netherlands from 20 to 23 April 2023.

Leading up to the contributor meeting, we will also have a two-day International QGIS User Conference, on 18 & 19 April.

QGIS Contributors Meetings are volunteer-driven events where contributors to the QGIS project from around the world get together in a common space – usually a university campus. During these events, contributors to the QGIS project take the opportunity to plan their work, hold face-to-face discussions and present new improvements to the QGIS project that they have been working on. Everybody attending the event donates their time to the project for the days of the event. As a project that is built primarily through online collaboration, these meetings provide a crucial ingredient to the future development of the QGIS project. The event is planned largely as an ‘unconference’ with minimal structured programme planning. We do this to allow attendees the freedom to meet dynamically with those they encounter at the event. Those sessions that are planned are advertised on the event web page and we try to enable remote participation through video conferencing software. Although our hosts are not funded and donate the working space to us, we show our appreciation by making one of our software release’s splash screens in honour of that host, which is a great way to gain exposure of your institution and country to the hundreds of thousands of users that make use of QGIS.

For more details and to sign up, please visit the corresponding wiki page.

A Coruña contributors meeting: another step forward for the QGIS.ORG project!


On behalf of QGIS.ORG and the whole community, I’m would like to extend our thanks and congratulations to all the local volunteers who helped to make the event happen, with special thanks to Luigi “Ginetto” Pirelli, who spearheaded the effort. The event, which included a full week of workshops, a user conference, and contributor meeting, marked another milestone in the history of QGIS.

It was possibly the largest meeting we have had to date. It especially gratifying seeing more diversity and new faces. Our inclusive and welcoming community has always been a point of pride and it was amazing seeing how newcomers easily and pleasantly integrating in the community, producing good and tangible results within just a few days.

Many decisions were made, many discussions were fruitfully concluded, many tortillas were eaten, plans were laid out. These events are critical for preparing the way for the future of the QGIS.ORG project.

Our heartfelt thanks to all who donated their time and intellect, and to the many donors and sponsors to make all this possible.

See you in Bucharest next August, for the 23rd QGIS meeting!


Report back on the 20th QGIS Hackfest in Zanzibar



This post summarizes personal reports of community members who attended the 20th Hackfest in Stone Town, Zanzibar the week before the FOSS4G in Dar Es Salaam.

Report from Matteo Ghetta

QGIS developers spent 3 days in the beautiful island of Zanzibar were they worked on bug fixing, improvement of new features and documentation enhancements. It is extremely important for developers to meet together and spend some days working side by side given that the geographical distribution is very wide.

Thanks to the (local government & Yves Barthelemy) we had the chance to visit the Land Mapping Commission in Stone Town: It has been an amazing experience for both developers and local council. Moreover developers visited the SUZA (University of Zanzibar) and saw the local infrastructure and GIS related workflow.

  • I have merged many PR of the documentation
  • Many old and not old issues have been closed or the author has been pinged
  • Many new additions to the documentation both small corrections and new sections from scratch
  • A new version of DataPlotly released
  • A small presentation of DataPlotly to the QGIS crew

Report from Mario Baranzini

I spent one day of the Hackfest contributing to the SLYR project, improving the conversion of LAB colors. SLYR ( is a project started and almost entirely developed by Nyall (which was not present to the Hackfest) which aims to provide tools to extract and convert symbols from ESRI .lyr and .style files and use them in QGIS. Nyall has recently worked hard on the project and perhaps soon sponsorship will allow further development.

Around this theme there is a keen interest. Even during the FOSS4G there has been discussion of the conversion of ESRI symbols and there was also a presentation of how the conversion in Israel is currently managed.

During the rest of the hackfest, I worked on the implementation of the new QField file selector.

Report from Denis Rouzaud

Report from Tim Sutton

Firstly let me thank the QGIS project for contributing to my travel and accommodation costs – I am most grateful for the support! This hackfest was special for me because it is the first hackfest in an African country. As an African born person living in the interface between “first world” and “third world”, I have always had a particular social agenda with QGIS: To bring spatial tools to support responsible and sustainable management of our world. There is a huge technological and skills divide between Europe and less developed societies where QGIS can be a valuable social enabler in helping to advance the standard of living and quality of life. Hosting a hackfest in an environment where we don’t have tree cadastres, street furniture cadastres and every aspect of civilian life mapped and systematised is an important way to build empathy and understanding in our QGIS core community members for a broader cross-section of our user base. Having the opportunity to meet with users from ZMI (the Zanzibar Mapping Initiative) and students from the local university was a really uplifting experience. ZMI are building the national cadastre from the ground up using QGIS, PostGIS and UAV mapping. We were privileged to have a number of Zanzibar residents join us on the hackfest and get to experience just how appreciative they are, first hand.

There were a number of interesting topics that arose during the hackfest which I will try to summarise here:


We held an extended meeting on the QGIS Certification Programme, mainly detailing how we should go about the review process for onboarding new organisations.

Mac OS Build:

I spent quite a bit of time struggling with my MacOS build on QGIS. It’s definitely an area of the project that needs more work as the process can be non-trivial and the brew based formulas quickly become outdated.

QField Show and Tell:

Matthias showed off the latest version of QField and all the hard work they have been putting into the QGIS mobile client. This Android based version of QGIS for mobile data gathering is a really great project and is getting more and more useful with each release. There was also a translation sprint for QField during which I translated it to Afrikaans.

QField Autobuilds:

Denis and Matthias showed off the work they have done to automate the .apk builds for QField. Their system combines Travis and some git hooks to automatically build .APK’s whenever a pull request os made or a tag is made. See the QField travis for details:

Plotly plugin:

Matteo Ghetta showed off the latest capabilities of the Data Plotly plugin for QGIS 3. The plugin supports the creation of a wide assortment of charts from your layer’s attribute data. See the plugin homepage here for examples and more detail: 


I took the opportunity to sign off the statute changes from 2017 general meeting. This was my last official act as outgoing project Chair. I was also extremely humbled to be awarded an Honorary PSC membership during the FOSS4G2018 conference.

Easter Eggs:

I contributed a couple of new easter eggs to QGIS. While easter eggs are fun, the data behind these hidden tools provide an important history of the project. I took the opportunity of having many long-time QGIS community members around the dinner table to collate all the previous QGIS meet-up dates. You can view this as a map here: 

The spatial clustering of these events shows that going to Zanzibar and getting out of our geographical comfort zone is a really useful endeavour.

Report from Paolo Cavallini

During the HF in Zanzibar I mainly worked on:

  • Plugins: I cleaned up the queue of unapproved plugins, contacting all individual authors, fixing what was possible and deprecating the worst cases; we also solved a long standing issue with a contentious plugin
  • Issues: I examined many tickets, especially those waiting for feedback
  • Training certification: through a very productive meeting we defined clear rules for accepting certifying organizations, with the main aim of driving people to actively support the project:
    • in the application process, the proponent should explain what are his contribution to QGIS project
    • following an initial review, the application will be sent to local QGIS groups for their opinion, which should take place in less than one monthly; where there is no user group, the responsibility will fall entirely on PSC shoulders
    • the training material for each course should be released with a free license, and a review will be done; if the material is not of adequate quality, this is a cause for refusal
    • then PSC will take a decision and publish the contributions as stated by the proponent, for transparency
  • Other meetings helped focusing on our mission, defining the relationship between volunteer and paid work, and other
  • I visited the Land Mapping Commission and the University, soliciting a tighter cooperation with QGIS project.

Report from Admire Nyakudya

During the heck fest in Zanzibar, I mainly worked on porting some common plugin we use to QGIS 3. The plugins I mainly worked on were Cogo Parcel plugin and Sg Diagram downloader. We visited the Zanzibar mapping agency and interacted with the people who were working on capturing cadastral data using QGIS and explained them about the COGO Parcel plugin which streamlines capturing cadastral boundaries in QGIS and storing the results in a PostgreSQL database. To summarise the work I was working on during the heck fest.

  • Port Cogo Plugin from QGIS 2 to make it compatible with QGIS 3. This has been achieved and now awaiting one of my team members to approve the pull request.
  • Expand functionality being offered by the COGO Parcel plugin to include the new reporting framework in QGIS 3.
  • Investigate ways to generate projects on the fly after talking to Matteo and seeing the work he has done with QGIS project generator.

I also went to the Zanzibar university to see ways in which QGIS is being used in the local university and how students are integrating drone imagery with QGIS.

Report from Matthias Kuhn

The highest value of hackfests is actually to meet and greet and discuss ideas and bigger plans. There is a lot of communication on a high bandwidth channel (also known as face-to-face) that strengthens the community. This helps to quickly overcome technical problems sometimes. Or to give someone some tips and tricks you normally wouldn’t come to (e.g. optimizing a git workflow) that results in a long-term gain because of sustainable productivity improvements. I tend to walk around once in a while and just randomly bump into people where I – more or less successfully – try to help them solve their issues or discuss approaches. In the same area, there is the possibility to informally discuss plans about organization, workflows and strategies. The concept of an LTR was to a big degree discussed and built at a hackfest in Essen some years ago. This year there was a very interesting discussion about the topic LTR. For how much time the “long” in the term “long term release” should stand, about the life cycle of releases and of long-term releases. One of the important things when it comes to this question is what organisations think and do – because, in the end, it is mostly for organisations that the LTR exists – and how development resources can be assigned to the task of keeping a high quality of an LTR during its whole lifetime. There are no conclusions yet, but synchronizing on these ideas is often the seed for tomorrow’s exciting changes.

We were also visited by a group of students from the local university. It was really refreshing to talk to them about open source and QGIS and how we work and what the challenges of spatial data and GIS infrastructure are on an island like Zanzibar.

Feature-wise, the main thing I worked on feature wise was a new snap to grid functionality that is available for digitizing tools. It allows configuring a precision for vector layers. Whenever a new node is added or an existing one is edited on this vector layer, it will be automatically placed on this grid. Normally this is used to force the objects on a layer to something like cm or mm resolution.

And then, of course, I did my daily bunch of (mostly volunteer) pull request reviewing, some code cleanup and some bugfixes.

Report from Marco Bernasocchi

The Zanzibar hackfest was a special one for me, my first hackfest as co-chair. My main goal was definitely to get as much information out of Tim as possible so that I wouldn’t have to keep on bugging him all time 🙂

Beside that, multiple meetings where planned to which I took part, as Paolo already explained, we had very good meetings about:

  • Certifications meeting
  • Trademark discussion
  • Creating a membership system that allows entities that are not allowed to budget sponsoring money to instead become paying members.
  • Other meetings helped focusing on our mission, defining the relationship between volunteer and paid work, and other

On the first two days, we were joined by a largish group of local students to whom I explained how the structure of works and where they could help. I also helped them choosing a task to work and mentored them.

As I mentioned before, I spent a lot of time asking a lot of questions to Tim to get the biggest possible knowledge transfer about running and some time choosing and booking restaurants for our evening “meetings”

On the technical side, I worked with Mario on a new implementation of the QField File selector.

After everybody left, the team stayed one day longer and introduced Mario to the real Brighton-style hackfest with take-away pizza 😉


3rd QGIS User Conference

This year, we are looking forward to the 3rd installment of our annual QGIS conference and it will be the biggest one yet!

The QGIS community, developers and users are meeting from August 2–11, 2017 in Nødebo at University of Copenhagen’s Forest and Landscape College.

1st user conference in Nødebo 2015

The program consists of the main conference, as well as a developer meeting and multiple workshops, including:

  • QGIS Expressions
  • Plugin development in Python
  • QGIS Server and Web Client
  • QField
  • QGIS cartography

The program is already online. So register and make sure to get a spot in your favorite workshops!

Let’s meet and make QGIS even better!

The Inaugural QGIS Australia Hackfest – Noosa 2017

Last week we kicked off the first (of hopefully many) Australian QGIS hackfests Developers Meetings. It was attended by 3 of the core QGIS development team: Nathan Woodrow, Martin Dobias and myself (Nyall Dawson), along with various family members. While there’s been QGIS hackfests in Europe for over 10 years, and others scattered throughout various countries (I think there was a Japanese one recently… but Twitter’s translate tool leaves me with little confidence about this!), there’s been no events like this in the Southern hemisphere yet. I’ve been to a couple in Europe and found them to be a great way to build involvement in the project, for both developers and non-developers alike.

In truth the Australian hackfest plans began mostly an excuse for Nathan and I to catch up with Martin Dobias before he heads back out of this hemisphere and returns to Europe. That said, Nathan and I have long spoken about ways we can build up the QGIS community in Australia, so in many ways this was a trial run for future events. It was based it in Noosa, QLD (and yes, we did manage to tear ourselves away from our screens long enough to visit the beach!).

Nathan Woodrow (@NathanW2), myself (@nyalldawson), and Martin Dobias (@wonder-sk)

Here’s a short summary of what we worked on during the hackfest:

  • Martin implemented a new iterator style accessor for vertices within geometries. The current approach to accessing vertices in QGIS is far from optimal. You either have the choice of an inefficient methods (eg QgsGeometry.asPolyline(), asPolygon(), etc) which requires translations of all vertices to a different data structure (losing any z/m dimensional values in the process), or an equally inefficient QgsAbstractGeometry.coordinateSequence() method, which at least keeps z/m values but still requires expensive copies of every vertex in the geometry. For QGIS 3.0 we’ve made a huge focus on optimising geometry operations and vertex access is one of the largest performance killers remaining in the QGIS code. Martin’s work adds a proper iterator for the vertices within a geometry object, both avoiding all these expensive copies and also simplifying the API for plugins. When this work lands traversing the vertices will become as simple as
for v in geom.vertices():
   ... do something with the vertex!
  • Martin is also planning on extending this work to allow simple iteration over the parts and rings within geometries too. When this lands in QGIS we can expect to see much faster geometry operations.
  • Nathan fixed a long standing hassle with running standalone PyQGIS scripts outside of the QGIS application on Windows. In earlier versions there’s a LOT of batch file mangling and environment variable juggling required before you can safely import the qgis libraries within Python. Thanks to Nathan’s work, in QGIS 3.0 this will be as simple as just making sure that the QGIS python libraries are included in your Python path, and then importing qgis.core/gui etc will work without any need to create environment variables for OSGEO/GDAL/PLUGINS/etc. Anyone who has fought with this in the past will definitely appreciate this change, and users of Python IDEs will also appreciate how simple it is now to make the PyQGIS libraries available in these environments.
  • Nathan also worked on “profiles” support for QGIS 3.0. This work will add isolated user profiles within QGIS, similar to how Chrome handles this. Each profile has it’s own separate set of settings, plugins, etc. This work is designed to benefit both plugin developers and QGIS users within enterprise environments. You can read more about what Nathan has planned for this here.
  • I continued the ongoing work of moving long running interface “blocking” operations to background tasks. In QGIS 3.0 many of these tasks churn away in the background, allowing you to continue work while the operation completes. It’s been implemented so far for vector and raster layer saving, map exports to images/PDF (not composers unfortunately), and obtaining feature counts within legends. During the hackfest I moved the layer import which occurs when you drag and drop a layer to a destination in the browser to a background task.
  • On the same topic, I took some inspiration from a commit in Sourcepole’s QGIS fork and reworked how composer maps are cached. One of my biggest gripes with QGIS’ composer is how slow it is to work with when you’ve got a complex map included. This change pushes the map redrawing into a background thread, so that these redraws no longer “lock up” the UI. It makes a HUGE difference in how usable composer is. This improvement also allowed me to remove those confusing map item “modes” (Cache/Render/Rectangle) – now everything is redrawn silently in the background whenever required.
  • Lastly, I spent a lot of time on a fun feature I’ve long wanted in QGIS – a unified search “locator” bar. This feature is heavily inspired by Qt Creator’s locator bar. It sits away down in the status bar, and entering any text here fires up a bunch of background search tasks. Inbuilt searches include searching the layers within the current project (am I the only one who loses layers in the tree in complex projects!?), print layouts in the project, processing algorithms, and menu/toolbar actions. The intention here is that plugins will “take over” and add additional search functionality, such as OSM place names searching, data catalog searches, etc. I’m sure when QGIS 3.0 is released this will quickly become indispensable!

The upcoming QGIS 3.0 locator bar

Big thanks go out to Nathan’s wife, Stacey, who organized most of the event and without whom it probably would never have happened, and to Lutra Consulting who sponsored an awesome dinner for the attendees.

We’d love this to be the first of many. The mature European hackfests are attended by a huge swath of the community, including translators, documentation writers, and plugin developers (amongst others). If you’ve ever been interested in finding out how you can get more involved in the project it’s a great way to dive in and start contributing. There’s many QGIS users in this part of the world and we really want to encourage a community of contributors who “give back” to the project. So let Nathan or myself know if you’d be interested in attending other events like this, or helping to organize them locally yourself…

Report from the Essen dev meeting

From 28th April to 1st May the QGIS project organized another successful developer meeting at the Linuxhotel in Essen, Germany. Here is a quick summary of the key topics I’ve been working on during these days.

New logo rollout

It’s time to get the QGIS 3 logo out there! We’ve started changing our social media profile pictures and Website headers to the new design: 

Resource sharing platform 

In QGIS 3, the resource sharing platform will be available by default – just like the plugin manager is today in QGIS 2. We are constantly looking for people to share their mapping resources with the community. During this developer meeting Paolo Cavallini and I added two more SVG collections:

Road sign SVGs by Bertrand Bouteilles & Roulex_45 (CC BY-SA 3.0)

SVGs by Yury Ryabov & Pavel Sergeev (CC-BY 3.0)

Unified Add Layer button

We also discussed the unified add layer dialog and are optimistic that it will make its way into 3.0. The required effort for a first version is currently being estimated by the developers at Boundless.


The new TimeManager version 2.4 fixes a couple of issues related to window resizing and display on HiDPI screens. Additionally, it now saves all label settings in the project file. This is the change log:

- Fixed #222: hide label if TimeManager is turned off
- Fixed #156: copy parent style to interpolation layer
- Fixed #109: save label settings in project
- Fixed window resizing issues in label options gui
- Fixed window resizing issues in video export gui
- Fixed HiDPI issues with arch gui

A word of thanks to the hosts of the 14th QGIS Hackfest in Gran Canaria

Last weekend (November 5th – November 8th, 2015) was a special occasion for the QGIS Project – we convened the 14th our ‘hackfest’ meeting!

QGIS hackfests are events where an organiser provides a space for collaboration and members of the community converge and self-organise to improve the QGIS project. We are very much dependent on the good will of our hosts – typically universities – for providing these spaces and the logistics needed to manage the provision of accommodation, food, internet and other needs of our participants over the duration of the hackfest. For this event our gracious hosts were Universitas de Las Palmas de Gran Canaria. Our presence at the University was endorsed and facilitated by:

  •  Rector of ULPGC: José Regidor García
  •  ULPGC Manager: Conrado Domínguez Trujillo
  •  CIO of ULPGC and Director of OSL (“oficina de software libre”, or Free Software Office): Jose Pablo Suárez Rivero.
  •  Councilor of New Technologies Area, Public Administration and Sports at Las Palmas de Gran Canaria Town Hall:  Aridany Romero Vega
  •  Senior professor of computer Science: Agustín Trujillo Pino
The local coordination team was headed up by Pablo Fernández Moniz (CTO and GIS Analyst). Pablo did an amazing job in pulling all the strands together making the event happen! He was assisted by an awesome team of helpers, and participants:
  • Design: Ramsés Cabello Developer (staff at the event): Jaisiel Santana Almedia
  •  Developer (staff at the event): Alejandro Sánchez Medina
  •  Developer (staff at the event): Chano OrtegaTrujillo
  •  Developer (staff at the event): Moises Bonilla

Our heartfelt thanks to all of the people who worked so hard to make this event happen, and to the participants who travelled from far and wide to attend the event. These events are a significant factor in the success of the QGIS project – they allow our developers and contributors to meet face to face and delve deep into technical issues that would be impossible to do under the somewhat disconnected collaboration environment provided by the internet.

Key Activities

There were just under 30 people in attendance at the hackfest – here are just a few of the activities that they were busy with during the hackfest:
  • Qt5 / Python 3 proof of concept by Matthias Kuhn
  • Topological editing with GRASS plugin (Radim Blazek) – video (not from event)
  • Geoserver explorer plugin (Luigi Pirelli)
  • General discussion and planning for the improvement of contribution workflows (pull requests, tickets, QEPs) and infrastructure (Redmine)
  • Improvement of analysis tools (ftools, processing) and their documentation
  • General bug fixes (Jürgen Fischer)
  • Improvements to the website (Richard Duivenvoorde and Anita Graser)
  • Implementation of a GitHub webhook to insert a ‘[FEATURE] issue’ so that documenters know to document new features as they are added to QGIS (Richard Duivenvoorde and Raymond Nijssen)
  • Processing support for loading Oracle data via OGR (Giovanni Manghi)
  • Launched the Italian QGIS User Group, updates to the  documentation of Lizmap web client, managed the Italian translation, the python plugin queue (Paolo Cavallini)

QGIS Sponsorship

Many of the costs not covered by our hosts were covered from central funds including food and travel costs for a number of participants. These funds originate from our donors and sponsorships and are an invaluable resource for the project to allow us to facilitate these events and move the development of QGIS forward. We encourage you to donate to the QGIS or become a sponsor if you would like to foster further innovation and support the long terms goals of the project.

More Information

If you would like further information about what was covered in the event, and to get a feel of the general atmosphere of the event, check out some of these links:

I will update the list above as more reports backs become available.


With thanks from your project chair and the whole QGIS community,


QGIS goes 3D

Marco, Matthias and me spent three days at the QGIS hackfest in Wroclaw (pictures). There I got the time to work on the QGIS globe plugin and made a presentation of the current state.

As soon as the threading branch (Martin Dobias’ Google of Summer project) is merged into trunk, the globe should make its way into trunk as well. In the meantime you can compile the QGIS branch from guthub to test the globe. Thanks Vincent for writing step by step build instructions.

Report back on the QGIS hackfest in Vienna, November 2009

First a big 'thank you'

So I've just arrived back in Zurich en route to Johannesburg after a thrilling and tiring week hackfesting in Vienna. I'm going to try to summarise some of the major activities and outcomes from the hackfest and will ask others to fill in what I forget in the comments.

First off I would like to say a big thank you to Werner Macho and Dr. Reinfried Mansberger. Dr. Mansberger (Institute of Surveying, Remote Sensing and Land Information (IVFL), Vienna) kindly allowed for the use of facilities (meeting rooms, kitchen, LCD projector, internet access). The facilities were excellent, comfortable and the perfect fit for the twenty or so attendees at the hackfest. Werner Macho organised everything and provided for a hassle free and extremely pleasant hackfest where everything 'just worked'. As an additional bonus his girlfriend Verena baked up a storm keeping hungry hackers fed with an endless stream of delicious cakes! It should be noted that in three and a half days of hackfesting, the hackfest team consumed more coffee than is normally used in four months at the faculty! Dr. Mansberger kindly ensured that the bill for all that coffee was covered, a gesture which is heartily appreciated by the QGIS team who would otherwise been a bunch of zombies and not managed to hack into the wee hours of the morning!

Secondly let me thank the other attendees. I can honestly say that I would be hard pressed to find a nicer bunch of people to spend 3 days locked up in the same room with. Each person brought a little bit of magic to the meeting making the whole event a real pleasure. Above and beyond that, the attendees were extremely dedicated and enthusiastic QGIS and FOSSGIS users and the conversations I had with the various people I got to spend time with were extremely stimulating. It was also really great having virtual participation in the IRC channel from those who couldnt be there in person - the input from IRC was a great motivator and a good way to keep us on our toes and pick up any issues to commits to the code base.

Lastly, I would like to say a huge thank you for the people and companies who so kindly donated towards our hackfest funding drive. Personally I am self employed and needed to travel half way around the world to attend the hackfest so attending it means a week of no income for me before I even consider the travel costs. Others are in the same boat and the money that was donated was put to really good use in covering the travel expenses of a number of attendees. Not having to worry about travel and accommodation costs on top of losing a week of work time made it a lot easier for me to attend. Also some of the attendees had their presence at the hackfest paid for by their employers so thank you to those employers who made this possible. I do hope you will consider sponsoring our project or making a donation so that we can continue to hold these six monthly get togethers and keep up the momentum of the project.

Summarising the hackfest

With those thanks out of the way I would like to summarise the hackfest a little for you eager folks out there dying to know what we got up to. The hackfest is actually an 'unmeeting' in that we arrive with no real agenda except to 'make QGIS better' and then organise ourselves on the fly. This works well because it allows us to be dynamic and make the best use of the skills of the people that arrive at the hackfest. That said we did have some broad topic areas on the hackfest wiki page that we planned to cover.

Activities at the hackfest could broadly be broken up into:

- presentations
- group discussions
- break out discussions

As you can see from my list, by far the most emphasised activity was hands-on work on the code base. Presentations were spread out across the event so that we did not get 'presentation overload' and had a chance to digest the contents.


Martin Dobias gave the first presentation where he demonstrated the symbology-ng branch and his work on an improved labelling engine. The symbology-ng (next generation) branch is a complete overhaul of the existing symbology infrastructure in order to address some limitations of the current architecture and provide a capability to do high quality cartography within QGIS. These limitations include:

- no capability to do overpainting easily (for example needed to render freeways with a blue outline and white inner line).
- no capability to easily create new renderer types (e.g. based on different approach such as rendering a line composed of SVG symbols)
- no ability to create complex markers and markers that can be shaded (e.g. as continuous colours) beyond the current 'hard' markers implemented in QGIS

The symbology-ng implementation also provides a simpler interface for symbol selection and definition.

Martin's presentation spawned a huge amount of discussion, the outcome of which was that we all voted for Martin to merge his work into trunk as soon as possible. While the symbology-ng implementation still has outstanding issues, it can run alongside the existing symbology implementation and will be turned off by default. This will allow early adopters a chance to play with the technology from within the mainstream QGIS builds. It will also provide a platform for better bug reporting and feedback. We will aim for symbology-ng to be the default symbology rendering engine in the future QGIS 2.0 release. Here are a couple of screenshots of what you can expect when his work is merged into trunk. Note that all of the images below can be clicked on for a larger view.

New Symbology being enabled in options

New Symbology Editor

Symbolgy-ng rendering

Martin followed up his symbology-ng presentation with one on a new labelling engine based on PAL. This provides a way to address various deficiencies within the existing QGIS labelling implementation by providing collision detection, label priorities and optimal label placement capabilities. The new labelling engine is also able to make labels follow lines. Martin showed us the labelling engine calculating label placement in various situations and it was indeed impressive. As with the symbology-ng we voted to include the new labelling engine in trunk at Martin's earliest convenience since it runs as a plugin and will be disabled by default so is a low risk inclusion into the code base. Some screenies of the labelling plugin follow:

Labelling zoomed out

Labelling zoomed in

Massimo Di Stefano presented the work he has been involved in on the Google Summer of Code project they did to integrate QGIS and ossimPlanet. The integration work uses TCP/IP to update viewpoint position and send raster data over to the ossimPlanet application - where it is viewed on a 3D globe. The globe syncronises to the current QGIS view extents and additional tools provide fine tuned options for postioning the ossimPlanet view. We were all really impressed by their work. Some discussion followed with the general concensus being that we wouldnt be able to ship this as a core part of QGIS due to the number of dependencies it adds and the fact that it does not yet meet ease of use requirements. It is however a great step forward towards providing 3D visualisation capabilities within QGIS and we will work with the developers to make their work available as an add on to QGIS (not part of the standard installation) once the code matures and can be easily packaged.

Alexander Bruy presented work on two projects he has been involved in. In the first they have been building a high quality sample dataset for Ukranian and Russian open source GIS users to use as the basis for tutorials and learning GIS. The dataset has Russian place names etc. and so is more familiar to users than the traditionally English based datasets common in GIS tutorials. The second part of his presentations covered a plugin they have written for recording protected areas and the species that occurr in them. This work will be a great contribution towards and eventual open source EcoGIS implementation (see discussion section below). It was really gratifying to see Alex's presentation and the great use they are putting QGIS to in the Ukraine. Alex is not the only Russian QGIS hacker - other members of the GIS-Lab group have provided us with some great improvements to QGIS especially in the Image Registration tool.

Martin gave a final presentation where he showed off the work they did with the gismapper project. The project involved building tools to map infrastructure using a car fitted with GPS, spherical camera, compass and a computer fitted with a touch screen and running Ubuntu with QGIS. I posted an earlier video about which I am including again here for your convenience.

I know the video quality isn't brilliant but hopefully it gives you a feel for this excellent project (which is all open source by the way!). The presentation prompted some discussion about the project and which aspects of it make sense to include into QGIS core. The basic outcome of that discussion is that we will aim to include the GPS communication code and support for a moving GPS cursor on the map canvas into core, and evaluate what else makes sense to incorporate on a case-by-case basis.


We had a number of great round table discussions covering a range of topics such as:

- the roadmap to QGIS 2.0,
- improved SVG support in QGIS,
- User Interface issues and consistency
- Adoption of the GIS icon theme
- Managing plugin repositories
- Managing plugins better within the QGIS user interface
- Forming an Ecology and Conservation management subgroup
- Dealing with user expectations
- Documentation

I am going to touch on the user interface related stuff briefly here and invite you to discuss other items in more detail on the QGIS mailing lists. Note that I did provide quite a bit of detail of the individual things people were working on over at the QGIS Blog

The main thing I worked on during the hackfest was a user interface consistency review. On the first day of the hackfest we formed a small team consisting of myself, Milena Nowotarska (Poland), Werner Macho (Austria), and Anita Graser (Austria). The goal of our work is to visit each and every dialog and ensure that it meets our Human Interface Guidelines (HIG). We started discussing the existing HIG and planning what things we were going to cover during the hackfest and beyond to the release of QGIS 2.0. This can be summarised as:

- Ensure all labels on dialogs end with no colons (there was a mish-mash of colon and non-colon based labels throughout the application)
- Ensure that all labels have a leading capital letter and then are written in lower case
- Ensure that all labels have word wrapping enabled
- Ensure that all labels have their buddies set (used for keyboard shortcut jumping between fields)
- Ensure that all forms have an appropriate tab order set
- Try to make all forms fit onto a netbook sized display
- When forms need to be horizontally constrained, use a vertical layout and place the widgets in a toolbox or scrollbox
- Ensure that all dialogs use QDialogButtonBox which gives appropriate locale and operating system rendering of buttons such as close / ok / help.
- Ensure that all dialogs have a context help button and associated context help
- Ensure that icons are consistent througout the user interface
- Ensure that plugins integrate into the userface into native menus and do away with the plugin menu
- Reduce the real estate consumed by toolbars and simplify, simplify, simplify the user interface as much as possible but removing little used elements (especially toolbar icons)
- Cleanup core plugin dialogs for visual consistency

Needless to say this is quite a tall order but we made a good dent by doing an initial pass through the dialogs - you should already be able to see quite a lot of the improvements that we have made in the nightly builds of QGIS or in your local svn checkout. The topic of icon usage within QGIS received quite a bit of attention. The GIS icon theme is great in that it is visually consistent but the feedback I received from most users was that they still preferred the 'old' default theme. We discussed why this may be the case, with the concensus being that it was down to:

- people who were already familiar with the old theme had to relearn to recognise the GIS theme icons so its easier just to not switch
- the contrast in the GIS theme icons is quite low so your brain has to do more work to figure out the important elements of each icon
- some of the icons contain concepts that are not recognisable - they don't provide any or enough visual clue as to what their function is (e.g. spatial bookmarks, add vector)
- Some of the icons break with existing user interface memes for example using a hand icon for a pan button and a four direction arrow to indicate that something can be moved.

We would really like to have a consistent icon theme in QGIS 2.0 so Anita has started a revision of the icons to try to address some of these issues. We will use this posting as a starting point for a discussion with Robert Szczepanek (the original authoer of the GIS theme) and try to work with him to pass our changes upstream where he is agreeable. You can see an example of the original icon theme from Robert (first image below) and the updates from Anita (second image below).

GIS Icons as provided by Robert Szczepanek

Updates to GIS icon them from Anita Graser

I spent quite a lot of time exploring how to improve the user friendliness of the map composer and other dialogs where there are many widgets and options. Below you can see the outcome of some of this work.

GUI Cleanup Example - Map Composer

Firstly you can see that the widgets are now arranged vertically - removing horizontal widget arrangment means that the form part of the composer (to the right of the split) can occupy a lot less space and degrades gracefully as it narrows. The previous implementation shrank the widgets into non-existence as it got too narrow. You will see that where widgets have labels (e.g. Title), the label is placed above the widget. This allows the label to be longer in translated versions of QGIS without causing the related widget ot disappear into oblivion. Experimentally we are also going to be placing lables into widgets as seen in the spinboxes in the above screenie since it saves vertical space and allows more options to be viewed on the screen at one go.

You will also notice that we are making use of a toolbox (areas marked 'General', 'Legend Items', and 'Item Options') in the above screenie. This allows us to pack a lot more information into a small space and easily access forms in each section. In the next screenie below, you can see what happens when another toolbox item is clicked.

Composer with next toolbox item open

These kind of user interface cleanups will be taking place throughout the application with the goal of completing them for 2.0. - I hope they are a step in the right direction for everyone.

No discussion of the QGIS user interface would be complete without a lengthy and heated debate about splash screens - and of course we had one! Suffice to say that the QGIS developers are getting a little tired of planetary moons as the theme for our releases and come version 2.0 we will be switching to a new theme for our will have to wait a little to find out what that will be...

Planning for QGIS 2.0

We also had a discussion about the roadmap to version 2.0. QGIS 2.0 will break API compatibility with version 1.0 and thus presents an opportunity for us to overhaul various aspects of the API that we feel are not working well or could otherwise be improved. This will include changes needed for symbology-ng, labelling, better geometry classes and other yet to be determined changes. We will aim for a release of QGIS 1.4 by December 2009. Following that we will do one more feature focussed release, planned for around March or April 2010. After 1.5, we will do only bug fix 1.5.x releases and experimental builds of trunk. 1.5 will be the last API compatible general release and the next official release will be QGIS 2.0 which will require most plugin and third party application writers to update their work to the new API. The experimental releases leading up to version 2.0 will be numbered 1.9.x.

QGIS 2.0 will be released 'when its ready' but hopefully some time in the latter half of 2010.

Planning for hackfest #3

We discussed options for our next hackfest - we will aim to hold it in the first half of 2010 in Piza, Italy. Paolo Cavallini will be the local organiser / liason.

General thoughts on hackfest planning

- Plan for large volumes of coffee to be consumed
- If possible have the hackfest venue where attendees can hack, eat and sleep all in the same place.
- Dont plan for too many alternative activities during the hackfest - we are there to hack and can do tourism before or after the hackfest
- Have a good quality webcam and microphone will be useful for ustream sharing
- Arrange the desks in a large circle so that hackers are facing inwards and can talk to each other and have group discussions without leaving their seats
- Have an LCD projector available for ad-hoc presentations.
- Have a flip chart and pens for ad hoc brainstorming

That's it for now

I'm wrapping up this hackfest for summary, although I have only scratched the surface of what we did - hopefully other attendees will also blog about their activities or leave comments about what they were up to. Also don't forget to check out the developer profiles link I mentioned above. Now I'm off to catch up on 4 nights of missed sleep....

  • Page 1 of 1 ( 10 posts )
  • hackfest

Back to Top

Sustaining Members