Найти n ближайших соседей для данной точки с помощью PostGIS?

Я пытаюсь решить проблему поиска n ближайших соседей с помощью PostGIS:

Начальная точка:

  • Таблица geoname с geoname (из geonames.org), содержащий широта / долгота (WSG-84)
  • Добавлена ​​геометрия GeometryColumn с srid = 4326 и datatype = POINT
  • Геом заполнен значениями: UPDATE geoname УСТАНОВИТЬ geom = ST_SetSRID (ST_Point (долгота, широта), 4326);
  • Создан индекс GIST для geom (CREATE ИНДЕКС geom_index ON geoname ИСПОЛЬЗОВАНИЕ GIST (geom);) / Clustered geom_index: CLUSTER geom_index ON geoname;)
  • Создан УНИКАЛЬНЫЙ индекс BTREE PRIMARY KEY для geonameid

Проблема: 1000+ имен] Я хочу создать автоматическое предложение для поиска по этим именам. Как это сделать наиболее эффективно? Я ...

Допустим, у меня есть объект:

var names = ["john", "jane", "al", "mary", "zane" ... 1000+ Names]

Я хочу создать автоматическое предложение для поиска по этим именам.

Как это сделать наиболее эффективно? Я читал, что лучше всего создавать тройную или троичную структуру данных, но я не уверен, как реализовать это в js.

Есть мысли?

7
задан doremi 25 April 2013 в 18:37
поделиться