cluster together adjacent grid tiles
import geopandas as gpd
import numpy as np
from geowrangler import grids
np.random.seed(1562)
region3_gdf = gpd.read_file("../data/region3_admin.geojson")
grid_generator5k = grids.SquareGridGenerator(5_000)
grid_gdf5k = grid_generator5k.generate_grid(region3_gdf)
grid_gdf5k.head()
grid_gdf5k.plot()
%%time
grid_gdf5k["score"] = np.random.random(len(grid_gdf5k))
grid_gdf5k["class"] = grid_gdf5k["score"] > 0.7
grid_gdf5k.head()
%%time
tileclustering = TileClustering()
grid_gdf5k = tileclustering.cluster_tiles(grid_gdf5k, category_col="class")
grid_gdf5k.head()
grid_gdf5k["tile_cluster"].nunique()
grid_gdf5k.plot(column="class", categorical=True, cmap="Spectral")