PostgreSQL纬度经度查询

前端之家收集整理的这篇文章主要介绍了PostgreSQL纬度经度查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在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;

猜你在找的Postgre SQL相关文章