Default: 50 geometries, node_capacity = 10 gdf.sindex uses node_capacity=10 by default. With ≤10 geometries the tree collapses to a single root node. Try sliding N down to 10 to see that case.
Parameters
Geometries (N) 50
node_capacity (M) 10
Geometry type
STR Computation
Loading…
Tree Levels
How STR Packing Works
Sort-Tile-Recursive
1.P = ⌈N/M⌉ → leaf node count
2.S = ⌈√P⌉ → number of slices
3.Sort all items by X centroid
4.Split into S×M slices
5.Within each slice: sort by Y
6.Pack groups of M → nodes
7.Recurse on nodes until root
How Box Sizes Are Determined
Minimum Bounding Rectangle (MBR)
Each box is the tightest axis-aligned rectangle that encloses all geometries inside that node — called its MBR or envelope.
●Leaf node box — MBR of up to M geometries packed together by STR
●Internal node box — MBR of its child node boxes, so it always fully contains them
●Root box — MBR of the entire dataset; the largest box
Boxes higher in the tree are always larger because they must enclose more geometries. Smaller, tighter leaf boxes mean faster queries — the STR sort minimises overlap between sibling leaf nodes.
Node
Level—
Direct children—
Total geometries—
BBox width—
BBox height—
Area—
scroll to zoom · drag to pan
10
Geometries
—
Tree Nodes
—
Depth
—
Leaf Nodes
10
node_capacity
Hover over any bounding box to explore the tree hierarchy