@@ -1133,6 +1133,36 @@ def save_stitched(self, path, crop_bounds=None, crop_dimensions=None):
1133
1133
else :
1134
1134
self .srdd .save_stitched (path )
1135
1135
1136
+ def star_series (self , geometries , fn ):
1137
+ if not self .layer_type == LayerType .SPACETIME :
1138
+ raise ValueError ("Only Spatio-Temporal layers can use this function." )
1139
+
1140
+ if not isinstance (geometries , list ):
1141
+ geometries = [geometries ]
1142
+ wkbs = [shapely .wkb .dumps (g ) for g in geometries ]
1143
+
1144
+ return [(t ._1 (), t ._2 ()) for t in list (fn (wkbs ))]
1145
+
1146
+ def histogram_series (self , geometries ):
1147
+ fn = self .srdd .histogramSeries
1148
+ return self .star_series (geometries , fn )
1149
+
1150
+ def mean_series (self , geometries ):
1151
+ fn = self .srdd .meanSeries
1152
+ return self .star_series (geometries , fn )
1153
+
1154
+ def max_series (self , geometries ):
1155
+ fn = self .srdd .maxSeries
1156
+ return self .star_series (geometries , fn )
1157
+
1158
+ def min_series (self , geometries ):
1159
+ fn = self .srdd .minSeries
1160
+ return self .star_series (geometries , fn )
1161
+
1162
+ def sum_series (self , geometries ):
1163
+ fn = self .srdd .sumSeries
1164
+ return self .star_series (geometries , fn )
1165
+
1136
1166
def mask (self , geometries ):
1137
1167
"""Masks the ``TiledRasterLayer`` so that only values that intersect the geometries will
1138
1168
be available.
0 commit comments