safe.impact_functions.impact_function_manager module

InaSAFE Disaster risk assessment tool developed by AusAid - Impact Function Manager

Contact : ole.moller.nielsen@gmail.com

Note

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

class safe.impact_functions.impact_function_manager.ImpactFunctionManager[source]

Bases: object

Class for managing metadata for all impact function.

New in version 2.1.

available_exposure_constraints(exposure_key)[source]

Get exposure constraints for exposure_key.

Parameters:exposure_key (str) – The exposure key
Returns:List of tuple of layer_mode and layer_geometry
Return type:list
available_exposure_layer_modes(exposure_key, exposure_geometry_key)[source]

Get exposure layer mode for exposure_key.

Parameters:
  • exposure_key (str) – The exposure key
  • exposure_geometry_key (str) – The exposure geometry key
Returns:

List of layer_mode

Return type:

list

available_exposures(ascending=True)[source]

Return a list of valid available exposures

Parameters:ascending (bool) – Sort ascending or not.
Returns:A list of exposures full metadata.
Return type:list
available_hazard_constraints(hazard_key, hazard_category_key)[source]

Get hazard constraints for hazard_key and hazard_category_key

Parameters:
  • hazard_key (str) – The hazard key
  • hazard_category_key (str) – The hazard category key
Returns:

List of tuple of layer_mode and layer_geometry

Return type:

list

available_hazard_layer_modes(hazard_key, hazard_geometry_key, hazard_category_key)[source]

Return all available layer_mode.

Parameters:
  • hazard_key (str) – The hazard key
  • hazard_geometry_key (str) – The hazard geometry key
  • hazard_category_key (str) – The hazard category key
Returns:

List of layer_mode

Return type:

list

available_hazards(hazard_category_key, ascending=True)[source]

available_hazards from hazard_category_key

Parameters:
  • hazard_category_key (str) – The hazard category key
  • ascending (bool) – Sort ascending or not.
Returns:

List of available hazards

Return type:

list

continuous_hazards_units_for_layer(hazard_key, layer_geometry_key, layer_mode_key, hazard_category_key)[source]

Get continuous hazard units. :param hazard_key: The hazard key :type hazard_key: str

Parameters:
  • layer_geometry_key (str) – The layer geometry key
  • layer_mode_key (str) – The layer mode key
  • hazard_category_key (str) – The hazard category key
Returns:

List of continuous hazard unit

Return type:

list

exposure_additional_keywords(layer_mode_key=None, layer_geometry_key=None, exposure_key=None)[source]

Return additional_keywords for exposure.

Parameters:
  • layer_mode_key (str) – The layer mode key
  • layer_geometry_key (str) – The layer geometry key
  • exposure_key (str) – The hazard key
Returns:

List of additional keywords

Return type:

list

exposure_class_fields(layer_mode_key=None, layer_geometry_key=None, exposure_key=None)[source]

Return list of exposure class field.

Parameters:
  • layer_mode_key (str) – The layer mode key
  • layer_geometry_key (str) – The layer geometry key
  • exposure_key (str) – The exposure key
Returns:

List of exposure class field.

Return type:

list

exposure_units_for_layer(exposure_key, layer_geometry_key, layer_mode_key)[source]

Get hazard categories form layer_geometry_key

Parameters:
  • exposure_key (str) – The exposure key
  • layer_geometry_key (str) – The geometry key
  • layer_mode_key (str) – The layer mode key
Returns:

List of exposure unit

Return type:

list

exposures_for_layer(layer_geometry_key)[source]

Get hazard categories form layer_geometry_key

Parameters:layer_geometry_key (str) – The geometry id
Returns:List of hazard
Return type:list
filter(hazard_metadata=None, exposure_metadata=None)[source]

Get available impact functions from hazard and exposure metadata.

Disabled impact function will not be loaded.

Parameters:
  • hazard_metadata (dict) – The metadata of the hazard.
  • exposure_metadata (dict) – The metadata of the exposure.
filter_by_keywords(hazard_keywords=None, exposure_keywords=None)[source]

Get available impact functions from hazard and exposure keywords.

Disabled impact function will not be loaded.

Parameters:
  • hazard_keywords (dict) – The keywords of the hazard.
  • exposure_keywords (dict) – The keywords of the exposure.
filter_by_metadata(metadata_key, metadata_value)[source]

Return IF classes given its metadata key and value.

Parameters:
  • metadata_key (str) – The key of the metadata e.g ‘id’, ‘name’
  • metadata_value (str, dict) – The value of the metadata, e.g for the key ‘id’ the value is ‘FloodNativePolygonExperimentalFunction’
