Repository: flink Updated Branches: refs/heads/master ba2796a0d -> af05b94d0
[FLINK-2255] [streaming] Fixed a bug in TopSpeedWindowing examples Closes #857 Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/af05b94d Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/af05b94d Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/af05b94d Branch: refs/heads/master Commit: af05b94d0d919c723baae1800e598b93ca70c69f Parents: 658a078 Author: Gabor Gevay <[email protected]> Authored: Mon Jun 22 14:56:41 2015 +0200 Committer: mbalassi <[email protected]> Committed: Thu Jun 25 13:37:23 2015 +0200 ---------------------------------------------------------------------- .../examples/windowing/TopSpeedWindowing.java | 2 +- .../util/TopSpeedWindowingExampleData.java | 220 ++++++++++++------- .../examples/windowing/TopSpeedWindowing.scala | 2 +- 3 files changed, 148 insertions(+), 76 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/af05b94d/flink-staging/flink-streaming/flink-streaming-examples/src/main/java/org/apache/flink/streaming/examples/windowing/TopSpeedWindowing.java ---------------------------------------------------------------------- diff --git a/flink-staging/flink-streaming/flink-streaming-examples/src/main/java/org/apache/flink/streaming/examples/windowing/TopSpeedWindowing.java b/flink-staging/flink-streaming/flink-streaming-examples/src/main/java/org/apache/flink/streaming/examples/windowing/TopSpeedWindowing.java index e7eb4da..e48b437 100644 --- a/flink-staging/flink-streaming/flink-streaming-examples/src/main/java/org/apache/flink/streaming/examples/windowing/TopSpeedWindowing.java +++ b/flink-staging/flink-streaming/flink-streaming-examples/src/main/java/org/apache/flink/streaming/examples/windowing/TopSpeedWindowing.java @@ -61,7 +61,7 @@ public class TopSpeedWindowing { carData = env.addSource(CarSource.create(numOfCars)); } DataStream<Tuple4<Integer, Integer, Double, Long>> topSpeeds = carData.groupBy(0) - .window(Time.of(evictionSec, new CarTimestamp())) + .window(Time.of(evictionSec * 1000, new CarTimestamp())) .every(Delta.of(triggerMeters, new DeltaFunction<Tuple4<Integer, Integer, Double, Long>>() { private static final long serialVersionUID = 1L; http://git-wip-us.apache.org/repos/asf/flink/blob/af05b94d/flink-staging/flink-streaming/flink-streaming-examples/src/main/java/org/apache/flink/streaming/examples/windowing/util/TopSpeedWindowingExampleData.java ---------------------------------------------------------------------- diff --git a/flink-staging/flink-streaming/flink-streaming-examples/src/main/java/org/apache/flink/streaming/examples/windowing/util/TopSpeedWindowingExampleData.java b/flink-staging/flink-streaming/flink-streaming-examples/src/main/java/org/apache/flink/streaming/examples/windowing/util/TopSpeedWindowingExampleData.java index 9360a6a..7efb006 100644 --- a/flink-staging/flink-streaming/flink-streaming-examples/src/main/java/org/apache/flink/streaming/examples/windowing/util/TopSpeedWindowingExampleData.java +++ b/flink-staging/flink-streaming/flink-streaming-examples/src/main/java/org/apache/flink/streaming/examples/windowing/util/TopSpeedWindowingExampleData.java @@ -122,82 +122,154 @@ public class TopSpeedWindowingExampleData { "(0,100,2005.5555555555566,1424952017667)\n" + "(1,95,2211.1111111111118,1424952017668)"; public static final String TOP_SPEEDS = - "(0,55,44.44444444444444,1424951920633)\n" + "(1,40,50.0,1424951921634)\n" + - "(0,65,108.33333333333333,1424951924635)\n" + "(1,45,104.16666666666666,1424951926636)\n" + - "(0,55,172.2222222222222,1424951928636)\n" + "(1,55,159.7222222222222,1424951930637)\n" + - "(0,55,233.3333333333333,1424951932637)\n" + "(1,70,213.88888888888886,1424951933638)\n" + - "(0,55,288.88888888888886,1424951936639)\n" + "(1,75,272.2222222222222,1424951936639)\n" + - "(1,70,329.16666666666663,1424951939640)\n" + "(0,55,344.44444444444446,1424951940640)\n" + - "(1,65,384.7222222222222,1424951942641)\n" + "(0,45,400.00000000000006,1424951944642)\n" + - "(1,60,438.88888888888886,1424951945642)\n" + "(1,75,497.2222222222222,1424951948643)\n" + - "(0,40,461.11111111111114,1424951949643)\n" + "(1,80,562.4999999999999,1424951951644)\n" + - "(0,35,520.8333333333334,1424951954645)\n" + "(1,75,629.1666666666665,1424951954645)\n" + - "(1,80,691.6666666666665,1424951957646)\n" + "(0,55,573.6111111111112,1424951958646)\n" + - "(1,85,761.1111111111109,1424951960647)\n" + "(0,70,627.7777777777778,1424951961647)\n" + - "(1,90,831.9444444444441,1424951963648)\n" + "(0,75,691.6666666666667,1424951964649)\n" + - "(1,90,883.333333333333,1424951965649)\n" + "(0,70,751.388888888889,1424951967649)\n" + - "(1,100,937.4999999999998,1424951967650)\n" + "(1,100,993.0555555555554,1424951969650)\n" + - "(0,75,815.2777777777779,1424951970651)\n" + "(1,100,1048.611111111111,1424951971651)\n" + - "(0,80,883.3333333333334,1424951973652)\n" + "(1,95,1102.7777777777778,1424951973652)\n" + - "(1,100,1158.3333333333335,1424951975652)\n" + "(0,75,944.4444444444446,1424951976653)\n" + - "(1,95,1212.5000000000002,1424951977653)\n" + "(0,80,1009.7222222222223,1424951979654)\n" + - "(1,100,1268.0555555555559,1424951979654)\n" + "(1,100,1323.6111111111115,1424951981654)\n" + - "(0,85,1081.9444444444446,1424951982655)\n" + "(1,100,1379.1666666666672,1424951983655)\n" + - "(0,95,1133.3333333333335,1424951984655)\n" + "(1,95,1433.333333333334,1424951985656)\n" + - "(0,95,1184.7222222222224,1424951986656)\n" + "(1,95,1484.7222222222229,1424951987657)\n" + - "(0,80,1255.5555555555557,1424951989657)\n" + "(1,95,1536.1111111111118,1424951989657)\n" + - "(0,90,1304.1666666666667,1424951991658)\n" + "(1,95,1590.2777777777785,1424951991658)\n" + - "(0,100,1358.3333333333335,1424951993659)\n" + "(1,95,1641.6666666666674,1424951993659)\n" + - "(0,95,1412.5000000000002,1424951995659)\n" + "(1,95,1695.8333333333342,1424951995660)\n" + - "(0,100,1468.0555555555559,1424951997660)\n" + "(1,80,1766.6666666666674,1424951998661)\n" + - "(0,100,1522.2222222222226,1424951999661)\n" + "(0,90,1573.6111111111115,1424952001662)\n" + - "(1,75,1830.555555555556,1424952001662)\n" + "(0,100,1627.7777777777783,1424952003662)\n" + - "(1,80,1898.6111111111115,1424952004663)\n" + "(0,95,1681.944444444445,1424952005663)\n" + - "(1,90,1947.2222222222226,1424952006664)\n" + "(0,100,1737.5000000000007,1424952007664)\n" + - "(0,100,1791.6666666666674,1424952009664)\n" + "(1,85,2022.2222222222226,1424952009665)\n" + - "(0,90,1843.0555555555563,1424952011665)\n" + "(1,80,2087.5000000000005,1424952012666)\n" + - "(0,100,1897.222222222223,1424952013666)\n" + "(0,100,1951.3888888888898,1424952015667)\n" + - "(1,85,2159.722222222223,1424952015667)\n" + "(0,100,2005.5555555555566,1424952017667)\n" + - "(1,95,2211.1111111111118,1424952017668)"; + "(0,55,15.277777777777777,1424951918630)\n" + + "(1,50,26.38888888888889,1424951919632)\n" + + "(0,65,108.33333333333333,1424951924635)\n" + + "(1,50,26.38888888888889,1424951919632)\n" + + "(0,65,108.33333333333333,1424951924635)\n" + + "(1,55,159.7222222222222,1424951930637)\n" + + "(0,65,108.33333333333333,1424951924635)\n" + + "(1,70,213.88888888888886,1424951933638)\n" + + "(0,60,156.94444444444443,1424951927636)\n" + + "(1,75,272.2222222222222,1424951936639)\n" + + "(1,75,272.2222222222222,1424951936639)\n" + + "(0,60,218.05555555555551,1424951931637)\n" + + "(1,75,272.2222222222222,1424951936639)\n" + + "(0,55,288.88888888888886,1424951936639)\n" + + "(1,75,272.2222222222222,1424951936639)\n" + + "(1,75,497.2222222222222,1424951948643)\n" + + "(0,55,344.44444444444446,1424951940640)\n" + + "(1,80,519.4444444444443,1424951949644)\n" + + "(0,50,413.88888888888897,1424951945642)\n" + + "(1,85,586.111111111111,1424951952645)\n" + + "(1,85,586.111111111111,1424951952645)\n" + + "(0,55,573.6111111111112,1424951958646)\n" + + "(1,85,586.111111111111,1424951952645)\n" + + "(0,70,627.7777777777778,1424951961647)\n" + + "(1,90,831.9444444444441,1424951963648)\n" + + "(0,80,670.8333333333334,1424951963648)\n" + + "(1,95,858.333333333333,1424951964649)\n" + + "(0,80,670.8333333333334,1424951963648)\n" + + "(1,100,937.4999999999998,1424951967650)\n" + + "(1,100,937.4999999999998,1424951967650)\n" + + "(0,80,670.8333333333334,1424951963648)\n" + + "(1,100,937.4999999999998,1424951967650)\n" + + "(0,85,861.1111111111112,1424951972651)\n" + + "(1,100,937.4999999999998,1424951967650)\n" + + "(1,100,937.4999999999998,1424951967650)\n" + + "(0,85,861.1111111111112,1424951972651)\n" + + "(1,100,965.2777777777776,1424951968650)\n" + + "(0,85,861.1111111111112,1424951972651)\n" + + "(1,100,1020.8333333333333,1424951970651)\n" + + "(1,100,1076.388888888889,1424951972651)\n" + + "(0,90,1058.3333333333335,1424951981654)\n" + + "(1,100,1130.5555555555557,1424951974652)\n" + + "(0,95,1133.3333333333335,1424951984655)\n" + + "(1,100,1186.1111111111113,1424951976653)\n" + + "(0,95,1133.3333333333335,1424951984655)\n" + + "(1,100,1240.277777777778,1424951978653)\n" + + "(0,95,1133.3333333333335,1424951984655)\n" + + "(1,100,1295.8333333333337,1424951980654)\n" + + "(0,95,1133.3333333333335,1424951984655)\n" + + "(1,100,1351.3888888888894,1424951982655)\n" + + "(0,100,1358.3333333333335,1424951993659)\n" + + "(1,100,1406.944444444445,1424951984656)\n" + + "(0,100,1358.3333333333335,1424951993659)\n" + + "(1,100,1563.8888888888896,1424951990658)\n" + + "(0,100,1358.3333333333335,1424951993659)\n" + + "(1,100,1563.8888888888896,1424951990658)\n" + + "(0,100,1358.3333333333335,1424951993659)\n" + + "(0,100,1358.3333333333335,1424951993659)\n" + + "(1,100,1669.4444444444453,1424951994659)\n" + + "(0,100,1386.1111111111113,1424951994659)\n" + + "(1,95,1695.8333333333342,1424951995660)\n" + + "(0,100,1440.277777777778,1424951996660)\n" + + "(1,90,1947.2222222222226,1424952006664)\n" + + "(0,100,1522.2222222222226,1424951999661)\n" + + "(0,100,1627.7777777777783,1424952003662)\n" + + "(1,95,1973.6111111111115,1424952007664)\n" + + "(0,100,1627.7777777777783,1424952003662)\n" + + "(1,95,1973.6111111111115,1424952007664)\n" + + "(0,100,1655.555555555556,1424952004663)\n" + + "(0,100,1709.7222222222229,1424952006663)\n" + + "(1,95,1973.6111111111115,1424952007664)\n" + + "(0,100,1791.6666666666674,1424952009664)\n" + + "(1,95,2211.1111111111118,1424952017668)\n"; public static final String TOP_CASE_CLASS_SPEEDS = - "CarEvent(0,55,44.44444444444444,1424951920633)\n" + "CarEvent(1,40,50.0,1424951921634)\n" + - "CarEvent(0,65,108.33333333333333,1424951924635)\n" + "CarEvent(1,45,104.16666666666666,1424951926636)\n" + - "CarEvent(0,55,172.2222222222222,1424951928636)\n" + "CarEvent(1,55,159.7222222222222,1424951930637)\n" + - "CarEvent(0,55,233.3333333333333,1424951932637)\n" + "CarEvent(1,70,213.88888888888886,1424951933638)\n" + - "CarEvent(0,55,288.88888888888886,1424951936639)\n" + "CarEvent(1,75,272.2222222222222,1424951936639)\n" + - "CarEvent(1,70,329.16666666666663,1424951939640)\n" + "CarEvent(0,55,344.44444444444446,1424951940640)\n" + - "CarEvent(1,65,384.7222222222222,1424951942641)\n" + "CarEvent(0,45,400.00000000000006,1424951944642)\n" + - "CarEvent(1,60,438.88888888888886,1424951945642)\n" + "CarEvent(1,75,497.2222222222222,1424951948643)\n" + - "CarEvent(0,40,461.11111111111114,1424951949643)\n" + "CarEvent(1,80,562.4999999999999,1424951951644)\n" + - "CarEvent(0,35,520.8333333333334,1424951954645)\n" + "CarEvent(1,75,629.1666666666665,1424951954645)\n" + - "CarEvent(1,80,691.6666666666665,1424951957646)\n" + "CarEvent(0,55,573.6111111111112,1424951958646)\n" + - "CarEvent(1,85,761.1111111111109,1424951960647)\n" + "CarEvent(0,70,627.7777777777778,1424951961647)\n" + - "CarEvent(1,90,831.9444444444441,1424951963648)\n" + "CarEvent(0,75,691.6666666666667,1424951964649)\n" + - "CarEvent(1,90,883.333333333333,1424951965649)\n" + "CarEvent(0,70,751.388888888889,1424951967649)\n" + - "CarEvent(1,100,937.4999999999998,1424951967650)\n" + "CarEvent(1,100,993.0555555555554,1424951969650)\n" + - "CarEvent(0,75,815.2777777777779,1424951970651)\n" + "CarEvent(1,100,1048.611111111111,1424951971651)\n" + - "CarEvent(0,80,883.3333333333334,1424951973652)\n" + "CarEvent(1,95,1102.7777777777778,1424951973652)\n" + - "CarEvent(1,100,1158.3333333333335,1424951975652)\n" + "CarEvent(0,75,944.4444444444446,1424951976653)\n" + - "CarEvent(1,95,1212.5000000000002,1424951977653)\n" + "CarEvent(0,80,1009.7222222222223,1424951979654)\n" + - "CarEvent(1,100,1268.0555555555559,1424951979654)\n" + "CarEvent(1,100,1323.6111111111115,1424951981654)\n" + - "CarEvent(0,85,1081.9444444444446,1424951982655)\n" + "CarEvent(1,100,1379.1666666666672,1424951983655)\n" + - "CarEvent(0,95,1133.3333333333335,1424951984655)\n" + "CarEvent(1,95,1433.333333333334,1424951985656)\n" + - "CarEvent(0,95,1184.7222222222224,1424951986656)\n" + "CarEvent(1,95,1484.7222222222229,1424951987657)\n" + - "CarEvent(0,80,1255.5555555555557,1424951989657)\n" + "CarEvent(1,95,1536.1111111111118,1424951989657)\n" + - "CarEvent(0,90,1304.1666666666667,1424951991658)\n" + "CarEvent(1,95,1590.2777777777785,1424951991658)\n" + - "CarEvent(0,100,1358.3333333333335,1424951993659)\n" + "CarEvent(1,95,1641.6666666666674,1424951993659)\n" + - "CarEvent(0,95,1412.5000000000002,1424951995659)\n" + "CarEvent(1,95,1695.8333333333342,1424951995660)\n" + - "CarEvent(0,100,1468.0555555555559,1424951997660)\n" + "CarEvent(1,80,1766.6666666666674,1424951998661)\n" + - "CarEvent(0,100,1522.2222222222226,1424951999661)\n" + "CarEvent(0,90,1573.6111111111115,1424952001662)\n" + - "CarEvent(1,75,1830.555555555556,1424952001662)\n" + "CarEvent(0,100,1627.7777777777783,1424952003662)\n" + - "CarEvent(1,80,1898.6111111111115,1424952004663)\n" + "CarEvent(0,95,1681.944444444445,1424952005663)\n" + - "CarEvent(1,90,1947.2222222222226,1424952006664)\n" + "CarEvent(0,100,1737.5000000000007,1424952007664)\n" + - "CarEvent(0,100,1791.6666666666674,1424952009664)\n" + "CarEvent(1,85,2022.2222222222226,1424952009665)\n" + - "CarEvent(0,90,1843.0555555555563,1424952011665)\n" + "CarEvent(1,80,2087.5000000000005,1424952012666)\n" + - "CarEvent(0,100,1897.222222222223,1424952013666)\n" + "CarEvent(0,100,1951.3888888888898,1424952015667)\n" + - "CarEvent(1,85,2159.722222222223,1424952015667)\n" + "CarEvent(0,100,2005.5555555555566,1424952017667)\n" + - "CarEvent(1,95,2211.1111111111118,1424952017668)"; + "CarEvent(0,55,15.277777777777777,1424951918630)\n" + + "CarEvent(1,50,26.38888888888889,1424951919632)\n" + + "CarEvent(0,65,108.33333333333333,1424951924635)\n" + + "CarEvent(1,50,26.38888888888889,1424951919632)\n" + + "CarEvent(0,65,108.33333333333333,1424951924635)\n" + + "CarEvent(1,55,159.7222222222222,1424951930637)\n" + + "CarEvent(0,65,108.33333333333333,1424951924635)\n" + + "CarEvent(1,70,213.88888888888886,1424951933638)\n" + + "CarEvent(0,60,156.94444444444443,1424951927636)\n" + + "CarEvent(1,75,272.2222222222222,1424951936639)\n" + + "CarEvent(1,75,272.2222222222222,1424951936639)\n" + + "CarEvent(0,60,218.05555555555551,1424951931637)\n" + + "CarEvent(1,75,272.2222222222222,1424951936639)\n" + + "CarEvent(0,55,288.88888888888886,1424951936639)\n" + + "CarEvent(1,75,272.2222222222222,1424951936639)\n" + + "CarEvent(1,75,497.2222222222222,1424951948643)\n" + + "CarEvent(0,55,344.44444444444446,1424951940640)\n" + + "CarEvent(1,80,519.4444444444443,1424951949644)\n" + + "CarEvent(0,50,413.88888888888897,1424951945642)\n" + + "CarEvent(1,85,586.111111111111,1424951952645)\n" + + "CarEvent(1,85,586.111111111111,1424951952645)\n" + + "CarEvent(0,55,573.6111111111112,1424951958646)\n" + + "CarEvent(1,85,586.111111111111,1424951952645)\n" + + "CarEvent(0,70,627.7777777777778,1424951961647)\n" + + "CarEvent(1,90,831.9444444444441,1424951963648)\n" + + "CarEvent(0,80,670.8333333333334,1424951963648)\n" + + "CarEvent(1,95,858.333333333333,1424951964649)\n" + + "CarEvent(0,80,670.8333333333334,1424951963648)\n" + + "CarEvent(1,100,937.4999999999998,1424951967650)\n" + + "CarEvent(1,100,937.4999999999998,1424951967650)\n" + + "CarEvent(0,80,670.8333333333334,1424951963648)\n" + + "CarEvent(1,100,937.4999999999998,1424951967650)\n" + + "CarEvent(0,85,861.1111111111112,1424951972651)\n" + + "CarEvent(1,100,937.4999999999998,1424951967650)\n" + + "CarEvent(1,100,937.4999999999998,1424951967650)\n" + + "CarEvent(0,85,861.1111111111112,1424951972651)\n" + + "CarEvent(1,100,965.2777777777776,1424951968650)\n" + + "CarEvent(0,85,861.1111111111112,1424951972651)\n" + + "CarEvent(1,100,1020.8333333333333,1424951970651)\n" + + "CarEvent(1,100,1076.388888888889,1424951972651)\n" + + "CarEvent(0,90,1058.3333333333335,1424951981654)\n" + + "CarEvent(1,100,1130.5555555555557,1424951974652)\n" + + "CarEvent(0,95,1133.3333333333335,1424951984655)\n" + + "CarEvent(1,100,1186.1111111111113,1424951976653)\n" + + "CarEvent(0,95,1133.3333333333335,1424951984655)\n" + + "CarEvent(1,100,1240.277777777778,1424951978653)\n" + + "CarEvent(0,95,1133.3333333333335,1424951984655)\n" + + "CarEvent(1,100,1295.8333333333337,1424951980654)\n" + + "CarEvent(0,95,1133.3333333333335,1424951984655)\n" + + "CarEvent(1,100,1351.3888888888894,1424951982655)\n" + + "CarEvent(0,100,1358.3333333333335,1424951993659)\n" + + "CarEvent(1,100,1406.944444444445,1424951984656)\n" + + "CarEvent(0,100,1358.3333333333335,1424951993659)\n" + + "CarEvent(1,100,1563.8888888888896,1424951990658)\n" + + "CarEvent(0,100,1358.3333333333335,1424951993659)\n" + + "CarEvent(1,100,1563.8888888888896,1424951990658)\n" + + "CarEvent(0,100,1358.3333333333335,1424951993659)\n" + + "CarEvent(0,100,1358.3333333333335,1424951993659)\n" + + "CarEvent(1,100,1669.4444444444453,1424951994659)\n" + + "CarEvent(0,100,1386.1111111111113,1424951994659)\n" + + "CarEvent(1,95,1695.8333333333342,1424951995660)\n" + + "CarEvent(0,100,1440.277777777778,1424951996660)\n" + + "CarEvent(1,90,1947.2222222222226,1424952006664)\n" + + "CarEvent(0,100,1522.2222222222226,1424951999661)\n" + + "CarEvent(0,100,1627.7777777777783,1424952003662)\n" + + "CarEvent(1,95,1973.6111111111115,1424952007664)\n" + + "CarEvent(0,100,1627.7777777777783,1424952003662)\n" + + "CarEvent(1,95,1973.6111111111115,1424952007664)\n" + + "CarEvent(0,100,1655.555555555556,1424952004663)\n" + + "CarEvent(0,100,1709.7222222222229,1424952006663)\n" + + "CarEvent(1,95,1973.6111111111115,1424952007664)\n" + + "CarEvent(0,100,1791.6666666666674,1424952009664)\n" + + "CarEvent(1,95,2211.1111111111118,1424952017668)\n"; private TopSpeedWindowingExampleData() { } http://git-wip-us.apache.org/repos/asf/flink/blob/af05b94d/flink-staging/flink-streaming/flink-streaming-examples/src/main/scala/org/apache/flink/streaming/scala/examples/windowing/TopSpeedWindowing.scala ---------------------------------------------------------------------- diff --git a/flink-staging/flink-streaming/flink-streaming-examples/src/main/scala/org/apache/flink/streaming/scala/examples/windowing/TopSpeedWindowing.scala b/flink-staging/flink-streaming/flink-streaming-examples/src/main/scala/org/apache/flink/streaming/scala/examples/windowing/TopSpeedWindowing.scala index 522aa95..9603f71 100644 --- a/flink-staging/flink-streaming/flink-streaming-examples/src/main/scala/org/apache/flink/streaming/scala/examples/windowing/TopSpeedWindowing.scala +++ b/flink-staging/flink-streaming/flink-streaming-examples/src/main/scala/org/apache/flink/streaming/scala/examples/windowing/TopSpeedWindowing.scala @@ -57,7 +57,7 @@ object TopSpeedWindowing { val cars = setCarsInput(env) val topSeed = cars.groupBy("carId") - .window(Time.of(evictionSec, (car : CarEvent) => car.time)) + .window(Time.of(evictionSec * 1000, (car : CarEvent) => car.time)) .every(Delta.of[CarEvent](triggerMeters, (oldSp,newSp) => newSp.distance-oldSp.distance, CarEvent(0,0,0,0))) .local
