[postgis-users] Newbie - get total distance travelled from query of points

Stephen Woodbridge woodbri at swoodbridge.com
Sun Jun 22 15:25:15 PDT 2008

Joe Roberts wrote:
> Hi,
> I am very new to PostGIS, and I'm stuck with what I hope is an easy
> problem to solve.
> I have a table which contains a list of points, originating from a GPS
> device's lat/long output. I want to get the distance travelled. I have
> the following query, but the result (distance) looks far to low:
> SELECT ST_Length(St_MakeLine(point))/1000 as distance
> FROM (
>       SELECT point FROM points
>       ORDER BY timestamp
> ) as p
> I know the route was over 5 miles (probably about about 8.4 km), but
> the query returns 0.000106496.
> Can anyone see what I am doing wrong? Is it my query, or could it be
> my data?
> Many thanks
> Joe

So assuming your GOS is return LAT, LON in WGS84

ST_Length is returning the length in degrees (IE: the Cartesian distance 
in the units of the geometry) and that return 0.106496 degrees. If you 
want miles you can multiple that by the number of miles/degree and 
assuming a great circle like path there are approximate 69.172 miles per 
degree along the Equator so you distance is 7.366541312 miles which 
seems to fit with your statements above.



More information about the postgis-users mailing list