ssb-sgis 1.2.7__py3-none-any.whl → 1.2.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -432,7 +432,7 @@ def _run_func_by_cluster(
432
432
 
433
433
  def get_group_clusters(group: GeoDataFrame):
434
434
  """Adds cluster column. Applied to each group because much faster."""
435
- group = group.reset_index(drop=True)
435
+ group = group[~group.is_empty].reset_index(drop=True)
436
436
  group["_cluster"] = get_cluster_mapper(group, predicate=predicate)
437
437
  group["_cluster"] = get_grouped_centroids(group, groupby="_cluster")
438
438
  return group
sgis/maps/explore.py CHANGED
@@ -779,9 +779,13 @@ class Explore(Map):
779
779
  for tile in tiles:
780
780
  to_tile(tile, max_zoom=self.max_zoom).add_to(mapobj)
781
781
 
782
- def _add_wms(self, map_: folium.Map, bbox: Any) -> None:
782
+ def _add_wms(self, map_: folium.Map) -> None:
783
+ try:
784
+ gdf = self._gdf.to_crs(4326)
785
+ except Exception:
786
+ gdf = self._gdf.set_crs(4326)
783
787
  for wms in self.wms:
784
- tiles = wms.get_tiles(bbox, max_zoom=self.max_zoom)
788
+ tiles = wms.get_tiles(gdf, max_zoom=self.max_zoom)
785
789
  for tile in tiles.values():
786
790
  map_.add_child(tile)
787
791
 
@@ -995,7 +999,7 @@ class Explore(Map):
995
999
  # folium.LayerControl(collapsed=False).add_to(m)
996
1000
 
997
1001
  if self.wms:
998
- self._add_wms(m, bounds)
1002
+ self._add_wms(m)
999
1003
 
1000
1004
  return m
1001
1005
 
sgis/maps/maps.py CHANGED
@@ -197,10 +197,13 @@ def explore(
197
197
 
198
198
  bounds: Polygon = box(*get_total_bounds(*gdfs, *list(kwargs.values())))
199
199
 
200
- any_intersections: bool = mask.intersects(bounds).any()
200
+ if bounds is not None:
201
+ any_intersections: bool = mask.intersects(bounds).any()
202
+ else:
203
+ any_intersections = False
201
204
  if not any_intersections and to_crs is None:
202
205
  mask = to_gdf(Polygon(), to_crs)
203
- elif not any_intersections:
206
+ elif not any_intersections and bounds is not None:
204
207
  bounds4326 = to_gdf(bounds, to_crs).to_crs(25833).geometry.iloc[0]
205
208
  mask4326 = mask.set_crs(4326, allow_override=True).to_crs(25833)
206
209