postgresql 坐标距离操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chq00788/article/details/78062998

先创建几个函数

CREATE EXTENSION cube;  
CREATE EXTENSION earthdistance;

查询规定范围内

SELECT
    A . ID,
    A ."name"
FROM
    t_base_customer A
WHERE
    earth_box (
        ll_to_earth (36.702286, 119.195057),
        300.0
    ) @> ll_to_earth (A .latitude, A .longitude);

按距离排序

SELECT
    A . ID,
    A ."name",
    earth_distance (
        ll_to_earth (36.702286, 119.195057),
        ll_to_earth (A .latitude, A .longitude)
    ) AS distance
FROM
    t_base_customer A
ORDER BY
    distance ASC;

猜你喜欢

转载自blog.csdn.net/chq00788/article/details/78062998