Я думаю, что понимаю, как (x, y) или (lat, log) могут быть сохранены, чтобы разрешить извлечение всех точек в некотором пространственном диапазоне при использовании запросов диапазона к отсортированным данным. Geohash выполняет это путем чередования широты (нечетные биты) и журнала (четные биты), таким образом, когда разрешение x увеличивается, разрешение y также увеличивается. Другие методы, такие как кривые Гильберта, также полагаются на этот основной принцип, увеличивая разрешение в обоих измерениях. Однако я не могу понять, что дает добавление дополнительного временного измерения. Например, GeoMesa использует индекс, который в соответствии с их сайтом выглядит как "YXTTYXTTYX". Я не понимаю, как биты TT позволяют задавать такие вопросы, как «получить все точки в диапазоне X, Y в пределах min‹ t ‹max interval». Не понимаю ли я назначение этих битов и дополнительных измерений в гео-пространственном индексировании?
Насколько я понимаю, размещение этих битов увеличивает временное разрешение по мере увеличения пространственного разрешения. Допустим, у нас есть биты типа [10] [00], где есть Ts. Первый бит делит пространство на две части, ноль означает меньше половины, а 1 больше половины, поэтому для воображаемого набора из четырех тысяч лет мы получаем 0 = year < 2000, 1 = year > 2000
. Этот [10]
ведет к 2000 < t < 2500
, а следующий бит 0
ведет к 2000 < t < 2250
, а 0
к 2000 < t < 2125
. Используя этот подход, я не вижу, как получить все события в определенном временном диапазоне в определенном пространственном диапазоне, и неясно, для чего еще это можно использовать. Все статьи и презентации, которые я видел до сих пор, сосредоточены в основном на пространственном хешировании и не обсуждают подробно использование дополнительных измерений.