如何获取我的几何图形中的点与入口点经度和纬度之间的距离

时间:2018-12-18 21:27:05

标签: postgis

每个人,我都有一个表名'geom',我想计算表中存在的点之间的距离,例如0101000020730800001DAB949EE95D4040E124CD1FD3F04340 入口点的经度和纬度,我尝试过

SELECT * 
FROM postgis.cafeecoor
WHERE ST_Distance_Sphere(geom, ST_MakePoint(32.733792,39.865589)) <= 1 * 1609.34

1 个答案:

答案 0 :(得分:0)

您可以使用geography数据类型来返回以米为单位的距离。

SELECT *, st_distance(geom::geography,  ST_MakePoint(32.733792,39.865589)::geography)
FROM postgis.cafeecoor

对于您的示例,它返回1760.32533367米。

根据几何图形的保存方式(作为真实几何图形或文本,具有或不具有固定投影),您可能必须添加一些额外的步骤,例如创建几何图形和设置其坐标系

SELECT *, st_distance(
         st_setsrid(geom::geometry,4326)::geography,
         ST_MakePoint(32.733792,39.865589)::geography)
FROM postgis.cafeecoor;