What’s new?

v0.2.0 (2024-10-15)

Added small features.

Added

  • ‘Normal’ exit when keyboard interrupt is triggered over cli
  • Support for grids with non square cells

Changed

  • Fixed hanging issue with the mp-logging receiver when erroring
  • Fixed square cell assumption when mapping world coordinates to pixel coordinates
  • Support capitalized entries in the settings toml (again; it was disabled)
  • Various small non breaking fixes

v0.1.1 (2024-10-04)

Small patch release.

Changes

  • Bugfix regarding drivernotfound error in GridSource
  • Fixed install from conda
  • More functions and objects exposed directly under fiat -> e.g. from fiat import open_grid

v0.1.0 (2024-10-03)

The first full release of Delft-FIAT.

Added

  • Attribute size of GeomSource object for in situ size return; count becomes private
  • Attribute size of GridSource object for in situ size return; count becomes private
  • Attributes dtypes and geom_type of GeomModel
  • Build time to FIAT cli (when build with pyinstaller), viewed with fiat --version
  • Different types of exposure (e.g. ‘damage’, ‘affected’, ‘outage’ etc.)
  • Docker file for docker image creation
  • Extra arguments to grid.reproject
  • Function (generate_jobs) to generate jobs for parallelization
  • Function (execute_pool) to execute code in parallel using multiprocessing
  • Flood hazard/ damage functions (methods submodule)
  • General method of creating output files in GeomModel (_setup_output_files)
  • Method _create_model_dirs of ConfigReader object for creating result directories in one go
  • Method add_handler of the Log object; user setting of custom stream
  • Method add_feature_with_map of GeomModel to set features with extra info
  • Method create of GeomModel to create an ogr.DataSource (new dataset)
  • Method create_equal_grids of GridModel for making hazard and exposure grid spatially equal
  • Method set of ConfigReader object
  • Not stopping when exposure and hazard grids (GridModel), but instead make them spatially equal
  • Numpy >= 2.0.0 support
  • Python 3.12 support
  • Settings toml file: global setting ‘global.loglevel’; default ‘INFO’
  • Settings toml file: exposure setting ‘exposure.types’; default ‘flood’
  • Setting return period as a variable in hazard map bands (risk)
  • Support for using pixi for binary creation (properly)

Changed

  • Better version of BufferHandler
  • Exposure data headers are now lower-/ snakecase (‘object_id’ -> ‘objectId’), see docs
  • Fixed binary creation in general, but also specifically for GDAL >= v3.9.1
  • Made read methods of BaseModel, GeomModel and GridModel public (removed underscore)
  • Made csv files (exposure data) optional
  • Moved hazard/ damage calculation function to methods submodule
  • Proper checking for duplicate columns in csv files
  • Settings toml file: exposure setting ‘exposure.csv.file’ (becomes optional)
  • Testing of workers (not properly caught due to using multiprocessing)
  • Testing only based on integers

Deprecated

  • Base object _BaseHandler; incompatible with Python 3.12
  • Function open_exp from fiat.io, superseded by general use of open_csv
  • Method add_c_handler in favour of the more generalized add_handler
  • Methods _create_output_dir, _create_tmp_dir and _create_risk_dir of the ConfigReader object
  • Object ExposureTable, now done via TableLazy
  • Resolve stage of GeomModel; now properly handled in GeomModel.run
  • Setting return period via the name of the hazard band (risk)
  • Settings toml file: global setting ‘global.keep_temp_files’
  • Settings toml file: output setting ‘output.geom.chunk’; superseded by ‘global.geom.chunk’
  • Support of Python versions under 3.9.0
  • Temporary files (GeomModel)
  • TextHandler object; unused

Documentation

  • Added methods to the api
  • Cleaner home page
  • Getting started remade into Information

v0.1.0rc2 (2024-02-19)

The second pre-release of Delft-FIAT.

Added

  • A version switcher for the documentation
  • Added entries for chunking size in the settings file (settings.toml) for GeomModel
  • Chunking for geometry calculations (GeomModel)
  • Chunking for resolving temporary GeomModel output
  • New method for writing geometries from a buffer: BufferedGeomWriter
  • New function for merging vector layers: merge_geom_layers
  • Setting of amount of threads via cli

Changed

  • Better build environment creation on linux systems
  • Clarified the cli
  • Fixed chunking on a single thread
  • Fixed and clarified the shape (w, h) of GridSource and Grid
  • Fixed handling of positive nodata values in geometry calculations
  • Fixed indexing in GridModel calculations
  • Parallelisation of calculations for GeomModel (not only in risk mode)
  • Updated the installer creation (exe) on Windows (10/11)
  • Various bug fixes

Deprecated

  • get_bbox method of GeomSource and GridSource
  • Setting: chunk in exposure.geom.settings, deprecated in favour of chunk in global.geom
  • Setting: chunk in exposure.grid.settings, deprecated in favour of chunk in global.grid
  • Setting: chunk in hazard.settings, deprecated in favour of chunk in global.grid

Documentation

  • Ability to switch between documentation/ software versions
  • Improved/ updated the page regarding exposure csv
  • Restructered user settings pages
  • Seperated user settings into: Basic, Computational & Optional

v0.1.0rc1 (2023-11-30)

This is the first and pre-release of Delft-FIAT. It aims to have a stable version of the GeomModel for calculating damages and risk for vector exposure data and an experimental version of the GridModel for calculating damages and risk for raster exposure data.

Added

  • Documentation
  • Command line user interface
  • Main FIAT object from which it’s run
  • GeomModel; the vector based model
  • GridModel; the raster based model
  • ConfigReader; for reading the settings file
  • I/O methods and structs
    • open_csv which returns e.g. Table
    • open_geom which returns a GeomSource
    • open_grid which returns a GridSource
  • GIS related operations like:
    • geom.reproject to reproject vector files
    • grid.reproject to reproject raster files
    • overlay.clip to clip a grid based on a polygon
    • and more…
  • Ability to ‘compile’/ freeze FIAT as an application/ binary
  • Some smalller miscellaneous methods and object
Back to top