1 点的最近点查询
select
smoke,
ST_AsGeoJSON(geom) as geom,
company,
address
from power t
order by
ST_Distance(t.geom,ST_GeometryFromText('POINT(113.77990722656251 34.63320791137959)',4326))
limit 1
4326为坐标系编号;原理是根据距离找最近的一个记录
2.根据点在数据库里查询在哪个多边形中
SELECT
id,
geom
from dt_cy
where
ST_Contains(geom, st_geometryfromtext('POINT(113.458729 34.816974)',4326));
3.使用knn(最近邻法),计算距离多边形最近的点
select
*
from
teatcyd
ORDER BY teatcyd.geom <-> (SELECT geom from dt_cy where gid =74833) limit 1
4.创建索引(通用索引)提升查询效率
CREATE INDEX teatcyd_geom_idx ON teatcyd USING GIST (shape);
来源:oschina
链接:https://my.oschina.net/boonya/blog/3189390