Geospatial Stuff
University of Auckland
A hard problem
Many methods have been tried






weavingspaceAn approach based on tiling
Elements in a tiling ‘pick up’ data from area units by overlay so we can combine multiple choropleths into a single map
Giving two kinds of map of complex multivariate data (tiled and woven)
weavingspaceA python module developed for making tiled maps
github.com/DOSull/weaving-space
> pip install weavingspace
Uses geopandas and a lot of geometry, leveraging shapely
Implements well over a hundred tilings and weave tiling patterns
import geopandas as gpd
1from weavingspace import TileUnit
2from weavingspace import Tiling
tile = TileUnit(tiling_type = "cairo", spacing = 500,
crs = ak.crs).inset_prototile(10)
tile.plot(r = 1, show_vectors = True)TileUnit stores geometry of a tiling and translation vectors so we can tile a map.
Tiling is the result of applying a TileUnit to a geospatial dataset.






1tiling = Tiling(tile, ak)
tiled_map = tiling.get_tiled_map(prioritise_tiles = True)
2tiled_map.legend = False
tiled_map.ids_to_map = list("abcd")
tiled_map.vars_to_map = ["income", "employment", "crime", "housing"]
tiled_map.colors_to_use = ["Reds", "Blues", "Greens", "Greys"]
3fig = tiled_map.render()Make tiled and woven maps without code!

Chen Q, A Poorthuis, and A Crooks. 2025 (online first, April). Mapping the Invisible: Decoding Perceived Urban Smells Through Geosocial Media in New York City. Annals of the American Association of Geographers.

Allen J. 2025. Mapping mode share in Toronto via weaving space. At schoolofcities.github.io.

FOSS4G Oceania 2025