Release Changelog


Built 5 May 2022


  • An optional Beta plugin has been added to make new/experimental features available. The beta plugin is not enabled by default, and any beta plugin features may still change significantly in future releases of RiskScape. (GL716)

  • Preliminary support has been added to the beta plugin for:

    • Saving results to a PostGIS database. (GL705)

    • Reading and writing vector data in the GeoPackage (.gpkg) file format (GL706, GL728)

  • New functions have been added to the beta plugin, including:

    • list_to_tuple, which makes it easier to save the contents of a list to CSV or shapefile. Each item in the list will be written as a separate column or attribute. (GL719)

    • switch, which is useful when you have a range of possible input values that you want to map to a smaller subset of values. E.g. you want to map any of the value codes 0, 12, 44, 22 to simply 'Timber'.

  • Using raster data as your exposure-layer now results in polygon geometries that cover the extent of each raster point. Previously the geometry produced was a point rather than a polygon. (GL620)

  • Type expressions can now use hyphens in struct attribute names as well as quoted identifiers, e.g struct(value_0-100: integer, "Total Cost": floating) (GL686)

  • More tutorials have been added to the RiskScape documentation, including an ‘Intermediate Concepts’ section that covers:

    • How the various RiskScape spatial sampling and consequence analysis techniques work. (GL649)

    • Improved CPython setup instructions and an example damage state function.

    • How the riskscape model batch lets you run a model repeatedly by varying the hazard-layer. (GL168)

    • How the various RiskScape geoprocessing features operate. (GL722)

  • A new riskscape bookmark evaluate command has been added. This lets you visualize the input data, typically in shapefile form, after it has been manipulated by any RiskScape bookmark settings. This is useful to check the CRS axis-order is correct when you need to construct geometry manually, such as from CSV input data. (GL608)


  • Table rendering on Windows has been improved for info commands. Previously, commands such as riskscape format info shapefile, could result in poor rendering if the content being displayed contained line-breaks. (GL703)

  • The default validate-geometry setting is error, which means RiskScape detects and automatically fixes any invalid geometry in the input data. However, the default validate-geometry project setting was not being applied correctly when geometry was reprojected. This meant that geometry could become invalid as a result of reprojection and RiskScape would not detect or fix it (unless validate-geometry = error was explicitly set in the project.ini file). This issue has now been fixed. (GL724)

  • When setting up CPython support in RiskScape, you no longer need double backslashes in the python3-bin file path in settings.ini. For example, you can now use C:\Users\Ronnie\Anaconda3\python.exe instead of C:\\Users\\Ronnie\\Anaconda3\\python.exe. Existing settings.ini files that contain double backslashes for the Python path should still continue to work fine. Previously, exceptions or other errors could occur when single backslashes were used, but this has now been fixed. (GL-735)

  • Setting the output-base-location in the project would result in an extra output directory appearing in the output path. This has been fixed now. (GL743)

  • Running RiskScape without a project.ini or home directory would result in unusual errors if a relative file was accessed, e.g riskscape bookmark info FILE.csv. This has now been fixed. (GL710)

  • Spatial sampling has been improved for the sample_one() function, which is used by CLOSEST sampling in the wizard. For complex line and polygon geometry, such as shapes that look like a ‘C’ or multi-polygons, the geometric centroid of the shape can fall outside the shape itself. Previously, RiskScape would always attempt to use the geometric centroid first when sampling the hazard value, even if this centroid fell outside the shape itself. Now sample_one will always ensure that the sampled value falls inside the input geometry. (GL737)

  • When CPython functions were enabled on your system, sometimes the riskscape model run command could exit with a java.lang.NullPointerException error. This only occurred if the shapefile input data for the exposure-layer contained NULL values. This issue has now been fixed. (GL-739)

  • When all-intersections sampling is used, the wizard will now produce a single value for the exposed_ratio attribute. Previously exposed_ratio was a List type, which made it harder to use. (GL741)

  • Model run --parameter values may now contain white space around the equals sign. E.g --parameter "input-exposures.layer = Roads_SE_Upolu". (GL741)


Built 4 February 2022

Version 1.0.0 is the first official public release of RiskScape.

If you have been using older, evaluation versions of RiskScape, you can view a record of the changes in functionality between releases here.