From 79072fc97fb0804a629f0b96820cbc0fa57d432f Mon Sep 17 00:00:00 2001 From: Ford Date: Thu, 31 Oct 2024 11:59:41 -0600 Subject: [PATCH] GeospatialScenario.meta_KDtree --- pvdeg/geospatial.py | 4 ++-- pvdeg/scenario.py | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/pvdeg/geospatial.py b/pvdeg/geospatial.py index c9cb0d2ca..2e4bab50c 100644 --- a/pvdeg/geospatial.py +++ b/pvdeg/geospatial.py @@ -546,7 +546,7 @@ def meta_KDtree(meta_df, leaf_size=40, fp=None): Create a sklearn.neighbors.KDTree for fast geospatial lookup operations. Requires Scikit Learn library. Not included in pvdeg depency list. - Parameters: + Parameters ----------- meta_df: pd.DataFrame Dataframe of metadata as generated by pvdeg.weather.get for geospatial @@ -557,7 +557,7 @@ def meta_KDtree(meta_df, leaf_size=40, fp=None): If none, no file saved. must be ``.pkl`` file extension. Open saved pkl file with joblib (sklearn dependency). - Returns: + Returns -------- kdtree: sklearn.neighbors.KDTree kdtree containing latitude-longitude pairs for quick lookups diff --git a/pvdeg/scenario.py b/pvdeg/scenario.py index aab8afaec..8f1c68f27 100644 --- a/pvdeg/scenario.py +++ b/pvdeg/scenario.py @@ -1397,6 +1397,27 @@ def classify_mountains_weights( self.meta_data["mountain"] = (self.meta_data.index).isin(gids) return + def meta_KDtree(self, leaf_size=40, fp=None): + """ + Create a KDTree from this scenario's current metadata + + Parameters + ---------- + leaf_size: + Number of points at which to switch to brute-force. See sci kit docs. + fp: str, optional + Location to save pickled kdtree so we don't have to rebuild the tree. + If none, no file saved. must be ``.pkl`` file extension. Open saved + pkl file with joblib (sklearn dependency). + + Returns + -------- + kdtree: sklearn.neighbors.KDTree + kdtree containing latitude-longitude pairs for quick lookups + """ + + return pvdeg.geospatial.meta_KDtree(meta_df=self.meta_data, leaf_size=leaf_size, fp=fp) + def classify_feature( self, kdtree=None,