加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL纬度经度查询

发布时间:2020-12-13 16:29:30 所属栏目:百科 来源:网络整理
导读:我在PostgreSQL数据库中的位置表中有纬度和经度列, 我正在尝试使用PostgreSQL函数执行距离查询. 我阅读了本手册的这一章: https://www.postgresql.org/docs/current/static/earthdistance.html 但我想我在那里缺少一些东西. 我该怎么办?有更多的例子吗?
我在PostgreSQL数据库中的位置表中有纬度和经度列,
我正在尝试使用PostgreSQL函数执行距离查询.

我阅读了本手册的这一章:

https://www.postgresql.org/docs/current/static/earthdistance.html

但我想我在那里缺少一些东西.

我该怎么办?有更多的例子吗?

该模块是可选的,并没有安装在默认的PostgreSQL安装中.您必须从contrib目录中安装它.

您可以使用以下函数来计算坐标之间的近似距离(以英里计):

CREATE OR REPLACE FUNCTION distance(lat1 FLOAT,lon1 FLOAT,lat2 FLOAT,lon2 FLOAT) RETURNS FLOAT AS $$
DECLARE                                                   
    x float = 69.1 * (lat2 - lat1);                           
    y float = 69.1 * (lon2 - lon1) * cos(lat1 / 57.3);        
BEGIN                                                     
    RETURN sqrt(x * x + y * y);                               
END  
$$LANGUAGE plpgsql;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读