I'm looking into storing geospatial information using a geohash-like index, perhaps using Hilbert curves. My question is regarding how best to split up area queries on such an index.
This article for example shows how one might want to split an area query into multiple queries to avoid quering a range exhibiting poor locality (see this image). If you wanted to search the circular area with a single query using a Z curve like a normal geohash you would have to query the entire lower left quadrant which has only a tiny fraction of the area we're concerned with.
In this case it would be better to split the search into a few queries, however I haven't been able to find any information on how best to do this. Are there algorithms for splitting a range query like this into smaller ranges which cover the original area?