Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Group file per time interval

by roboticus (Canon)
on Feb 08, 2013 at 00:57 UTC ( #1017739=note: print w/ replies, xml ) Need Help??


in reply to Group file per time interval

raiten:

I'd convert the times to seconds, and then do something like this:

$ cat t.pl #!/usr/bin/perl use strict; use warnings; use Data::Dumper; ### Get a list of picture times, in seconds my @times; push @times, int 150*rand for 0 .. 30; ### Sort them @times = sort { $a<=>$b } @times; ### Group together the pix whose time is less than MAX_TIME_DIFF secon +ds ### apart my $MAX_TIME_DIFF=10; # Minimum time between photos my $MIN_GRP_SIZE=3; # Minimum "interesting" group size my @groups; my $cur_group = [ shift @times ]; while (@times) { if ($$cur_group[-1]+$MAX_TIME_DIFF >= $times[0]) { # small interval, add to current group push @$cur_group, shift @times; } else { # store last group (if interesting) and start # a new one. push @groups, $cur_group if @$cur_group >= $MIN_GRP_SIZE; $cur_group = [ shift @times ]; } } print Dumper(\@groups); $ perl t.pl $VAR1 = [ [ 32, 36, 39, 39, 40, 42, 48, 53, 55, 56, 57, 58, 59 ], [ 72, 73, 77, 82 ], [ 93, 103, 104, 105, 108, 111, 113, 113, 114, 116 ] ];

...roboticus

When your only tool is a hammer, all problems look like your thumb.


Comment on Re: Group file per time interval
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1017739]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (17)
As of 2014-07-24 16:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (162 votes), past polls