This is ongoing work developing tiled geospatial data layers for symbolisation of complex multi-attribute choropleths.
A working version is available in python using geopandas and shapely. The python source is in the weavingspace folder. It can be installed from PyPI using
python3 -m pip install weavingspace
The API is documented here, and there are several example notebooks that will give a good idea of how to use the code in the examples folder. In particular, have a look at the Using the library notebook.
There is a (always under development) web app which you can use to get a sense of the capabilities of weavingspace without writing any code here: dosull.github.io/mapweaver/app/.
The kind of things we can make are:
An overview of the concepts assembled from early proof-of-concept R code is on this webpage. A similar follow-up talk is available here. Slides from a more recent talk explaining the work, extended to tiled maps (of which woven maps are a special case) is available here.
Any of the notebooks in the examples folder may be of interest. Some background material and thinking about tiling is in these notes and these reflections on the state of the code.
There is an experimental QGIS plugin under development. That project is heavily AI-assisted and has resulted in four short sections of code (amounting to about 20 lines of code in 9,000) being 'upstreamed' into weavingspace, which is a core component of the plugin. The AI spotted some opportunities for making the code more efficient, and patched these into the plugin version of weavingspace. After review, we decided to include them in weavingspace proper since they are speed ups with no impact on results. The affected sections of code are all in tile_map.Tiling and tile_map.TileGrid and in the interest of full disclosure have been 'gated' with comments, like this:
# ---AI-assisted-code-starts---
this.code.modified.based.on.AI.input
# ---AI-assisted-code-ends---
If you are interested, you can search on those comments to find the affected sections of code.

