Implementing an in-house “New Project Wizard” for QGIS

Recently, we were required to implement a custom “New Project Wizard” for use in a client’s internal QGIS installation. The goal here was that users would be required to fill out certain metadata fields whenever they created a new QGIS project. Fortunately, the PyQGIS (and underlying Qt) libraries makes this possibly, and relatively straightforward to do. Qt has a powerful API for creating multi-page “wizard” type dialogs, via the QWizard and QWizardPage classes. Let’s have a quick look at writing a custom wizard using these classes, and finally we’ll hook it into the QGIS interface using some PyQGIS magic. We’ll start super simple, creating a single page wizard with no settings. To do this we first create a Page1 subclass […]

Read more

Exploring Reports in QGIS 3.0 – the Ultimate Guide!

In 2017 North Road ran a crowd funding campaign for extending QGIS’ Print Composer and adding a brand new reporting framework to QGIS. Thanks to numerous generous backers, this campaign was a success. With the final QGIS 3.0 release just around the corner, we thought this was a great time to explore the new reporting engine and what it offers. We’ll start with a relatively simple project, containing some administrative boundaries, populated places, ports and airports. Using the “Project” – “New Report” command, we then create a new blank report. Initially, there’s not much to look at – the dialog which is displayed looks much like the QGIS 3.0 Layout Designer, except for the new “Report Organizer” panel shown on […]

Read more

24 Days of QGIS 3.0 Features

If you’re not following @northroadgeo on Twitter, you’ve probably missed our recent “24 Days of QGIS” countdown. Over December, we’ve been highlighting 24 different features which are coming with the QGIS 3.0 release. We’ve collected all of these below so you can catch up: 1 of #24daysofqgis : Coming soon in #QGIS 3.0 – inbuilt CAD style digitizing tools, for easy rectangle/circle/ellipse+other creation! (Thanks to Loïc Bartoletti) #qgisadvent pic.twitter.com/Y7zjPO6Axh — North Road (@northroadgeo) December 1, 2017 Day 2 of #24daysofqgis : Coming soon in #QGIS 3.0 – responsive autocompleted field values when selecting by feature attributes! (Thanks to @nyalldawson) #qgisadvent pic.twitter.com/ySQPKYihIv — North Road (@northroadgeo) December 2, 2017 Day 3 of #24daysofqgis : Coming soon in #QGIS 3.0 – interactively […]

Read more

QGIS layouts rewrite – progress report #1

Following our recent successful QGIS Layout and Reporting Engine crowdfunding campaign, we’ve been hard at working ripping up the internals of the QGIS 2.x print composer and rebuilding a brand new, shiny QGIS layouts engine. This is exciting work – it’s very satisfying to be able to cleanup a lot of the old composer code in QGIS and take opportunities along the way to fix long standing bugs and add new features. While it’s not ready for daily use yet, there’s already been a lot of interesting changes which have landed in the layouts work as a result of this campaign. Let’s take a look at what’s been implemented so far… We’ve added support for different measurements units all throughout layouts. […]

Read more

QGIS Layout and Reporting Engine Campaign – a success!

Thanks to the tireless efforts and incredible generosity of the QGIS user community, our crowdfunded QGIS Layout and Reporting Engine campaign was a tremendous success! We’ve reached the funding goal for this project, and as a result QGIS 3.0 will include a more powerful print composer with a reworked code base. You can read more about what we have planned at the campaign page. We’d like to take this opportunity to extend our heartfelt thanks to all the backers who have pledged to support this project: The Swiss QGIS User group (funded preliminary work in refactoring how compositions are handled and stored within projects) The QGIS Grant Program (2016) (funded preliminary work allowing for a flexible property framework which will be […]

Read more

Point cluster renderer crowdfunding – successful!

Great news! Thanks in part to some generous last minute pledges, our QGIS Point Cluster Renderer campaign has successfully reached its target. This means that QGIS 3.0 will now include a full feature and flexible cluster renderer. In the meantime, we’d like to extend our warmest thanks to the following generous contributors, whose pledges have made this work possible: Andreas Neumann Qtibia Engineering (Tudor Barascu) Karl-Magnus Jönsson Geonesia (Nicolas Ponzo) Plus numerous additional anonymous backers whose generous contributions are also highly valued. If you run into any of these funders at a QGIS user group or conference, make sure you treat them like the GIS rock-stars they are! Keep an eye out on our social media accounts as we’ll be […]

Read more

The road to QGIS 3.0 – part 1

As we discussed in QGIS 3 is under way, the QGIS project is working toward the next major version of the application and these developments have major impact on any custom scripts or plugins you’ve developed for QGIS. We’re now just over a week into this work, and already there’s been tons of API breaking changes landing the code base. In this post we’ll explore some of these changes, what’s motivated them, and what they mean for your scripts. The best source for keeping track of these breaking changes is to watch the API break documentation on GitHub. This file is updated whenever a change lands which potentially breaks plugins/scripts, and will eventually become a low-level guide to porting plugins to […]

Read more

QGIS 3 is underway – what does it mean for your plugins and scripts?

With the imminent release of QGIS 2.16, the development attention has now shifted to the next scheduled release – QGIS 3.0! If you haven’t been following the discussion surrounding this I’m going to try and summarise what exactly 3.0 means and how it will impact any scripts or plugins you’ve developed for QGIS. QGIS 3.0 is the first major QGIS release since 2.0 was released way back in September 2013. Since that release so much has changed in QGIS… a quick glance over the release notes for 2.14 shows that even for this single point release there’s been hundreds of changes. Despite this, for all 2.x releases the PyQGIS API has remained stable, and a plugin or script which was […]

Read more