GeoDjango: есть ли готовый способ генерировать кластеры точек? - PullRequest
1 голос
/ 27 мая 2010

Я пытаюсь вычислить кластеры на множестве точек в Python, используя GeoDjango.

Проблема: Учитывая набор точек, выведите набор кластеров этих точек. (Я в порядке, заранее указав количество кластеров / размер кластера / расстояние для упрощения)

В сети существует несколько решений для кластеризации, поэтому это хорошо известная проблема. Я думал, что GeoDjango будет решать эти типы проблем из коробки, но не совсем понятно, как - я искал документацию GeoDjango, Google и несколько других мест, но не смог ничего найти.

Перед тем, как выпустить свое собственное решение для кластеризации, я подумал, что хочу спросить, есть ли прямой способ сделать это, используя GEOS или другой пакет в GeoDjango.

Ответы [ 3 ]

3 голосов
/ 15 июня 2010

GeoDjango не имеет встроенной поддержки кластеризации; эта операция обычно не предоставляется любым существующим ГИС-приложением с открытым исходным кодом, которое вы будете использовать с GeoDjango, о котором я знаю.

Несколько сайтов, работающих под управлением Django / GeoDjango (например, Everyblock.com), опубликовали метод кластеризации, но эта поддержка не встроена в GeoDjango.

В целом, функциональность, предоставляемая этими приложениями, основана на поддержке базовой базы данных. GEOS, библиотека PostGIS и общее «современное состояние» (по крайней мере, в мире, отличном от Java), не имеет какого-либо API или поведения кластеризации.

0 голосов
/ 29 марта 2013

Если кто-то наткнется на эту тему:

https://github.com/biodiv/anycluster

Я открываю исходное приложение моего кластерного приложения geodjango. После установки вам просто нужно несколько строк javascript и его кластеров. Вы можете легко изменить некоторые настройки и использовать собственную графику. Я также добавил несколько примеров использования на github ...

0 голосов
/ 17 июня 2010

Как упомянул Кристофер Шмидт, в GeoDjango, похоже, не было готовой поддержки кластеризации Однако, если кто-то столкнется с этой проблемой, вот что я сделал:

  • Установлено mlpy и numpy
  • Использовал алгоритм иерархической кластеризации HCluster
  • Написал функцию-оболочку для преобразования объектов GEOS Point в матрицу, понятную mlpy

Документация по адресу: https://mlpy.fbk.eu/data/doc/clustering.html

...