Very nice when it actually is that simple :). rb
On Friday, August 31, 2012, James David Smith wrote: > Hi Robert, > > Thanks for your suggestion - this worked great - and was easier than > learning how to do loops and similar! (though thanks for the > suggestions from others too!). I knew just a bit of lateral thinking > was required! > > James > > > > On 17 August 2012 20:48, Robert Burgholzer <rburg...@vt.edu> wrote: > > If i understand this right, the series field tells you which second in > total > > time of N seconds that it took to move along the line. (end_time - > > start_time)::float should give you the total time in seconds, and > > series/total_time should give you the parameter that you want for > > st_line_interpolate_point > > > > HTH > > r.b. > > On Friday, August 17, 2012, James David Smith wrote: > >> > >> Hi everyone, > >> > >> I'm flirted around this problem for a while, so I hope I'm not bein > >> annoying by being repetative, but I've been tearing my hair out trying > to do > >> it. The problem is that I have a file of lines (geometry). in a table > called > >> temp4 The format of the table is, simplified, > >> > >> line > >> start_time > >> end_time > >> series (I generated this as a count of the seconds difference between > the > >> above time fields. I thought it would be useful) > >> > >> So for example my table (temp4) might look like this: > >> > >> line || start_time || end_time > || > >> series > >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> line_geom || 12:07:17 || 12:07:20 || > >> 3 > >> line_geom || 12:07:17 || 12:07:20 || > >> 2 > >> line_geom || 12:07:17 || 12:07:20 || > >> 1 > >> > >> line_geom || 12:07:21 || 12:07:26 || > >> 6 > >> line_geom || 12:07:21 || 12:07:26 || > >> 5 > >> line_geom || 12:07:21 || 12:07:26 || > >> 4 > >> line_geom || 12:07:21 || 12:07:26 || > >> 3 > >> line_geom || 12:07:21 || 12:07:26 || > >> 2 > >> line_geom || 12:07:21 || 12:07:26 || > >> 1 > >> > >> > >> Now what I want to do is split the lines into points, with a point for > >> each second. Evenly spaced along the line. So if the line is 10 metres > long > >> and the difference between the start and end is 10 seconds then I want > to > >> create 9 points at 10% along the line, 20% along the line, 30% along the > >> line etc up to a point which is 100% along the line i.e. the end of the > >> line. I don't need a new point at the start of the line as I have that > >> stored already. > >> > >> So I've been trying something like this, but it's wrong. But maybe along > >> the right lines. > >> > >> SELECT st_line_interpolate_point(line, 1/series::float)) as new_point > >> FROM temp4 > >> > >> Taking the first few rows of my data, the percentages along the lines I > >> want to generate are as follows. I need to find a way to get these > values > >> into the st_line_interpolate_line function. > >> > >> line || start_time || end_time || > >> series || percentage along line > >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> line_geom || 12:07:17 || 12:07:20 || 3 > >> || 0.33% > >> line_geom || 12:07:17 || 12:07:20 || 2 > >> || > _______________________________________________ > > postgis-users mailing list > > postgis-users@postgis.refractions.net <javascript:;> > > http://postgis.refractions.net/mailman/listinfo/postgis-users > > > _______________________________________________ > postgis-users mailing list > postgis-users@postgis.refractions.net <javascript:;> > http://postgis.refractions.net/mailman/listinfo/postgis-users > -- -- Robert W. Burgholzer http://www.findingfreestyle.com/ On Facebook - http://www.facebook.com/pages/Finding-Freestyle/151918511505970 Twitter - http://www.twitter.com/findfreestyle What's a tweeted swim set? A Sweet? No, a #swaiku! Get them by following http://twitter.com/findfreestyle
_______________________________________________ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users