Project: InaSAFE

Changelog for version: 3.0.0

We are pleased to announce the availability of InaSAFE 3.0.0. This is a major new release. The 3.0 designation is because we have made major changes to the underlying code architecture which will break existing applications that used the 2.x InaSAFE API. We have also added new features and tools to make the process of contingency planning more efficient and configurable.

For more information on how to participate in the InaSAFE project, please contact us at [email protected] - and visit our home page at We would like to thank all the developers, funders, stakeholders and interested people for the great contributions they have made to InaSAFE thus far!


Feature: New wizard for carrying out impact assessments

Our new wizard has the following goal: providing a guided, logical path through the process of carrying out an impact assessment. The new impact function centric wizard presents a series of questions in a very easy to use manner that will step you through the process of carrying out your assessment. Rather than requiring the user to first load their data and then discover which kinds of assessments can be carried out (as the prior versions of InaSAFE only supported), the new wizard lets the user first select what kind of analysis they would like to carry out and then lets them select the data from the set of layers that are currently open in QGIS, or by loading a layer from the file system via a user friendly data browser interface.

Feature: Streamlined toolbar

Over time the number of tools in InaSAFE has been growing creating a rather large toolbar. For this release we have reduced the number of tools available on the toolbar to those that are used most commonly. The remaining tools are now only accessible via the Plugins -> InaSAFE menu in QGIS. The toolbar now consists of these tools:

  • Toggle InaSAFE dock - this tool will hide or show the InaSAFE dock.
  • Keywords wizard - this tool will show the keywords wizard which will let you define or update the keyword definitions for a layer.
  • Impact function wizard - this tool will guide you step-by-step through the process of running an impact assessment in InaSAFE.
  • OpenStreetMap downloader - this tool will help you to download road and building exposure data from in a format that is ready to use in InaSAFE.
  • Toggle scenario outlines - this tool will hide or show the outlines for the last analysis, prospective analysis and the user defined analysis area.
  • Set analysis area - this tool will let you define the analysis area for the next analysis you carry out.


Feature: Impact summary reporting improvements

The impact summary table that accompanies the graphical report created by InaSAFE has been updated so that the output matches the styling of the rest of InaSAFE and is much more pleasing and easy to read.

Code Internals

Feature: Overhaul of code internals

Most of the changes in this release are not visible to our users, but rather impact on how programmers interact with the software. Following our workshop held in September 2014 where we prototyped the ability to deploy InaSAFE on the web and still use QGIS libraries, it was agreed that we no longer need to maintain a separation between 'QGIS dependent code' and 'non-QGIS dependent code'. The release of InaSAFE 3.0.0 realises this agreement by merging our code into a single, more logically consistent code base. The key technical changes made include:

  • Combined safe and safe_qgis into one package.
  • We now use one translation system instead of two (gettext was dropped).
  • UI files are dynamically compiled at run time so we don't need to ship the uic compiled versions.
  • We no longer user Qt resources so you no longer need to compile with pyrcc.
  • QGIS Plugin reloader works again because we fixed the import management that caused it to break.
  • Removed a lot of moribund / experimental / test code that is not used in production.
  • Removed the use of and abstraction between Qt/QGIS based code and console only code.

Following this massive code clean up and refactor, we now benefit from a smaller, more maintainable code base (see image to right which shows the reduction in code base size) and we are closer to our goal of a system that can capitalise from the rich functionality available in QGIS to best effect. We have also added more of the infrastructure needed to have rich metadata for every aspect of the system and produce much more detailed and informative reports as a result - see our upcoming releases for more on this topic!

blog comments powered by Disqus