Если вы кластеризуетесь по географическому расположению, и я не могу представить, что это что-то еще :-), вы можете сохранить «идентификатор кластера» в базе данных вместе с координатами широты и долготы.
Под этим я подразумеваю разделение карты мира на (например) матрицу 100х100 (10 000 кластеров), и каждая координата присваивается одному из этих кластеров.
Затем вы можете определять очень близкие координаты, выбирая их в одном и том же квадрате, и умеренно близкие, выбирая их в соседних квадратах.
Размер ваших квадратов (и, следовательно, их количество) будет зависеть от того, насколько точной должна быть кластеризация. Очевидно, что если у вас есть только матрица 2x2, вы можете получить кластеризацию координат, которые находятся далеко друг от друга.
Yo всегда будет иметь граничные случаи, такие как две точки близко друг к другу, но в разных кластерах (один северный в своем кластере, другой самый южный в своем), но вы можете настроить размер кластера ИЛИ постобработка результаты на стороне клиента.