[postgis-users] Need help constructing a query

Tom van Tilburg tom.van.tilburg at gmail.com
Fri Jul 20 01:03:01 PDT 2012


Hmm, I would still think that, as long as you have a single line 
per-boat, this would solve your problem.
Because you can find out how often this single line crosses the bouy 
area. The combination of ST_Intersection and ST_Dump would do that for you.

Try something like:
--------------------
WITH line AS
(
     SELECT
         gps.gps_track As boat, ST_MakeLine(gps.the_geom ORDER BY 
gps_time) As geom
     FROM gps_points As gps
     GROUP BY gps.gps_track;
)
,intersections AS
(
     SELECT boat, (ST_Dump(ST_Intersection(line.geom, 
ST_SetSrid(ST_Makepoint(lon,lat),4326)))).geom
)
SELECT
    boat, count(boat) As number_of_passes
     FROM intersections
     WHERE ST_GeometryType(geom) = 'ST_LineString'
     GROUP BY boat
--------------------------------

if your postgres is below 9.0 the gps.tracks might work different. See 
manual.

Cheers,
  Tom


On 20-7-2012 9:38, Pedro Doria Meunier wrote:
> On 07/20/2012 07:38 AM, Tom van Tilburg wrote:
>> Hi Pedro,
>>
>> You might try to create lines from the boat tracks (see examples in 
>> manual for ST_MakeLine)  and circles (st_buffer) from the proximity 
>> areas around the buoy.
>> Now do a ST_Intersection(boatline, bouycircle). The result should be 
>> a set of lines within the bouycircle. Every line stands for one pass 
>> along the bouy.
>> I think ST_Intersection might result in a geometry collection of 
>> lines and points so you would have to make a dump of the result with 
>> ST_Dump and then select only the lines.
>>
>> Cheers,
>>  Tom
>>
>
> Elegant thinking but that would end up in a *single* line, as I only 
> have the timestamp and (point)geom to work with.
> Thanks for your input though :)
>
> -- 
> Pedro Doria Meunier
> Telf. +351 291 933 006
> GSM  +351 915 818 823
> Skype: pdoriam
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20120720/47957a2a/attachment.html>


More information about the postgis-users mailing list