I want to determine the distance in meters between two geographic coordinates. The points are:
Lat (deg) Lon (deg) A: -33.3930906 -70.5452765 B: -33.3993212 -70.5468767
So if i calc the distance in google maps or with a python library the measure is approx. 700 m but when I do the same query (distance) in PostGIS it tells me it is 291 (I don't know the unit, I believe that is meters)
My queries are:
SELECT ST_Distance_sphere( st_makepoint(-33.3930906, -70.5452765), st_makepoint(-33.3993212, -70.5468767)); SELECT ST_Distance_Sphere( ST_Centroid(ST_GeomFromText('POINT(-33.3930906 -70.5452765)',4326)), ST_GeomFromText('POINT(-33.3993212 -70.5468767)',4326)); SELECT ST_Distance(gg1, gg2) As spheroid_dist, ST_Distance(gg1, gg2, false) As sphere_dist FROM (SELECT ST_GeogFromText('SRID=4326;POINT(-33.3930906 -70.5452765)') As gg1, ST_GeogFromText('SRID=4326;POINT(-33.3993212 -70.5468767)') As gg2 ) As foo ;
And each of the three queries give me a result of approx. 291 or 292.
So, how can I do it?
My original intention is to query all the points in a certain radius. For this I'm using
And in my database I store it like:
// Column is coordinates GEOGRAPHY(Point, 4326) NOT NULL, // Insert is ST_GeographyFromText('POINT(-33.3940301 -70.5482872)', 4326)