【发布时间】:2018-01-27 11:30:23
【问题描述】:
我想使用 PostGIS 为 postgresql 中性能最佳的点找到 k 个最近点。
我的表结构是:
CREATE TABLE mylocations
(id integer,
name varchar,
geom geometry);
示例插入的行是:
INSERT INTO mylocations VALUES
(5, 'Alaska', 'POINT(-172.7078 52.373)');
我可以使用以下查询通过 ST_Distance() 找到最近的点:
SELECT ST_Distance(geography(geom), 'POINT(178.1375 51.6186)'::geometry) as distance,ST_AsText(geom),name, id
FROM mylocations
ORDER BY distance limit 10;
但实际上我想在不计算我的点与所有表点的距离的情况下找到它们。 事实上,我想找到性能最好的最佳查询,因为我的表会有大量数据。 我很感激你的想法
【问题讨论】:
标签: postgresql postgis knn