1 package au.gov.amsa.animator;
2
3 import java.io.File;
4 import java.util.Arrays;
5
6 import au.gov.amsa.risky.format.BinaryFixes;
7 import au.gov.amsa.risky.format.BinaryFixesFormat;
8 import au.gov.amsa.risky.format.Fix;
9 import rx.Observable;
10 import rx.functions.Func2;
11
12 public class Sources {
13
14 public static Observable<Fix> singleDay() {
15 File file = new File("/media/an/daily-fixes/2014/2014-02-01.fix");
16 return BinaryFixes.from(file, true, BinaryFixesFormat.WITH_MMSI);
17
18
19
20
21 }
22
23 public static Observable<Fix> tasmania() {
24 Long[] vessels = new Long[] { 503433000L, 503432000L, 503087000L };
25 return Observable.from(Arrays.asList(vessels))
26 .map(mmsi -> new File("/media/an/binary-fixes-5-minute/2015/" + mmsi + ".track"))
27 .flatMap(file -> BinaryFixes.from(file))
28 .toSortedList(new Func2<Fix, Fix, Integer>() {
29
30 @Override
31 public Integer call(Fix a, Fix b) {
32 return Long.compare(a.time(), b.time());
33 }
34 }).doOnNext(list -> System.out.println("sorted")).flatMapIterable(x -> x);
35 }
36
37 }