Точки кластера в PostGIS

Я создаю приложение, которое извлекает значения широты и долготы из базы данных и отображает их на карте Google. Могут быть тысячи точек данных, поэтому я «группирую» точки близко друг к другу, чтобы пользователь не был перегружен значками. На данный момент я выполняю эту кластеризацию в приложении с помощью простого алгоритма вроде этого:

  1. Получить массив всех точек
  2. Извлечь первую точку из массива
  3. Сравнить первую точку со всеми другими точками в массиве, ища те, которые попасть на расстояние x
  4. Создайте кластер с исходной и близкой точками.
  5. Удалить точки закрытия из массива
  6. Повторить

Сейчас я отпускаю, это неэффективно, и по этой причине я изучал системы ГИС. Я установил PostGIS, и мои широты и долготы хранятся в геометрическом объекте POINT.

Может ли кто-нибудь помочь мне начать работу или указать мне ресурсы по простой реализации этого алгоритма кластеризации в PostGIS?

8
задан Mike 24 June 2011 в 06:04
поделиться