From c1adb19c77c316262317fe33b76a8469a80fc1ee Mon Sep 17 00:00:00 2001
From: Hans Roelofsen <hans.roelofsen@wur.nl>
Date: Wed, 18 Dec 2024 16:34:28 +0100
Subject: [PATCH] fix to land type selection

---
 mnp/evaluation/subselection_output.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/mnp/evaluation/subselection_output.py b/mnp/evaluation/subselection_output.py
index e9ff633..bf379d8 100644
--- a/mnp/evaluation/subselection_output.py
+++ b/mnp/evaluation/subselection_output.py
@@ -762,6 +762,7 @@ class LandTypeMap(SubselectionOutput):
     def __init__(
         self,
         subselection_evaluation: SubselectionEvaluation,
+        land_types: dict,
         parameters: MNPParameters,
         output_path: str = "",
     ):
@@ -769,15 +770,18 @@ class LandTypeMap(SubselectionOutput):
             output_path=output_path
         )
         self.subselection_name = subselection_evaluation.name
+        self.land_types = land_types
         self.species_codes = subselection_evaluation.species_codes
         self.suitability_indexes = parameters.land_type_suitabilities.copy()
         self.parameters = parameters
         self.legend = None
 
     def create(self):
-        selected_land_type_codes = pd.unique(
-            self.suitability_indexes.loc[self.species_codes, "land_type_code"]
-        )
+
+        selected_land_type_codes = self.suitability_indexes.loc[
+            self.suitability_indexes.index.isin(self.species_codes)
+            & self.suitability_indexes.land_type_code.isin(self.land_types.keys()),
+        ].dropna(axis=0, how="all").land_type_code.unique()
 
         land_type_legend = pd.read_csv(
             os.path.join(self.parameters.folders["land_types"], "land_types.csv"), 
@@ -954,6 +958,7 @@ def add_output_to_subselection(
         evaluation.output.update(
             land_type_map=LandTypeMap(
                 subselection_evaluation=evaluation,
+                land_types=land_types,
                 parameters=parameters,
                 output_path=os.path.join(
                     parameters.folders[f"{evaluation.name}_hotspot_maps"],
-- 
GitLab