Jon yilmaz
Jon yilmaz

Reputation: 100

How to get the distance between points in my geom and entry point longitude and latitude

everyone, I have table name 'geom' and I would like to calculate the distance between points that exist in my table like 0101000020730800001DAB949EE95D4040E124CD1FD3F04340 and entry points longitude and latitude and I tried this

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

Upvotes: 0

Views: 84

Answers (1)

JGH
JGH

Reputation: 17906

You can use the geography datatype that returns distances in meters.

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

For your example, it returns 1760.32533367 meters.

Depending how your geometry is saved (as a true geometry or as text, with or without a set projection), you might have to add a few extra steps, like creating the geometry and setting its coordinate system

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

Upvotes: 0

Related Questions