1、方法:
SELECT g1.gid g2.gid FROM points as g1, polygons g2
WHERE g1.gid <> g2.gid
ORDER BY g1.gid, ST_Distance(g1.the_geom,g2.the_geom)
LIMIT k;
2、方法:
SELECT DISTINCT ON(“所属NodeB标识”) *
FROM(
SELECT a.“所属NodeB标识”,a.小区网管名称,x.基站名称 ,x.基站标识,a.geom::geography<->x.geom::geography as Distance
FROM “铜陵3G精简拍照明细” a
CROSS JOIN LATERAL (
SELECT b.基站名称,b.基站标识,b.geom
FROM “铜陵4G工参” b
ORDER BY (a.geom<->b.geom) asc
LIMIT 1
) as x
) as tmp
3、技巧:
基于索引的KNN查询的语法在查询的ORDER BY子句中放置了一个特殊的"基于索引的距离运算符",在本例中为"<->"。有两种基于索引的距离运算符:文章来源:https://www.toymoban.com/news/detail-426972.html
<-> —— 表示边界框中心之间的距离
<#> —— 表示边界框边界之间的距离文章来源地址https://www.toymoban.com/news/detail-426972.html
到了这里,关于postgis 临近搜索的方法和技巧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!