Returns:

Impact Function classes match the arguments

Return type:

list

functions_for_constraint(hazard_key, exposure_key, hazard_geometry_key=None, exposure_geometry_key=None, hazard_mode_key=None, exposure_mode_key=None)[source]

Obtain all functions that match with the constraints

Parameters:
  • hazard_key (str) – The hazard key
  • exposure_key (str) – the exposure key
  • hazard_geometry_key (str) – The hazard geometry key
  • exposure_geometry_key (str) – The exposure geometry key
  • hazard_mode_key (str) – The hazard mode key
  • exposure_mode_key (str) – The exposure mode key
Returns:

List of matched Impact Function

Return type:

list

get(impact_function_id)[source]

Return an instance of an impact function given its ID.

This is a preferred way to get an instance of IF. IF should have a unique human readable ID in their metadata.

Parameters:impact_function_id (str) – The ID of impact function in the metadata.

:return An Impact function instance that has matched id. :rtype: safe.impact_functions.base.ImpactFunction

get_class(class_name)[source]

Return the class of an impact function given its class name.

Parameters:class_name (str) – the name of IF class
Returns:impact function class that matches the argument.
Return type:safe.impact_functions.base.ImpactFunction
static get_function_id(impact_function)[source]

Get the ID of the impact function.

Parameters:impact_function (safe.impact_functions.base.ImpactFunction) – Class of an impact function
Returns:The ID of the impact function specified in its metadata.
Return type:str
static get_function_name(impact_function)[source]

Get the human readable name of the impact function.

Parameters:impact_function (safe.impact_functions.base.ImpactFunction) – Class of an impact function.
static get_function_title(impact_function)[source]

Get title of the impact function.

Parameters:impact_function (safe.impact_functions.base.ImpactFunction) – Class of an impact function
Returns:The title of the impact function specified in its metadata.
Return type:str
static get_function_type(impact_function)[source]

Return the impact function type.

Parameters:impact_function (safe.impact_functions.base.ImpactFunction) – The impact function.
get_functions_for_hazard(hazard)[source]

Return all function metadata that has hazard in their metadata.

New in version 2.2.

Parameters:hazard (dict) – Dictionary that represent the hazard
Returns:List of impact function metadata.
Return type:list
get_instance(class_name)[source]

Return an instance of an impact function given its class name.

Parameters:class_name (str) – The name of IF class.
Returns:Impact function instance that matches the argument.
Return type:safe.impact_functions.base.ImpactFunction
hazard_additional_keywords(layer_mode_key=None, layer_geometry_key=None, hazard_category_key=None, hazard_key=None)[source]

Return additional_keywords for hazard.

Parameters:
  • layer_mode_key (str) – The layer mode key
  • layer_geometry_key (str) – The layer geometry key
  • hazard_category_key (str) – The hazard category key
  • hazard_key (str) – The hazard key
Returns:

List of additional keywords

Return type:

list

hazard_categories_for_layer(layer_geometry_key, hazard_key=None)[source]

Get hazard categories form layer_geometry_key

Parameters:
  • layer_geometry_key (str) – The geometry id
  • hazard_key (str) – The hazard key
Returns:

List of hazard_categories

Return type:

list

hazards_for_layer(layer_geometry_key, hazard_category_key=None)[source]

Get hazard categories form layer_geometry_key

Parameters:
  • layer_geometry_key (str) – The geometry id
  • hazard_category_key (str) – The hazard category
Returns:

List of hazard

Return type:

list

impact_functions[source]

Return all registered impact functions.

purposes_for_layer(layer_geometry_key)[source]

Get purposes of a layer geometry id.

Parameters:layer_geometry_key (str) – The geometry id
raster_hazards_classifications_for_layer(hazard_key, layer_geometry_key, layer_mode_key, hazard_category_key)[source]

Get continuous hazard units. :param hazard_key: The hazard key :type hazard_key: str

Parameters:
  • layer_geometry_key (str) – The layer geometry key
  • layer_mode_key (str) – The layer mode key
  • hazard_category_key (str) – The hazard category key
Returns:

List of raster_hazards_classifications

Return type:

list

vector_hazards_classifications_for_layer(hazard_key, layer_geometry_key, layer_mode_key, hazard_category_key)[source]

Get continuous hazard units. :param hazard_key: The hazard key :type hazard_key: str

Parameters:
  • layer_geometry_key (str) – The layer geometry key
  • layer_mode_key (str) – The layer mode key
  • hazard_category_key (str) – The hazard category key
Returns:

List of vector_hazards_classifications

Return type:

list