Grid Module¶
gigaspatial.grid ¶
h3 ¶
CountryH3Hexagons ¶
Bases: H3Hexagons
H3Hexagons specialized for country-level operations.
Extends H3Hexagons to work specifically with country boundaries retrieved from the Giga administrative boundary dataset.
Note
Instances should be created using the create() factory method.
Attributes:
| Name | Type | Description |
|---|---|---|
country | str | ISO 3166-1 alpha-3 country code. |
Source code in gigaspatial/grid/h3.py
create(country, resolution, contain='overlap', data_store=None, country_geom_path=None) classmethod ¶
Factory method to create H3Hexagons for a specific country's boundary.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
country | str | ISO country code (3-letter alpha-3) or name. | required |
resolution | int | Target H3 resolution (0-15). | required |
contain | Literal['center', 'full', 'overlap', 'bbox_overlap'] | Containment logic for mapping the geometry to cells. Defaults to 'overlap'. | 'overlap' |
data_store | Optional[DataStore] | Optional storage interface for boundary lookup. | None |
country_geom_path | Optional[Union[str, Path]] | Optional path override for the boundary file. | None |
Returns:
| Type | Description |
|---|---|
CountryH3Hexagons | A new CountryH3Hexagons instance fully populated for the country. |
Source code in gigaspatial/grid/h3.py
H3Hexagons ¶
Bases: BaseModel
Representation of a collection of H3 hexagons at a specific resolution.
Provides utility methods to create, filter, manipulate, and export H3 hexagonal grids for spatial analysis. Handles conversion between coordinate pairs, geometries, and H3 cell IDs.
Attributes:
| Name | Type | Description |
|---|---|---|
resolution | int | H3 resolution level (0-15). |
hexagons | List[str] | List of H3 cell ID strings. |
data_store | DataStore | Storage interface for I/O operations. |
logger | ClassVar | Class-level logger. |
Source code in gigaspatial/grid/h3.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 | |
average_hexagon_area: float property ¶
Calculates the average area of hexagons at the current resolution.
Returns:
| Type | Description |
|---|---|
float | Average area in square kilometers. |
average_hexagon_edge_length: float property ¶
Calculates the average edge length of hexagons at the current resolution.
Returns:
| Type | Description |
|---|---|
float | Average edge length in kilometers. |
filter_hexagons(hexagons) ¶
Filters the current collection against a provided set of hexagon IDs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hexagons | Iterable[str] | An iterable of H3 cell ID strings to keep. | required |
Returns:
| Type | Description |
|---|---|
H3Hexagons | A new H3Hexagons instance containing only the intersecting cells. |
Source code in gigaspatial/grid/h3.py
from_bounds(xmin, ymin, xmax, ymax, resolution) classmethod ¶
Create H3Hexagons covering the specified geographic bounding box.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
xmin | float | Minimum longitude. | required |
ymin | float | Minimum latitude. | required |
xmax | float | Maximum longitude. | required |
ymax | float | Maximum latitude. | required |
resolution | int | H3 resolution level. | required |
Returns:
| Type | Description |
|---|---|
H3Hexagons | A new H3Hexagons instance covering the bounds. |
Source code in gigaspatial/grid/h3.py
from_geometry(geometry, resolution, contain='overlap', **kwargs) classmethod ¶
Create H3Hexagons from a Shapely geometry.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
geometry | BaseGeometry | Input geometry (Polygon, MultiPolygon, etc.). | required |
resolution | int | H3 resolution level. | required |
contain | Literal['center', 'full', 'overlap', 'bbox_overlap'] | Containment logic for H3 cell generation. | 'overlap' |
**kwargs | Additional metadata parameters. | {} |
Returns:
| Type | Description |
|---|---|
H3Hexagons | H3Hexagons instance covering the geometry. |
Source code in gigaspatial/grid/h3.py
from_hexagons(hexagons) classmethod ¶
Create H3Hexagons from a list of H3 cell IDs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hexagons | List[str] | List of H3 cell hashes. | required |
Returns:
| Type | Description |
|---|---|
H3Hexagons | A new H3Hexagons instance. |
Source code in gigaspatial/grid/h3.py
from_json(data_store, file, **kwargs) classmethod ¶
Load H3Hexagons from a JSON file in storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data_store | DataStore | DataStore instance for the file. | required |
file | Union[str, Path] | Path to the JSON file. | required |
**kwargs | Metadata overrides. | {} |
Returns:
| Type | Description |
|---|---|
H3Hexagons | H3Hexagons instance loaded from file. |
Source code in gigaspatial/grid/h3.py
from_points(points, resolution, **kwargs) classmethod ¶
Create H3Hexagons from a list of point coordinates.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
points | List[Union[Point, Tuple[float, float]]] | List of points as Shapely Points or (lon, lat) tuples. | required |
resolution | int | H3 resolution level. | required |
**kwargs | Additional metadata parameters. | {} |
Returns:
| Type | Description |
|---|---|
H3Hexagons | H3Hexagons instance containing cells for all points. |
Source code in gigaspatial/grid/h3.py
from_spatial(source, resolution, contain='overlap', **kwargs) classmethod ¶
Factory method to create H3Hexagons from various spatial sources.
Handles GeoDataFrames, Shapely geometries, and lists of coordinate points.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source | Union[BaseGeometry, GeoDataFrame, List[Union[Point, Tuple[float, float]]]] | Spatial data source. | required |
resolution | int | Target H3 resolution. | required |
contain | Literal['center', 'full', 'overlap', 'bbox_overlap'] | H3 spatial containment logic. | 'overlap' |
**kwargs | Forwarded to specific factory methods (e.g., from_geometry). | {} |
Returns:
| Type | Description |
|---|---|
H3Hexagons | A new H3Hexagons instance. |
Source code in gigaspatial/grid/h3.py
get_children(target_resolution) ¶
Generates all child hexagons at a higher resolution.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
target_resolution | int | The target H3 resolution (must be > current). | required |
Returns:
| Type | Description |
|---|---|
H3Hexagons | A new H3Hexagons instance with children at the target resolution. |
Raises:
| Type | Description |
|---|---|
ValueError | If |
Source code in gigaspatial/grid/h3.py
get_compact_representation() ¶
Merges adjacent hexagons into parent cells where possible (compacting).
Returns:
| Type | Description |
|---|---|
H3Hexagons | A new H3Hexagons instance in compacted form. Note that this may |
H3Hexagons | result in a set containing cells of multiple resolutions. |
Source code in gigaspatial/grid/h3.py
get_hexagons_from_points(points, resolution) staticmethod ¶
Get list of H3 hexagon IDs for the provided points at specified resolution.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
points | List[Union[Point, Tuple[float, float]]] | List of points as either shapely Points or (lon, lat) tuples | required |
resolution | int | H3 resolution level | required |
Returns:
| Type | Description |
|---|---|
List[str] | List of H3 hexagon ID strings |
Source code in gigaspatial/grid/h3.py
get_neighbors(k=1) ¶
Calculates k-ring neighbors for all hexagons in the collection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
k | int | The distance of neighbors to retrieve (1 for immediate neighbors). Defaults to 1. | 1 |
Returns:
| Type | Description |
|---|---|
H3Hexagons | A new H3Hexagons instance containing the neighbors. |
Source code in gigaspatial/grid/h3.py
get_parents(target_resolution) ¶
Retrieves parent hexagons at a lower resolution.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
target_resolution | int | The target H3 resolution (must be < current). | required |
Returns:
| Type | Description |
|---|---|
H3Hexagons | A new H3Hexagons instance with parents at the target resolution. |
Raises:
| Type | Description |
|---|---|
ValueError | If |
Source code in gigaspatial/grid/h3.py
save(file, format='json') ¶
Saves the H3Hexagons collection to persistent storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file | Union[str, Path] | The destination file path. | required |
format | str | The output format. Supported: 'json', 'parquet', 'geojson'. Defaults to 'json'. | 'json' |
Raises:
| Type | Description |
|---|---|
ValueError | If an unsupported format is provided. |
Source code in gigaspatial/grid/h3.py
to_dataframe() ¶
Converts the hexagon collection to a pandas DataFrame.
Returns:
| Type | Description |
|---|---|
DataFrame | A DataFrame with 'hexagon', 'latitude', and 'longitude' columns. |
Source code in gigaspatial/grid/h3.py
to_geodataframe() ¶
Converts the hexagon collection to a GeoPandas GeoDataFrame.
Returns:
| Type | Description |
|---|---|
GeoDataFrame | A GeoDataFrame with 'h3' and 'geometry' columns. |
Source code in gigaspatial/grid/h3.py
to_geoms() ¶
Converts hexagons to a list of Shapely Polygon geometries.
Returns:
| Type | Description |
|---|---|
List[Polygon] | A list of Polygons representing the cell boundaries. |
Source code in gigaspatial/grid/h3.py
mercator_tiles ¶
CountryMercatorTiles ¶
Bases: MercatorTiles
MercatorTiles specialized for country-level operations.
Extends MercatorTiles to work specifically with country boundaries retrieved from the Giga administrative boundary dataset.
Note
Instances should be created using the create() factory method.
Attributes:
| Name | Type | Description |
|---|---|---|
country | str | ISO 3166-1 alpha-3 country code. |
Source code in gigaspatial/grid/mercator_tiles.py
create(country, zoom_level, predicate='intersects', data_store=None, country_geom_path=None) classmethod ¶
Factory method to create MercatorTiles for a specific country's boundary.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
country | str | ISO country code (3-letter alpha-3) or name. | required |
zoom_level | int | Target Web Mercator zoom level (0-20). | required |
predicate | str | Spatial join predicate for the boundary. Defaults to 'intersects'. | 'intersects' |
data_store | Optional[DataStore] | Optional storage interface for boundary lookup. | None |
country_geom_path | Optional[Union[str, Path]] | Optional path override for the boundary file. | None |
Returns:
| Type | Description |
|---|---|
CountryMercatorTiles | A new CountryMercatorTiles instance fully populated for the country. |
Source code in gigaspatial/grid/mercator_tiles.py
MercatorTiles ¶
Bases: BaseModel
Representation of a collection of Web Mercator tiles as quadkeys.
Provides utility methods to create, filter, and manipulate Web Mercator grids for spatial analysis. Handles conversion between coordinate pairs, geometries, and quadkey strings.
Attributes:
| Name | Type | Description |
|---|---|---|
zoom_level | int | Web Mercator zoom level (0-20). |
quadkeys | List[str] | List of quadkey strings. |
data_store | DataStore | Storage interface for I/O operations. |
logger | ClassVar | Class-level logger. |
Source code in gigaspatial/grid/mercator_tiles.py
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 | |
filter_quadkeys(quadkeys) ¶
Filters the current collection against a provided set of quadkeys.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
quadkeys | Iterable[str] | An iterable of quadkey strings to keep. | required |
Returns:
| Type | Description |
|---|---|
MercatorTiles | A new MercatorTiles instance containing only the intersecting tiles. |
Source code in gigaspatial/grid/mercator_tiles.py
from_bounds(xmin, ymin, xmax, ymax, zoom_level) classmethod ¶
Create MercatorTiles covering the specified geographic bounding box.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
xmin | float | Minimum longitude. | required |
ymin | float | Minimum latitude. | required |
xmax | float | Maximum longitude. | required |
ymax | float | Maximum latitude. | required |
zoom_level | int | Web Mercator zoom level. | required |
Returns:
| Type | Description |
|---|---|
MercatorTiles | A new MercatorTiles instance covering the bounds. |
Source code in gigaspatial/grid/mercator_tiles.py
from_geometry(geometry, zoom_level, predicate='intersects', **kwargs) classmethod ¶
Create MercatorTiles from a Shapely geometry.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
geometry | BaseGeometry | Input geometry. | required |
zoom_level | int | Web Mercator zoom level. | required |
predicate | str | Spatial join predicate. | 'intersects' |
**kwargs | Additional metadata parameters. | {} |
Returns:
| Type | Description |
|---|---|
MercatorTiles | MercatorTiles instance covering the geometry. |
Source code in gigaspatial/grid/mercator_tiles.py
from_json(data_store, file, **kwargs) classmethod ¶
Load MercatorTiles from a JSON file in storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data_store | DataStore | DataStore instance for the file. | required |
file | Union[str, Path] | Path to the JSON file. | required |
**kwargs | Metadata overrides. | {} |
Returns:
| Type | Description |
|---|---|
MercatorTiles | MercatorTiles instance loaded from file. |
Source code in gigaspatial/grid/mercator_tiles.py
from_points(points, zoom_level, **kwargs) classmethod ¶
Creates a MercatorTiles collection from a list of points.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
points | List[Union[Point, Tuple[float, float]]] | List of points as Shapely Points or (lon, lat) tuples. | required |
zoom_level | int | Web Mercator zoom level (0-20). | required |
**kwargs | Additional metadata parameters. | {} |
Returns:
| Type | Description |
|---|---|
MercatorTiles | A new MercatorTiles instance containing tiles for all points. |
Source code in gigaspatial/grid/mercator_tiles.py
from_quadkeys(quadkeys) classmethod ¶
Create MercatorTiles from a list of quadkeys.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
quadkeys | Iterable[Union[str, int]] | Iterable of quadkey strings or integers. | required |
Returns:
| Type | Description |
|---|---|
MercatorTiles | A new MercatorTiles instance. |
Source code in gigaspatial/grid/mercator_tiles.py
from_spatial(source, zoom_level, predicate='intersects', **kwargs) classmethod ¶
Factory method to create MercatorTiles from various spatial sources.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source | Union[BaseGeometry, GeoDataFrame, List[Union[Point, Tuple[float, float]]]] | Spatial data source (Geometry, GDF, or points). | required |
zoom_level | int | Web Mercator zoom level. | required |
predicate | str | Spatial predicate for containment ('intersects', 'within'). | 'intersects' |
**kwargs | Forwarded to specific factory methods. | {} |
Returns:
| Type | Description |
|---|---|
MercatorTiles | A new MercatorTiles instance. |
Source code in gigaspatial/grid/mercator_tiles.py
get_quadkeys_from_points(points, zoom_level) staticmethod ¶
Get list of quadkeys for the provided points at specified zoom level.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
points | List[Union[Point, Tuple[float, float]]] | List of points as either shapely Points or (lon, lat) tuples | required |
zoom_level | int | Zoom level for the quadkeys | required |
Returns:
| Type | Description |
|---|---|
List[str] | List of quadkey strings |
Source code in gigaspatial/grid/mercator_tiles.py
save(file, format='json') ¶
Saves the MercatorTiles collection to persistent storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file | Union[str, Path] | The destination file path. | required |
format | str | The output format. Supported: 'json', 'parquet', 'geojson'. Defaults to 'json'. | 'json' |
Raises:
| Type | Description |
|---|---|
ValueError | If an unsupported format is provided. |
Source code in gigaspatial/grid/mercator_tiles.py
to_dataframe() ¶
Converts the tile collection to a pandas DataFrame.
Returns:
| Type | Description |
|---|---|
DataFrame | A DataFrame with 'quadkey', 'latitude', and 'longitude' columns. |
Source code in gigaspatial/grid/mercator_tiles.py
to_geodataframe() ¶
Converts the tile collection to a GeoPandas GeoDataFrame.
Returns:
| Type | Description |
|---|---|
GeoDataFrame | A GeoDataFrame with 'quadkey' and 'geometry' columns. |
Source code in gigaspatial/grid/mercator_tiles.py
to_geoms() ¶
Converts quadkeys into a list of Shapely box (polygon) geometries.
Returns:
| Type | Description |
|---|---|
List[box] | A list of boxes representing the tile boundaries. |
Source code in gigaspatial/grid/mercator_tiles.py
s2 ¶
CountryS2Cells ¶
Bases: S2Cells
S2Cells specialized for country-level operations.
This class extends S2Cells to work specifically with country boundaries. It can only be instantiated through the create() classmethod.
Source code in gigaspatial/grid/s2.py
create(country, level, max_cells=1000, data_store=None, country_geom_path=None) classmethod ¶
Create CountryS2Cells for a specific country.
Source code in gigaspatial/grid/s2.py
S2Cells ¶
Bases: BaseModel
S2Cells class for generating and managing Google S2 cell grids.
S2 uses levels 0-30, where higher levels represent finer resolution. Level 0 covers the largest area and level 30 the smallest.
Source code in gigaspatial/grid/s2.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 | |
average_cell_area property ¶
Average area of cells at this level in square meters.
filter_cells(cells) ¶
Filter cells by a given set of cell IDs.
Source code in gigaspatial/grid/s2.py
from_bounds(xmin, ymin, xmax, ymax, level, max_cells=100) classmethod ¶
Create S2Cells from boundary coordinates.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
xmin, | (ymin, xmax, ymax) | Bounding box coordinates in degrees | required |
level | int | S2 level (0-30) | required |
max_cells | int | Maximum number of cells to generate | 100 |
Source code in gigaspatial/grid/s2.py
from_cells(cells) classmethod ¶
Create S2Cells from list of S2 cell IDs (integers or tokens).
Source code in gigaspatial/grid/s2.py
from_geometry(geometry, level, max_cells=1000, **kwargs) classmethod ¶
Create S2Cells from a geometry.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
geometry | BaseGeometry | Shapely geometry | required |
level | int | S2 level (0-30) | required |
max_cells | int | Maximum number of cells to generate | 1000 |
Source code in gigaspatial/grid/s2.py
from_json(data_store, file, **kwargs) classmethod ¶
Load S2Cells from a JSON file.
Source code in gigaspatial/grid/s2.py
from_points(points, level, **kwargs) classmethod ¶
Create S2Cells from a list of points or lat-lon pairs.
Source code in gigaspatial/grid/s2.py
from_spatial(source, level, max_cells=1000, **kwargs) classmethod ¶
Create S2Cells from various spatial sources.
Source code in gigaspatial/grid/s2.py
get_cells_from_points(points, level) staticmethod ¶
Get list of S2 cell IDs for the provided points at specified level.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
points | List[Union[Point, Tuple[float, float]]] | List of points as either shapely Points or (lon, lat) tuples | required |
level | int | S2 level | required |
Returns:
| Type | Description |
|---|---|
List[int] | List of S2 cell IDs as integers |
Source code in gigaspatial/grid/s2.py
get_children(target_level) ¶
Get children cells at higher level.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
target_level | int | Target level (must be higher than current) | required |
Returns:
| Type | Description |
|---|---|
S2Cells | New S2Cells instance with children at target level |
Source code in gigaspatial/grid/s2.py
get_neighbors(direct_only=True) ¶
Get neighbors of all cells.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
direct_only | bool | If True, get only direct edge neighbors (4 per cell). If False, get all 8 neighbors including corners. | True |
Returns:
| Type | Description |
|---|---|
S2Cells | New S2Cells instance with neighbors included |
Source code in gigaspatial/grid/s2.py
get_parents(target_level) ¶
Get parent cells at lower level.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
target_level | int | Target level (must be lower than current) | required |
Returns:
| Type | Description |
|---|---|
S2Cells | New S2Cells instance with parents at target level |
Source code in gigaspatial/grid/s2.py
save(file, format='json') ¶
Save S2Cells to file in specified format.
Source code in gigaspatial/grid/s2.py
to_dataframe() ¶
Convert to pandas DataFrame with cell ID and centroid coordinates.
Source code in gigaspatial/grid/s2.py
to_geodataframe() ¶
Convert to GeoPandas GeoDataFrame.
Source code in gigaspatial/grid/s2.py
to_geoms() ¶
Convert cells to shapely Polygon geometries.