Добрый день!
Сразу к сути вопроса. Разрабатываем API для проекта с применением стека
Django/REST Framework/Postgresql. У некоторых моделей присутствуют поля, содержащие в себе геоданные (координаты) в формате
JSON (используется
django-geojson).
От пользователя приходит запрос, который содержит в себе геовектор (координаты левой нижней и правой верхней точек карты), размер карты в пикселях и размер иконки кластера в пикселях. Ему нужно отдать
JSON вида:
[
{
"cluster_id": 0,
"coordinates": [
37.6184755,
55.7582595
],
"ids": [
1,
2
]
}
]
где cluster_id - идентификатор кластера (не так важен, на самом деле), coordinates - координаты кластера и ids - идентификаторы объектов, которые входят в кластер.
Есть ли какие-то расширения или пакеты (для питона, джанги или БД), позволяющие сделать такую вещь? Или может быть подскажете какой-то алгоритм сего действа?
Сейчас это реализовано с применением расширения
kmeans для
Postgresql, но это решение
не учитывает размер иконки, и иконки двух кластеров, которые на деле расположены достаточно близко, могут перекрываться, делая этот процесс бесполезным (на вторую иконку просто невозможно кликнуть).