natcap.invest.scenario_generator package¶
Submodules¶
natcap.invest.scenario_generator.scenario_generator module¶
Scenario Generator Module.
-
natcap.invest.scenario_generator.scenario_generator.
calculate_distance_raster_uri
(dataset_in_uri, dataset_out_uri)¶ Calculate distance to non-zero cell for all input zero-value cells.
Parameters: - dataset_in_uri (str) – the input mask raster. Distances calculated from the non-zero cells in raster.
- dataset_out_uri (str) – the output raster where all zero values are equal to the euclidean distance of the closest non-zero pixel.
-
natcap.invest.scenario_generator.scenario_generator.
calculate_priority
(priority_table_uri)¶ Create dictionary mapping each land-cover class to their priority weight.
Parameters: priority_table_uri (str) – path to priority csv table Returns: land-cover and weights_matrix Return type: priority_dict (dict)
-
natcap.invest.scenario_generator.scenario_generator.
calculate_weights
(array, rounding=4)¶ Create list of priority weights by land-cover class.
Parameters: - array (np.array) – input array
- rounding (int) – number of decimal places to include
Returns: list of priority weights
Return type: weights_list (list)
-
natcap.invest.scenario_generator.scenario_generator.
execute
(args)¶ Scenario Generator: Rule-Based.
Model entry-point.
Parameters: - workspace_dir (str) – path to workspace directory
- suffix (str) – string to append to output files
- landcover (str) – path to land-cover raster
- transition (str) – path to land-cover attributes table
- calculate_priorities (bool) – whether to calculate priorities
- priorities_csv_uri (str) – path to priority csv table
- calculate_proximity (bool) – whether to calculate proximity
- proximity_weight (float) – weight given to proximity
- calculate_transition (bool) – whether to specifiy transitions
- calculate_factors (bool) – whether to use suitability factors
- suitability_folder (str) – path to suitability folder
- suitability (str) – path to suitability factors table
- weight (float) – suitability factor weight
- factor_inclusion (int) – the rasterization method – all touched or center points
- factors_field_container (bool) – whether to use suitability factor inputs
- calculate_constraints (bool) – whether to use constraint inputs
- constraints (str) – filepath to constraints shapefile layer
- constraints_field (str) – shapefile field containing constraints field
- override_layer (bool) – whether to use override layer
- override (str) – path to override shapefile
- override_field (str) – shapefile field containing override value
- override_inclusion (int) – the rasterization method
- seed (int or None) – a number to use as the randomization seed.
If not provided,
None
is assumed.
Example Args:
args = { 'workspace_dir': 'path/to/dir', 'suffix': '', 'landcover': 'path/to/raster', 'transition': 'path/to/csv', 'calculate_priorities': True, 'priorities_csv_uri': 'path/to/csv', 'calculate_proximity': True, 'calculate_transition': True, 'calculate_factors': True, 'suitability_folder': 'path/to/dir', 'suitability': 'path/to/csv', 'weight': 0.5, 'factor_inclusion': 0, 'factors_field_container': True, 'calculate_constraints': True, 'constraints': 'path/to/shapefile', 'constraints_field': '', 'override_layer': True, 'override': 'path/to/shapefile', 'override_field': '', 'override_inclusion': 0 }
Added Afterwards:
d = { 'proximity_weight': 0.3, 'distance_field': '', 'transition_id': 'ID', 'percent_field': 'Percent Change', 'area_field': 'Area Change', 'priority_field': 'Priority', 'proximity_field': 'Proximity', 'suitability_id': '', 'suitability_layer': '', 'suitability_field': '', }
-
natcap.invest.scenario_generator.scenario_generator.
filter_fragments
(input_uri, size, output_uri)¶ Filter fragments.
Parameters: - input_uri (str) – path to input raster
- size (float) – patch (/fragments?) size threshold
- output_uri (str) – path to output raster
-
natcap.invest.scenario_generator.scenario_generator.
generate_chart_html
(cover_dict, cover_names_dict, workspace_dir)¶ Create HTML page showing statistics about land-cover change.
- Initial land-cover cell count
- Scenario land-cover cell count
- Land-cover percent change
- Land-cover percent total: initial, final, change
- Transition matrix
- Unconverted pixels list
Parameters: - cover_dict (dict) – land cover {‘cover_id’: [before, after]}
- cover_names_dict (dict) – land cover names {‘cover_id’: ‘cover_name’}
- workspace_dir (str) – path to workspace directory
Returns: html chart
Return type: chart_html (str)
-
natcap.invest.scenario_generator.scenario_generator.
get_geometry_type_from_uri
(datasource_uri)¶ Get geometry type from a shapefile.
Parameters: datasource_uri (str) – path to shapefile Returns: OGR geometry type Return type: shape_type (int)
-
natcap.invest.scenario_generator.scenario_generator.
get_transition_pairs_count_from_uri
(dataset_uri_list)¶ Find transition summary statistics between lulc rasters.
Parameters: dataset_uri_list (list) – list of paths to rasters Returns: cell type with each raster value transitions (dict): count of cells Return type: unique_raster_values_count (dict)
-
natcap.invest.scenario_generator.scenario_generator.
manage_numpy_randomstate
(*args, **kwds)¶ Set a seed for
numpy.random
and reset it on exit.Parameters: seed (int or None) – The seed to set via numpy.random.seed
. Ifnone
, the numpy random number generator will be un-set.Returns: None
Yields: None