# [postgis-users] Problems with st_distance

Charles Galpin cgalpin at lhsw.com
Tue Mar 13 04:37:20 PDT 2012

```The distance should be in the projection units, which for 4326 is decimal degrees, and if you want meters you'll need to convert the results to meters.

But first, I suspect your data is not in 4326 then if you get 1179.  Make sure you are using the SRID when inserting them

> update address set geog=ST_GeographyFromText('POINT('||lon||' '||lat||')',4326) where id=?;

Also see
http://postgis.refractions.net/docs/ST_Distance.html
hth
charles

On Mar 13, 2012, at 2:58 AM, Stuart Guthrie wrote:

> Could it be returning a distance in decimal miles? I'm out by around 1.6 - 1.6km = 1mile?
>
> On Tue, Mar 13, 2012 at 5:43 PM, Stuart Guthrie <stuartguthrie at gmail.com> wrote:
> OK, I'm a newbie to postgis but an old-timer with open source in general.
>
> Sorry to bother everyone but this problem is driving me a little nuts.
>
> I've bought the 'postgis in action' book and now I think I still know nothing.
>
> I'm trying to store long lats and do queries on them to establish distance and use that for reporting.
>
> I'm using this to update the table 'address'
>
> update address set geog=ST_GeographyFromText('POINT('||lon||' '||lat||')') where id=?;
>
> the address table field 'geog' has this definition:
>
>  geog            geography(Point,4326)
>
> When I compare two addresses that I know are around 1800m apart I get this:
>
> select a.addressline2, a.suburb, ST_Y(a.geog::geometry), ST_X(a.geog::geometry),  b.addressline2,b.suburb,ST_Y(b.geog::geometry), ST_X(b.geog::geometry), ST_distance(a.geog,b.geog ) from address a join address b on b.id=41491 where a.id=1238 ;
>
> addressline2  | suburb |    st_y     |    st_x     |  addressline2  |   suburb    |    st_y     |    st_x     |   st_distance
> ---------------+--------+-------------+-------------+----------------+-------------+-------------+-------------+------------------
>  140 Sussex St | Sydney | -33.8692429 | 151.2036312 | 1 Riley Street | Surry Hills | -33.8726426 | 151.2157115 | 1179.61881540556
>
> Postgis says they are 1179.61m apart.
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20120313/0dcb4237/attachment.html>
```