natcap.invest.crop_production_percentile¶
InVEST Crop Production Percentile Model.
-
natcap.invest.crop_production_percentile.
aggregate_to_polygons
(base_aggregate_vector_path, target_aggregate_vector_path, landcover_raster_projection, crop_to_landcover_table, nutrient_table, yield_percentile_headers, output_dir, file_suffix, target_aggregate_table_path)¶ Write table with aggregate results of yield and nutrient values.
Use zonal statistics to summarize total observed and interpolated production and nutrient information for each polygon in base_aggregate_vector_path.
- Parameters
base_aggregate_vector_path (string) – path to polygon vector
target_aggregate_vector_path (string) – path to re-projected copy of polygon vector
landcover_raster_projection (string) – a WKT projection string
crop_to_landcover_table (dict) – landcover codes keyed by crop names
nutrient_table (dict) – a lookup of nutrient values by crop in the form of nutrient_table[<crop>][<nutrient>].
yield_percentile_headers (list) – list of strings indicating percentiles at which yield was calculated.
output_dir (string) – the file path to the output workspace.
file_suffix (string) – string to appened to any output filenames.
target_aggregate_table_path (string) – path to ‘aggregate_results.csv’ in the output workspace
- Returns
None
-
natcap.invest.crop_production_percentile.
calculate_crop_production
(lulc_path, yield_path, crop_lucode, pixel_area_ha, target_path)¶ Calculate crop production for a particular crop.
The resulting production value is:
nodata, where either the LULC or yield input has nodata
0, where the LULC does not match the given LULC code
yield * pixel area, where the given LULC code exists
- Parameters
lulc_path (str) – path to a raster of LULC codes
yield_path (str) – path of a raster of yields for the crop identified by
crop_lucode
, in units per hectarecrop_lucode (int) – LULC code that identifies the crop of interest in the
lulc_path
raster.pixel_area_ha (number) – Pixel area in hectares for both input rasters
target_path (str) – Path to write the output crop production raster
- Returns
None
-
natcap.invest.crop_production_percentile.
execute
(args)¶ Crop Production Percentile.
This model will take a landcover (crop cover?) map and produce yields, production, and observed crop yields, a nutrient table, and a clipped observed map.
- Parameters
args['workspace_dir'] (string) – output directory for intermediate, temporary, and final files
args['results_suffix'] (string) – (optional) string to append to any output file names
args['landcover_raster_path'] (string) – path to landcover raster
args['landcover_to_crop_table_path'] (string) –
path to a table that converts landcover types to crop names that has two headers:
lucode: integer value corresponding to a landcover code in args[‘landcover_raster_path’].
crop_name: a string that must match one of the crops in args[‘model_data_path’]/climate_bin_maps/[cropname]_* A ValueError is raised if strings don’t match.
args['aggregate_polygon_path'] (string) – path to polygon shapefile that will be used to aggregate crop yields and total nutrient value. (optional, if value is None, then skipped)
args['model_data_path'] (string) –
path to the InVEST Crop Production global data directory. This model expects that the following directories are subdirectories of this path:
climate_bin_maps (contains [cropname]_climate_bin.tif files)
climate_percentile_yield (contains [cropname]_percentile_yield_table.csv files)
Please see the InVEST user’s guide chapter on crop production for details about how to download these data.
args['n_workers'] (int) – (optional) The number of worker processes to use for processing this model. If omitted, computation will take place in the current process.
- Returns
None.
-
natcap.invest.crop_production_percentile.
tabulate_results
(nutrient_table, yield_percentile_headers, crop_to_landcover_table, pixel_area_ha, landcover_raster_path, landcover_nodata, output_dir, file_suffix, target_table_path)¶ Write table with total yield and nutrient results by crop.
This function includes all the operations that write to results_table.csv.
- Parameters
nutrient_table (dict) – a lookup of nutrient values by crop in the form of nutrient_table[<crop>][<nutrient>].
yield_percentile_headers (list) – list of strings indicating percentiles at which yield was calculated.
crop_to_landcover_table (dict) – landcover codes keyed by crop names
pixel_area_ha (float) – area of lulc raster cells (hectares)
landcover_raster_path (string) – path to landcover raster
landcover_nodata (float) – landcover raster nodata value
output_dir (string) – the file path to the output workspace.
file_suffix (string) – string to appened to any output filenames.
target_table_path (string) – path to ‘result_table.csv’ in the output workspace
- Returns
None