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.

When I use google maps/yahoo maps/bing maps scale with a good-old fashioned
ruler, I get closer to 1800-2000m.

This site says 2230m:

http://www.daftlogic.com/projects-google-maps-distance-calculator.htm

Is there somewhere I'm missing a magic incantation? I can't find it. Tried
geometry instead of geography no solution for me there.

I'm using Postgis 1.5.3-1 ubuntu amd64 11.10

Thanks if you can help.

-- 
Best regards

Stuart Guthrie
_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to