I think I understand how (x,y) or (lat, log) can be stored to allow retrieval of all points within some spacial range when using range queries on sorted data. Geohash accomplishes this by alternating lat (odd bits) and log (even bits), this way as resolution of x increases, resolution of y increases as well. Other methods like Hilbert curves also rely on this basic principle increasing resolution on both dimensions. However, I can't understand what adding an extra temporal dimension accomplishes. For example, GeoMesa uses index which look like this "YXTTYXTTYX" acconding to their site. What I don't get is how TT bits allow to ask questions like "get all points within X, Y range within min < t < max interval". Am I misunderstanding the purpose of those bits and extra dimensions in geospacial indexing?
The way I understand it, putting those bits in there makes temporal resolution increase as spacial resolution increases. Let's say that we have bits like [10] [00] where Ts are. The first bit divides space in two chunks, zero meaning less than half and 1 more than half, so, for an imaginary set of four thousand years, we get 0 = year < 2000, 1 = year > 2000
. This [10]
leads to 2000 < t < 2500
, and next bit 0
lead to 2000 < t < 2250
, and 0
to 2000 < t < 2125
. Using this approach I don't see how to retrieve all events within certain timerange within certain spacial range and it's not clear what else this can be used for. All geospacial papers and presentations I've seen so far focus mostly on spacial hashing and don't discuss usage of extra dimensions in detail.