gpt4 book ai didi

postgresql - 在postgresql中找到lat,lng最近的项目

转载 作者:行者123 更新时间:2023-11-29 12:35:34 27 4
gpt4 key购买 nike

我的表包含 lat 和 lng 列:

lng | double precision | not null

lat | double precision | not null

我只想从某个位置(纬度、经度)检索结果。

我该怎么做?

最佳答案

更好的方法是,您可以求助于postgis为地理空间查询创建单独的几何/地理列。

CREATE EXTENSION postgis;

ALTER TABLE your_table ADD COLUMN geom geometry(Point, 4326);

UPDATE your_table SET geom=st_SetSrid(st_MakePoint(lng, lat), 4326);

更新表后,您可以像下面这样进行简单的最近邻查询。

SELECT name FROM your_table ORDER BY geom <-> ST_GeomFromText ('POINT(-49.2653819 -25.4244287 )', 4326);

这将返回距离给定点最近的记录。

关于postgresql - 在postgresql中找到lat,lng最近的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47619397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com