# Distance in meters between two geographic coordinates

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 `ST_DWithin`.

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)
``````