From 347ca8c2553c009a2e26dc48a783299853bb253a Mon Sep 17 00:00:00 2001 From: Tim Sutton Date: Wed, 4 Dec 2024 23:23:07 +0000 Subject: [PATCH] FCV Threshold should have its default applied as per the spreadsheet Fixes #666 Fixes #676 --- geest/core/generate_model.py | 21 ++- geest/core/json_tree_item.py | 6 +- geest/core/workflow_factory.py | 2 +- geest/core/workflows/__init__.py | 2 +- ...re_workflow.py => index_score_workflow.py} | 8 +- geest/gui/configuration_widget_factory.py | 2 +- geest/gui/datasource_widget_factory.py | 2 +- .../fixed_value_datasource_widget.py | 4 +- geest/resources/README-DEVELOPERS.md | 4 +- geest/resources/geest2.ods | Bin 35626 -> 34014 bytes geest/resources/model.json | 172 +++++++++--------- geest/resources/schema.json | 8 +- 12 files changed, 116 insertions(+), 115 deletions(-) rename geest/core/workflows/{default_index_score_workflow.py => index_score_workflow.py} (95%) diff --git a/geest/core/generate_model.py b/geest/core/generate_model.py index bac710fa..e083ec7c 100755 --- a/geest/core/generate_model.py +++ b/geest/core/generate_model.py @@ -33,10 +33,10 @@ def load_spreadsheet(self): "Indicator", "Default Indicator Factor Weighting", "ID", + "Naming convention for outputs", "Factor Description", - "Default Index Score", "Index Score", - "Use Default Index Score", + "Use Index Score", "Default Multi Buffer Distances", "Use Multi Buffer Point", "Default Single Buffer Distance", @@ -141,21 +141,24 @@ def parse_to_json(self): # These are all parsed from the spreadsheet "indicator": row["Indicator"] if not pd.isna(row["Indicator"]) else "", "id": row["ID"] if not pd.isna(row["ID"]) else "", + "output_filename": ( + row["Naming convention for outputs"] + if not pd.isna(row["Naming convention for outputs"]) + else "" + ), "description": "", "default_factor_weighting": default_factor_weighting, # Initialise the weighting to the default value "factor_weighting": default_factor_weighting, - "default_index_score": ( - row["Default Index Score"] - if not pd.isna(row["Default Index Score"]) - else "" + "index_score": ( + row["Index Score"] if not pd.isna(row["Index Score"]) else "" ), "index_score": ( row["Index Score"] if not pd.isna(row["Index Score"]) else "" ), - "use_default_index_score": ( - row["Use Default Index Score"] - if not pd.isna(row["Use Default Index Score"]) + "use_index_score": ( + row["Use Index Score"] + if not pd.isna(row["Use Index Score"]) else "" ), "default_multi_buffer_distances": ( diff --git a/geest/core/json_tree_item.py b/geest/core/json_tree_item.py index ee80afdd..342f0425 100644 --- a/geest/core/json_tree_item.py +++ b/geest/core/json_tree_item.py @@ -347,7 +347,7 @@ def getStatus(self): # Test for algs requiring vector inputs self.isIndicator() and analysis_mode - not in ["use_default_index_score", "use_environmental_hazards"] + not in ["use_index_score", "use_environmental_hazards"] and not data.get(qgis_layer_source_key, False) and not data.get(qgis_layer_shapefile_key, False) ): @@ -355,13 +355,13 @@ def getStatus(self): if ( # Test for algs requiring raster inputs self.isIndicator() - and analysis_mode not in ["use_default_index_score"] + and analysis_mode not in ["use_index_score"] and analysis_mode in ["use_environmental_hazards"] and not data.get(qgis_layer_source_key, False) and not data.get(qgis_layer_raster_key, False) ): # log_message(f"Indicator {data.get('id')} is missing a raster input") - # log_message(f"analysis_mode in use_default_index_score, use_environmental_hazards: {analysis_mode in ['use_default_index_score', 'use_environmental_hazards']}") + # log_message(f"analysis_mode in use_index_score, use_environmental_hazards: {analysis_mode in ['use_index_score', 'use_environmental_hazards']}") # log_message(f"qgis_layer_source_key: {qgis_layer_source_key}: {data.get(qgis_layer_source_key, False)}") # log_message(f"qgis_layer_raster_key: {qgis_layer_raster_key}: {data.get(qgis_layer_raster_key, False)}") return "Not configured (optional)" diff --git a/geest/core/workflow_factory.py b/geest/core/workflow_factory.py index ef64fea1..5d8d6968 100644 --- a/geest/core/workflow_factory.py +++ b/geest/core/workflow_factory.py @@ -65,7 +65,7 @@ def create_workflow( analysis_mode = attributes.get("analysis_mode", "") - if analysis_mode == "use_default_index_score": + if analysis_mode == "use_index_score": return DefaultIndexScoreWorkflow(item, cell_size_m, feedback, context) elif analysis_mode == "Do Not Use": return DontUseWorkflow(item, cell_size_m, feedback, context) diff --git a/geest/core/workflows/__init__.py b/geest/core/workflows/__init__.py index 775eb2c8..32a9af50 100644 --- a/geest/core/workflows/__init__.py +++ b/geest/core/workflows/__init__.py @@ -1,5 +1,5 @@ from .dont_use_workflow import DontUseWorkflow -from .default_index_score_workflow import DefaultIndexScoreWorkflow +from .index_score_workflow import DefaultIndexScoreWorkflow from .factor_aggregation_workflow import FactorAggregationWorkflow from .dimension_aggregation_workflow import DimensionAggregationWorkflow from .analysis_aggregation_workflow import AnalysisAggregationWorkflow diff --git a/geest/core/workflows/default_index_score_workflow.py b/geest/core/workflows/index_score_workflow.py similarity index 95% rename from geest/core/workflows/default_index_score_workflow.py rename to geest/core/workflows/index_score_workflow.py index 61670cb6..a3df85b2 100644 --- a/geest/core/workflows/default_index_score_workflow.py +++ b/geest/core/workflows/index_score_workflow.py @@ -19,7 +19,7 @@ class DefaultIndexScoreWorkflow(WorkflowBase): """ - Concrete implementation of a 'use_default_index_score' workflow. + Concrete implementation of a 'use_index_score' workflow. """ def __init__( @@ -39,11 +39,9 @@ def __init__( super().__init__( item, cell_size_m, feedback, context ) # ⭐️ Item is a reference - whatever you change in this item will directly update the tree - self.index_score = float( - (self.attributes.get("default_index_score", 0) / 100) * 5 - ) + self.index_score = float((self.attributes.get("index_score", 0) / 100) * 5) self.features_layer = True # Normally we would set this to a QgsVectorLayer but in this workflow it is not needed - self.workflow_name = "default_index_score" + self.workflow_name = "index_score" def _process_features_for_area( self, diff --git a/geest/gui/configuration_widget_factory.py b/geest/gui/configuration_widget_factory.py index 7a481fda..5a487d4e 100644 --- a/geest/gui/configuration_widget_factory.py +++ b/geest/gui/configuration_widget_factory.py @@ -43,7 +43,7 @@ def create_widget( return DontUseConfigurationWidget( analysis_mode="Do Not Use", attributes=attributes ) - if key == "use_default_index_score" and value == 1: + if key == "use_index_score" and value == 1: return IndexScoreConfigurationWidget( analysis_mode=key, attributes=attributes ) diff --git a/geest/gui/datasource_widget_factory.py b/geest/gui/datasource_widget_factory.py index 7e4e797a..ecf374fb 100644 --- a/geest/gui/datasource_widget_factory.py +++ b/geest/gui/datasource_widget_factory.py @@ -39,7 +39,7 @@ def create_widget( cleaned_key = widget_key[4:] if widget_key == "indicator_required" and value == 0: return None - if widget_key == "use_default_index_score" and value == 1: + if widget_key == "use_index_score" and value == 1: return FixedValueDataSourceWidget( widget_key=widget_key, attributes=attributes ) diff --git a/geest/gui/widgets/datasource_widgets/fixed_value_datasource_widget.py b/geest/gui/widgets/datasource_widgets/fixed_value_datasource_widget.py index 41fcbf04..33721af1 100644 --- a/geest/gui/widgets/datasource_widgets/fixed_value_datasource_widget.py +++ b/geest/gui/widgets/datasource_widgets/fixed_value_datasource_widget.py @@ -46,7 +46,7 @@ def _add_raster_layer_widgets(self) -> None: self.spin_box = QDoubleSpinBox() self.spin_box.setRange(0, 100) self.spin_box.setSingleStep(1) - self.spin_box.setValue(self.attributes.get(f"default_index_score", 0)) + self.spin_box.setValue(self.attributes.get(f"index_score", 0)) self.layout.addWidget(self.spin_box) def update_attributes(self): @@ -60,4 +60,4 @@ def update_attributes(self): """ # Collect data for the raster layerfactorlayer_data_weighting value = self.spin_box.value() - self.attributes["default_index_score"] = value + self.attributes["index_score"] = value diff --git a/geest/resources/README-DEVELOPERS.md b/geest/resources/README-DEVELOPERS.md index 168721cf..c8828393 100644 --- a/geest/resources/README-DEVELOPERS.md +++ b/geest/resources/README-DEVELOPERS.md @@ -19,9 +19,9 @@ graph TB D --> D2[id: string] D --> D3[description: string] D --> D4[default_factor_weighting: number] - D --> D5[default_index_score: integer] + D --> D5[index_score: integer] D --> D6[index_score: integer] - D --> D7[use_default_index_score: integer] + D --> D7[use_index_score: integer] D --> D8[default_multi_buffer_distances: string] D --> D9[use_multi_buffer_point: integer] D --> D10[default_single_buffer_distance: integer] diff --git a/geest/resources/geest2.ods b/geest/resources/geest2.ods index 459d1c9eef77fcee4bdf8109d6789d9685444ec0..76dcac5aa07b3eadd0c34da34715100d991e0c33 100644 GIT binary patch delta 32266 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 delta 33954 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 diff --git a/geest/resources/model.json b/geest/resources/model.json index 6c659f98..c8ea4b11 100644 --- a/geest/resources/model.json +++ b/geest/resources/model.json @@ -16,18 +16,18 @@ { "indicator": "WBL 2024 Workplace Index Score", "id": "Workplace_Index", + "output_filename": "WD_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 100, - "use_default_index_score": 1, + "use_index_score": 1, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": "", + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -49,18 +49,18 @@ { "indicator": "Average value of WBL Pay Score and Parenthood Index Score", "id": "Pay_Parenthood_Index", + "output_filename": "RF_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 100, - "use_default_index_score": 1, + "use_index_score": 1, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": "", + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -82,18 +82,18 @@ { "indicator": "WBL 2024 Entrepeneurship Index Score", "id": "Entrepeneurship_Index", + "output_filename": "FIN_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 100, - "use_default_index_score": 1, + "use_index_score": 1, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": "", + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -124,18 +124,18 @@ { "indicator": "Location of kindergartens/childcare", "id": "Kindergartens_Location", + "output_filename": "WTP_Kindergartens_output", "description": "", "default_factor_weighting": 0.2, "factor_weighting": 0.2, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, - "default_multi_buffer_distances": "250, 500, 750, 1000, 1250", + "use_index_score": 0, + "default_multi_buffer_distances": "400, 800, 1200, 1500, 2000", "use_multi_buffer_point": 1, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": "", + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -148,18 +148,18 @@ { "indicator": "Location of primary schools", "id": "Primary_School_Location", + "output_filename": "WTP_Primary_Schools_output", "description": "", "default_factor_weighting": 0.2, "factor_weighting": 0.2, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, - "default_multi_buffer_distances": "250, 500, 750, 1000, 1250", + "use_index_score": 0, + "default_multi_buffer_distances": "400, 800, 1200, 1500, 2000", "use_multi_buffer_point": 1, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": "", + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -172,18 +172,18 @@ { "indicator": "Location of groceries", "id": "Groceries_Location", + "output_filename": "WTP_Groceries_output", "description": "", "default_factor_weighting": 0.2, "factor_weighting": 0.2, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, - "default_multi_buffer_distances": "250, 500, 750, 1000, 1250", + "use_index_score": 0, + "default_multi_buffer_distances": "400, 800, 1200, 1500, 2000", "use_multi_buffer_point": 1, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -196,18 +196,18 @@ { "indicator": "Location of pharmacies", "id": "Pharmacies_Location", + "output_filename": "WTP_Pharmacies_output", "description": "", "default_factor_weighting": 0.2, "factor_weighting": 0.2, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, - "default_multi_buffer_distances": "250, 500, 750, 1000, 1250", + "use_index_score": 0, + "default_multi_buffer_distances": "400, 800, 1200, 1500, 2000", "use_multi_buffer_point": 1, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -220,18 +220,18 @@ { "indicator": "Location of green spaces", "id": "Green_Space_location", + "output_filename": "WTP_Green_Spaces_output", "description": "", "default_factor_weighting": 0.2, "factor_weighting": 0.2, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, - "default_multi_buffer_distances": "250, 500, 750, 1000, 1250", + "use_index_score": 0, + "default_multi_buffer_distances": "400, 800, 1200, 1500, 2000", "use_multi_buffer_point": 1, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -253,18 +253,18 @@ { "indicator": "Location of public transportation stops, including maritime", "id": "Pulic_Transport_location", + "output_filename": "PBT_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "250, 500, 750, 1000, 1250", "use_multi_buffer_point": 1, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -286,18 +286,18 @@ { "indicator": "Location of hospitals and clinics", "id": "Hospital_Location", + "output_filename": "HEF_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, - "default_multi_buffer_distances": "250, 500, 750, 1000, 1250", + "use_index_score": 0, + "default_multi_buffer_distances": "2000, 4000, 6000, 8000, 10000", "use_multi_buffer_point": 1, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -319,18 +319,18 @@ { "indicator": "Location of universities and technical schools", "id": "Universities_Location", + "output_filename": "ETF_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, - "default_multi_buffer_distances": "250, 500, 750, 1000, 1250", + "use_index_score": 0, + "default_multi_buffer_distances": "2000, 4000, 6000, 8000, 10000", "use_multi_buffer_point": 1, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -352,18 +352,18 @@ { "indicator": "Location of Banks and other FF", "id": "Banks_Location", + "output_filename": "FIF_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, - "default_multi_buffer_distances": "250, 500, 750, 1000, 1250", + "use_index_score": 0, + "default_multi_buffer_distances": "400, 800, 1200, 2000, 3000", "use_multi_buffer_point": 1, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -394,18 +394,18 @@ { "indicator": "Location of street crossings", "id": "Street_Crossing_Location", + "output_filename": "AT_Crosswalks_output", "description": "", "default_factor_weighting": 0.25, "factor_weighting": 0.25, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -418,18 +418,18 @@ { "indicator": "Location of cycle paths", "id": "Cycle_Paths_Location", + "output_filename": "AT_Cycle_Paths_output", "description": "", "default_factor_weighting": 0.25, "factor_weighting": 0.25, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 1, @@ -442,18 +442,18 @@ { "indicator": "Location of footpaths", "id": "Footpaths_Location", + "output_filename": "AT_Pathways_output", "description": "", "default_factor_weighting": 0.25, "factor_weighting": 0.25, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 1, @@ -466,18 +466,18 @@ { "indicator": "Block Layout", "id": "Block_Layout", + "output_filename": "AT_Block_Lengths_output", "description": "", "default_factor_weighting": 0.25, "factor_weighting": 0.25, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 1, "use_polyline_per_cell": 0, @@ -499,18 +499,18 @@ { "indicator": "Street lights/Nigthttime lights", "id": "Street_Lights", + "output_filename": "SAF_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 100, - "use_default_index_score": 1, + "use_index_score": 1, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 1.0, + "use_classify_safety_polygon_into_classes": 1, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -532,18 +532,18 @@ { "indicator": "ACLED data (Violence Estimated Events)", "id": "FCV", + "output_filename": "FCV_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 5000, "use_single_buffer_point": 1, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 1, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -565,18 +565,18 @@ { "indicator": "percentage of the labor force comprising women with university degrees", "id": "Education", + "output_filename": "EDU_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 100, - "use_default_index_score": 1, + "use_index_score": 1, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 1, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -598,18 +598,18 @@ { "indicator": "Individuals using the Internet (% of population)", "id": "Digital_Inclusion", + "output_filename": "DIG_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 100, - "use_default_index_score": 1, + "use_index_score": 1, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 1, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -631,18 +631,18 @@ { "indicator": "Fire Hazards", "id": "Fire", + "output_filename": "ENV_Fires_output", "description": "", "default_factor_weighting": 0.2, "factor_weighting": 0.2, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -655,18 +655,18 @@ { "indicator": "Flood Hazards", "id": "Flood", + "output_filename": "ENV_Floods_output", "description": "", "default_factor_weighting": 0.2, "factor_weighting": 0.2, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -679,18 +679,18 @@ { "indicator": "Landslide", "id": "Landslide", + "output_filename": "ENV_Landslides_output", "description": "", "default_factor_weighting": 0.2, "factor_weighting": 0.2, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -703,18 +703,18 @@ { "indicator": "Tropical Cyclone", "id": "Cyclone", + "output_filename": "ENV_Cyclones_output", "description": "", "default_factor_weighting": 0.2, "factor_weighting": 0.2, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -727,18 +727,18 @@ { "indicator": "Drought", "id": "Drought", + "output_filename": "ENV_Drought_output", "description": "", "default_factor_weighting": 0.2, "factor_weighting": 0.2, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 0, "use_single_buffer_point": 0, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, @@ -760,18 +760,18 @@ { "indicator": "Water points (OSM), catch basins, water valves and fire hydrants", "id": "Water_Sanitation", + "output_filename": "WAS_output", "description": "", "default_factor_weighting": 1.0, "factor_weighting": 1.0, - "default_index_score": 0, "index_score": 0, - "use_default_index_score": 0, + "use_index_score": 0, "default_multi_buffer_distances": "0,0,0", "use_multi_buffer_point": 0, "default_single_buffer_distance": 1000, "use_single_buffer_point": 1, "use_classify_polygon_into_classes": 0, - "use_classify_safety_polygon_into_classes": 0.0, + "use_classify_safety_polygon_into_classes": 0, "use_csv_to_point_layer": 0, "use_polygon_per_cell": 0, "use_polyline_per_cell": 0, diff --git a/geest/resources/schema.json b/geest/resources/schema.json index 88f310b8..1709254e 100644 --- a/geest/resources/schema.json +++ b/geest/resources/schema.json @@ -56,13 +56,13 @@ "default_factor_weighting": { "type": "number" }, - "default_index_score": { + "index_score": { "type": "integer" }, "index_score": { "type": "integer" }, - "use_default_index_score": { + "use_index_score": { "type": "integer" }, "default_multi_buffer_distances": { @@ -140,9 +140,9 @@ "id", "description", "default_factor_weighting", - "default_index_score", "index_score", - "use_default_index_score", + "index_score", + "use_index_score", "default_multi_buffer_distances", "use_multi_buffer_point", "default_single_buffer_distance",