Skip to content

Commit

Permalink
GeospatialScenario.meta_KDtree
Browse files Browse the repository at this point in the history
  • Loading branch information
tobin-ford committed Oct 31, 2024
1 parent 1c95743 commit 79072fc
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
4 changes: 2 additions & 2 deletions pvdeg/geospatial.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
21 changes: 21 additions & 0 deletions pvdeg/scenario.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit 79072fc

Please sign in to comment.