From 11571826788f9b5daaa1038d94b679b71b4c76d2 Mon Sep 17 00:00:00 2001 From: John Ahlroos Date: Thu, 15 Apr 2021 13:30:43 +0300 Subject: [PATCH] Initial implementation --- .gitignore | 5 + .run/Simulation.run.xml | 20 + README.md | 71 ++ build.gradle | 26 + data/5937.csv | 632 ++++++++++ data/6043.csv | 1096 +++++++++++++++++ data/traffic-report.png | Bin 0 -> 95666 bytes data/tube.csv | 309 +++++ docs/architecture-chart.graphml | 645 ++++++++++ docs/architecture-chart.png | Bin 0 -> 74590 bytes docs/route-data-flow.graphml | 545 ++++++++ docs/route-data-flow.png | Bin 0 -> 94840 bytes docs/shutdown-flow.graphml | 568 +++++++++ docs/shutdown-flow.png | Bin 0 -> 80314 bytes docs/traffic-condition-flow.graphml | 577 +++++++++ docs/traffic-condition-flow.png | Bin 0 -> 96467 bytes docs/traffic-drones-back-end.pdf | Bin 0 -> 19296 bytes gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 185 +++ gradlew.bat | 89 ++ library/build.gradle | 0 library/src/main/java/drones/I18N.java | 21 + .../java/drones/dispatcher/Dispatcher.java | 259 ++++ library/src/main/java/drones/drone/Drone.java | 322 +++++ .../main/java/drones/drone/DroneState.java | 25 + library/src/main/java/drones/geo/Point.java | 127 ++ .../src/main/java/drones/geo/TubeStation.java | 29 + .../main/java/drones/messages/EventBus.java | 65 + .../main/java/drones/messages/Message.java | 63 + .../main/resources/drones-messages.properties | 49 + .../drones/dispatcher/DispatcherTest.java | 102 ++ .../src/test/java/drones/drone/DroneTest.java | 92 ++ .../java/drones/messages/EventBusTest.java | 26 + settings.gradle | 10 + simulation/build.gradle | 19 + simulation/src/main/java/simulation/I18N.java | 21 + .../src/main/java/simulation/Simulation.java | 110 ++ .../simulation/logging/DroneLogPerFile.java | 21 + .../simulation/logging/RouteMapGenerator.java | 277 +++++ simulation/src/main/resources/logback.xml | 68 + .../resources/simulation-messages.properties | 23 + 42 files changed, 6502 insertions(+) create mode 100644 .gitignore create mode 100644 .run/Simulation.run.xml create mode 100644 README.md create mode 100644 build.gradle create mode 100644 data/5937.csv create mode 100644 data/6043.csv create mode 100644 data/traffic-report.png create mode 100644 data/tube.csv create mode 100644 docs/architecture-chart.graphml create mode 100644 docs/architecture-chart.png create mode 100644 docs/route-data-flow.graphml create mode 100644 docs/route-data-flow.png create mode 100644 docs/shutdown-flow.graphml create mode 100644 docs/shutdown-flow.png create mode 100644 docs/traffic-condition-flow.graphml create mode 100644 docs/traffic-condition-flow.png create mode 100644 docs/traffic-drones-back-end.pdf create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 library/build.gradle create mode 100644 library/src/main/java/drones/I18N.java create mode 100644 library/src/main/java/drones/dispatcher/Dispatcher.java create mode 100644 library/src/main/java/drones/drone/Drone.java create mode 100644 library/src/main/java/drones/drone/DroneState.java create mode 100644 library/src/main/java/drones/geo/Point.java create mode 100644 library/src/main/java/drones/geo/TubeStation.java create mode 100644 library/src/main/java/drones/messages/EventBus.java create mode 100644 library/src/main/java/drones/messages/Message.java create mode 100644 library/src/main/resources/drones-messages.properties create mode 100644 library/src/test/java/drones/dispatcher/DispatcherTest.java create mode 100644 library/src/test/java/drones/drone/DroneTest.java create mode 100644 library/src/test/java/drones/messages/EventBusTest.java create mode 100644 settings.gradle create mode 100644 simulation/build.gradle create mode 100644 simulation/src/main/java/simulation/I18N.java create mode 100644 simulation/src/main/java/simulation/Simulation.java create mode 100644 simulation/src/main/java/simulation/logging/DroneLogPerFile.java create mode 100644 simulation/src/main/java/simulation/logging/RouteMapGenerator.java create mode 100644 simulation/src/main/resources/logback.xml create mode 100644 simulation/src/main/resources/simulation-messages.properties diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ad46fe4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.gradle +.idea +build +logs +dist \ No newline at end of file diff --git a/.run/Simulation.run.xml b/.run/Simulation.run.xml new file mode 100644 index 0000000..8be8ff7 --- /dev/null +++ b/.run/Simulation.run.xml @@ -0,0 +1,20 @@ + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..c729b88 --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# Drone Simulator + +This is an application for simulating Drone operations and reporting (fictive) traffic information for London tube +stations. + +
+
+ +
+
+  Elephant & Castle @ 08:03:47: MODERATE (drone: 5937,speed: 27km/h, distanceToStation: 343m)
+  Borough @ 08:05:47: MODERATE (drone: 5937,speed: 28km/h, distanceToStation: 346m)
+  Elephant & Castle @ 08:06:37: MODERATE (drone: 5937,speed: 32km/h, distanceToStation: 349m)
+  Elephant & Castle @ 08:06:38: HEAVY (drone: 5937,speed: 30km/h, distanceToStation: 347m)
+  Southwark @ 08:08:38: LIGHT (drone: 5937,speed: 115km/h, distanceToStation: 339m)
+  Pimlico @ 07:59:05: HEAVY (drone: 6043,speed: 37km/h, distanceToStation: 344m)
+  Westminster @ 08:04:13: HEAVY (drone: 6043,speed: 32km/h, distanceToStation: 347m)
+  Embankment @ 08:07:19: LIGHT (drone: 6043,speed: 29km/h, distanceToStation: 343m)
+  Charing Cross @ 08:08:04: HEAVY (drone: 6043,speed: 60km/h, distanceToStation: 348m)
+  Temple @ 08:08:37: LIGHT (drone: 6043,speed: 36km/h, distanceToStation: 345m)
+  
+
+
+ +## Prerequisites + +This application is written with Java 16 and so needs to have Java 16 installed before building. + +## Building application from source + +To build the application run the following command in the root directory of the project: + +> ./gradlew distZip + +This will build a ZIP archive with the application in the ``./dist`` folder. Extract it anywhere on your system to +execute the application. + +## Running application from sources + +You can also run the application directly with Gradle without building a distribution. To run the application +execute the following: + +> ./gradlew run --args="--data-dir=./data 5937 6043" + +This will use the example data provided in the ``./data`` folder. + +# Command line arguments +``` +Usage: drone-simulator [-hVw] [-d=] [-p=][-s=] [-t=] DRONES... + -d, --data-dir= The path to the drone data + -h, --help Show this help message and exit. + -p, --simulation-speed= The speed of the simulation time. 0 (real-time) -> 1.0 (no time simulation, instant) + -s, --shut-down-time= At what time should the simulation terminate + -t, --tube-stations= The path to the tube stations data + -V, --version Print version information and exit. +``` + +## Output + +The application outputs to artifacts after a successful simulation: +* The traffic reports are printed in the Console output +* An image file (traffic-report.png) is created in the current directory which contains the drone routes as well as + the waypoints. + +For more details about the operation of the simulation a ``./logs`` directory will be created with logs from different +parts of the simulation: +* `./logs/dispatcher.log`: This log file contains logging from the dispatcher as the simulation proceeds. +* `./logs/drone-.log`: A log file per drone will be created to provide insights into each drone's operations +* `./logs/report.log`: This is the final traffic report log. It is the same information that is output to the + console at runtime while the simulations proceeds. + diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..19d784b --- /dev/null +++ b/build.gradle @@ -0,0 +1,26 @@ +allprojects { + group 'drone.simulator' + version '1.0' +} + +subprojects { + apply plugin: 'java' + + sourceCompatibility = JavaVersion.VERSION_16 + targetCompatibility = JavaVersion.VERSION_16 + + repositories { + mavenCentral() + } + + dependencies { + implementation 'ch.qos.logback:logback-classic:1.3.0-alpha4' + implementation 'ch.qos.logback:logback-core:1.3.0-alpha4' + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' + } + + test { + useJUnitPlatform() + } +} \ No newline at end of file diff --git a/data/5937.csv b/data/5937.csv new file mode 100644 index 0000000..51fd4b2 --- /dev/null +++ b/data/5937.csv @@ -0,0 +1,632 @@ +5937,"51.476105","-0.100224","2011-03-22 07:55:26" +5937,"51.475967","-0.100368","2011-03-22 07:55:40" +5937,"51.476021","-0.100246","2011-03-22 07:55:44" +5937,"51.476051","-0.100078","2011-03-22 07:55:46" +5937,"51.476009","-0.099922","2011-03-22 07:55:52" +5937,"51.476044","-0.099775","2011-03-22 07:55:58" +5937,"51.476074","-0.099968","2011-03-22 07:56:43" +5937,"51.476086","-0.100047","2011-03-22 07:56:45" +5937,"51.476074","-0.100123","2011-03-22 07:56:46" +5937,"51.476089","-0.10019","2011-03-22 07:56:48" +5937,"51.476112","-0.100246","2011-03-22 07:56:53" +5937,"51.476112","-0.100264","2011-03-22 07:56:54" +5937,"51.476116","-0.10028","2011-03-22 07:56:55" +5937,"51.476112","-0.100356","2011-03-22 07:57:05" +5937,"51.476135","-0.100378","2011-03-22 07:57:06" +5937,"51.476154","-0.100392","2011-03-22 07:57:07" +5937,"51.476189","-0.100396","2011-03-22 07:57:08" +5937,"51.476219","-0.100387","2011-03-22 07:57:09" +5937,"51.476257","-0.100379","2011-03-22 07:57:10" +5937,"51.476292","-0.100358","2011-03-22 07:57:11" +5937,"51.47633","-0.10034","2011-03-22 07:57:12" +5937,"51.476372","-0.100327","2011-03-22 07:57:13" +5937,"51.476414","-0.100313","2011-03-22 07:57:14" +5937,"51.476463","-0.10028","2011-03-22 07:57:15" +5937,"51.476509","-0.100253","2011-03-22 07:57:16" +5937,"51.476555","-0.100224","2011-03-22 07:57:17" +5937,"51.476589","-0.100196","2011-03-22 07:57:18" +5937,"51.476627","-0.100167","2011-03-22 07:57:19" +5937,"51.476665","-0.100135","2011-03-22 07:57:20" +5937,"51.476692","-0.100112","2011-03-22 07:57:24" +5937,"51.476761","-0.100064","2011-03-22 07:57:30" +5937,"51.476753","-0.099897","2011-03-22 07:57:31" +5937,"51.476715","-0.099819","2011-03-22 07:57:32" +5937,"51.476677","-0.099738","2011-03-22 07:57:33" +5937,"51.476639","-0.099653","2011-03-22 07:57:34" +5937,"51.476604","-0.09957","2011-03-22 07:57:35" +5937,"51.47657","-0.099485","2011-03-22 07:57:36" +5937,"51.476536","-0.099398","2011-03-22 07:57:37" +5937,"51.476501","-0.099309","2011-03-22 07:57:38" +5937,"51.476471","-0.099218","2011-03-22 07:57:39" +5937,"51.47644","-0.099126","2011-03-22 07:57:40" +5937,"51.476406","-0.099036","2011-03-22 07:57:44" +5937,"51.476109","-0.098336","2011-03-22 07:57:49" +5937,"51.476078","-0.098251","2011-03-22 07:57:50" +5937,"51.476044","-0.098161","2011-03-22 07:57:51" +5937,"51.476009","-0.098071","2011-03-22 07:57:52" +5937,"51.475975","-0.097981","2011-03-22 07:57:53" +5937,"51.475967","-0.097888","2011-03-22 07:57:54" +5937,"51.475956","-0.097797","2011-03-22 07:57:55" +5937,"51.475964","-0.097705","2011-03-22 07:57:56" +5937,"51.475971","-0.097608","2011-03-22 07:57:57" +5937,"51.475975","-0.097508","2011-03-22 07:57:58" +5937,"51.475983","-0.097411","2011-03-22 07:57:59" +5937,"51.475986","-0.097315","2011-03-22 07:58:00" +5937,"51.475986","-0.09722","2011-03-22 07:58:04" +5937,"51.476002","-0.096826","2011-03-22 07:58:05" +5937,"51.476006","-0.096728","2011-03-22 07:58:06" +5937,"51.476009","-0.096629","2011-03-22 07:58:07" +5937,"51.476009","-0.096528","2011-03-22 07:58:08" +5937,"51.476013","-0.096439","2011-03-22 07:58:09" +5937,"51.476013","-0.096343","2011-03-22 07:58:10" +5937,"51.476013","-0.096243","2011-03-22 07:58:11" +5937,"51.476063","-0.095301","2011-03-22 07:58:36" +5937,"51.476074","-0.095201","2011-03-22 07:58:39" +5937,"51.476112","-0.094802","2011-03-22 07:58:40" +5937,"51.476196","-0.09426","2011-03-22 07:58:41" +5937,"51.476223","-0.0942","2011-03-22 07:58:43" +5937,"51.476231","-0.094171","2011-03-22 07:58:44" +5937,"51.47628","-0.094118","2011-03-22 07:58:46" +5937,"51.476334","-0.094116","2011-03-22 07:58:47" +5937,"51.476395","-0.094117","2011-03-22 07:58:48" +5937,"51.476456","-0.094111","2011-03-22 07:58:49" +5937,"51.476521","-0.094101","2011-03-22 07:58:50" +5937,"51.476593","-0.094088","2011-03-22 07:58:51" +5937,"51.476669","-0.094082","2011-03-22 07:58:52" +5937,"51.476742","-0.094079","2011-03-22 07:58:53" +5937,"51.476818","-0.094079","2011-03-22 07:58:54" +5937,"51.476891","-0.09408","2011-03-22 07:58:55" +5937,"51.476959","-0.094082","2011-03-22 07:58:56" +5937,"51.477028","-0.094084","2011-03-22 07:58:57" +5937,"51.477097","-0.094088","2011-03-22 07:58:58" +5937,"51.477158","-0.094094","2011-03-22 07:58:59" +5937,"51.477219","-0.094098","2011-03-22 07:59:00" +5937,"51.477276","-0.094102","2011-03-22 07:59:01" +5937,"51.477333","-0.094107","2011-03-22 07:59:02" +5937,"51.47739","-0.09411","2011-03-22 07:59:03" +5937,"51.477444","-0.094114","2011-03-22 07:59:04" +5937,"51.477501","-0.094117","2011-03-22 07:59:05" +5937,"51.477554","-0.09412","2011-03-22 07:59:06" +5937,"51.477608","-0.094124","2011-03-22 07:59:07" +5937,"51.477665","-0.094121","2011-03-22 07:59:08" +5937,"51.477726","-0.094115","2011-03-22 07:59:09" +5937,"51.477791","-0.094108","2011-03-22 07:59:10" +5937,"51.477856","-0.094104","2011-03-22 07:59:11" +5937,"51.477921","-0.094097","2011-03-22 07:59:12" +5937,"51.477985","-0.094095","2011-03-22 07:59:13" +5937,"51.478104","-0.094096","2011-03-22 07:59:16" +5937,"51.478226","-0.094104","2011-03-22 07:59:17" +5937,"51.478287","-0.094106","2011-03-22 07:59:18" +5937,"51.478348","-0.094106","2011-03-22 07:59:19" +5937,"51.478409","-0.094109","2011-03-22 07:59:20" +5937,"51.47847","-0.094121","2011-03-22 07:59:55" +5937,"51.478661","-0.094174","2011-03-22 07:59:58" +5937,"51.478916","-0.094214","2011-03-22 08:00:13" +5937,"51.479542","-0.094233","2011-03-22 08:00:14" +5937,"51.479664","-0.094246","2011-03-22 08:00:15" +5937,"51.479729","-0.094251","2011-03-22 08:00:16" +5937,"51.47979","-0.094256","2011-03-22 08:00:19" +5937,"51.480701","-0.094345","2011-03-22 08:00:20" +5937,"51.480946","-0.094378","2011-03-22 08:00:21" +5937,"51.481007","-0.094384","2011-03-22 08:00:22" +5937,"51.481918","-0.094489","2011-03-22 08:00:23" +5937,"51.482307","-0.094506","2011-03-22 08:00:24" +5937,"51.482662","-0.094514","2011-03-22 08:00:26" +5937,"51.482738","-0.094526","2011-03-22 08:00:27" +5937,"51.482815","-0.094524","2011-03-22 08:00:28" +5937,"51.482887","-0.094513","2011-03-22 08:00:29" +5937,"51.48296","-0.094495","2011-03-22 08:00:30" +5937,"51.483028","-0.094471","2011-03-22 08:00:31" +5937,"51.483093","-0.09443","2011-03-22 08:00:32" +5937,"51.483147","-0.09439","2011-03-22 08:00:33" +5937,"51.483204","-0.094351","2011-03-22 08:00:34" +5937,"51.483265","-0.094315","2011-03-22 08:00:35" +5937,"51.483326","-0.094278","2011-03-22 08:00:36" +5937,"51.483391","-0.094246","2011-03-22 08:00:37" +5937,"51.483459","-0.094218","2011-03-22 08:00:38" +5937,"51.483528","-0.094191","2011-03-22 08:00:39" +5937,"51.483593","-0.094162","2011-03-22 08:00:40" +5937,"51.483658","-0.09413","2011-03-22 08:00:41" +5937,"51.48378","-0.09406","2011-03-22 08:00:43" +5937,"51.483845","-0.094025","2011-03-22 08:00:44" +5937,"51.483913","-0.093991","2011-03-22 08:00:45" +5937,"51.483982","-0.093959","2011-03-22 08:00:46" +5937,"51.484051","-0.093923","2011-03-22 08:00:47" +5937,"51.484119","-0.093891","2011-03-22 08:00:48" +5937,"51.484188","-0.093858","2011-03-22 08:00:49" +5937,"51.484249","-0.093818","2011-03-22 08:00:50" +5937,"51.48431","-0.093772","2011-03-22 08:00:51" +5937,"51.484371","-0.093728","2011-03-22 08:00:52" +5937,"51.484451","-0.093718","2011-03-22 08:00:53" +5937,"51.484528","-0.093706","2011-03-22 08:00:54" +5937,"51.484604","-0.093694","2011-03-22 08:00:55" +5937,"51.484673","-0.093691","2011-03-22 08:00:56" +5937,"51.484737","-0.093695","2011-03-22 08:00:57" +5937,"51.484787","-0.093702","2011-03-22 08:00:58" +5937,"51.484844","-0.09372","2011-03-22 08:00:59" +5937,"51.484901","-0.093735","2011-03-22 08:01:00" +5937,"51.484955","-0.093744","2011-03-22 08:01:01" +5937,"51.485065","-0.093791","2011-03-22 08:01:03" +5937,"51.485126","-0.093823","2011-03-22 08:01:04" +5937,"51.485184","-0.093853","2011-03-22 08:01:05" +5937,"51.485241","-0.093883","2011-03-22 08:01:06" +5937,"51.485298","-0.093913","2011-03-22 08:01:07" +5937,"51.48534","-0.093935","2011-03-22 08:01:08" +5937,"51.485394","-0.093961","2011-03-22 08:01:09" +5937,"51.485455","-0.093995","2011-03-22 08:01:10" +5937,"51.485519","-0.094032","2011-03-22 08:01:11" +5937,"51.485588","-0.094076","2011-03-22 08:01:12" +5937,"51.485657","-0.094119","2011-03-22 08:01:13" +5937,"51.485729","-0.094163","2011-03-22 08:01:14" +5937,"51.485802","-0.09421","2011-03-22 08:01:15" +5937,"51.485878","-0.094255","2011-03-22 08:01:16" +5937,"51.485958","-0.094309","2011-03-22 08:01:17" +5937,"51.486038","-0.094375","2011-03-22 08:01:18" +5937,"51.486118","-0.094442","2011-03-22 08:01:19" +5937,"51.486198","-0.094515","2011-03-22 08:01:20" +5937,"51.486271","-0.094586","2011-03-22 08:01:21" +5937,"51.486412","-0.094718","2011-03-22 08:01:23" +5937,"51.486477","-0.094781","2011-03-22 08:01:24" +5937,"51.486542","-0.094843","2011-03-22 08:01:25" +5937,"51.486603","-0.0949","2011-03-22 08:01:26" +5937,"51.48666","-0.09495","2011-03-22 08:01:27" +5937,"51.486717","-0.095","2011-03-22 08:01:28" +5937,"51.486774","-0.095052","2011-03-22 08:01:29" +5937,"51.486832","-0.095106","2011-03-22 08:01:30" +5937,"51.486885","-0.095154","2011-03-22 08:01:31" +5937,"51.486938","-0.095196","2011-03-22 08:01:32" +5937,"51.486996","-0.095231","2011-03-22 08:01:33" +5937,"51.487049","-0.095258","2011-03-22 08:01:34" +5937,"51.487106","-0.09528","2011-03-22 08:01:35" +5937,"51.487164","-0.095295","2011-03-22 08:01:36" +5937,"51.487221","-0.095313","2011-03-22 08:01:37" +5937,"51.487274","-0.095324","2011-03-22 08:01:38" +5937,"51.487328","-0.095333","2011-03-22 08:01:39" +5937,"51.487381","-0.095346","2011-03-22 08:01:40" +5937,"51.487434","-0.095362","2011-03-22 08:01:41" +5937,"51.487492","-0.095382","2011-03-22 08:01:42" +5937,"51.487545","-0.095404","2011-03-22 08:01:43" +5937,"51.487602","-0.095427","2011-03-22 08:01:44" +5937,"51.487663","-0.095448","2011-03-22 08:01:45" +5937,"51.48772","-0.095468","2011-03-22 08:01:46" +5937,"51.487774","-0.095493","2011-03-22 08:01:47" +5937,"51.487831","-0.09552","2011-03-22 08:01:48" +5937,"51.487885","-0.095548","2011-03-22 08:01:49" +5937,"51.487934","-0.095572","2011-03-22 08:01:50" +5937,"51.487984","-0.095595","2011-03-22 08:01:51" +5937,"51.488033","-0.095617","2011-03-22 08:01:52" +5937,"51.488087","-0.095642","2011-03-22 08:01:53" +5937,"51.48814","-0.09567","2011-03-22 08:01:54" +5937,"51.488194","-0.095699","2011-03-22 08:01:55" +5937,"51.488247","-0.09573","2011-03-22 08:01:56" +5937,"51.4883","-0.095763","2011-03-22 08:01:57" +5937,"51.488358","-0.095795","2011-03-22 08:01:58" +5937,"51.4884","-0.09582","2011-03-22 08:01:59" +5937,"51.488441","-0.095843","2011-03-22 08:02:00" +5937,"51.488483","-0.095867","2011-03-22 08:02:02" +5937,"51.488529","-0.095891","2011-03-22 08:02:03" +5937,"51.488609","-0.095942","2011-03-22 08:02:04" +5937,"51.488644","-0.095965","2011-03-22 08:02:05" +5937,"51.488678","-0.095988","2011-03-22 08:02:06" +5937,"51.488716","-0.096021","2011-03-22 08:02:07" +5937,"51.488758","-0.096064","2011-03-22 08:02:08" +5937,"51.488804","-0.096106","2011-03-22 08:02:09" +5937,"51.488846","-0.096142","2011-03-22 08:02:10" +5937,"51.488892","-0.096178","2011-03-22 08:02:11" +5937,"51.488983","-0.096242","2011-03-22 08:02:13" +5937,"51.489029","-0.096269","2011-03-22 08:02:14" +5937,"51.489071","-0.096289","2011-03-22 08:02:15" +5937,"51.489117","-0.096305","2011-03-22 08:02:16" +5937,"51.489159","-0.096318","2011-03-22 08:02:17" +5937,"51.489201","-0.096332","2011-03-22 08:02:18" +5937,"51.489235","-0.09634","2011-03-22 08:02:19" +5937,"51.489265","-0.09635","2011-03-22 08:02:20" +5937,"51.489349","-0.0964","2011-03-22 08:02:24" +5937,"51.489349","-0.0964","2011-03-22 08:02:35" +5937,"51.489449","-0.096428","2011-03-22 08:02:44" +5937,"51.48954","-0.096471","2011-03-22 08:02:47" +5937,"51.489582","-0.096496","2011-03-22 08:02:48" +5937,"51.489632","-0.096528","2011-03-22 08:02:49" +5937,"51.489693","-0.09657","2011-03-22 08:02:50" +5937,"51.48975","-0.096613","2011-03-22 08:02:51" +5937,"51.489815","-0.096653","2011-03-22 08:02:52" +5937,"51.489876","-0.096694","2011-03-22 08:02:53" +5937,"51.489941","-0.096736","2011-03-22 08:02:54" +5937,"51.490005","-0.096778","2011-03-22 08:02:55" +5937,"51.49007","-0.096821","2011-03-22 08:02:56" +5937,"51.490135","-0.096863","2011-03-22 08:02:57" +5937,"51.490204","-0.096907","2011-03-22 08:02:58" +5937,"51.49028","-0.096961","2011-03-22 08:02:59" +5937,"51.490353","-0.097013","2011-03-22 08:03:00" +5937,"51.490425","-0.097064","2011-03-22 08:03:01" +5937,"51.490566","-0.097169","2011-03-22 08:03:03" +5937,"51.490635","-0.097225","2011-03-22 08:03:04" +5937,"51.490707","-0.09728","2011-03-22 08:03:05" +5937,"51.490776","-0.097334","2011-03-22 08:03:06" +5937,"51.490845","-0.097386","2011-03-22 08:03:07" +5937,"51.49091","-0.097431","2011-03-22 08:03:08" +5937,"51.490971","-0.097472","2011-03-22 08:03:09" +5937,"51.491028","-0.097512","2011-03-22 08:03:10" +5937,"51.491085","-0.097549","2011-03-22 08:03:11" +5937,"51.491138","-0.09759","2011-03-22 08:03:12" +5937,"51.491192","-0.097618","2011-03-22 08:03:13" +5937,"51.491245","-0.097644","2011-03-22 08:03:14" +5937,"51.491299","-0.097658","2011-03-22 08:03:15" +5937,"51.491352","-0.097675","2011-03-22 08:03:16" +5937,"51.491405","-0.097686","2011-03-22 08:03:17" +5937,"51.491459","-0.097697","2011-03-22 08:03:18" +5937,"51.491508","-0.097711","2011-03-22 08:03:19" +5937,"51.491562","-0.097725","2011-03-22 08:03:20" +5937,"51.491611","-0.097737","2011-03-22 08:03:21" +5937,"51.491711","-0.097767","2011-03-22 08:03:23" +5937,"51.491776","-0.097801","2011-03-22 08:03:24" +5937,"51.491837","-0.097836","2011-03-22 08:03:25" +5937,"51.491898","-0.097877","2011-03-22 08:03:26" +5937,"51.491955","-0.097915","2011-03-22 08:03:27" +5937,"51.492008","-0.097949","2011-03-22 08:03:28" +5937,"51.492058","-0.09798","2011-03-22 08:03:29" +5937,"51.492111","-0.098011","2011-03-22 08:03:30" +5937,"51.492161","-0.098039","2011-03-22 08:03:31" +5937,"51.492214","-0.098069","2011-03-22 08:03:32" +5937,"51.492275","-0.09812","2011-03-22 08:03:33" +5937,"51.492332","-0.098178","2011-03-22 08:03:34" +5937,"51.49239","-0.098241","2011-03-22 08:03:35" +5937,"51.492447","-0.098294","2011-03-22 08:03:36" +5937,"51.492504","-0.098339","2011-03-22 08:03:37" +5937,"51.492565","-0.098384","2011-03-22 08:03:38" +5937,"51.492626","-0.098431","2011-03-22 08:03:39" +5937,"51.492687","-0.098475","2011-03-22 08:03:40" +5937,"51.492748","-0.098518","2011-03-22 08:03:41" +5937,"51.492859","-0.0986","2011-03-22 08:03:43" +5937,"51.492912","-0.098648","2011-03-22 08:03:44" +5937,"51.492954","-0.098724","2011-03-22 08:03:45" +5937,"51.493","-0.098801","2011-03-22 08:03:46" +5937,"51.493042","-0.098864","2011-03-22 08:03:47" +5937,"51.493073","-0.098918","2011-03-22 08:03:48" +5937,"51.493122","-0.099014","2011-03-22 08:03:49" +5937,"51.493168","-0.09911","2011-03-22 08:03:50" +5937,"51.49321","-0.099202","2011-03-22 08:03:51" +5937,"51.493237","-0.099295","2011-03-22 08:03:52" +5937,"51.493252","-0.09935","2011-03-22 08:03:53" +5937,"51.493271","-0.099412","2011-03-22 08:03:54" +5937,"51.49329","-0.099491","2011-03-22 08:03:55" +5937,"51.493298","-0.099591","2011-03-22 08:03:56" +5937,"51.493309","-0.099719","2011-03-22 08:03:57" +5937,"51.49332","-0.099851","2011-03-22 08:03:58" +5937,"51.493328","-0.099979","2011-03-22 08:03:59" +5937,"51.493332","-0.10011","2011-03-22 08:04:00" +5937,"51.493328","-0.100243","2011-03-22 08:04:01" +5937,"51.493332","-0.100504","2011-03-22 08:04:03" +5937,"51.49337","-0.100593","2011-03-22 08:04:04" +5937,"51.49342","-0.100638","2011-03-22 08:04:05" +5937,"51.493473","-0.10066","2011-03-22 08:04:06" +5937,"51.49353","-0.100669","2011-03-22 08:04:07" +5937,"51.493591","-0.100671","2011-03-22 08:04:08" +5937,"51.493649","-0.100674","2011-03-22 08:04:09" +5937,"51.493713","-0.100673","2011-03-22 08:04:10" +5937,"51.493771","-0.100673","2011-03-22 08:04:11" +5937,"51.493839","-0.100673","2011-03-22 08:04:12" +5937,"51.493908","-0.100674","2011-03-22 08:04:13" +5937,"51.49398","-0.100675","2011-03-22 08:04:14" +5937,"51.494049","-0.100674","2011-03-22 08:04:15" +5937,"51.49411","-0.100678","2011-03-22 08:04:16" +5937,"51.494171","-0.100682","2011-03-22 08:04:17" +5937,"51.494228","-0.100682","2011-03-22 08:04:18" +5937,"51.494278","-0.100674","2011-03-22 08:04:19" +5937,"51.49432","-0.100668","2011-03-22 08:04:20" +5937,"51.494362","-0.100659","2011-03-22 08:04:21" +5937,"51.494457","-0.100624","2011-03-22 08:04:23" +5937,"51.494511","-0.100627","2011-03-22 08:04:24" +5937,"51.494556","-0.100631","2011-03-22 08:04:25" +5937,"51.494598","-0.100656","2011-03-22 08:04:26" +5937,"51.494637","-0.100698","2011-03-22 08:04:27" +5937,"51.494675","-0.100736","2011-03-22 08:04:28" +5937,"51.49474","-0.100829","2011-03-22 08:04:30" +5937,"51.494793","-0.100904","2011-03-22 08:04:31" +5937,"51.494854","-0.100991","2011-03-22 08:04:32" +5937,"51.494911","-0.101082","2011-03-22 08:04:33" +5937,"51.494972","-0.101167","2011-03-22 08:04:34" +5937,"51.495029","-0.101238","2011-03-22 08:04:35" +5937,"51.495071","-0.101259","2011-03-22 08:04:36" +5937,"51.495117","-0.101261","2011-03-22 08:04:37" +5937,"51.495182","-0.101261","2011-03-22 08:04:38" +5937,"51.495247","-0.101228","2011-03-22 08:04:39" +5937,"51.495285","-0.101216","2011-03-22 08:04:40" +5937,"51.495327","-0.101201","2011-03-22 08:04:41" +5937,"51.495419","-0.101124","2011-03-22 08:04:43" +5937,"51.495468","-0.101015","2011-03-22 08:04:44" +5937,"51.49551","-0.100889","2011-03-22 08:04:45" +5937,"51.495544","-0.100755","2011-03-22 08:04:46" +5937,"51.49559","-0.100624","2011-03-22 08:04:47" +5937,"51.495617","-0.10051","2011-03-22 08:04:48" +5937,"51.495651","-0.100388","2011-03-22 08:04:49" +5937,"51.495693","-0.100265","2011-03-22 08:04:50" +5937,"51.495728","-0.10016","2011-03-22 08:04:51" +5937,"51.495789","-0.100095","2011-03-22 08:04:52" +5937,"51.495865","-0.100053","2011-03-22 08:04:53" +5937,"51.495941","-0.100015","2011-03-22 08:04:54" +5937,"51.496006","-0.099966","2011-03-22 08:04:55" +5937,"51.496071","-0.099922","2011-03-22 08:04:56" +5937,"51.496132","-0.099883","2011-03-22 08:04:57" +5937,"51.496193","-0.099841","2011-03-22 08:04:58" +5937,"51.49625","-0.099799","2011-03-22 08:04:59" +5937,"51.4963","-0.099763","2011-03-22 08:05:00" +5937,"51.496365","-0.099823","2011-03-22 08:05:09" +5937,"51.496429","-0.099886","2011-03-22 08:05:11" +5937,"51.496525","-0.099785","2011-03-22 08:05:12" +5937,"51.496632","-0.099669","2011-03-22 08:05:13" +5937,"51.496738","-0.099593","2011-03-22 08:05:14" +5937,"51.496838","-0.099465","2011-03-22 08:05:15" +5937,"51.496922","-0.099325","2011-03-22 08:05:16" +5937,"51.496998","-0.099207","2011-03-22 08:05:17" +5937,"51.497066","-0.099114","2011-03-22 08:05:18" +5937,"51.497135","-0.099031","2011-03-22 08:05:19" +5937,"51.497204","-0.09895","2011-03-22 08:05:20" +5937,"51.497269","-0.098877","2011-03-22 08:05:21" +5937,"51.497395","-0.098741","2011-03-22 08:05:23" +5937,"51.497463","-0.098683","2011-03-22 08:05:24" +5937,"51.497528","-0.098632","2011-03-22 08:05:25" +5937,"51.497593","-0.098575","2011-03-22 08:05:26" +5937,"51.497654","-0.098512","2011-03-22 08:05:27" +5937,"51.497711","-0.09846","2011-03-22 08:05:28" +5937,"51.497768","-0.098404","2011-03-22 08:05:29" +5937,"51.497829","-0.098349","2011-03-22 08:05:30" +5937,"51.497887","-0.09829","2011-03-22 08:05:31" +5937,"51.497925","-0.09823","2011-03-22 08:05:32" +5937,"51.497963","-0.098171","2011-03-22 08:05:33" +5937,"51.498005","-0.098118","2011-03-22 08:05:34" +5937,"51.498047","-0.098063","2011-03-22 08:05:35" +5937,"51.498093","-0.097997","2011-03-22 08:05:36" +5937,"51.498146","-0.097935","2011-03-22 08:05:37" +5937,"51.498199","-0.097876","2011-03-22 08:05:38" +5937,"51.49826","-0.097817","2011-03-22 08:05:39" +5937,"51.498325","-0.097759","2011-03-22 08:05:40" +5937,"51.498383","-0.097703","2011-03-22 08:05:41" +5937,"51.498497","-0.09759","2011-03-22 08:05:43" +5937,"51.498554","-0.097533","2011-03-22 08:05:44" +5937,"51.498615","-0.097469","2011-03-22 08:05:45" +5937,"51.498676","-0.097413","2011-03-22 08:05:46" +5937,"51.498734","-0.097358","2011-03-22 08:05:47" +5937,"51.498798","-0.097304","2011-03-22 08:05:48" +5937,"51.498856","-0.097249","2011-03-22 08:05:49" +5937,"51.49897","-0.097143","2011-03-22 08:05:51" +5937,"51.499077","-0.097071","2011-03-22 08:05:53" +5937,"51.499134","-0.097101","2011-03-22 08:05:56" +5937,"51.49921","-0.097325","2011-03-22 08:05:57" +5937,"51.49921","-0.097423","2011-03-22 08:05:58" +5937,"51.49921","-0.097535","2011-03-22 08:05:59" +5937,"51.49921","-0.097643","2011-03-22 08:06:00" +5937,"51.49921","-0.097747","2011-03-22 08:06:05" +5937,"51.499207","-0.097947","2011-03-22 08:06:07" +5937,"51.499168","-0.098414","2011-03-22 08:06:08" +5937,"51.499165","-0.098496","2011-03-22 08:06:09" +5937,"51.499157","-0.098581","2011-03-22 08:06:10" +5937,"51.499153","-0.098665","2011-03-22 08:06:11" +5937,"51.499149","-0.098752","2011-03-22 08:06:12" +5937,"51.499153","-0.099004","2011-03-22 08:06:15" +5937,"51.499149","-0.099088","2011-03-22 08:06:16" +5937,"51.499149","-0.099173","2011-03-22 08:06:17" +5937,"51.499149","-0.099256","2011-03-22 08:06:18" +5937,"51.499142","-0.099335","2011-03-22 08:06:19" +5937,"51.499119","-0.099413","2011-03-22 08:06:20" +5937,"51.499104","-0.099478","2011-03-22 08:06:21" +5937,"51.499088","-0.09953","2011-03-22 08:06:23" +5937,"51.499084","-0.09969","2011-03-22 08:06:26" +5937,"51.499077","-0.099839","2011-03-22 08:06:29" +5937,"51.499077","-0.099934","2011-03-22 08:06:30" +5937,"51.499065","-0.100066","2011-03-22 08:06:31" +5937,"51.499058","-0.100195","2011-03-22 08:06:32" +5937,"51.499046","-0.100355","2011-03-22 08:06:33" +5937,"51.499027","-0.100509","2011-03-22 08:06:34" +5937,"51.499012","-0.100647","2011-03-22 08:06:35" +5937,"51.498997","-0.100773","2011-03-22 08:06:36" +5937,"51.498981","-0.10089","2011-03-22 08:06:37" +5937,"51.498947","-0.10111","2011-03-22 08:06:41" +5937,"51.49892","-0.101314","2011-03-22 08:06:43" +5937,"51.498882","-0.101592","2011-03-22 08:06:45" +5937,"51.498863","-0.101782","2011-03-22 08:06:46" +5937,"51.498856","-0.101868","2011-03-22 08:06:47" +5937,"51.498844","-0.101953","2011-03-22 08:06:48" +5937,"51.498821","-0.102125","2011-03-22 08:06:50" +5937,"51.498833","-0.102038","2011-03-22 08:06:51" +5937,"51.498806","-0.102307","2011-03-22 08:06:52" +5937,"51.498795","-0.102402","2011-03-22 08:06:53" +5937,"51.498783","-0.102496","2011-03-22 08:06:54" +5937,"51.498775","-0.10259","2011-03-22 08:06:55" +5937,"51.498768","-0.102684","2011-03-22 08:06:56" +5937,"51.49876","-0.102775","2011-03-22 08:06:57" +5937,"51.498756","-0.102867","2011-03-22 08:06:58" +5937,"51.498753","-0.10296","2011-03-22 08:06:59" +5937,"51.498756","-0.103059","2011-03-22 08:07:00" +5937,"51.498764","-0.103161","2011-03-22 08:07:03" +5937,"51.498756","-0.103535","2011-03-22 08:07:06" +5937,"51.498745","-0.103599","2011-03-22 08:07:07" +5937,"51.498737","-0.10366","2011-03-22 08:07:08" +5937,"51.498734","-0.10371","2011-03-22 08:07:09" +5937,"51.49873","-0.103754","2011-03-22 08:07:10" +5937,"51.498745","-0.103827","2011-03-22 08:07:12" +5937,"51.498745","-0.10387","2011-03-22 08:07:13" +5937,"51.498734","-0.103999","2011-03-22 08:07:19" +5937,"51.498772","-0.104146","2011-03-22 08:07:26" +5937,"51.49889","-0.104248","2011-03-22 08:07:30" +5937,"51.498978","-0.104295","2011-03-22 08:07:33" +5937,"51.499039","-0.104436","2011-03-22 08:07:37" +5937,"51.499062","-0.104547","2011-03-22 08:07:39" +5937,"51.4991","-0.104568","2011-03-22 08:07:40" +5937,"51.499142","-0.104586","2011-03-22 08:07:41" +5937,"51.499184","-0.104606","2011-03-22 08:07:42" +5937,"51.499245","-0.104619","2011-03-22 08:07:43" +5937,"51.499302","-0.104629","2011-03-22 08:07:44" +5937,"51.499359","-0.10463","2011-03-22 08:07:45" +5937,"51.499416","-0.104627","2011-03-22 08:07:46" +5937,"51.499466","-0.104625","2011-03-22 08:07:47" +5937,"51.499508","-0.104622","2011-03-22 08:07:48" +5937,"51.499557","-0.10462","2011-03-22 08:07:49" +5937,"51.499619","-0.104606","2011-03-22 08:07:50" +5937,"51.49968","-0.104577","2011-03-22 08:07:51" +5937,"51.499741","-0.104549","2011-03-22 08:07:52" +5937,"51.499802","-0.104518","2011-03-22 08:07:53" +5937,"51.500034","-0.104437","2011-03-22 08:07:57" +5937,"51.499863","-0.104485","2011-03-22 08:07:58" +5937,"51.500145","-0.104423","2011-03-22 08:07:59" +5937,"51.500198","-0.104419","2011-03-22 08:08:00" +5937,"51.500256","-0.104414","2011-03-22 08:08:35" +5937,"51.500832","-0.104443","2011-03-22 08:08:37" +5937,"51.501404","-0.104541","2011-03-22 08:08:38" +5937,"51.501457","-0.104545","2011-03-22 08:08:39" +5937,"51.501797","-0.104482","2011-03-22 08:08:40" +5937,"51.502518","-0.104429","2011-03-22 08:08:41" +5937,"51.502579","-0.104428","2011-03-22 08:08:43" +5937,"51.502705","-0.104402","2011-03-22 08:08:44" +5937,"51.502758","-0.104394","2011-03-22 08:08:45" +5937,"51.502811","-0.104387","2011-03-22 08:08:46" +5937,"51.502865","-0.104379","2011-03-22 08:08:47" +5937,"51.502918","-0.104369","2011-03-22 08:08:48" +5937,"51.502968","-0.104362","2011-03-22 08:08:49" +5937,"51.503048","-0.104358","2011-03-22 08:08:50" +5937,"51.503128","-0.10435","2011-03-22 08:08:51" +5937,"51.503201","-0.104344","2011-03-22 08:08:52" +5937,"51.503262","-0.104341","2011-03-22 08:08:53" +5937,"51.503323","-0.104383","2011-03-22 08:08:54" +5937,"51.503407","-0.104392","2011-03-22 08:08:55" +5937,"51.503483","-0.104412","2011-03-22 08:08:56" +5937,"51.503544","-0.104448","2011-03-22 08:08:57" +5937,"51.503616","-0.10447","2011-03-22 08:08:58" +5937,"51.503704","-0.104487","2011-03-22 08:08:59" +5937,"51.503788","-0.104495","2011-03-22 08:09:00" +5937,"51.50388","-0.104484","2011-03-22 08:09:01" +5937,"51.504051","-0.104468","2011-03-22 08:09:03" +5937,"51.504131","-0.104459","2011-03-22 08:09:04" +5937,"51.504204","-0.104449","2011-03-22 08:09:05" +5937,"51.50428","-0.104445","2011-03-22 08:09:06" +5937,"51.504364","-0.104445","2011-03-22 08:09:07" +5937,"51.504444","-0.104443","2011-03-22 08:09:08" +5937,"51.504524","-0.104436","2011-03-22 08:09:09" +5937,"51.504604","-0.104429","2011-03-22 08:09:10" +5937,"51.504681","-0.104425","2011-03-22 08:09:11" +5937,"51.504757","-0.104425","2011-03-22 08:09:12" +5937,"51.504829","-0.104436","2011-03-22 08:09:13" +5937,"51.504902","-0.104464","2011-03-22 08:09:14" +5937,"51.50499","-0.104503","2011-03-22 08:09:15" +5937,"51.505074","-0.104526","2011-03-22 08:09:16" +5937,"51.505154","-0.104542","2011-03-22 08:09:17" +5937,"51.50523","-0.104546","2011-03-22 08:09:18" +5937,"51.505302","-0.104546","2011-03-22 08:09:19" +5937,"51.505375","-0.104547","2011-03-22 08:09:20" +5937,"51.505444","-0.104547","2011-03-22 08:09:21" +5937,"51.505573","-0.104539","2011-03-22 08:09:23" +5937,"51.505638","-0.104522","2011-03-22 08:09:24" +5937,"51.505699","-0.1045","2011-03-22 08:09:25" +5937,"51.50576","-0.104476","2011-03-22 08:09:26" +5937,"51.505814","-0.104451","2011-03-22 08:09:27" +5937,"51.505939","-0.10439","2011-03-22 08:09:29" +5937,"51.506004","-0.104366","2011-03-22 08:09:30" +5937,"51.506065","-0.104349","2011-03-22 08:09:31" +5937,"51.506126","-0.104337","2011-03-22 08:09:32" +5937,"51.506187","-0.104329","2011-03-22 08:09:33" +5937,"51.506248","-0.104325","2011-03-22 08:09:34" +5937,"51.506313","-0.104322","2011-03-22 08:09:35" +5937,"51.506378","-0.104318","2011-03-22 08:09:36" +5937,"51.506447","-0.104312","2011-03-22 08:09:37" +5937,"51.506512","-0.104304","2011-03-22 08:09:38" +5937,"51.506573","-0.104298","2011-03-22 08:09:39" +5937,"51.506638","-0.104288","2011-03-22 08:09:40" +5937,"51.506699","-0.104279","2011-03-22 08:09:41" +5937,"51.506813","-0.104267","2011-03-22 08:09:43" +5937,"51.506836","-0.104259","2011-03-22 08:09:44" +5937,"51.506863","-0.104254","2011-03-22 08:09:45" +5937,"51.506889","-0.104248","2011-03-22 08:09:46" +5937,"51.506985","-0.104248","2011-03-22 08:09:51" +5937,"51.506985","-0.104248","2011-03-22 08:10:04" +5937,"51.507095","-0.10428","2011-03-22 08:10:20" +5937,"51.507172","-0.104337","2011-03-22 08:10:21" +5937,"51.507233","-0.104356","2011-03-22 08:10:22" +5937,"51.507305","-0.104375","2011-03-22 08:10:23" +5937,"51.507381","-0.10439","2011-03-22 08:10:24" +5937,"51.507462","-0.1044","2011-03-22 08:10:25" +5937,"51.507538","-0.104407","2011-03-22 08:10:26" +5937,"51.507618","-0.104409","2011-03-22 08:10:27" +5937,"51.507702","-0.104451","2011-03-22 08:10:28" +5937,"51.50779","-0.104492","2011-03-22 08:10:29" +5937,"51.507881","-0.104528","2011-03-22 08:10:30" +5937,"51.507957","-0.10454","2011-03-22 08:10:31" +5937,"51.508018","-0.10452","2011-03-22 08:10:32" +5937,"51.508083","-0.104481","2011-03-22 08:10:33" +5937,"51.508144","-0.104452","2011-03-22 08:10:34" +5937,"51.50856","-0.104023","2011-03-22 08:10:38" +5937,"51.50843","-0.103953","2011-03-22 08:10:39" +5937,"51.508656","-0.104162","2011-03-22 08:10:40" +5937,"51.50869","-0.104322","2011-03-22 08:10:41" +5937,"51.508751","-0.104478","2011-03-22 08:10:43" +5937,"51.508793","-0.104493","2011-03-22 08:10:45" +5937,"51.508896","-0.104509","2011-03-22 08:10:46" +5937,"51.508949","-0.104515","2011-03-22 08:10:47" +5937,"51.508999","-0.104518","2011-03-22 08:10:48" +5937,"51.509052","-0.104521","2011-03-22 08:10:49" +5937,"51.509106","-0.104522","2011-03-22 08:10:50" +5937,"51.509155","-0.10452","2011-03-22 08:10:51" +5937,"51.509209","-0.104516","2011-03-22 08:10:52" +5937,"51.509262","-0.104509","2011-03-22 08:10:53" +5937,"51.509312","-0.104503","2011-03-22 08:10:54" +5937,"51.509365","-0.104499","2011-03-22 08:10:55" +5937,"51.509418","-0.104496","2011-03-22 08:10:56" +5937,"51.509521","-0.10449","2011-03-22 08:10:58" +5937,"51.509571","-0.104486","2011-03-22 08:10:59" +5937,"51.509571","-0.104486","2011-03-22 08:11:09" +5937,"51.510185","-0.104531","2011-03-22 08:11:11" +5937,"51.510265","-0.104538","2011-03-22 08:11:12" +5937,"51.510376","-0.104491","2011-03-22 08:11:13" +5937,"51.51046","-0.104484","2011-03-22 08:11:14" +5937,"51.510517","-0.104488","2011-03-22 08:11:15" +5937,"51.510525","-0.104497","2011-03-22 08:11:16" +5937,"51.510601","-0.104443","2011-03-22 08:11:17" +5937,"51.510658","-0.104441","2011-03-22 08:11:18" +5937,"51.510708","-0.104441","2011-03-22 08:11:19" +5937,"51.510761","-0.10444","2011-03-22 08:11:20" +5937,"51.510803","-0.104441","2011-03-22 08:11:25" +5937,"51.510838","-0.104445","2011-03-22 08:11:26" +5937,"51.510899","-0.104471","2011-03-22 08:11:27" +5937,"51.510899","-0.104471","2011-03-22 08:11:45" +5937,"51.510841","-0.104327","2011-03-22 08:11:54" +5937,"51.510902","-0.104415","2011-03-22 08:12:05" +5937,"51.510902","-0.104483","2011-03-22 08:12:06" +5937,"51.510891","-0.104563","2011-03-22 08:12:07" +5937,"51.510876","-0.10465","2011-03-22 08:12:08" +5937,"51.51088","-0.104766","2011-03-22 08:12:09" +5937,"51.510887","-0.104893","2011-03-22 08:12:10" +5937,"51.510906","-0.105019","2011-03-22 08:12:11" +5937,"51.510921","-0.105143","2011-03-22 08:12:12" +5937,"51.510933","-0.105266","2011-03-22 08:12:13" +5937,"51.510941","-0.105382","2011-03-22 08:12:14" +5937,"51.510944","-0.1055","2011-03-22 08:12:15" +5937,"51.510948","-0.10562","2011-03-22 08:12:16" +5937,"51.510952","-0.105744","2011-03-22 08:12:17" +5937,"51.510952","-0.105869","2011-03-22 08:12:18" +5937,"51.510952","-0.105997","2011-03-22 08:12:19" +5937,"51.510956","-0.106125","2011-03-22 08:12:20" +5937,"51.510956","-0.106258","2011-03-22 08:12:21" +5937,"51.510956","-0.106535","2011-03-22 08:12:23" +5937,"51.510956","-0.106674","2011-03-22 08:12:24" +5937,"51.510956","-0.106814","2011-03-22 08:12:25" +5937,"51.510956","-0.106956","2011-03-22 08:12:26" +5937,"51.51096","-0.107093","2011-03-22 08:12:27" +5937,"51.510963","-0.107442","2011-03-22 08:12:30" +5937,"51.510963","-0.10753","2011-03-22 08:12:31" +5937,"51.510963","-0.107613","2011-03-22 08:12:32" +5937,"51.510963","-0.107675","2011-03-22 08:12:33" +5937,"51.510967","-0.107732","2011-03-22 08:12:34" +5937,"51.510971","-0.107791","2011-03-22 08:12:35" +5937,"51.510971","-0.107849","2011-03-22 08:12:36" +5937,"51.510971","-0.107901","2011-03-22 08:12:37" +5937,"51.510971","-0.107952","2011-03-22 08:12:38" +5937,"51.510979","-0.107989","2011-03-22 08:12:39" +5937,"51.510979","-0.108029","2011-03-22 08:12:40" +5937,"51.510983","-0.108073","2011-03-22 08:12:41" +5937,"51.51099","-0.108123","2011-03-22 08:12:42" +5937,"51.510998","-0.108175","2011-03-22 08:12:43" +5937,"51.511005","-0.108226","2011-03-22 08:12:44" +5937,"51.511017","-0.108275","2011-03-22 08:12:45" +5937,"51.511024","-0.10832","2011-03-22 08:12:46" +5937,"51.51104","-0.108357","2011-03-22 08:12:47" +5937,"51.511047","-0.108391","2011-03-22 08:12:48" +5937,"51.510998","-0.108486","2011-03-22 08:13:02" diff --git a/data/6043.csv b/data/6043.csv new file mode 100644 index 0000000..bd9e9d0 --- /dev/null +++ b/data/6043.csv @@ -0,0 +1,1096 @@ +6043,"51.474579","-0.171834","2011-03-22 07:47:55" +6043,"51.479015","-0.172361","2011-03-22 07:48:01" +6043,"51.478935","-0.172237","2011-03-22 07:48:07" +6043,"51.478935","-0.172237","2011-03-22 07:48:23" +6043,"51.478897","-0.172087","2011-03-22 07:48:29" +6043,"51.478897","-0.172087","2011-03-22 07:48:39" +6043,"51.478897","-0.172087","2011-03-22 07:48:59" +6043,"51.478848","-0.172105","2011-03-22 07:49:09" +6043,"51.47887","-0.172202","2011-03-22 07:49:10" +6043,"51.478901","-0.172274","2011-03-22 07:49:11" +6043,"51.478935","-0.172347","2011-03-22 07:49:12" +6043,"51.47897","-0.172416","2011-03-22 07:49:13" +6043,"51.478992","-0.172465","2011-03-22 07:49:14" +6043,"51.479012","-0.172525","2011-03-22 07:49:15" +6043,"51.479027","-0.172576","2011-03-22 07:49:16" +6043,"51.479046","-0.172615","2011-03-22 07:49:17" +6043,"51.479061","-0.172702","2011-03-22 07:49:20" +6043,"51.47908","-0.172773","2011-03-22 07:49:23" +6043,"51.479092","-0.172809","2011-03-22 07:49:25" +6043,"51.479095","-0.172822","2011-03-22 07:49:26" +6043,"51.479122","-0.172826","2011-03-22 07:49:28" +6043,"51.479111","-0.172824","2011-03-22 07:49:28" +6043,"51.479134","-0.17283","2011-03-22 07:49:29" +6043,"51.479122","-0.172841","2011-03-22 07:49:30" +6043,"51.479111","-0.172852","2011-03-22 07:49:31" +6043,"51.479095","-0.172852","2011-03-22 07:49:32" +6043,"51.47908","-0.17283","2011-03-22 07:49:33" +6043,"51.479065","-0.172801","2011-03-22 07:49:34" +6043,"51.47905","-0.172767","2011-03-22 07:49:35" +6043,"51.479038","-0.172721","2011-03-22 07:49:36" +6043,"51.479023","-0.172681","2011-03-22 07:49:37" +6043,"51.479008","-0.172643","2011-03-22 07:49:38" +6043,"51.478985","-0.172623","2011-03-22 07:49:39" +6043,"51.478966","-0.172624","2011-03-22 07:49:40" +6043,"51.478943","-0.172637","2011-03-22 07:49:41" +6043,"51.478916","-0.172648","2011-03-22 07:49:42" +6043,"51.478889","-0.172665","2011-03-22 07:49:43" +6043,"51.478863","-0.172681","2011-03-22 07:49:44" +6043,"51.478836","-0.172694","2011-03-22 07:49:45" +6043,"51.478806","-0.172707","2011-03-22 07:49:46" +6043,"51.478779","-0.172732","2011-03-22 07:49:48" +6043,"51.478752","-0.17276","2011-03-22 07:49:48" +6043,"51.478718","-0.172781","2011-03-22 07:49:49" +6043,"51.478687","-0.172808","2011-03-22 07:49:50" +6043,"51.478649","-0.172828","2011-03-22 07:49:51" +6043,"51.478615","-0.172826","2011-03-22 07:49:52" +6043,"51.478577","-0.172825","2011-03-22 07:49:53" +6043,"51.478542","-0.172805","2011-03-22 07:49:54" +6043,"51.478508","-0.172785","2011-03-22 07:49:55" +6043,"51.478489","-0.172736","2011-03-22 07:49:56" +6043,"51.478481","-0.172681","2011-03-22 07:49:57" +6043,"51.478477","-0.172626","2011-03-22 07:49:58" +6043,"51.478489","-0.172571","2011-03-22 07:49:59" +6043,"51.478512","-0.172523","2011-03-22 07:50:00" +6043,"51.478535","-0.172473","2011-03-22 07:50:01" +6043,"51.478561","-0.172416","2011-03-22 07:50:02" +6043,"51.478584","-0.172351","2011-03-22 07:50:03" +6043,"51.478607","-0.172293","2011-03-22 07:50:04" +6043,"51.47863","-0.172235","2011-03-22 07:50:05" +6043,"51.478653","-0.172177","2011-03-22 07:50:06" +6043,"51.478683","-0.172127","2011-03-22 07:50:08" +6043,"51.478714","-0.172077","2011-03-22 07:50:08" +6043,"51.478741","-0.172027","2011-03-22 07:50:09" +6043,"51.478767","-0.171979","2011-03-22 07:50:10" +6043,"51.478775","-0.171919","2011-03-22 07:50:11" +6043,"51.478756","-0.171867","2011-03-22 07:50:12" +6043,"51.478733","-0.17182","2011-03-22 07:50:13" +6043,"51.478706","-0.171783","2011-03-22 07:50:14" +6043,"51.478676","-0.171748","2011-03-22 07:50:15" +6043,"51.478649","-0.171715","2011-03-22 07:50:16" +6043,"51.478626","-0.171684","2011-03-22 07:50:17" +6043,"51.478619","-0.171663","2011-03-22 07:50:18" +6043,"51.478611","-0.171641","2011-03-22 07:50:19" +6043,"51.478611","-0.17162","2011-03-22 07:50:20" +6043,"51.478607","-0.171599","2011-03-22 07:50:21" +6043,"51.478611","-0.171578","2011-03-22 07:50:22" +6043,"51.478619","-0.171557","2011-03-22 07:50:23" +6043,"51.478626","-0.171537","2011-03-22 07:50:24" +6043,"51.47863","-0.171523","2011-03-22 07:50:25" +6043,"51.478634","-0.171511","2011-03-22 07:50:26" +6043,"51.478645","-0.171455","2011-03-22 07:50:31" +6043,"51.478657","-0.171419","2011-03-22 07:50:32" +6043,"51.478668","-0.171382","2011-03-22 07:50:33" +6043,"51.478676","-0.171345","2011-03-22 07:50:34" +6043,"51.478691","-0.171317","2011-03-22 07:50:35" +6043,"51.47871","-0.171284","2011-03-22 07:50:36" +6043,"51.478725","-0.171243","2011-03-22 07:50:37" +6043,"51.478737","-0.1712","2011-03-22 07:50:38" +6043,"51.478752","-0.171163","2011-03-22 07:50:39" +6043,"51.478767","-0.171125","2011-03-22 07:50:40" +6043,"51.478786","-0.171086","2011-03-22 07:50:41" +6043,"51.478798","-0.171045","2011-03-22 07:50:42" +6043,"51.478813","-0.171004","2011-03-22 07:50:43" +6043,"51.478828","-0.170961","2011-03-22 07:50:44" +6043,"51.478844","-0.170919","2011-03-22 07:50:45" +6043,"51.478863","-0.170881","2011-03-22 07:50:46" +6043,"51.478882","-0.170843","2011-03-22 07:50:48" +6043,"51.478893","-0.170803","2011-03-22 07:50:48" +6043,"51.47887","-0.170762","2011-03-22 07:50:49" +6043,"51.478848","-0.170729","2011-03-22 07:50:50" +6043,"51.478828","-0.170694","2011-03-22 07:50:51" +6043,"51.478851","-0.170666","2011-03-22 07:50:52" +6043,"51.478882","-0.170654","2011-03-22 07:50:53" +6043,"51.47892","-0.170661","2011-03-22 07:50:54" +6043,"51.47897","-0.170707","2011-03-22 07:50:55" +6043,"51.479027","-0.170755","2011-03-22 07:50:56" +6043,"51.47908","-0.170803","2011-03-22 07:50:57" +6043,"51.479134","-0.170849","2011-03-22 07:50:58" +6043,"51.479191","-0.170898","2011-03-22 07:50:59" +6043,"51.479248","-0.170948","2011-03-22 07:51:00" +6043,"51.479305","-0.171001","2011-03-22 07:51:01" +6043,"51.479362","-0.171053","2011-03-22 07:51:02" +6043,"51.47942","-0.1711","2011-03-22 07:51:03" +6043,"51.479469","-0.171142","2011-03-22 07:51:04" +6043,"51.479523","-0.171184","2011-03-22 07:51:05" +6043,"51.479568","-0.171222","2011-03-22 07:51:06" +6043,"51.479664","-0.171298","2011-03-22 07:51:09" +6043,"51.479614","-0.171259","2011-03-22 07:51:09" +6043,"51.47971","-0.171338","2011-03-22 07:51:09" +6043,"51.479755","-0.17137","2011-03-22 07:51:10" +6043,"51.47979","-0.171398","2011-03-22 07:51:11" +6043,"51.479832","-0.171428","2011-03-22 07:51:12" +6043,"51.47987","-0.171457","2011-03-22 07:51:13" +6043,"51.479912","-0.171484","2011-03-22 07:51:14" +6043,"51.479958","-0.171509","2011-03-22 07:51:15" +6043,"51.480003","-0.171538","2011-03-22 07:51:16" +6043,"51.480053","-0.171572","2011-03-22 07:51:17" +6043,"51.480103","-0.171607","2011-03-22 07:51:18" +6043,"51.480156","-0.171649","2011-03-22 07:51:19" +6043,"51.480206","-0.171691","2011-03-22 07:51:20" +6043,"51.480259","-0.171735","2011-03-22 07:51:21" +6043,"51.480312","-0.171781","2011-03-22 07:51:22" +6043,"51.480366","-0.171829","2011-03-22 07:51:23" +6043,"51.480427","-0.171881","2011-03-22 07:51:24" +6043,"51.480488","-0.171937","2011-03-22 07:51:25" +6043,"51.480549","-0.171994","2011-03-22 07:51:26" +6043,"51.480667","-0.172113","2011-03-22 07:51:28" +6043,"51.480606","-0.172054","2011-03-22 07:51:28" +6043,"51.480728","-0.172171","2011-03-22 07:51:29" +6043,"51.480782","-0.172225","2011-03-22 07:51:30" +6043,"51.480831","-0.172275","2011-03-22 07:51:31" +6043,"51.480881","-0.172327","2011-03-22 07:51:32" +6043,"51.480927","-0.172378","2011-03-22 07:51:33" +6043,"51.480972","-0.172439","2011-03-22 07:51:34" +6043,"51.481018","-0.17249","2011-03-22 07:51:35" +6043,"51.481064","-0.172539","2011-03-22 07:51:36" +6043,"51.481106","-0.172585","2011-03-22 07:51:37" +6043,"51.481148","-0.172626","2011-03-22 07:51:38" +6043,"51.481186","-0.172665","2011-03-22 07:51:39" +6043,"51.481224","-0.172698","2011-03-22 07:51:40" +6043,"51.481262","-0.17273","2011-03-22 07:51:41" +6043,"51.4813","-0.172763","2011-03-22 07:51:42" +6043,"51.481339","-0.172799","2011-03-22 07:51:43" +6043,"51.481377","-0.172835","2011-03-22 07:51:44" +6043,"51.481419","-0.172873","2011-03-22 07:51:45" +6043,"51.481461","-0.172909","2011-03-22 07:51:46" +6043,"51.481503","-0.172942","2011-03-22 07:51:48" +6043,"51.481552","-0.172973","2011-03-22 07:51:48" +6043,"51.481598","-0.173004","2011-03-22 07:51:49" +6043,"51.48164","-0.173036","2011-03-22 07:51:50" +6043,"51.481667","-0.173057","2011-03-22 07:51:51" +6043,"51.481686","-0.173072","2011-03-22 07:51:52" +6043,"51.481697","-0.173081","2011-03-22 07:51:53" +6043,"51.481747","-0.173111","2011-03-22 07:51:57" +6043,"51.481777","-0.173136","2011-03-22 07:51:58" +6043,"51.481812","-0.173163","2011-03-22 07:51:59" +6043,"51.481853","-0.173199","2011-03-22 07:52:00" +6043,"51.481895","-0.173236","2011-03-22 07:52:01" +6043,"51.481937","-0.173272","2011-03-22 07:52:02" +6043,"51.481979","-0.173305","2011-03-22 07:52:03" +6043,"51.482029","-0.173312","2011-03-22 07:52:04" +6043,"51.482079","-0.173297","2011-03-22 07:52:05" +6043,"51.482121","-0.173263","2011-03-22 07:52:06" +6043,"51.482166","-0.17322","2011-03-22 07:52:09" +6043,"51.482197","-0.173144","2011-03-22 07:52:09" +6043,"51.482227","-0.173063","2011-03-22 07:52:09" +6043,"51.482258","-0.172976","2011-03-22 07:52:10" +6043,"51.482296","-0.172877","2011-03-22 07:52:11" +6043,"51.48233","-0.172742","2011-03-22 07:52:12" +6043,"51.482368","-0.172607","2011-03-22 07:52:13" +6043,"51.482399","-0.172472","2011-03-22 07:52:14" +6043,"51.48243","-0.172339","2011-03-22 07:52:15" +6043,"51.48246","-0.17221","2011-03-22 07:52:16" +6043,"51.482483","-0.172092","2011-03-22 07:52:17" +6043,"51.48251","-0.171975","2011-03-22 07:52:18" +6043,"51.482533","-0.171859","2011-03-22 07:52:19" +6043,"51.482552","-0.171745","2011-03-22 07:52:20" +6043,"51.482574","-0.171633","2011-03-22 07:52:21" +6043,"51.482597","-0.171521","2011-03-22 07:52:22" +6043,"51.482624","-0.171411","2011-03-22 07:52:23" +6043,"51.482647","-0.171302","2011-03-22 07:52:24" +6043,"51.482674","-0.171195","2011-03-22 07:52:25" +6043,"51.4827","-0.171087","2011-03-22 07:52:26" +6043,"51.482727","-0.170977","2011-03-22 07:52:28" +6043,"51.48275","-0.170859","2011-03-22 07:52:28" +6043,"51.482773","-0.170742","2011-03-22 07:52:29" +6043,"51.482796","-0.170626","2011-03-22 07:52:30" +6043,"51.482819","-0.170513","2011-03-22 07:52:31" +6043,"51.482841","-0.170401","2011-03-22 07:52:32" +6043,"51.482864","-0.170292","2011-03-22 07:52:33" +6043,"51.482891","-0.170184","2011-03-22 07:52:34" +6043,"51.482918","-0.170078","2011-03-22 07:52:35" +6043,"51.482941","-0.169974","2011-03-22 07:52:36" +6043,"51.482964","-0.169872","2011-03-22 07:52:37" +6043,"51.482994","-0.169775","2011-03-22 07:52:38" +6043,"51.483021","-0.169678","2011-03-22 07:52:39" +6043,"51.483047","-0.169588","2011-03-22 07:52:40" +6043,"51.48307","-0.169501","2011-03-22 07:52:41" +6043,"51.483097","-0.169414","2011-03-22 07:52:42" +6043,"51.48312","-0.169335","2011-03-22 07:52:43" +6043,"51.483139","-0.169255","2011-03-22 07:52:44" +6043,"51.483162","-0.169177","2011-03-22 07:52:45" +6043,"51.483185","-0.169098","2011-03-22 07:52:46" +6043,"51.483208","-0.169023","2011-03-22 07:52:48" +6043,"51.483231","-0.16895","2011-03-22 07:52:48" +6043,"51.483257","-0.168875","2011-03-22 07:52:49" +6043,"51.48328","-0.168798","2011-03-22 07:52:50" +6043,"51.483307","-0.16872","2011-03-22 07:52:51" +6043,"51.483334","-0.168641","2011-03-22 07:52:52" +6043,"51.48336","-0.168565","2011-03-22 07:52:53" +6043,"51.483391","-0.168489","2011-03-22 07:52:54" +6043,"51.483406","-0.168437","2011-03-22 07:52:55" +6043,"51.483418","-0.168384","2011-03-22 07:52:56" +6043,"51.483433","-0.16833","2011-03-22 07:52:57" +6043,"51.483448","-0.168278","2011-03-22 07:52:58" +6043,"51.483467","-0.168226","2011-03-22 07:52:59" +6043,"51.483528","-0.168084","2011-03-22 07:53:03" +6043,"51.483555","-0.167905","2011-03-22 07:53:06" +6043,"51.483578","-0.167775","2011-03-22 07:53:08" +6043,"51.483597","-0.167704","2011-03-22 07:53:09" +6043,"51.483616","-0.167623","2011-03-22 07:53:10" +6043,"51.483635","-0.167541","2011-03-22 07:53:11" +6043,"51.483646","-0.167455","2011-03-22 07:53:12" +6043,"51.483654","-0.167369","2011-03-22 07:53:13" +6043,"51.483658","-0.16724","2011-03-22 07:53:14" +6043,"51.483631","-0.167111","2011-03-22 07:53:15" +6043,"51.483608","-0.166991","2011-03-22 07:53:16" +6043,"51.483589","-0.166878","2011-03-22 07:53:17" +6043,"51.483566","-0.16676","2011-03-22 07:53:18" +6043,"51.483551","-0.166639","2011-03-22 07:53:19" +6043,"51.483543","-0.166519","2011-03-22 07:53:20" +6043,"51.48354","-0.166399","2011-03-22 07:53:21" +6043,"51.483547","-0.166281","2011-03-22 07:53:22" +6043,"51.483555","-0.166167","2011-03-22 07:53:23" +6043,"51.483566","-0.166054","2011-03-22 07:53:24" +6043,"51.483582","-0.165944","2011-03-22 07:53:25" +6043,"51.483597","-0.165836","2011-03-22 07:53:26" +6043,"51.483612","-0.16573","2011-03-22 07:53:28" +6043,"51.483635","-0.16563","2011-03-22 07:53:28" +6043,"51.483654","-0.165531","2011-03-22 07:53:29" +6043,"51.483673","-0.165434","2011-03-22 07:53:30" +6043,"51.483692","-0.165337","2011-03-22 07:53:31" +6043,"51.483711","-0.165241","2011-03-22 07:53:32" +6043,"51.483727","-0.165147","2011-03-22 07:53:33" +6043,"51.483746","-0.165054","2011-03-22 07:53:34" +6043,"51.483761","-0.164959","2011-03-22 07:53:35" +6043,"51.483772","-0.164866","2011-03-22 07:53:36" +6043,"51.483791","-0.164777","2011-03-22 07:53:37" +6043,"51.483807","-0.164688","2011-03-22 07:53:38" +6043,"51.483826","-0.164599","2011-03-22 07:53:39" +6043,"51.483841","-0.164508","2011-03-22 07:53:40" +6043,"51.483852","-0.164413","2011-03-22 07:53:41" +6043,"51.483868","-0.164315","2011-03-22 07:53:42" +6043,"51.483883","-0.164219","2011-03-22 07:53:43" +6043,"51.483894","-0.164122","2011-03-22 07:53:44" +6043,"51.483906","-0.164025","2011-03-22 07:53:45" +6043,"51.483921","-0.16393","2011-03-22 07:53:46" +6043,"51.483936","-0.163836","2011-03-22 07:53:49" +6043,"51.483948","-0.163743","2011-03-22 07:53:49" +6043,"51.483963","-0.16365","2011-03-22 07:53:49" +6043,"51.483978","-0.163558","2011-03-22 07:53:50" +6043,"51.483994","-0.163466","2011-03-22 07:53:51" +6043,"51.484013","-0.16337","2011-03-22 07:53:52" +6043,"51.484028","-0.163278","2011-03-22 07:53:53" +6043,"51.484047","-0.163186","2011-03-22 07:53:54" +6043,"51.48407","-0.163094","2011-03-22 07:53:55" +6043,"51.484085","-0.162995","2011-03-22 07:53:56" +6043,"51.484104","-0.162899","2011-03-22 07:53:57" +6043,"51.484123","-0.162802","2011-03-22 07:53:58" +6043,"51.484138","-0.162703","2011-03-22 07:53:59" +6043,"51.484154","-0.162601","2011-03-22 07:54:00" +6043,"51.484169","-0.162499","2011-03-22 07:54:01" +6043,"51.484184","-0.162397","2011-03-22 07:54:02" +6043,"51.4842","-0.162293","2011-03-22 07:54:03" +6043,"51.484211","-0.162181","2011-03-22 07:54:04" +6043,"51.484226","-0.162072","2011-03-22 07:54:05" +6043,"51.484238","-0.16196","2011-03-22 07:54:06" +6043,"51.484249","-0.161844","2011-03-22 07:54:08" +6043,"51.484257","-0.161724","2011-03-22 07:54:08" +6043,"51.484268","-0.161598","2011-03-22 07:54:09" +6043,"51.484276","-0.16147","2011-03-22 07:54:10" +6043,"51.484287","-0.161344","2011-03-22 07:54:11" +6043,"51.484299","-0.16122","2011-03-22 07:54:12" +6043,"51.48431","-0.161101","2011-03-22 07:54:13" +6043,"51.484322","-0.160986","2011-03-22 07:54:14" +6043,"51.484337","-0.160874","2011-03-22 07:54:15" +6043,"51.484352","-0.160763","2011-03-22 07:54:16" +6043,"51.484364","-0.160654","2011-03-22 07:54:17" +6043,"51.484379","-0.160546","2011-03-22 07:54:18" +6043,"51.484394","-0.160439","2011-03-22 07:54:19" +6043,"51.484409","-0.160335","2011-03-22 07:54:20" +6043,"51.484425","-0.160233","2011-03-22 07:54:21" +6043,"51.48444","-0.160134","2011-03-22 07:54:22" +6043,"51.484459","-0.160035","2011-03-22 07:54:23" +6043,"51.48447","-0.159941","2011-03-22 07:54:24" +6043,"51.484486","-0.159848","2011-03-22 07:54:25" +6043,"51.484497","-0.159755","2011-03-22 07:54:26" +6043,"51.484509","-0.159661","2011-03-22 07:54:29" +6043,"51.484524","-0.159567","2011-03-22 07:54:30" +6043,"51.484543","-0.159469","2011-03-22 07:54:30" +6043,"51.48457","-0.159371","2011-03-22 07:54:30" +6043,"51.484592","-0.159274","2011-03-22 07:54:31" +6043,"51.484612","-0.159175","2011-03-22 07:54:32" +6043,"51.484634","-0.159076","2011-03-22 07:54:33" +6043,"51.484653","-0.158976","2011-03-22 07:54:34" +6043,"51.484673","-0.158874","2011-03-22 07:54:35" +6043,"51.484692","-0.158768","2011-03-22 07:54:36" +6043,"51.484707","-0.158663","2011-03-22 07:54:37" +6043,"51.484722","-0.158552","2011-03-22 07:54:38" +6043,"51.484741","-0.158444","2011-03-22 07:54:39" +6043,"51.48476","-0.158341","2011-03-22 07:54:40" +6043,"51.484783","-0.158238","2011-03-22 07:54:41" +6043,"51.484806","-0.158138","2011-03-22 07:54:42" +6043,"51.484829","-0.158037","2011-03-22 07:54:43" +6043,"51.484848","-0.157937","2011-03-22 07:54:44" +6043,"51.484871","-0.157833","2011-03-22 07:54:45" +6043,"51.484898","-0.157727","2011-03-22 07:54:46" +6043,"51.484917","-0.157621","2011-03-22 07:54:48" +6043,"51.484936","-0.157512","2011-03-22 07:54:48" +6043,"51.484951","-0.157395","2011-03-22 07:54:49" +6043,"51.484962","-0.15727","2011-03-22 07:54:50" +6043,"51.484974","-0.157141","2011-03-22 07:54:51" +6043,"51.484982","-0.157007","2011-03-22 07:54:52" +6043,"51.484985","-0.156868","2011-03-22 07:54:53" +6043,"51.484997","-0.156725","2011-03-22 07:54:54" +6043,"51.485004","-0.156577","2011-03-22 07:54:55" +6043,"51.48502","-0.15643","2011-03-22 07:54:56" +6043,"51.485031","-0.156292","2011-03-22 07:54:57" +6043,"51.485046","-0.156159","2011-03-22 07:54:58" +6043,"51.485058","-0.156033","2011-03-22 07:54:59" +6043,"51.485073","-0.155916","2011-03-22 07:55:00" +6043,"51.485085","-0.155761","2011-03-22 07:55:01" +6043,"51.4851","-0.155613","2011-03-22 07:55:02" +6043,"51.485115","-0.155467","2011-03-22 07:55:03" +6043,"51.485134","-0.155321","2011-03-22 07:55:04" +6043,"51.485157","-0.155177","2011-03-22 07:55:05" +6043,"51.485176","-0.15502","2011-03-22 07:55:06" +6043,"51.48521","-0.154702","2011-03-22 07:55:09" +6043,"51.485195","-0.154858","2011-03-22 07:55:09" +6043,"51.485226","-0.154547","2011-03-22 07:55:09" +6043,"51.485245","-0.154401","2011-03-22 07:55:10" +6043,"51.48526","-0.154259","2011-03-22 07:55:11" +6043,"51.485275","-0.154122","2011-03-22 07:55:12" +6043,"51.485291","-0.153991","2011-03-22 07:55:13" +6043,"51.485306","-0.153867","2011-03-22 07:55:14" +6043,"51.485325","-0.153752","2011-03-22 07:55:15" +6043,"51.485348","-0.153645","2011-03-22 07:55:16" +6043,"51.485371","-0.15354","2011-03-22 07:55:17" +6043,"51.48539","-0.153436","2011-03-22 07:55:18" +6043,"51.485409","-0.153338","2011-03-22 07:55:19" +6043,"51.485428","-0.153244","2011-03-22 07:55:20" +6043,"51.485447","-0.153154","2011-03-22 07:55:21" +6043,"51.48547","-0.153068","2011-03-22 07:55:22" +6043,"51.485485","-0.152989","2011-03-22 07:55:23" +6043,"51.4855","-0.152918","2011-03-22 07:55:24" +6043,"51.485519","-0.152847","2011-03-22 07:55:25" +6043,"51.485535","-0.152775","2011-03-22 07:55:26" +6043,"51.485546","-0.1527","2011-03-22 07:55:29" +6043,"51.485558","-0.152626","2011-03-22 07:55:29" +6043,"51.485569","-0.152528","2011-03-22 07:55:29" +6043,"51.48558","-0.152434","2011-03-22 07:55:30" +6043,"51.485592","-0.152343","2011-03-22 07:55:31" +6043,"51.485603","-0.152253","2011-03-22 07:55:32" +6043,"51.485615","-0.152168","2011-03-22 07:55:33" +6043,"51.485626","-0.152082","2011-03-22 07:55:34" +6043,"51.485638","-0.151999","2011-03-22 07:55:35" +6043,"51.485653","-0.151918","2011-03-22 07:55:36" +6043,"51.485664","-0.15184","2011-03-22 07:55:37" +6043,"51.485683","-0.151763","2011-03-22 07:55:38" +6043,"51.485699","-0.151689","2011-03-22 07:55:39" +6043,"51.485714","-0.151618","2011-03-22 07:55:40" +6043,"51.485729","-0.15155","2011-03-22 07:55:41" +6043,"51.485744","-0.151488","2011-03-22 07:55:42" +6043,"51.485756","-0.151426","2011-03-22 07:55:43" +6043,"51.485771","-0.151363","2011-03-22 07:55:44" +6043,"51.485783","-0.151297","2011-03-22 07:55:45" +6043,"51.485794","-0.151232","2011-03-22 07:55:46" +6043,"51.485813","-0.15113","2011-03-22 07:55:48" +6043,"51.485806","-0.151174","2011-03-22 07:55:49" +6043,"51.485821","-0.151085","2011-03-22 07:55:49" +6043,"51.485836","-0.150924","2011-03-22 07:55:53" +6043,"51.485847","-0.150778","2011-03-22 07:55:57" +6043,"51.485874","-0.15064","2011-03-22 07:56:02" +6043,"51.485874","-0.15064","2011-03-22 07:56:12" +6043,"51.485905","-0.150511","2011-03-22 07:56:17" +6043,"51.48595","-0.150362","2011-03-22 07:56:21" +6043,"51.485966","-0.150306","2011-03-22 07:56:22" +6043,"51.485973","-0.150236","2011-03-22 07:56:23" +6043,"51.485981","-0.150154","2011-03-22 07:56:24" +6043,"51.485985","-0.150065","2011-03-22 07:56:25" +6043,"51.485985","-0.149976","2011-03-22 07:56:26" +6043,"51.485985","-0.149881","2011-03-22 07:56:28" +6043,"51.485973","-0.149773","2011-03-22 07:56:28" +6043,"51.485962","-0.149669","2011-03-22 07:56:29" +6043,"51.485947","-0.149552","2011-03-22 07:56:30" +6043,"51.485935","-0.149435","2011-03-22 07:56:31" +6043,"51.485924","-0.149323","2011-03-22 07:56:32" +6043,"51.485912","-0.149204","2011-03-22 07:56:33" +6043,"51.485905","-0.149078","2011-03-22 07:56:34" +6043,"51.485901","-0.14895","2011-03-22 07:56:35" +6043,"51.485897","-0.148822","2011-03-22 07:56:36" +6043,"51.485893","-0.148697","2011-03-22 07:56:37" +6043,"51.485893","-0.148575","2011-03-22 07:56:38" +6043,"51.485893","-0.148452","2011-03-22 07:56:39" +6043,"51.485893","-0.148329","2011-03-22 07:56:40" +6043,"51.485897","-0.148207","2011-03-22 07:56:41" +6043,"51.485901","-0.148087","2011-03-22 07:56:42" +6043,"51.485905","-0.147966","2011-03-22 07:56:45" +6043,"51.485909","-0.147845","2011-03-22 07:56:46" +6043,"51.485909","-0.147731","2011-03-22 07:56:46" +6043,"51.485912","-0.147616","2011-03-22 07:56:46" +6043,"51.485912","-0.147501","2011-03-22 07:56:48" +6043,"51.48592","-0.147378","2011-03-22 07:56:48" +6043,"51.485924","-0.147264","2011-03-22 07:56:49" +6043,"51.485928","-0.147142","2011-03-22 07:56:50" +6043,"51.48592","-0.147041","2011-03-22 07:56:51" +6043,"51.485909","-0.146948","2011-03-22 07:56:52" +6043,"51.485905","-0.146851","2011-03-22 07:56:53" +6043,"51.485901","-0.146764","2011-03-22 07:56:54" +6043,"51.485897","-0.146673","2011-03-22 07:56:55" +6043,"51.485886","-0.146584","2011-03-22 07:56:56" +6043,"51.485882","-0.146521","2011-03-22 07:56:57" +6043,"51.485882","-0.146465","2011-03-22 07:56:58" +6043,"51.485878","-0.14641","2011-03-22 07:56:59" +6043,"51.48587","-0.146353","2011-03-22 07:57:00" +6043,"51.485867","-0.146307","2011-03-22 07:57:01" +6043,"51.485863","-0.146264","2011-03-22 07:57:02" +6043,"51.485851","-0.146167","2011-03-22 07:57:04" +6043,"51.485844","-0.146106","2011-03-22 07:57:05" +6043,"51.48584","-0.146026","2011-03-22 07:57:06" +6043,"51.485832","-0.145939","2011-03-22 07:57:08" +6043,"51.485825","-0.145831","2011-03-22 07:57:08" +6043,"51.485821","-0.145716","2011-03-22 07:57:09" +6043,"51.485809","-0.145591","2011-03-22 07:57:10" +6043,"51.485802","-0.145474","2011-03-22 07:57:11" +6043,"51.485794","-0.145354","2011-03-22 07:57:12" +6043,"51.485786","-0.145237","2011-03-22 07:57:13" +6043,"51.485779","-0.14512","2011-03-22 07:57:14" +6043,"51.485767","-0.145","2011-03-22 07:57:15" +6043,"51.485756","-0.144883","2011-03-22 07:57:16" +6043,"51.485744","-0.144771","2011-03-22 07:57:17" +6043,"51.485729","-0.144661","2011-03-22 07:57:18" +6043,"51.485714","-0.144552","2011-03-22 07:57:19" +6043,"51.485699","-0.144444","2011-03-22 07:57:20" +6043,"51.485683","-0.144335","2011-03-22 07:57:21" +6043,"51.485668","-0.144226","2011-03-22 07:57:22" +6043,"51.485649","-0.144116","2011-03-22 07:57:23" +6043,"51.485626","-0.144006","2011-03-22 07:57:24" +6043,"51.485607","-0.143874","2011-03-22 07:57:25" +6043,"51.48558","-0.143717","2011-03-22 07:57:26" +6043,"51.485561","-0.143563","2011-03-22 07:57:28" +6043,"51.485542","-0.143413","2011-03-22 07:57:28" +6043,"51.485527","-0.143267","2011-03-22 07:57:29" +6043,"51.485508","-0.143132","2011-03-22 07:57:30" +6043,"51.485489","-0.142999","2011-03-22 07:57:31" +6043,"51.485466","-0.142867","2011-03-22 07:57:32" +6043,"51.485447","-0.142745","2011-03-22 07:57:33" +6043,"51.485428","-0.142622","2011-03-22 07:57:34" +6043,"51.485405","-0.142497","2011-03-22 07:57:35" +6043,"51.485386","-0.142372","2011-03-22 07:57:36" +6043,"51.485371","-0.142248","2011-03-22 07:57:37" +6043,"51.485352","-0.142124","2011-03-22 07:57:38" +6043,"51.485332","-0.141999","2011-03-22 07:57:39" +6043,"51.485313","-0.141878","2011-03-22 07:57:40" +6043,"51.485291","-0.141756","2011-03-22 07:57:41" +6043,"51.485268","-0.141633","2011-03-22 07:57:42" +6043,"51.485245","-0.141509","2011-03-22 07:57:43" +6043,"51.485218","-0.141381","2011-03-22 07:57:44" +6043,"51.485195","-0.141245","2011-03-22 07:57:45" +6043,"51.485168","-0.141111","2011-03-22 07:57:46" +6043,"51.485146","-0.140977","2011-03-22 07:57:49" +6043,"51.485126","-0.140843","2011-03-22 07:57:49" +6043,"51.485107","-0.140711","2011-03-22 07:57:49" +6043,"51.485092","-0.140577","2011-03-22 07:57:50" +6043,"51.485077","-0.140444","2011-03-22 07:57:51" +6043,"51.485065","-0.14031","2011-03-22 07:57:52" +6043,"51.485062","-0.140172","2011-03-22 07:57:53" +6043,"51.485054","-0.140033","2011-03-22 07:57:54" +6043,"51.485054","-0.139897","2011-03-22 07:57:55" +6043,"51.485058","-0.139763","2011-03-22 07:57:56" +6043,"51.485065","-0.139633","2011-03-22 07:57:57" +6043,"51.485073","-0.139508","2011-03-22 07:57:58" +6043,"51.485085","-0.139384","2011-03-22 07:57:59" +6043,"51.4851","-0.139261","2011-03-22 07:58:00" +6043,"51.485115","-0.139136","2011-03-22 07:58:01" +6043,"51.48513","-0.139011","2011-03-22 07:58:02" +6043,"51.485149","-0.138884","2011-03-22 07:58:03" +6043,"51.485168","-0.138758","2011-03-22 07:58:04" +6043,"51.485191","-0.138634","2011-03-22 07:58:05" +6043,"51.485218","-0.13851","2011-03-22 07:58:06" +6043,"51.485245","-0.138384","2011-03-22 07:58:09" +6043,"51.485271","-0.138257","2011-03-22 07:58:09" +6043,"51.485302","-0.138126","2011-03-22 07:58:09" +6043,"51.485329","-0.137995","2011-03-22 07:58:10" +6043,"51.485355","-0.137859","2011-03-22 07:58:11" +6043,"51.485382","-0.137719","2011-03-22 07:58:12" +6043,"51.485405","-0.13758","2011-03-22 07:58:13" +6043,"51.485432","-0.13744","2011-03-22 07:58:14" +6043,"51.485455","-0.137301","2011-03-22 07:58:15" +6043,"51.485481","-0.137163","2011-03-22 07:58:16" +6043,"51.485504","-0.137025","2011-03-22 07:58:17" +6043,"51.485527","-0.136889","2011-03-22 07:58:18" +6043,"51.485554","-0.136752","2011-03-22 07:58:19" +6043,"51.485577","-0.136616","2011-03-22 07:58:20" +6043,"51.485596","-0.136478","2011-03-22 07:58:21" +6043,"51.485619","-0.136341","2011-03-22 07:58:22" +6043,"51.485641","-0.136203","2011-03-22 07:58:23" +6043,"51.485664","-0.136066","2011-03-22 07:58:24" +6043,"51.485683","-0.135929","2011-03-22 07:58:25" +6043,"51.485706","-0.135793","2011-03-22 07:58:26" +6043,"51.485752","-0.135523","2011-03-22 07:58:29" +6043,"51.485733","-0.135657","2011-03-22 07:58:29" +6043,"51.485779","-0.135389","2011-03-22 07:58:29" +6043,"51.485802","-0.135258","2011-03-22 07:58:30" +6043,"51.485828","-0.135127","2011-03-22 07:58:31" +6043,"51.485855","-0.134998","2011-03-22 07:58:32" +6043,"51.485878","-0.134869","2011-03-22 07:58:33" +6043,"51.485893","-0.134745","2011-03-22 07:58:34" +6043,"51.485901","-0.134617","2011-03-22 07:58:35" +6043,"51.485916","-0.134494","2011-03-22 07:58:36" +6043,"51.485939","-0.134376","2011-03-22 07:58:37" +6043,"51.485962","-0.134251","2011-03-22 07:58:38" +6043,"51.485977","-0.134111","2011-03-22 07:58:39" +6043,"51.485996","-0.133972","2011-03-22 07:58:40" +6043,"51.486019","-0.133837","2011-03-22 07:58:41" +6043,"51.486042","-0.133707","2011-03-22 07:58:42" +6043,"51.486061","-0.133581","2011-03-22 07:58:43" +6043,"51.48608","-0.13346","2011-03-22 07:58:44" +6043,"51.486107","-0.133343","2011-03-22 07:58:45" +6043,"51.486126","-0.133218","2011-03-22 07:58:46" +6043,"51.486149","-0.133094","2011-03-22 07:58:49" +6043,"51.486176","-0.132967","2011-03-22 07:58:49" +6043,"51.486202","-0.132845","2011-03-22 07:58:49" +6043,"51.486237","-0.132719","2011-03-22 07:58:50" +6043,"51.486271","-0.132587","2011-03-22 07:58:51" +6043,"51.486305","-0.132455","2011-03-22 07:58:52" +6043,"51.486332","-0.132281","2011-03-22 07:58:53" +6043,"51.486336","-0.132017","2011-03-22 07:58:54" +6043,"51.486347","-0.131791","2011-03-22 07:58:55" +6043,"51.48637","-0.131625","2011-03-22 07:58:56" +6043,"51.486401","-0.13149","2011-03-22 07:58:57" +6043,"51.486431","-0.131373","2011-03-22 07:58:58" +6043,"51.486469","-0.131268","2011-03-22 07:58:59" +6043,"51.486504","-0.131174","2011-03-22 07:59:00" +6043,"51.486542","-0.131088","2011-03-22 07:59:01" +6043,"51.48661","-0.13101","2011-03-22 07:59:02" +6043,"51.486687","-0.13094","2011-03-22 07:59:03" +6043,"51.486771","-0.130878","2011-03-22 07:59:04" +6043,"51.486847","-0.130822","2011-03-22 07:59:05" +6043,"51.486916","-0.13077","2011-03-22 07:59:06" +6043,"51.48698","-0.13074","2011-03-22 07:59:09" +6043,"51.487038","-0.130709","2011-03-22 07:59:09" +6043,"51.487091","-0.130677","2011-03-22 07:59:09" +6043,"51.487141","-0.130647","2011-03-22 07:59:10" +6043,"51.487186","-0.130614","2011-03-22 07:59:11" +6043,"51.487236","-0.13058","2011-03-22 07:59:12" +6043,"51.487278","-0.130543","2011-03-22 07:59:13" +6043,"51.487324","-0.130504","2011-03-22 07:59:14" +6043,"51.487366","-0.130467","2011-03-22 07:59:15" +6043,"51.4874","-0.130409","2011-03-22 07:59:16" +6043,"51.487434","-0.130355","2011-03-22 07:59:17" +6043,"51.487457","-0.130333","2011-03-22 07:59:18" +6043,"51.487488","-0.130311","2011-03-22 07:59:19" +6043,"51.487522","-0.130292","2011-03-22 07:59:20" +6043,"51.487549","-0.130276","2011-03-22 07:59:21" +6043,"51.48764","-0.130235","2011-03-22 07:59:28" +6043,"51.487644","-0.130088","2011-03-22 07:59:34" +6043,"51.487705","-0.129965","2011-03-22 07:59:40" +6043,"51.48777","-0.129898","2011-03-22 07:59:42" +6043,"51.487812","-0.129848","2011-03-22 07:59:43" +6043,"51.487862","-0.129792","2011-03-22 07:59:44" +6043,"51.487923","-0.129718","2011-03-22 07:59:45" +6043,"51.487976","-0.129651","2011-03-22 07:59:46" +6043,"51.488033","-0.129595","2011-03-22 07:59:48" +6043,"51.488091","-0.129569","2011-03-22 07:59:48" +6043,"51.488148","-0.129543","2011-03-22 07:59:49" +6043,"51.488201","-0.129518","2011-03-22 07:59:50" +6043,"51.488251","-0.129537","2011-03-22 07:59:51" +6043,"51.488274","-0.12953","2011-03-22 07:59:52" +6043,"51.488293","-0.129523","2011-03-22 07:59:53" +6043,"51.488293","-0.129523","2011-03-22 08:00:13" +6043,"51.488293","-0.129523","2011-03-22 08:00:34" +6043,"51.488293","-0.129523","2011-03-22 08:01:13" +6043,"51.488392","-0.129516","2011-03-22 08:01:19" +6043,"51.48848","-0.129497","2011-03-22 08:01:21" +6043,"51.488533","-0.129473","2011-03-22 08:01:22" +6043,"51.488598","-0.129441","2011-03-22 08:01:23" +6043,"51.488667","-0.129405","2011-03-22 08:01:24" +6043,"51.488728","-0.129364","2011-03-22 08:01:25" +6043,"51.488792","-0.129329","2011-03-22 08:01:26" +6043,"51.488865","-0.12929","2011-03-22 08:01:28" +6043,"51.488934","-0.12923","2011-03-22 08:01:28" +6043,"51.489002","-0.129174","2011-03-22 08:01:29" +6043,"51.489071","-0.129104","2011-03-22 08:01:30" +6043,"51.489132","-0.129024","2011-03-22 08:01:31" +6043,"51.489185","-0.128944","2011-03-22 08:01:32" +6043,"51.489235","-0.128862","2011-03-22 08:01:33" +6043,"51.489281","-0.128781","2011-03-22 08:01:34" +6043,"51.489326","-0.128701","2011-03-22 08:01:35" +6043,"51.489368","-0.12862","2011-03-22 08:01:36" +6043,"51.48941","-0.128544","2011-03-22 08:01:37" +6043,"51.489449","-0.128458","2011-03-22 08:01:38" +6043,"51.489479","-0.12837","2011-03-22 08:01:39" +6043,"51.48951","-0.12828","2011-03-22 08:01:40" +6043,"51.48954","-0.12819","2011-03-22 08:01:41" +6043,"51.489567","-0.1281","2011-03-22 08:01:42" +6043,"51.489597","-0.128012","2011-03-22 08:01:43" +6043,"51.489628","-0.127924","2011-03-22 08:01:44" +6043,"51.489658","-0.127837","2011-03-22 08:01:45" +6043,"51.489689","-0.127753","2011-03-22 08:01:46" +6043,"51.489758","-0.127593","2011-03-22 08:01:49" +6043,"51.489719","-0.127674","2011-03-22 08:01:49" +6043,"51.489799","-0.127502","2011-03-22 08:01:49" +6043,"51.489845","-0.127396","2011-03-22 08:01:50" +6043,"51.489891","-0.127289","2011-03-22 08:01:51" +6043,"51.489944","-0.127186","2011-03-22 08:01:52" +6043,"51.490002","-0.12709","2011-03-22 08:01:53" +6043,"51.490059","-0.127","2011-03-22 08:01:54" +6043,"51.490116","-0.126919","2011-03-22 08:01:55" +6043,"51.49017","-0.126854","2011-03-22 08:01:56" +6043,"51.490227","-0.126814","2011-03-22 08:01:57" +6043,"51.490273","-0.126774","2011-03-22 08:01:58" +6043,"51.49033","-0.126756","2011-03-22 08:01:59" +6043,"51.490387","-0.126736","2011-03-22 08:02:00" +6043,"51.49044","-0.126713","2011-03-22 08:02:01" +6043,"51.490494","-0.126682","2011-03-22 08:02:02" +6043,"51.490543","-0.126623","2011-03-22 08:02:03" +6043,"51.490593","-0.126565","2011-03-22 08:02:04" +6043,"51.490643","-0.126508","2011-03-22 08:02:05" +6043,"51.4907","-0.126451","2011-03-22 08:02:06" +6043,"51.490761","-0.126389","2011-03-22 08:02:09" +6043,"51.490826","-0.12633","2011-03-22 08:02:09" +6043,"51.490883","-0.12627","2011-03-22 08:02:09" +6043,"51.490948","-0.126214","2011-03-22 08:02:10" +6043,"51.491009","-0.126157","2011-03-22 08:02:11" +6043,"51.491074","-0.126101","2011-03-22 08:02:12" +6043,"51.491138","-0.126045","2011-03-22 08:02:13" +6043,"51.491207","-0.12599","2011-03-22 08:02:14" +6043,"51.491272","-0.125936","2011-03-22 08:02:15" +6043,"51.491341","-0.125886","2011-03-22 08:02:16" +6043,"51.491409","-0.125832","2011-03-22 08:02:17" +6043,"51.491482","-0.125774","2011-03-22 08:02:18" +6043,"51.491554","-0.125717","2011-03-22 08:02:19" +6043,"51.491627","-0.125667","2011-03-22 08:02:20" +6043,"51.491699","-0.12562","2011-03-22 08:02:21" +6043,"51.491768","-0.125579","2011-03-22 08:02:22" +6043,"51.491837","-0.125541","2011-03-22 08:02:23" +6043,"51.491909","-0.125506","2011-03-22 08:02:24" +6043,"51.491978","-0.12547","2011-03-22 08:02:25" +6043,"51.49205","-0.125434","2011-03-22 08:02:26" +6043,"51.492191","-0.12536","2011-03-22 08:02:29" +6043,"51.492123","-0.125399","2011-03-22 08:02:29" +6043,"51.49226","-0.12532","2011-03-22 08:02:29" +6043,"51.492332","-0.125281","2011-03-22 08:02:30" +6043,"51.492401","-0.125242","2011-03-22 08:02:31" +6043,"51.492474","-0.125203","2011-03-22 08:02:32" +6043,"51.492542","-0.12516","2011-03-22 08:02:33" +6043,"51.492611","-0.125119","2011-03-22 08:02:34" +6043,"51.49268","-0.125082","2011-03-22 08:02:35" +6043,"51.492748","-0.125044","2011-03-22 08:02:36" +6043,"51.492817","-0.125006","2011-03-22 08:02:37" +6043,"51.492882","-0.124967","2011-03-22 08:02:38" +6043,"51.49295","-0.124935","2011-03-22 08:02:39" +6043,"51.493011","-0.124909","2011-03-22 08:02:40" +6043,"51.493073","-0.124885","2011-03-22 08:02:41" +6043,"51.49313","-0.124863","2011-03-22 08:02:42" +6043,"51.493187","-0.12484","2011-03-22 08:02:43" +6043,"51.493244","-0.124815","2011-03-22 08:02:44" +6043,"51.493301","-0.12479","2011-03-22 08:02:45" +6043,"51.493359","-0.124766","2011-03-22 08:02:46" +6043,"51.493511","-0.124703","2011-03-22 08:02:49" +6043,"51.493462","-0.124721","2011-03-22 08:02:49" +6043,"51.493412","-0.124742","2011-03-22 08:02:49" +6043,"51.493557","-0.124687","2011-03-22 08:02:50" +6043,"51.49361","-0.124672","2011-03-22 08:02:51" +6043,"51.49366","-0.124672","2011-03-22 08:02:52" +6043,"51.493713","-0.124672","2011-03-22 08:02:53" +6043,"51.493767","-0.12468","2011-03-22 08:02:54" +6043,"51.493824","-0.124686","2011-03-22 08:02:55" +6043,"51.493874","-0.12469","2011-03-22 08:02:56" +6043,"51.493927","-0.1247","2011-03-22 08:02:57" +6043,"51.493973","-0.124711","2011-03-22 08:02:58" +6043,"51.494022","-0.124721","2011-03-22 08:02:59" +6043,"51.494064","-0.124732","2011-03-22 08:03:00" +6043,"51.49411","-0.124747","2011-03-22 08:03:01" +6043,"51.494152","-0.124768","2011-03-22 08:03:02" +6043,"51.494198","-0.12479","2011-03-22 08:03:03" +6043,"51.494236","-0.124817","2011-03-22 08:03:04" +6043,"51.49427","-0.124838","2011-03-22 08:03:05" +6043,"51.494305","-0.124877","2011-03-22 08:03:06" +6043,"51.494339","-0.124899","2011-03-22 08:03:09" +6043,"51.494366","-0.12492","2011-03-22 08:03:09" +6043,"51.494396","-0.124942","2011-03-22 08:03:09" +6043,"51.494427","-0.124965","2011-03-22 08:03:10" +6043,"51.494457","-0.124987","2011-03-22 08:03:11" +6043,"51.494541","-0.125119","2011-03-22 08:03:16" +6043,"51.494667","-0.125179","2011-03-22 08:03:19" +6043,"51.494743","-0.125203","2011-03-22 08:03:20" +6043,"51.494835","-0.125232","2011-03-22 08:03:21" +6043,"51.494923","-0.125253","2011-03-22 08:03:22" +6043,"51.495003","-0.125272","2011-03-22 08:03:23" +6043,"51.495079","-0.12529","2011-03-22 08:03:24" +6043,"51.495152","-0.12531","2011-03-22 08:03:25" +6043,"51.495216","-0.125331","2011-03-22 08:03:26" +6043,"51.495342","-0.125367","2011-03-22 08:03:28" +6043,"51.495281","-0.12535","2011-03-22 08:03:28" +6043,"51.495399","-0.125382","2011-03-22 08:03:29" +6043,"51.495461","-0.125394","2011-03-22 08:03:30" +6043,"51.495518","-0.125406","2011-03-22 08:03:31" +6043,"51.495575","-0.12541","2011-03-22 08:03:32" +6043,"51.495628","-0.125414","2011-03-22 08:03:33" +6043,"51.495682","-0.125405","2011-03-22 08:03:34" +6043,"51.495731","-0.125398","2011-03-22 08:03:35" +6043,"51.495785","-0.125382","2011-03-22 08:03:36" +6043,"51.495834","-0.125365","2011-03-22 08:03:37" +6043,"51.495888","-0.125347","2011-03-22 08:03:38" +6043,"51.495941","-0.12533","2011-03-22 08:03:39" +6043,"51.495995","-0.125307","2011-03-22 08:03:40" +6043,"51.496052","-0.125285","2011-03-22 08:03:41" +6043,"51.496105","-0.125261","2011-03-22 08:03:42" +6043,"51.496162","-0.12524","2011-03-22 08:03:43" +6043,"51.496216","-0.125226","2011-03-22 08:03:44" +6043,"51.496273","-0.125217","2011-03-22 08:03:45" +6043,"51.496323","-0.125217","2011-03-22 08:03:46" +6043,"51.496376","-0.125223","2011-03-22 08:03:49" +6043,"51.496429","-0.125234","2011-03-22 08:03:49" +6043,"51.496479","-0.125249","2011-03-22 08:03:49" +6043,"51.496529","-0.125265","2011-03-22 08:03:50" +6043,"51.496563","-0.125277","2011-03-22 08:03:51" +6043,"51.496666","-0.125316","2011-03-22 08:03:55" +6043,"51.496819","-0.125418","2011-03-22 08:03:58" +6043,"51.496906","-0.12546","2011-03-22 08:03:59" +6043,"51.496994","-0.125505","2011-03-22 08:04:00" +6043,"51.497108","-0.12555","2011-03-22 08:04:01" +6043,"51.497261","-0.125591","2011-03-22 08:04:02" +6043,"51.49741","-0.125618","2011-03-22 08:04:03" +6043,"51.497536","-0.125642","2011-03-22 08:04:04" +6043,"51.497654","-0.125669","2011-03-22 08:04:05" +6043,"51.497765","-0.125694","2011-03-22 08:04:07" +6043,"51.497868","-0.125715","2011-03-22 08:04:09" +6043,"51.498055","-0.125731","2011-03-22 08:04:09" +6043,"51.497963","-0.125728","2011-03-22 08:04:09" +6043,"51.498142","-0.125729","2011-03-22 08:04:10" +6043,"51.49823","-0.125725","2011-03-22 08:04:11" +6043,"51.49831","-0.125737","2011-03-22 08:04:12" +6043,"51.49839","-0.125754","2011-03-22 08:04:13" +6043,"51.49847","-0.12577","2011-03-22 08:04:14" +6043,"51.49855","-0.125788","2011-03-22 08:04:15" +6043,"51.498619","-0.125819","2011-03-22 08:04:16" +6043,"51.498692","-0.125848","2011-03-22 08:04:17" +6043,"51.49876","-0.125878","2011-03-22 08:04:18" +6043,"51.498829","-0.125909","2011-03-22 08:04:19" +6043,"51.498901","-0.125941","2011-03-22 08:04:20" +6043,"51.498978","-0.12597","2011-03-22 08:04:21" +6043,"51.499046","-0.125996","2011-03-22 08:04:22" +6043,"51.499119","-0.126023","2011-03-22 08:04:23" +6043,"51.499187","-0.126048","2011-03-22 08:04:24" +6043,"51.499252","-0.126071","2011-03-22 08:04:25" +6043,"51.499321","-0.126094","2011-03-22 08:04:26" +6043,"51.499451","-0.12611","2011-03-22 08:04:29" +6043,"51.49939","-0.126114","2011-03-22 08:04:29" +6043,"51.499508","-0.126118","2011-03-22 08:04:29" +6043,"51.499569","-0.12613","2011-03-22 08:04:30" +6043,"51.499626","-0.126142","2011-03-22 08:04:31" +6043,"51.499687","-0.126151","2011-03-22 08:04:32" +6043,"51.499748","-0.126156","2011-03-22 08:04:33" +6043,"51.499813","-0.126158","2011-03-22 08:04:34" +6043,"51.49987","-0.126159","2011-03-22 08:04:35" +6043,"51.499908","-0.126157","2011-03-22 08:04:36" +6043,"51.499939","-0.126154","2011-03-22 08:04:37" +6043,"51.500034","-0.126153","2011-03-22 08:04:43" +6043,"51.500034","-0.126153","2011-03-22 08:04:53" +6043,"51.500034","-0.126153","2011-03-22 08:05:13" +6043,"51.500114","-0.126219","2011-03-22 08:05:15" +6043,"51.500168","-0.126269","2011-03-22 08:05:16" +6043,"51.500217","-0.126325","2011-03-22 08:05:17" +6043,"51.500252","-0.126398","2011-03-22 08:05:18" +6043,"51.500282","-0.126481","2011-03-22 08:05:19" +6043,"51.500305","-0.126573","2011-03-22 08:05:20" +6043,"51.500313","-0.126689","2011-03-22 08:05:21" +6043,"51.50032","-0.126805","2011-03-22 08:05:22" +6043,"51.50032","-0.126921","2011-03-22 08:05:23" +6043,"51.500324","-0.127033","2011-03-22 08:05:24" +6043,"51.500324","-0.127148","2011-03-22 08:05:25" +6043,"51.500332","-0.127267","2011-03-22 08:05:26" +6043,"51.500404","-0.127455","2011-03-22 08:05:28" +6043,"51.500362","-0.12737","2011-03-22 08:05:28" +6043,"51.50045","-0.127532","2011-03-22 08:05:29" +6043,"51.5005","-0.12759","2011-03-22 08:05:30" +6043,"51.500546","-0.127638","2011-03-22 08:05:31" +6043,"51.500603","-0.127658","2011-03-22 08:05:32" +6043,"51.50066","-0.127663","2011-03-22 08:05:33" +6043,"51.500721","-0.127637","2011-03-22 08:05:34" +6043,"51.500778","-0.127615","2011-03-22 08:05:35" +6043,"51.500835","-0.127593","2011-03-22 08:05:36" +6043,"51.500893","-0.127575","2011-03-22 08:05:37" +6043,"51.500946","-0.127549","2011-03-22 08:05:38" +6043,"51.501003","-0.127518","2011-03-22 08:05:39" +6043,"51.501057","-0.127479","2011-03-22 08:05:40" +6043,"51.501095","-0.127433","2011-03-22 08:05:41" +6043,"51.501125","-0.127385","2011-03-22 08:05:42" +6043,"51.501156","-0.127329","2011-03-22 08:05:43" +6043,"51.501179","-0.127268","2011-03-22 08:05:44" +6043,"51.501198","-0.1272","2011-03-22 08:05:45" +6043,"51.501213","-0.127121","2011-03-22 08:05:46" +6043,"51.501225","-0.127032","2011-03-22 08:05:50" +6043,"51.501236","-0.126948","2011-03-22 08:05:50" +6043,"51.501232","-0.126885","2011-03-22 08:05:50" +6043,"51.50124","-0.126845","2011-03-22 08:05:50" +6043,"51.501179","-0.126717","2011-03-22 08:05:57" +6043,"51.50116","-0.126648","2011-03-22 08:05:59" +6043,"51.501152","-0.126582","2011-03-22 08:06:00" +6043,"51.501144","-0.126512","2011-03-22 08:06:01" +6043,"51.501141","-0.12644","2011-03-22 08:06:02" +6043,"51.501137","-0.126362","2011-03-22 08:06:03" +6043,"51.501137","-0.126268","2011-03-22 08:06:04" +6043,"51.501137","-0.126161","2011-03-22 08:06:05" +6043,"51.501133","-0.126053","2011-03-22 08:06:06" +6043,"51.501129","-0.12595","2011-03-22 08:06:08" +6043,"51.501125","-0.12585","2011-03-22 08:06:08" +6043,"51.501122","-0.125751","2011-03-22 08:06:09" +6043,"51.501114","-0.125652","2011-03-22 08:06:10" +6043,"51.501114","-0.125551","2011-03-22 08:06:11" +6043,"51.501114","-0.12545","2011-03-22 08:06:12" +6043,"51.501114","-0.125353","2011-03-22 08:06:13" +6043,"51.50111","-0.125257","2011-03-22 08:06:14" +6043,"51.501102","-0.125161","2011-03-22 08:06:15" +6043,"51.501095","-0.125065","2011-03-22 08:06:16" +6043,"51.501087","-0.124971","2011-03-22 08:06:17" +6043,"51.501083","-0.124878","2011-03-22 08:06:18" +6043,"51.501076","-0.124812","2011-03-22 08:06:19" +6043,"51.501076","-0.124749","2011-03-22 08:06:20" +6043,"51.501072","-0.124686","2011-03-22 08:06:21" +6043,"51.501068","-0.124628","2011-03-22 08:06:22" +6043,"51.50106","-0.124569","2011-03-22 08:06:23" +6043,"51.50108","-0.124489","2011-03-22 08:06:24" +6043,"51.501102","-0.124407","2011-03-22 08:06:25" +6043,"51.501118","-0.124325","2011-03-22 08:06:27" +6043,"51.501137","-0.124243","2011-03-22 08:06:30" +6043,"51.501152","-0.124164","2011-03-22 08:06:30" +6043,"51.501179","-0.124016","2011-03-22 08:06:30" +6043,"51.501167","-0.12409","2011-03-22 08:06:30" +6043,"51.501194","-0.123943","2011-03-22 08:06:31" +6043,"51.501205","-0.123873","2011-03-22 08:06:32" +6043,"51.501221","-0.123804","2011-03-22 08:06:33" +6043,"51.501244","-0.123733","2011-03-22 08:06:34" +6043,"51.501266","-0.123664","2011-03-22 08:06:35" +6043,"51.501293","-0.1236","2011-03-22 08:06:36" +6043,"51.501324","-0.123544","2011-03-22 08:06:37" +6043,"51.501396","-0.123578","2011-03-22 08:06:38" +6043,"51.501461","-0.123598","2011-03-22 08:06:39" +6043,"51.50153","-0.123607","2011-03-22 08:06:40" +6043,"51.501595","-0.123608","2011-03-22 08:06:41" +6043,"51.501648","-0.123595","2011-03-22 08:06:42" +6043,"51.501709","-0.123578","2011-03-22 08:06:43" +6043,"51.50177","-0.123562","2011-03-22 08:06:44" +6043,"51.501839","-0.123541","2011-03-22 08:06:45" +6043,"51.501907","-0.123508","2011-03-22 08:06:46" +6043,"51.501984","-0.123478","2011-03-22 08:06:49" +6043,"51.502064","-0.123446","2011-03-22 08:06:49" +6043,"51.502151","-0.123421","2011-03-22 08:06:49" +6043,"51.502239","-0.123396","2011-03-22 08:06:50" +6043,"51.502331","-0.123374","2011-03-22 08:06:51" +6043,"51.502453","-0.123392","2011-03-22 08:06:52" +6043,"51.502583","-0.123429","2011-03-22 08:06:53" +6043,"51.502708","-0.123446","2011-03-22 08:06:54" +6043,"51.502823","-0.123457","2011-03-22 08:06:55" +6043,"51.50293","-0.123457","2011-03-22 08:06:56" +6043,"51.503033","-0.123451","2011-03-22 08:06:57" +6043,"51.503128","-0.123444","2011-03-22 08:06:58" +6043,"51.503212","-0.123433","2011-03-22 08:06:59" +6043,"51.503292","-0.123421","2011-03-22 08:07:00" +6043,"51.503365","-0.123412","2011-03-22 08:07:01" +6043,"51.503426","-0.123406","2011-03-22 08:07:02" +6043,"51.503468","-0.123396","2011-03-22 08:07:03" +6043,"51.503498","-0.123391","2011-03-22 08:07:04" +6043,"51.503529","-0.12338","2011-03-22 08:07:05" +6043,"51.503563","-0.123365","2011-03-22 08:07:06" +6043,"51.503597","-0.123349","2011-03-22 08:07:08" +6043,"51.503647","-0.123328","2011-03-22 08:07:08" +6043,"51.503696","-0.123306","2011-03-22 08:07:09" +6043,"51.50375","-0.123287","2011-03-22 08:07:10" +6043,"51.503807","-0.123276","2011-03-22 08:07:11" +6043,"51.503864","-0.123253","2011-03-22 08:07:12" +6043,"51.503929","-0.123229","2011-03-22 08:07:13" +6043,"51.50399","-0.123204","2011-03-22 08:07:14" +6043,"51.504051","-0.12318","2011-03-22 08:07:15" +6043,"51.50412","-0.123149","2011-03-22 08:07:16" +6043,"51.504192","-0.123115","2011-03-22 08:07:17" +6043,"51.504261","-0.123085","2011-03-22 08:07:18" +6043,"51.504326","-0.123055","2011-03-22 08:07:19" +6043,"51.504379","-0.123029","2011-03-22 08:07:20" +6043,"51.504433","-0.123003","2011-03-22 08:07:21" +6043,"51.50449","-0.122974","2011-03-22 08:07:22" +6043,"51.504559","-0.122937","2011-03-22 08:07:24" +6043,"51.504631","-0.1229","2011-03-22 08:07:25" +6043,"51.504704","-0.122863","2011-03-22 08:07:25" +6043,"51.504776","-0.122826","2011-03-22 08:07:26" +6043,"51.504864","-0.122796","2011-03-22 08:07:28" +6043,"51.504948","-0.122777","2011-03-22 08:08:01" +6043,"51.505039","-0.122761","2011-03-22 08:08:01" +6043,"51.505131","-0.122746","2011-03-22 08:08:01" +6043,"51.505219","-0.122728","2011-03-22 08:08:02" +6043,"51.505299","-0.122709","2011-03-22 08:08:02" +6043,"51.505455","-0.122666","2011-03-22 08:08:02" +6043,"51.505379","-0.122687","2011-03-22 08:08:02" +6043,"51.505527","-0.122644","2011-03-22 08:08:02" +6043,"51.505768","-0.122572","2011-03-22 08:08:02" +6043,"51.505684","-0.122604","2011-03-22 08:08:02" +6043,"51.505604","-0.122628","2011-03-22 08:08:02" +6043,"51.505859","-0.122534","2011-03-22 08:08:02" +6043,"51.506065","-0.122442","2011-03-22 08:08:03" +6043,"51.506168","-0.122402","2011-03-22 08:08:03" +6043,"51.505962","-0.122487","2011-03-22 08:08:03" +6043,"51.506275","-0.122363","2011-03-22 08:08:03" +6043,"51.506378","-0.122321","2011-03-22 08:08:03" +6043,"51.506569","-0.122239","2011-03-22 08:08:03" +6043,"51.506474","-0.12228","2011-03-22 08:08:03" +6043,"51.506741","-0.122151","2011-03-22 08:08:05" +6043,"51.506657","-0.122197","2011-03-22 08:08:05" +6043,"51.506828","-0.122102","2011-03-22 08:08:05" +6043,"51.506908","-0.122053","2011-03-22 08:08:06" +6043,"51.50708","-0.121926","2011-03-22 08:08:06" +6043,"51.506992","-0.121991","2011-03-22 08:08:06" +6043,"51.507168","-0.121863","2011-03-22 08:08:06" +6043,"51.507252","-0.121799","2011-03-22 08:08:06" +6043,"51.507339","-0.121736","2011-03-22 08:08:06" +6043,"51.507435","-0.121674","2011-03-22 08:08:06" +6043,"51.50761","-0.121552","2011-03-22 08:08:06" +6043,"51.507523","-0.121613","2011-03-22 08:08:06" +6043,"51.507698","-0.121492","2011-03-22 08:08:06" +6043,"51.507866","-0.121373","2011-03-22 08:08:07" +6043,"51.507782","-0.121433","2011-03-22 08:08:07" +6043,"51.507946","-0.121312","2011-03-22 08:08:07" +6043,"51.508022","-0.121249","2011-03-22 08:08:07" +6043,"51.508102","-0.121185","2011-03-22 08:08:07" +6043,"51.508175","-0.121118","2011-03-22 08:08:07" +6043,"51.508251","-0.121048","2011-03-22 08:08:07" +6043,"51.508324","-0.120975","2011-03-22 08:08:09" +6043,"51.508392","-0.120899","2011-03-22 08:08:09" +6043,"51.508461","-0.120822","2011-03-22 08:08:09" +6043,"51.508533","-0.120745","2011-03-22 08:08:10" +6043,"51.508602","-0.120669","2011-03-22 08:08:11" +6043,"51.508675","-0.120588","2011-03-22 08:08:12" +6043,"51.508743","-0.120508","2011-03-22 08:08:13" +6043,"51.508812","-0.120424","2011-03-22 08:08:14" +6043,"51.508881","-0.12034","2011-03-22 08:08:15" +6043,"51.508945","-0.120255","2011-03-22 08:08:16" +6043,"51.509014","-0.120174","2011-03-22 08:08:17" +6043,"51.509079","-0.120095","2011-03-22 08:08:18" +6043,"51.509144","-0.120018","2011-03-22 08:08:19" +6043,"51.509209","-0.119942","2011-03-22 08:08:20" +6043,"51.50927","-0.119867","2011-03-22 08:08:21" +6043,"51.509331","-0.119793","2011-03-22 08:08:22" +6043,"51.509399","-0.11972","2011-03-22 08:08:23" +6043,"51.50946","-0.119646","2011-03-22 08:08:24" +6043,"51.509525","-0.119569","2011-03-22 08:08:25" +6043,"51.509586","-0.119492","2011-03-22 08:08:26" +6043,"51.509644","-0.119408","2011-03-22 08:08:29" +6043,"51.509697","-0.11932","2011-03-22 08:08:29" +6043,"51.50975","-0.11923","2011-03-22 08:08:29" +6043,"51.5098","-0.119141","2011-03-22 08:08:30" +6043,"51.50985","-0.119045","2011-03-22 08:08:31" +6043,"51.509892","-0.118937","2011-03-22 08:08:32" +6043,"51.509937","-0.118832","2011-03-22 08:08:33" +6043,"51.509975","-0.1187","2011-03-22 08:08:34" +6043,"51.510014","-0.118568","2011-03-22 08:08:35" +6043,"51.510052","-0.118438","2011-03-22 08:08:36" +6043,"51.51009","-0.118314","2011-03-22 08:08:37" +6043,"51.510124","-0.118191","2011-03-22 08:08:38" +6043,"51.510159","-0.118068","2011-03-22 08:08:39" +6043,"51.510189","-0.117949","2011-03-22 08:08:40" +6043,"51.51025","-0.117731","2011-03-22 08:08:42" +6043,"51.51022","-0.117839","2011-03-22 08:08:42" +6043,"51.510277","-0.117626","2011-03-22 08:08:43" +6043,"51.510307","-0.117527","2011-03-22 08:08:44" +6043,"51.510334","-0.117437","2011-03-22 08:08:45" +6043,"51.510361","-0.117342","2011-03-22 08:08:46" +6043,"51.510387","-0.117237","2011-03-22 08:08:55" +6043,"51.510406","-0.117137","2011-03-22 08:08:56" +6043,"51.510448","-0.116927","2011-03-22 08:08:56" +6043,"51.510471","-0.116822","2011-03-22 08:08:56" +6043,"51.510429","-0.117032","2011-03-22 08:08:56" +6043,"51.510532","-0.116518","2011-03-22 08:08:56" +6043,"51.510551","-0.116432","2011-03-22 08:08:56" +6043,"51.510494","-0.116719","2011-03-22 08:08:56" +6043,"51.510513","-0.116618","2011-03-22 08:08:56" +6043,"51.510571","-0.116348","2011-03-22 08:08:57" +6043,"51.510586","-0.11628","2011-03-22 08:08:57" +6043,"51.510601","-0.116221","2011-03-22 08:08:58" +6043,"51.510616","-0.116166","2011-03-22 08:08:59" +6043,"51.510654","-0.116025","2011-03-22 08:09:04" +6043,"51.510689","-0.115883","2011-03-22 08:09:08" +6043,"51.5107","-0.115833","2011-03-22 08:09:09" +6043,"51.510712","-0.115781","2011-03-22 08:09:10" +6043,"51.510727","-0.115724","2011-03-22 08:09:11" +6043,"51.510738","-0.115665","2011-03-22 08:09:12" +6043,"51.510754","-0.115592","2011-03-22 08:09:13" +6043,"51.510773","-0.1155","2011-03-22 08:09:14" +6043,"51.510788","-0.115402","2011-03-22 08:09:15" +6043,"51.510807","-0.115297","2011-03-22 08:09:16" +6043,"51.51083","-0.115172","2011-03-22 08:09:17" +6043,"51.510853","-0.115042","2011-03-22 08:09:18" +6043,"51.510872","-0.1149","2011-03-22 08:09:19" +6043,"51.510895","-0.114757","2011-03-22 08:09:20" +6043,"51.510914","-0.114612","2011-03-22 08:09:21" +6043,"51.510933","-0.11447","2011-03-22 08:09:22" +6043,"51.51096","-0.114333","2011-03-22 08:09:23" +6043,"51.510983","-0.114193","2011-03-22 08:09:24" +6043,"51.511002","-0.114051","2011-03-22 08:09:25" +6043,"51.511021","-0.113902","2011-03-22 08:09:26" +6043,"51.511036","-0.113752","2011-03-22 08:09:28" +6043,"51.511051","-0.113603","2011-03-22 08:09:28" +6043,"51.511063","-0.113455","2011-03-22 08:09:29" +6043,"51.511074","-0.113308","2011-03-22 08:09:30" +6043,"51.511086","-0.113159","2011-03-22 08:09:31" +6043,"51.511101","-0.113012","2011-03-22 08:09:32" +6043,"51.511112","-0.112869","2011-03-22 08:09:33" +6043,"51.51112","-0.112727","2011-03-22 08:09:34" +6043,"51.511131","-0.112591","2011-03-22 08:09:35" +6043,"51.511139","-0.112457","2011-03-22 08:09:36" +6043,"51.51115","-0.112327","2011-03-22 08:09:37" +6043,"51.511162","-0.112198","2011-03-22 08:09:38" +6043,"51.511166","-0.112068","2011-03-22 08:09:39" +6043,"51.511169","-0.111936","2011-03-22 08:09:40" +6043,"51.511173","-0.111805","2011-03-22 08:09:41" +6043,"51.511177","-0.111676","2011-03-22 08:09:42" +6043,"51.511181","-0.11155","2011-03-22 08:09:43" +6043,"51.511185","-0.111425","2011-03-22 08:09:44" +6043,"51.511181","-0.1113","2011-03-22 08:09:45" +6043,"51.511181","-0.111172","2011-03-22 08:09:46" +6043,"51.511181","-0.111047","2011-03-22 08:09:49" +6043,"51.511185","-0.11092","2011-03-22 08:09:49" +6043,"51.511185","-0.110794","2011-03-22 08:09:49" +6043,"51.511189","-0.110666","2011-03-22 08:09:50" +6043,"51.511192","-0.110536","2011-03-22 08:09:51" +6043,"51.511196","-0.110405","2011-03-22 08:09:52" +6043,"51.511204","-0.110276","2011-03-22 08:09:53" +6043,"51.511211","-0.110146","2011-03-22 08:09:54" +6043,"51.511219","-0.110018","2011-03-22 08:09:55" +6043,"51.511227","-0.109891","2011-03-22 08:09:56" +6043,"51.511234","-0.109766","2011-03-22 08:09:57" +6043,"51.511227","-0.109643","2011-03-22 08:09:58" +6043,"51.511223","-0.109518","2011-03-22 08:09:59" +6043,"51.511219","-0.109392","2011-03-22 08:10:00" +6043,"51.511215","-0.10927","2011-03-22 08:10:01" +6043,"51.511211","-0.109152","2011-03-22 08:10:02" +6043,"51.511208","-0.109034","2011-03-22 08:10:03" +6043,"51.511204","-0.108915","2011-03-22 08:10:04" +6043,"51.511204","-0.108798","2011-03-22 08:10:05" +6043,"51.5112","-0.108691","2011-03-22 08:10:06" +6043,"51.5112","-0.108585","2011-03-22 08:10:09" +6043,"51.5112","-0.10848","2011-03-22 08:10:09" +6043,"51.511204","-0.108384","2011-03-22 08:10:09" +6043,"51.511204","-0.108285","2011-03-22 08:10:10" +6043,"51.511211","-0.108189","2011-03-22 08:10:11" +6043,"51.511219","-0.108093","2011-03-22 08:10:12" +6043,"51.51123","-0.107998","2011-03-22 08:10:13" +6043,"51.511242","-0.107904","2011-03-22 08:10:14" +6043,"51.511257","-0.10781","2011-03-22 08:10:15" +6043,"51.511276","-0.107717","2011-03-22 08:10:16" +6043,"51.511299","-0.107664","2011-03-22 08:10:17" +6043,"51.511322","-0.107617","2011-03-22 08:10:18" +6043,"51.511345","-0.107583","2011-03-22 08:10:19" +6043,"51.511345","-0.107566","2011-03-22 08:10:20" +6043,"51.511349","-0.107546","2011-03-22 08:10:21" +6043,"51.511345","-0.107526","2011-03-22 08:10:22" +6043,"51.511269","-0.107566","2011-03-22 08:10:28" +6043,"51.511242","-0.107616","2011-03-22 08:10:28" +6043,"51.511204","-0.107631","2011-03-22 08:10:29" +6043,"51.511166","-0.107652","2011-03-22 08:10:30" +6043,"51.511124","-0.107676","2011-03-22 08:10:31" +6043,"51.511082","-0.107705","2011-03-22 08:10:32" +6043,"51.511044","-0.107744","2011-03-22 08:10:33" +6043,"51.511021","-0.107824","2011-03-22 08:10:34" +6043,"51.511002","-0.107923","2011-03-22 08:10:35" +6043,"51.510983","-0.108007","2011-03-22 08:10:36" +6043,"51.510967","-0.10808","2011-03-22 08:10:37" +6043,"51.510952","-0.108137","2011-03-22 08:10:38" +6043,"51.510952","-0.108196","2011-03-22 08:10:39" +6043,"51.510952","-0.10826","2011-03-22 08:10:40" +6043,"51.51096","-0.108346","2011-03-22 08:10:45" +6043,"51.51096","-0.108346","2011-03-22 08:10:55" +6043,"51.51096","-0.108346","2011-03-22 08:11:15" +6043,"51.510857","-0.108386","2011-03-22 08:11:29" +6043,"51.510857","-0.108386","2011-03-22 08:11:56" diff --git a/data/traffic-report.png b/data/traffic-report.png new file mode 100644 index 0000000000000000000000000000000000000000..2e778598d1bbb69b54c15e4e7debf8669c2f127b GIT binary patch literal 95666 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�B9A^&{mN&1arTPzv@>=EDa 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 literal 0 HcmV?d00001 diff --git a/data/tube.csv b/data/tube.csv new file mode 100644 index 0000000..20d9500 --- /dev/null +++ b/data/tube.csv @@ -0,0 +1,309 @@ +"Acton Town",51.503071,-0.280303 +"Aldgate",51.514342,-0.075627 +"Aldgate East",51.51503,-0.073162 +"All Saints (DLR)",51.510477,-0.012625 +"Alperton",51.541209,-0.299516 +"Amersham",51.674129,-0.606514 +"Angel",51.532968,-0.105581 +"Archway",51.565491,-0.135122 +"Arnos Grove",51.61623,-0.13427 +"Arsenal",51.55855,-0.105456 +"Baker Street",51.52313,-0.156904 +"Balham",51.443183,-0.152685 +"Bank",51.513347,-0.089 +"Barbican",51.520215,-0.097722 +"Barking",51.539521,0.080832 +"Barkingside",51.586008,0.091227 +"Barons Court",51.490229,-0.21343 +"Bayswater",51.512111,-0.187902 +"Beckton (DLR)",51.51499,0.06089 +"Beckton Park (DLR)",51.509994,0.055534 +"Becontree",51.539585,0.12688 +"Belsize Park",51.550191,-0.163974 +"Bermondsey",51.497961,-0.06433 +"Bethnal Green",51.527192,-0.055392 +"Blackfriars",51.511587,-0.102995 +"Blackhorse Road",51.585777,-0.039626 +"Blackwall (DLR)",51.508728,-0.0076 +"Bond Street",51.51381,-0.14933 +"Borough",51.501049,-0.094197 +"Boston Manor",51.495766,-0.324747 +"Bounds Green",51.608409,-0.126489 +"Bow Church (DLR)",51.527615,-0.0205 +"Bow Road",51.527042,-0.02436 +"Brent Cross",51.576599,-0.213336 +"Brixton",51.462737,-0.114552 +"Bromley-by-Bow",51.52484,-0.011682 +"Buckhurst Hill",51.62652,0.04672 +"Burnt Oak",51.602508,-0.26439 +"Caledonian Road",51.547139,-0.118334 +"Camden Town",51.539701,-0.142564 +"Canada Water",51.498168,-0.050807 +"Canary Wharf (DLR)",51.505505,-0.018 +"Canning Town",51.514738,0.009079 +"Cannon Street",51.511362,-0.090251 +"Canons Park",51.607651,-0.294392 +"Chalfont & Latimer",51.667898,-0.560996 +"Chalk Farm",51.544149,-0.153733 +"Chancery Lane",51.518494,-0.111962 +"Charing Cross",51.508359,-0.124803 +"Chesham",51.70538,-0.61143 +"Chigwell",51.617858,0.076179 +"Chiswick Park",51.494371,-0.267737 +"Chorleywood",51.654266,-0.518334 +"Clapham Common",51.461804,-0.138315 +"Clapham North",51.464916,-0.12991 +"Clapham South",51.452676,-0.147984 +"Cockfosters",51.652024,-0.149917 +"Colindale",51.595247,-0.250157 +"Colliers Wood",51.418279,-0.177765 +"Covent Garden",51.51276,-0.124507 +"Crossharbour & London Arena (DLR)",51.49604,-0.015039 +"Croxley",51.647005,-0.441604 +"Custom House",51.509863,0.026936 +"Cutty Sark for Maritime Greenwich (DLR)",51.48206,-0.01049 +"Cyprus (DLR)",51.509496,0.062933 +"Dagenham East",51.544187,0.165833 +"Dagenham Heathway",51.541212,0.14768 +"Debden",51.645492,0.083801 +"Deptford Bridge (DLR)",51.474477,-0.022052 +"Devons Road (DLR)",51.522258,-0.018008 +"Dollis Hill",51.550926,-0.236526 +"Ealing Broadway",51.514857,-0.301679 +"Ealing Common",51.510249,-0.287151 +"Earls Court",51.491357,-0.194314 +"East Acton",51.516299,-0.248068 +"East Finchley",51.587333,-0.164744 +"East Ham",51.538996,0.051447 +"East India (DLR)",51.508684,-0.00237 +"East Putney",51.45888,-0.210998 +"Eastcote",51.576552,-0.396823 +"Edgware",51.61423,-0.275094 +"Edgware Road (Bakerloo)",51.520319,-0.170365 +"Edgware Road (Circle/District/H&C)",51.519998,-0.167668 +"Elephant & Castle",51.495849,-0.100739 +"Elm Park",51.549125,0.197253 +"Elverson Road (DLR)",51.468372,-0.016816 +"Embankment",51.507312,-0.122367 +"Epping",51.693686,0.113826 +"Euston",51.528664,-0.133296 +"Euston Square",51.52579,-0.13578 +"Fairlop",51.59611,0.090593 +"Farringdon",51.520196,-0.104843 +"Finchley Central",51.600903,-0.193221 +"Finchley Road",51.547096,-0.180051 +"Finsbury Park",51.564635,-0.105881 +"Fulham Broadway",51.480603,-0.194955 +"Gallions Reach (DLR)",51.508613,0.069148 +"Gants Hill",51.576549,0.066315 +"Gloucester Road",51.4945,-0.183544 +"Golders Green",51.572216,-0.194835 +"Goldhawk Road",51.502077,-0.227404 +"Goodge Street",51.520613,-0.134808 +"Grange Hill",51.61344,0.092545 +"Great Portland Street",51.523721,-0.143965 +"Green Park",51.50687,-0.14336 +"Greenford",51.54198,-0.345879 +"Greenwich",51.477548,-0.014863 +"Gunnersbury",51.491863,-0.275164 +"Hainault",51.602845,0.094109 +"Hammersmith (District)",51.49182,-0.222861 +"Hammersmith (Met.)",51.493483,-0.22464 +"Hampstead",51.556543,-0.178015 +"Hanger Lane",51.530056,-0.293141 +"Harlesden",51.536258,-0.257496 +"Harrow & Wealdstone",51.592595,-0.334253 +"Harrow-on-the-Hill",51.579388,-0.337002 +"Hatton Cross",51.466685,-0.423381 +"Heathrow Terminals 1 2 3",51.471268,-0.452854 +"Heathrow Terminal 4",51.45895,-0.44568 +"Heathrow Terminal 5",51.471302,-0.487827 +"Hendon Central",51.583133,-0.226734 +"Heron Quays (DLR)",51.5029,-0.020822 +"High Barnet",51.651688,-0.194165 +"Highbury & Islington",51.546496,-0.104082 +"Highgate",51.577647,-0.146935 +"High Street Kensington",51.500729,-0.191566 +"Hillingdon",51.553778,-0.449898 +"Holborn",51.517236,-0.119841 +"Holland Park",51.507146,-0.206558 +"Holloway Road",51.552816,-0.112936 +"Hornchurch",51.554355,0.218927 +"Hounslow Central",51.470926,-0.365958 +"Hounslow East",51.47324,-0.357193 +"Hounslow West",51.473106,-0.385708 +"Hyde Park Corner",51.502309,-0.15443 +"Ickenham",51.560825,-0.44158 +"Island Gardens (DLR)",51.487887,-0.012095 +"Kennington",51.488662,-0.105071 +"Kensal Green",51.530524,-0.224713 +"Kensington (Olympia)",51.49788,-0.210379 +"Kentish Town",51.550101,-0.140583 +"Kenton",51.581496,-0.315217 +"Kew Gardens",51.476789,-0.285381 +"Kilburn",51.546944,-0.204633 +"Kilburn Park",51.535136,-0.193966 +"Kings Cross St. Pancras",51.53039,-0.12396 +"Kingsbury",51.584877,-0.278602 +"King George V (DLR)",51.500889,0.063496 +"Knightsbridge",51.50151,-0.16048 +"Ladbroke Grove",51.517257,-0.210297 +"Lambeth North",51.49913,-0.111768 +"Lancaster Gate",51.511891,-0.17543 +"Latimer Road",51.513958,-0.21746 +"Leicester Square",51.511291,-0.128242 +"Lewisham",51.46532,-0.0134 +"Leyton",51.558132,-0.006465 +"Leytonstone",51.568514,0.009126 +"Limehouse",51.512312,-0.03938 +"Liverpool Street",51.517598,-0.08225 +"London Bridge",51.504674,-0.086006 +"Langdon Park (DLR)",51.515273,-0.012286 +"London City Airport (DLR)",51.502538,0.048397 +"Loughton",51.64157,0.055279 +"Maida Vale",51.529995,-0.185433 +"Manor House",51.571455,-0.096088 +"Mansion House",51.512092,-0.094198 +"Marble Arch",51.51356,-0.15845 +"Marylebone",51.522397,-0.163493 +"Mile End",51.525311,-0.032666 +"Mill Hill East",51.608612,-0.210375 +"Monument",51.51063,-0.086188 +"Moor Park",51.629931,-0.432913 +"Moorgate",51.518518,-0.088438 +"Morden",51.402194,-0.19478 +"Mornington Crescent",51.534362,-0.138744 +"Mudchute (DLR)",51.492192,-0.015624 +"Neasden",51.554628,-0.250115 +"New Cross",51.476402,-0.031733 +"New Cross Gate",51.475152,-0.039764 +"Newbury Park",51.575648,0.090275 +"North Acton",51.523432,-0.25973 +"North Ealing",51.517622,-0.288994 +"North Greenwich",51.500297,0.003214 +"North Harrow",51.584631,-0.362633 +"North Wembley",51.562396,-0.303948 +"Northfields",51.500761,-0.315055 +"Northolt",51.548213,-0.368441 +"Northwick Park",51.579338,-0.319583 +"Northwood",51.611214,-0.423838 +"Northwood Hills",51.6005,-0.4092 +"Notting Hill Gate",51.509392,-0.195834 +"Oakwood",51.647638,-0.131854 +"Old Street",51.52567,-0.087562 +"Osterley",51.482184,-0.351788 +"Oval",51.481616,-0.113125 +"Oxford Circus",51.51511,-0.1417 +"Paddington",51.515394,-0.175737 +"Park Royal",51.526834,-0.284929 +"Parsons Green",51.476255,-0.201131 +"Perivale",51.536342,-0.32307 +"Piccadilly Circus",51.50986,-0.1337 +"Pimlico",51.489553,-0.133108 +"Pinner",51.592362,-0.381224 +"Plaistow",51.531288,0.017781 +"Pontoon Dock (DLR)",51.502529,0.026193 +"Poplar (DLR)",51.508686,-0.016781 +"Preston Road",51.57202,-0.2952 +"Prince Regent (DLR)",51.51059,0.0322 +"Pudding Mill Lane (DLR)",51.533756,-0.012447 +"Putney Bridge",51.4679,-0.209306 +"Queens Park",51.534358,-0.204825 +"Queensbury",51.593883,-0.286332 +"Queensway",51.510449,-0.18742 +"Ravenscourt Park",51.495538,-0.236273 +"Rayners Lane",51.5751,-0.3712 +"Redbridge",51.576367,0.045394 +"Regents Park",51.52347,-0.1468 +"Richmond",51.464125,-0.300655 +"Rickmansworth",51.640323,-0.473685 +"Roding Valley",51.616956,0.044026 +"Rotherhithe",51.501595,-0.052966 +"Royal Albert (DLR)",51.508494,0.045177 +"Royal Oak",51.518294,-0.188824 +"Royal Victoria (DLR)",51.509995,0.017704 +"Ruislip",51.572162,-0.421235 +"Ruislip Gardens",51.55996,-0.409294 +"Ruislip Manor",51.573452,-0.412849 +"Russell Square",51.523013,-0.12459 +"Seven Sisters",51.582393,-0.07424 +"Shadwell (DLR)",51.5113,-0.056919 +"Shepherds Bush",51.504849,-0.218665 +"Shepherds Bush Market",51.505881,-0.2274 +"Shoreditch",51.522709,-0.070921 +"Sloane Square",51.49236,-0.156489 +"Snaresbrook",51.58103,0.021268 +"South Ealing",51.501644,-0.30704 +"South Harrow",51.56468,-0.351894 +"South Kensington",51.494071,-0.173923 +"South Kenton",51.571108,-0.308155 +"South Quay (DLR)",51.5006,-0.0191 +"South Ruislip",51.556578,-0.398636 +"South Wimbledon",51.415437,-0.191684 +"South Woodford",51.591781,0.028242 +"Southfields",51.446218,-0.205708 +"Southgate",51.632376,-0.12777 +"Southwark",51.50386,-0.105 +"St. Jamess Park",51.499418,-0.134276 +"St. Johns Wood",51.534854,-0.174065 +"St. Pauls",51.514616,-0.097364 +"Stamford Brook",51.494387,-0.245278 +"Stanmore",51.619673,-0.303099 +"Stepney Green",51.521839,-0.047173 +"Stockwell",51.47109,-0.124589 +"Stonebridge Park",51.543987,-0.2754 +"Stratford",51.541693,-0.003752 +"Sudbury Hill",51.55734,-0.336392 +"Sudbury Town",51.551397,-0.316343 +"Surrey Quays",51.4931,-0.047235 +"Swiss Cottage",51.543035,-0.175627 +"Temple",51.511041,-0.113726 +"Theydon Bois",51.672552,0.102891 +"Tooting Bec",51.43578,-0.1596 +"Tooting Broadway",51.427049,-0.168685 +"Tottenham Court Road",51.516206,-0.13087 +"Tottenham Hale",51.588878,-0.062821 +"Totteridge & Whetstone",51.630781,-0.179044 +"Tower Gateway (DLR)",51.51062,-0.0741 +"Tower Hill",51.510394,-0.076701 +"Tufnell Park",51.556441,-0.137742 +"Turnham Green",51.495182,-0.254525 +"Turnpike Lane",51.590358,-0.102805 +"Upminster",51.558764,0.250896 +"Upminster Bridge",51.557719,0.234542 +"Upney",51.538406,0.101532 +"Upton Park",51.536628,0.034542 +"Uxbridge",51.546455,-0.477102 +"Vauxhall",51.484833,-0.126416 +"Victoria",51.496424,-0.143921 +"Walthamstow Central",51.583018,-0.019941 +"Wanstead",51.574984,0.028706 +"Wapping",51.504416,-0.055541 +"Warren Street",51.52458,-0.138278 +"Warwick Avenue",51.523104,-0.182953 +"Waterloo",51.503573,-0.114077 +"Watford",51.65747,-0.41726 +"Wembley Central",51.551709,-0.296196 +"Wembley Park",51.563349,-0.279227 +"West Acton",51.51777,-0.280657 +"West Brompton",51.487329,-0.195539 +"West Finchley",51.609263,-0.188917 +"West Ham",51.528526,0.005317 +"West Hampstead",51.546717,-0.190969 +"West Harrow",51.578924,-0.353847 +"West India Quay (DLR)",51.508299,-0.018902 +"West Silvertown (DLR)",51.501475,0.021045 +"West Kensington",51.490109,-0.206204 +"West Ruislip",51.569588,-0.43786 +"Westbourne Park",51.520989,-0.200883 +"Westferry (DLR)",51.50944,-0.0268 +"Westminster",51.501402,-0.125002 +"White City",51.512232,-0.224632 +"Whitechapel",51.519588,-0.05942 +"Willesden Green",51.549373,-0.222408 +"Willesden Junction",51.532994,-0.243 +"Wimbledon",51.421108,-0.206663 +"Wimbledon Park",51.434581,-0.199186 +"Wood Green",51.597454,-0.109527 +"Woodford",51.607332,0.033817 +"Woodside Park",51.617868,-0.185426 diff --git a/docs/architecture-chart.graphml b/docs/architecture-chart.graphml new file mode 100644 index 0000000..e0b9fe2 --- /dev/null +++ b/docs/architecture-chart.graphml @@ -0,0 +1,645 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Application Architecture + + + + + + + + + + Folder 4 + + + + + + + + + + + + + + + + + + + + Library + + + + + + + + + + Folder 1 + + + + + + + + + + + + + + + + + Drone + + + + + + + + + + + + + + EventBus + + + + + + + + + + + + + + Dispatcher + + + + + + + + + + + + + + drone-xxxx.csv + + + + + + + + + + + + + + + + + + tubes.csv + + + + + + + + + + + + + + + + + + Drone + + + + + + + + + + + + + + + + + + + Logging + + + + + + + + + + logging + + + + + + + + + + + + + + + + + Drone Logs + + + + + + + + + + + + + + Dispatcher Logs + + + + + + + + + + + + + + Report Logs + + + + + + + + + + + + + + Route Map + + + + + + + + + + + + + + route-report.png + + + + + + + + + + + + + + + + + + drone-*.log + + + + + + + + + + + + + + + + + + dispatcher.log + + + + + + + + + + + + + + + + + + + + + + + Simulation + + + + + + + + + + Folder 3 + + + + + + + + + + + + + + + + + Simulation +(application entrypoint) + + + + + + + + + + + + + + Thread Pool + + + + + + + + + + + + + + Command-line +Arguments + + + + + + + + + + + + + + + + + + push(Event) + + + + + + + + + + + + onEvent(Event) + + + + + + + + + + + + + + onEvent(Event) + + + + + + + + + + + + onEvent(Event) + + + + + + + + + + + + readNextPosition() + + + + + + + + + + + + registerTubeStations() + + + + + + + + + + + + push(Event) + + + + + + + + + + + + push(Event) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + new Drone() +new Dispatcher() + + + + + + + + + + + + execute(Runnable) + + + + + + + + + + + + parse() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/architecture-chart.png b/docs/architecture-chart.png new file mode 100644 index 0000000000000000000000000000000000000000..7a419ae867acbd7ad60054fd896d8c1a70186b13 GIT binary patch literal 74590 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 LMYineYrp>oulvgO literal 0 HcmV?d00001 diff --git a/docs/route-data-flow.graphml b/docs/route-data-flow.graphml new file mode 100644 index 0000000..a0704d7 --- /dev/null +++ b/docs/route-data-flow.graphml @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + + + + + + + + Route Data Flow + Drone + EventBus + Dispatcher + drone-*.csv + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Signals remaining +route capacity + + + + + + + + + + + + + + + + + + + DroneCapacity +(Event) + + + + + + + + + + + + + + + + + + + Capacity event +recieved + + + + + + + + + + + + + + + + + + + Capacity +under +threashold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Read next waypoint +from buffer (file) + + + + + + + + + + + + + + + + + + + Waypoint buffer +at +threashold + + + + + + + + + + + + + + + + + Send waypoints +to Drone + + + + + + + + + + + + + + + + + + + PointData +(Event) + + + + + + + + + + + + + + + + + + + Drone recieves new +waypoints + + + + + + + + + + + + + + + + + + + Arrives at waypoint +or +has no more waypoints + + + + + + + + + + + + + + + + + + + Waypoint +successfully +read + + + + + + + + + + + + + + + + + Waypoint buffer +empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + No + + + + + + + + + + + + No + + + + + + + + + + + + No + + + + + + + + + + + + Yes + + + + + + + + + diff --git a/docs/route-data-flow.png b/docs/route-data-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..73d221c05895229cc1fc0acedbb145f7c4a4a95e GIT binary patch literal 94840 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
P@^Y6EecwSbzsusw3tb?$PqY1l|aQuFjjRp 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 literal 0 HcmV?d00001 diff --git a/docs/shutdown-flow.graphml b/docs/shutdown-flow.graphml new file mode 100644 index 0000000..7036b55 --- /dev/null +++ b/docs/shutdown-flow.graphml @@ -0,0 +1,568 @@ + + + + + + + + + + + + + + + + + + + + + + + + Shutdown flow + Drone + EventBus + Dispatcher + drones-*.csv + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shutdown time +occurred + + + + + + + + + + + + + + + + + + + Drones still +flying? + + + + + + + + + + + + + + + + + Message drones +to terminate at +shutdown time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ShutdownSignal +(Event) + + + + + + + + + + + + + + + + + + + Register new +shutdown time + + + + + + + + + + + + + + + + + + + Shutdown time +occurred + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ShutdownSignal +(Event) + + + + + + + + + + + + + + + + + + + Register drone as +no longer flying + + + + + + + + + + + + + + + + + + + Drones still +flying? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Terminate + + + + + + + + + + + + + + + + + + Terminate + + + + + + + + + + + + + + + + + + Terminate + + + + + + + + + + + + + + + + + + Close reader (file) + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/shutdown-flow.png b/docs/shutdown-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..a84ec6b9ebb459097dab7f58e2ebaaddeef12176 GIT binary patch literal 80314 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 literal 0 HcmV?d00001 diff --git a/docs/traffic-condition-flow.graphml b/docs/traffic-condition-flow.graphml new file mode 100644 index 0000000..74a396c --- /dev/null +++ b/docs/traffic-condition-flow.graphml @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + + + + + + + + + + + Traffic Condition Data Flow + Drone + EventBus + Dispatcher + tubes.csv + report.log + route-report.png + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Scans surroundings for +Tube Station + + + + + + + + + + + + + + + + + + + Arrives at waypoint + + + + + + + + + + + + + + + + + + + Tube Station +found + + + + + + + + + + + + + + + + + Tube Station +discoved +before + + + + + + + + + + + + + + + + + TrafficCondition +(Event) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Register condition + + + + + + + + + + + + + + + + + + + Write to log file + + + + + + + + + + + + + + + + + + + Plot route on map + + + + + + + + + + + + + + + + + + + Initialize + + + + + + + + + + + + + + + + + + + Read tube stations file + + + + + + + + + + + + + + + + + + + Stations read +successfully + + + + + + + + + + + + + + + + + Initialize + + + + + + + + + + + + + + + + + + + Register tube stations +with Drones + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + No + + + + + + + + + + + + No + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + diff --git a/docs/traffic-condition-flow.png b/docs/traffic-condition-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..2b2df523f9f802991db4c90f957f47223ef9b197 GIT binary patch literal 96467 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 z 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

+;V)-VxUP245yv{H>(6MGD~K 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%0D69AmH` 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 Gp$Pz3!Jl*h literal 0 HcmV?d00001 diff --git a/docs/traffic-drones-back-end.pdf b/docs/traffic-drones-back-end.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4984e1d209743268d70daf69474882c44df95527 GIT binary patch literal 19296 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 bc>I~c8O$)MMWZc$BrmXpi>K$pCBgpyQ?o$k literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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

K7UpUK$>l@ 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 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..f371643 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..4f906e0 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/library/build.gradle b/library/build.gradle new file mode 100644 index 0000000..e69de29 diff --git a/library/src/main/java/drones/I18N.java b/library/src/main/java/drones/I18N.java new file mode 100644 index 0000000..88236ef --- /dev/null +++ b/library/src/main/java/drones/I18N.java @@ -0,0 +1,21 @@ +package drones; + +import java.util.ResourceBundle; + +/** + * Convenience class for retrieving translated strings + * + * @author John Ahlroos + */ +public interface I18N { + + /** + * Get a translated string + * + * @param key the translation key + * @return the translated message + */ + static String get(String key) { + return ResourceBundle.getBundle("drones-messages").getString(key); + } +} diff --git a/library/src/main/java/drones/dispatcher/Dispatcher.java b/library/src/main/java/drones/dispatcher/Dispatcher.java new file mode 100644 index 0000000..f1a7e68 --- /dev/null +++ b/library/src/main/java/drones/dispatcher/Dispatcher.java @@ -0,0 +1,259 @@ +package drones.dispatcher; + +import drones.I18N; +import drones.drone.Drone; +import drones.geo.Point; +import drones.geo.TubeStation; +import drones.messages.EventBus; +import drones.messages.EventBus.Listener; +import drones.messages.Message; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.BufferedReader; +import java.io.IOException; +import java.text.DecimalFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; + +/** + * A Drone dispatcher for controlling {@link Drone}'s + * + * @author John Ahlroos + */ +public class Dispatcher implements Runnable, Listener { + + public static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern(I18N.get("date.format")); + + private static final DecimalFormat REPORT_NUMBER_FORMAT = new DecimalFormat(I18N.get("number.format")); + private static final Logger LOGGER = LoggerFactory.getLogger("Dispatcher"); + private static final Logger REPORT_LOGGER = LoggerFactory.getLogger("Report"); + + private final LocalDateTime shutdownTime; + private final Map dataReaders = new HashMap<>(); + private final double simulatedTimeFactor; + private LocalDateTime currentTime; + + private final EventBus eventBus; + private final List tubeStations = new ArrayList<>(); + + private final Set tubeStationsFound = new HashSet<>(); + private int tuneStationReports = 0; + private final Map waypointsSent = new HashMap<>(); + + /** + * Creates a new dispatcher + * + * @param currentTime the current time of the dispatcher + * @param shutdownTime the time when the dispatcher should terminate + * @param simulatedTimeFactor used for controlling simulated time. Should be between 0-1. + */ + public Dispatcher(LocalDateTime currentTime, LocalDateTime shutdownTime, double simulatedTimeFactor) { + this.currentTime = currentTime; + this.shutdownTime = shutdownTime; + this.simulatedTimeFactor = Math.max(0.0001, simulatedTimeFactor); + this.eventBus = new EventBus(simulatedTimeFactor); + this.eventBus.register(this); + LOGGER.info(I18N.get("dispatcher.running.stats.1")); + LOGGER.info(I18N.get("dispatcher.running.stats.2"), this.currentTime); + LOGGER.info(I18N.get("dispatcher.running.stats.3"), this.shutdownTime); + LOGGER.info(I18N.get("dispatcher.running.stats.4"), this.simulatedTimeFactor); + LOGGER.info(""); + } + + /** + * Register tube stations to report on. + *

+ * The format is: + * "",, + * + * @param reader A reader referencing a file and another data stream + * @throws IOException if reading the file fails + */ + public void registerTubeStations(BufferedReader reader) throws IOException { + try (reader) { + for (String line = reader.readLine(); line != null; line = reader.readLine()) { + var scanner = new Scanner(line).useDelimiter(","); + var name = scanner.next().replace("\"", ""); + var lat = Double.parseDouble(scanner.next().replace("\"", "")); + var lon = Double.parseDouble(scanner.next().replace("\"", "")); + var tb = new TubeStation(new Point(lat, lon, null), name); + LOGGER.info("Registered Tube Station: {}", tb); + tubeStations.add(tb); + } + } + } + + /** + * Registers a new drone with the dispatcher. + * + * @param id the drone id + * @param reader the data source reader, can point to a file or another data stream. + * The format is: + * ,"","","

+ * Controlled by the {@link #simulatedTimeFactor} property. If using real-time (factor 1) then there is a 10 + * second latency. + */ + private void incrementTime() { + try { + currentTime = currentTime.plusSeconds(1); + Thread.sleep(Math.round(simulatedTimeFactor * 1000)); + } catch (InterruptedException e) { + LOGGER.debug(I18N.get("dispatcher.thread.sleep.error")); + } + } +} diff --git a/library/src/main/java/drones/drone/Drone.java b/library/src/main/java/drones/drone/Drone.java new file mode 100644 index 0000000..e3fc04e --- /dev/null +++ b/library/src/main/java/drones/drone/Drone.java @@ -0,0 +1,322 @@ +package drones.drone; + +import drones.I18N; +import drones.geo.Point; +import drones.geo.TubeStation; +import drones.messages.EventBus; +import drones.messages.EventBus.Listener; +import drones.messages.Message; +import drones.messages.Message.TrafficCondition.Condition; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.ConcurrentLinkedDeque; + +/** + * Drone implementation to be controlled by a {@link drones.dispatcher.Dispatcher} + * + * @author John Ahlroos + */ +public class Drone implements Runnable, Listener { + + private static final int ROUTE_CAPACITY = 10; + private static final int REQUEST_WAYPOINT_THRESHOLD = 3; // 30% capacity remaining + public static final int TUBE_STATION_RANGE = 350; + + private final long id; + private double speed = 0; + private Point position; + private final Deque route = new ConcurrentLinkedDeque<>(); + private DroneState state = DroneState.HOLDING; + private LocalDateTime currentTime; + private final double simulatedTimeFactor; + private final EventBus eventBus; + private final Collection tubeStations; + private final Set tubeStationsInRange = new HashSet<>(); + private final Set tubeStationsFound = new HashSet<>(); + private LocalDateTime shutdownTime; + + private int waypointsVisited = 0; + private double longestDistanceTraveled = 0; + private double fastestSpeed = 0; + + /** + * Creates a new drone + * + * @param id the id of the drone. Must be unique + * @param currentTime the current time + * @param simulatedTimeFactor time factor to simulate time. Should be between 0-1. + * @param eventBus the event bus for sending and recieving messages + * @param tubeStations the tube stations to report on + */ + public Drone(long id, LocalDateTime currentTime, double simulatedTimeFactor, EventBus eventBus, + Collection tubeStations) { + this.id = id; + this.currentTime = currentTime; + this.simulatedTimeFactor = Math.max(0.0001, simulatedTimeFactor); + this.eventBus = eventBus; + this.tubeStations = tubeStations; + this.position = new Point(0, 0, currentTime); + getLogger().info(I18N.get("drone.running.stats.1")); + getLogger().info(I18N.get("drone.running.stats.2"), this.currentTime); + getLogger().info(I18N.get("drone.running.stats.3"), this.simulatedTimeFactor); + getLogger().info(""); + } + + /** + * Get the id of the drone. Must be unique. + * + * @return the drone id + */ + public long getId() { + return id; + } + + /** + * Get the current position of the drone. + *

+ * If the drone has not yet recieved any waypoints then this is null. This will be set initially to + * the first waypoint and then updated as the drone flies. + *

+ * + * @return the current position + */ + public Point getPosition() { + return position; + } + + /** + * Get how many waypoints remain on the current route. Might be updated by the dispatcher. + * + * @return the amount of waypoints remaining + */ + public int getWaypointsRemaining() { + return route.size(); + } + + /** + * The current state of the drone. + * + *
    + *
  • {@link DroneState#HOLDING}: The drone is currently holding at the same position
  • + *
  • {@link DroneState#MOVING}: The drone is currently moving to a waypoint
  • + *
  • {@link DroneState#TERMINATED}: The drone has terminated operation. No more waypoints will be + * processed
  • + *
+ * + * @return the current drone state. + */ + public DroneState getState() { + return state; + } + + /** + * Returns how many waypoints have been visited by the drone + * + * @return the number of waypoints visited + */ + public int getWaypointsVisited() { + return waypointsVisited; + } + + /** + * Returns which tube stations have been found while operating + * + * @return the names of the tube stations found + */ + public Set getTubeStationsFound() { + return Collections.unmodifiableSet(tubeStationsFound); + } + + @Override + public void run() { + getLogger().info(I18N.get("drone.started")); + + // Request initial waypoints + requestWaypoints(); + + while (state != DroneState.TERMINATED) { + + // Received termination signal + if (Thread.currentThread().isInterrupted()) { + getLogger().info(this.toString()); + break; + } + + // Shutdown + if (shutdownTime != null && (currentTime.isEqual(shutdownTime) || currentTime.isAfter(shutdownTime))) { + if (route.isEmpty()) { + setState(DroneState.TERMINATED); + getLogger().info(this.toString()); + break; + } + } + + // Log current location and drone details + getLogger().info(this.toString()); + + // Check if we have any more waypoints, if not hold position + var nextWaypoint = route.peekFirst(); + if (nextWaypoint == null) { + getLogger().info(I18N.get("drone.holding.position")); + setState(DroneState.HOLDING); + speed = 0.0; + incrementTime(); + continue; + } + + // Check if we received our first waypoint, adjust dummy position + if (position.latitude() == 0 && nextWaypoint.time().isBefore(currentTime)) { + getLogger().info(I18N.get("drone.holding.position")); + setState(DroneState.HOLDING); + speed = 0.0; + incrementTime(); + continue; + } else if (position.latitude() == 0) { + position = Point.adjustTime(nextWaypoint, position.time()); + } + + // Check for tube stations + tubeStationsInRange.removeIf(tb -> !tb.point().isInRange(position, TUBE_STATION_RANGE)); + tubeStations.stream() + .filter(tb -> !tubeStationsInRange.contains(tb)) + .filter(tb -> tb.point().isInRange(position, TUBE_STATION_RANGE)) + .peek(tubeStationsInRange::add) + .peek(tubeStationsFound::add) + .forEach(tb -> eventBus.push(new Message.TrafficCondition( + Message.DISPATCHER_ID, getId(), tb.name(), + position.time(), speed, + Condition.values()[new Random().nextInt(Condition.values().length)], + position.distanceTo(tb.point())))); + + // Check if we are at the destination waypoint + if (nextWaypoint.equals(position)) { + setState(DroneState.HOLDING); + speed = 0.0; + currentTime = nextWaypoint.time(); + waypointsVisited++; + getLogger().info(I18N.get("drone.arrived.at.waypoint"), nextWaypoint); + position = route.removeFirst(); + requestWaypoints(); + incrementTime(); + continue; + } + + // Calculate new speed if we are departing to a new waypoint + var distanceToNextWaypoint = position.distanceTo(nextWaypoint); + longestDistanceTraveled = Math.max(longestDistanceTraveled, distanceToNextWaypoint); + if (state == DroneState.HOLDING) { + var timeToNextWaypoint = position.timeTo(nextWaypoint); + speed = distanceToNextWaypoint / timeToNextWaypoint.getSeconds(); + getLogger().debug(I18N.get("drone.speed.calculation"), timeToNextWaypoint.getSeconds(), distanceToNextWaypoint); + } + + // Prevent overshooting the waypoint by reducing speed as we approach the waypoint + if (speed > distanceToNextWaypoint) { + speed = distanceToNextWaypoint; + getLogger().info(I18N.get("drone.speed.reduced"), speed); + } + + // Start moving to the new waypoint + fastestSpeed = Math.max(fastestSpeed, speed); + position = position.moveTowards(nextWaypoint, speed, 1); + setState(DroneState.MOVING); + getLogger().debug(I18N.get("drone.next.waypoint.leg"), position); + incrementTime(); + } + + getLogger().info(I18N.get("drone.shutdown"), position); + eventBus.push(new Message.ShutdownSignal(Message.DISPATCHER_ID, id, shutdownTime)); + + getLogger().info(I18N.get("drone.termination.stats.1"), waypointsVisited); + getLogger().info(I18N.get("drone.termination.stats.2"), tubeStationsFound); + getLogger().info(String.format(I18N.get("drone.termination.stats.3"), longestDistanceTraveled / 1000.0)); + getLogger().info(String.format(I18N.get("drone.termination.stats.4"), fastestSpeed * 3.6)); + } + + private void requestWaypoints() { + var capacity = availableRouteCapacity(); + if (capacity > ROUTE_CAPACITY - REQUEST_WAYPOINT_THRESHOLD) { + eventBus.push(new Message.DroneCapacity(Message.DISPATCHER_ID, getId(), capacity)); + getLogger().info(I18N.get("drone.new.route.request"), capacity); + } + } + + private void setState(DroneState state) { + if (this.state == DroneState.TERMINATED) { + return; + } + this.state = state; + } + + @Override + public String toString() { + var lat = position.latitude(); + var lon = position.longitude(); + var time = position.time(); + return String.format(I18N.get("drone.position"), speed, state, lat, lon, route.size(), waypointsVisited, + time.toLocalTime()); + } + + @Override + public void onEvent(Message message) { + + // Check that the message is for this drone + if (message.targetId() != id) { + return; + } + + // Check for signals + if (message instanceof Message.ShutdownSignal signal) { + getLogger().info(I18N.get("drone.event.signal"), signal); + shutdownTime = signal.time(); + getLogger().info(I18N.get("drone.event.signal.shutdown")); + return; + } + + // Check for new waypoints + if (message instanceof Message.PointData data) { + var point = data.point(); + if (availableRouteCapacity() > 0) { + getLogger().info(I18N.get("drone.event.new.waypoint"), point); + route.add(point); + } else { + getLogger().warn(I18N.get("drone.event.new.waypoint.cache.full"), point); + } + return; + } + } + + /** + * Get the amount of points we can load in the waypoint cache + * + * @return number of points we can load + */ + private int availableRouteCapacity() { + return ROUTE_CAPACITY - route.size(); + } + + /** + * Get the named logger for the drone (allows us to split the logs into different files) + * + * @return the logger + */ + private Logger getLogger() { + return LoggerFactory.getLogger("Drone." + id); + } + + /** + * Simulates latency and delay while flying. Allows us to model in real-time the fight path + */ + private void incrementTime() { + try { + currentTime = currentTime.plusSeconds(1); + position = Point.adjustTime(position, currentTime); + Thread.sleep(Math.round(simulatedTimeFactor * 1000)); + } catch (InterruptedException e) { + getLogger().debug(I18N.get("drone.thread.sleep.error")); + } + } +} diff --git a/library/src/main/java/drones/drone/DroneState.java b/library/src/main/java/drones/drone/DroneState.java new file mode 100644 index 0000000..c84149c --- /dev/null +++ b/library/src/main/java/drones/drone/DroneState.java @@ -0,0 +1,25 @@ +package drones.drone; + +/** + * The state of the drone + * + * @author John Ahlroos + */ +public enum DroneState { + + /** + * The drone is moving in some direction + */ + MOVING, + + /** + * The drone is holding at a location + */ + HOLDING, + + /** + * The drone has terminated operation + */ + TERMINATED + +} diff --git a/library/src/main/java/drones/geo/Point.java b/library/src/main/java/drones/geo/Point.java new file mode 100644 index 0000000..9a45fbf --- /dev/null +++ b/library/src/main/java/drones/geo/Point.java @@ -0,0 +1,127 @@ +package drones.geo; + +import drones.I18N; + +import java.time.Duration; +import java.time.LocalDateTime; +import java.util.Objects; + +/** + * Represents a point in the world. + * + * @author John Ahlroos + */ +public record Point(double latitude, double longitude, LocalDateTime time) { + + private static final double EARTH_RADIUS = 6371.01; + private static final double ACCURACY = 0.00001; + + /** + * Measures the distance between this point and another point. + * + * @param point the point to measure distance to + * @return the distance in meters + */ + public double distanceTo(Point point) { + var lat1 = Math.toRadians(latitude()); + var lon1 = Math.toRadians(longitude()); + var lat2 = Math.toRadians(point.latitude()); + var lon2 = Math.toRadians(point.longitude()); + double earthRadius = EARTH_RADIUS * 1000; //Meters + return earthRadius * Math.acos(Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(lon1 - lon2)); + } + + /** + * Checks if another point is withing a certain bounds + * + * @param point the point to check + * @param meters the range to check for + * @return true if it is within range, false otherwise. + */ + public boolean isInRange(Point point, double meters) { + return distanceTo(point) <= meters; + } + + /** + * The amount of time between two point timestamps + * + * @param point the other point to compare to + * @return the duraction between the points + */ + public Duration timeTo(Point point) { + var time = Duration.between(time(), point.time().plusSeconds(1)).abs(); + return time.isZero() ? Duration.ofSeconds(1) : time; + } + + /** + * The bearing, measured in radians, to another points + * + * @param point the other point to point to + * @return the bearing in radians + */ + public double bearingTo(Point point) { + var dL = point.longitude() - longitude(); + var x = Math.cos(point.latitude()) * Math.sin(dL); + var y = Math.cos(latitude()) * Math.sin(point.latitude()) - + Math.sin(latitude()) * Math.cos(point.latitude()) * Math.cos(dL); + return Math.atan2(x, y); + } + + /** + * Calculates what the next point would be if we would move (meters) amount + * for (seconds) toward another point. + * + * @param destination The destination point to head for + * @param meters the amount of meters to travel + * @param seconds the amount of time it should take + * @return the next point we would reach + */ + public Point moveTowards(Point destination, double meters, long seconds) { + if (meters <= 0) { + throw new IllegalArgumentException(I18N.get("point.meters.positive.value")); + } + if (seconds <= 0) { + throw new IllegalArgumentException(I18N.get("point.seconds.positive.value")); + } + var brng = bearingTo(destination); + var d = meters / 1000.0; + var lat1 = Math.toRadians(latitude()); + var lon1 = Math.toRadians(longitude()); + var lat2 = Math.asin(Math.sin(lat1) * Math.cos(d / EARTH_RADIUS) + + Math.cos(lat1) * Math.sin(d / EARTH_RADIUS) * Math.cos(brng)); + var lon2 = lon1 + Math.atan2(Math.sin(brng) * Math.sin(d / EARTH_RADIUS) * Math.cos(lat1), + Math.cos(d / EARTH_RADIUS) - Math.sin(lat1) * Math.sin(lat2)); + return new Point(Math.toDegrees(lat2), Math.toDegrees(lon2), time()); + } + + /** + * Returns a new point where the time has been adjusted to the new time + * + * @param point the point to use as basis + * @param time the time to set + * @return a new point using the old point but with changed time + */ + public static Point adjustTime(Point point, LocalDateTime time) { + return new Point(point.latitude(), point.longitude(), time); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + var point = (Point) o; + var latDiff = Math.abs(point.latitude - latitude); + var lonDiff = Math.abs(point.longitude - longitude); + return latDiff < ACCURACY && lonDiff < ACCURACY; + } + + @Override + public int hashCode() { + return Objects.hash(latitude, longitude); + } + + @Override + public String toString() { + return String.format("(lat=%f, lon=%f, time=%s)", latitude, longitude, time); + } +} diff --git a/library/src/main/java/drones/geo/TubeStation.java b/library/src/main/java/drones/geo/TubeStation.java new file mode 100644 index 0000000..a922480 --- /dev/null +++ b/library/src/main/java/drones/geo/TubeStation.java @@ -0,0 +1,29 @@ +package drones.geo; + +import java.util.Objects; + +/** + * Represents a tube station + * + * @author John Ahlroos + */ +public record TubeStation(Point point, String name) { + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + TubeStation that = (TubeStation) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + return String.format("(name=%s, lat=%f, lon=%f)", name, point.latitude(), point.longitude()); + } +} diff --git a/library/src/main/java/drones/messages/EventBus.java b/library/src/main/java/drones/messages/EventBus.java new file mode 100644 index 0000000..94cc477 --- /dev/null +++ b/library/src/main/java/drones/messages/EventBus.java @@ -0,0 +1,65 @@ +package drones.messages; + +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + +/** + * Represent a simple event bus between the {@link drones.drone.Drone} and the {@link drones.dispatcher.Dispatcher} + * + * @author John Ahlroos + */ +public class EventBus { + + private final List> listeners = new CopyOnWriteArrayList<>(); + private final double simulatedTimeFactor; + + public EventBus(double simulatedTimeFactor) { + this.simulatedTimeFactor = simulatedTimeFactor; + } + + /** + * Push a new message to the event bus + * + * @param message the message to send + */ + public void push(Message message) { + latency(); + listeners.forEach(l -> l.onEvent(message)); + } + + /** + * Register a receiver for the messages + * + * @param listener the listener + */ + public void register(Listener listener) { + listeners.add(listener); + } + + /** + * Simulates a slight latency in the event bus (messages moving over the air) + */ + private void latency() { + try { + Thread.sleep(Math.round(simulatedTimeFactor * 300)); + } catch (InterruptedException e) { + // Ignore + } + } + + /** + * Listener interface for receiving messages from the event bus + * + * @param messsage on the buss + */ + @FunctionalInterface + public interface Listener { + + /** + * Triggered when a new message is published on the bus + * + * @param message the message that was published + */ + void onEvent(Message message); + } +} diff --git a/library/src/main/java/drones/messages/Message.java b/library/src/main/java/drones/messages/Message.java new file mode 100644 index 0000000..ae46558 --- /dev/null +++ b/library/src/main/java/drones/messages/Message.java @@ -0,0 +1,63 @@ +package drones.messages; + +import drones.geo.Point; + +import java.time.LocalDateTime; + +/** + * Represent a message on the {@link EventBus} + * + * @author John Ahlroos + */ +public interface Message { + + long DISPATCHER_ID = 0; + + /** + * The recipient of the message + */ + long targetId(); + + /** + * Represent a message with point data for the drone + */ + record PointData(long targetId, Point point) implements Message { + } + + /** + * Shutdown signal for the drone. Published by the {@link drones.dispatcher.Dispatcher} + */ + record ShutdownSignal(long targetId, long droneId, LocalDateTime time) implements Message { + } + + /** + * Represents the traffic condition at a tube station + */ + record TrafficCondition(long targetId, long droneId, String tubeStation, LocalDateTime time, + double speed, Condition condition, double distanceToStation) implements Message { + + /** + * The condition of the traffic + */ + public enum Condition { + /** + * Heavy traffic + */ + HEAVY, + /** + * Light traffic + */ + LIGHT, + /** + * Moderate traffic + */ + MODERATE + } + } + + /** + * Represents a drone capacity message posted by the drone to request more waypoints + */ + record DroneCapacity(long targetId, long droneId, int capacity) implements Message { + } +} diff --git a/library/src/main/resources/drones-messages.properties b/library/src/main/resources/drones-messages.properties new file mode 100644 index 0000000..629066f --- /dev/null +++ b/library/src/main/resources/drones-messages.properties @@ -0,0 +1,49 @@ +date.format=yyyy-MM-dd HH:mm:ss +number.format=0 +# Dispatcher +dispatcher.running.stats.1=Running with the following settings: +dispatcher.running.stats.2=Start time:\t{} +dispatcher.running.stats.3=Shutdown time:\t{} +dispatcher.running.stats.4=Simulated time factor:\t{} +dispatcher.drone.registration=Registered drone {} +dispatcher.started=Started +dispatcher.shutdown=Shutting down dispatcher +dispatcher.terminating=No more drones, terminating... +dispatcher.send.shutdown.signals=Sending shutdown signal to {} drones +dispatcher.event.drone.shutdown=Sending shutdown signal for drone {} +dispatcher.event.drone.data.stream.error=Failed to close drone {} data stream +dispatcher.event.drone.capacity.request=Received capacity request from drone {} (capacity: {}) +dispatcher.event.drone.traffic.report={} @ {}: {} (drone: {},speed: {}km/h, distanceToStation: {}m) +dispatcher.data.file.id.mismatch=Data file is corrupt, id mismatch +dispatcher.data.file.stream.error=Failed to read data stream +dispatcher.waypoints.sent=Sent {} waypoints to drone {} +dispatcher.thread.sleep.error=Sleep interrupted +dispatcher.termination.stats.1=Tube stations found: {} +dispatcher.termination.stats.2=Tube station reports:\t{} +dispatcher.termination.stats.3=Waypoints sent: +dispatcher.termination.stats.4=Drone {}: {} +# Drone +drone.running.stats.1=Running with the following settings: +drone.running.stats.3=Start time:\t{} +drone.running.stats.2=Simulated time factor:\t{} +drone.started=Started +drone.shutdown=Shutdown at {} +drone.holding.position=Holding position, no new waypoints to go to... +drone.arrived.at.waypoint=Arrived to waypoint {} +drone.new.route.request=Requested new route information ({} waypoints) +drone.speed.calculation=Re-calculated speed for next waypoint (time: {} seconds, distance: {}m) +drone.speed.reduced=Reduced speed to {} m/s +drone.next.waypoint.leg=Selected next position on waypoint leg {} +drone.position=speed=%.2f m/s, state=%s, lat=%f, lon=%f, pointsRemaining=%d, pointsVisited=%d, time=%s +drone.event.signal=Received signal {} +drone.event.signal.shutdown=Received shutdown, stopping processing thread... +drone.event.new.waypoint=Received new waypoint {} +drone.event.new.waypoint.cache.full=Drone cache was full!, skipped waypoint {} +drone.thread.sleep.error=Sleep interrupted +drone.termination.stats.1=Waypoints visited:\t\t{} +drone.termination.stats.2=Tube stations found:\t{} +drone.termination.stats.3=Longest leg travelled:\t%.2f km +drone.termination.stats.4=Fastest speed:\t\t%.2f km/h +# Point +point.meters.positive.value=Meters must be a positive value +point.seconds.positive.value=Seconds must be a positive value \ No newline at end of file diff --git a/library/src/test/java/drones/dispatcher/DispatcherTest.java b/library/src/test/java/drones/dispatcher/DispatcherTest.java new file mode 100644 index 0000000..7654a28 --- /dev/null +++ b/library/src/test/java/drones/dispatcher/DispatcherTest.java @@ -0,0 +1,102 @@ +package drones.dispatcher; + +import drones.drone.Drone; +import drones.drone.DroneState; +import org.junit.jupiter.api.Test; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.StringReader; +import java.time.LocalDateTime; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class DispatcherTest { + + @Test + public void setupDrone() { + var start = LocalDateTime.parse("2011-03-22 07:55:20", Dispatcher.DATE_FORMAT); + var end = LocalDateTime.parse("2011-03-22 07:55:40", Dispatcher.DATE_FORMAT); + var route = """ + 5937,"51.476105","-0.100224","2011-03-22 07:55:26" + 5937,"51.475967","-0.100368","2011-03-22 07:55:40" + """; + + var dispatcher = new Dispatcher(start, end, 0); + var drone = (Drone) dispatcher.registerDroneWithReader(5937, new BufferedReader(new StringReader(route))); + assertEquals(drone.getPosition().time(), start); + assertEquals(0, drone.getWaypointsRemaining()); + assertEquals(5937, drone.getId()); + } + + @Test + public void pushDataToDrone() throws InterruptedException { + var start = LocalDateTime.parse("2011-03-22 07:55:20", Dispatcher.DATE_FORMAT); + var end = LocalDateTime.parse("2011-03-22 07:56:00", Dispatcher.DATE_FORMAT); + var route = """ + 5937,"51.476105","-0.100224","2011-03-22 07:55:26" + 5937,"51.475967","-0.100368","2011-03-22 07:55:27" + 5937,"51.476021","-0.100246","2011-03-22 07:55:28" + 5937,"51.476051","-0.100078","2011-03-22 07:55:29" + 5937,"51.476009","-0.099922","2011-03-22 07:55:30" + 5937,"51.476044","-0.099775","2011-03-22 07:55:31" + 5937,"51.476074","-0.099968","2011-03-22 07:55:42" + 5937,"51.476086","-0.100047","2011-03-22 07:55:43" + 5937,"51.476074","-0.100123","2011-03-22 07:55:44" + 5937,"51.476089","-0.10019","2011-03-22 07:55:45" + 5937,"51.476112","-0.100246","2011-03-22 07:55:46" + 5937,"51.476112","-0.100264","2011-03-22 07:55:47" + 5937,"51.476116","-0.10028","2011-03-22 07:55:48" + 5937,"51.476112","-0.100356","2011-03-22 07:55:49" + 5937,"51.476135","-0.100378","2011-03-22 07:55:50" + 5937,"51.476154","-0.100392","2011-03-22 07:55:51" + 5937,"51.476189","-0.100396","2011-03-22 07:55:52" + 5937,"51.476219","-0.100387","2011-03-22 07:55:53" + 5937,"51.476257","-0.100379","2011-03-22 07:55:54" + """; + + var dispatcher = new Dispatcher(start, end, 0); + + var drone = (Drone) dispatcher.registerDroneWithReader(5937, new BufferedReader(new StringReader(route))); + var droneRunner = new Thread(drone); + + droneRunner.start(); + dispatcher.run(); + droneRunner.join(); + + assertEquals(route.lines().count(), drone.getWaypointsVisited()); + assertEquals(0, drone.getWaypointsRemaining()); + assertEquals(DroneState.TERMINATED, drone.getState()); + } + + @Test + public void registerTubeStations() throws IOException, InterruptedException { + var start = LocalDateTime.parse("2011-03-22 07:55:20", Dispatcher.DATE_FORMAT); + var end = LocalDateTime.parse("2011-03-22 07:56:00", Dispatcher.DATE_FORMAT); + var dispatcher = new Dispatcher(start, end, 0); + var stations = """ + "Acton Town",51.503071,-0.280303 + "Aldgate",51.514342,-0.075627 + "Aldgate East",51.51503,-0.073162 + "All Saints (DLR)",51.510477,-0.012625 + """; + dispatcher.registerTubeStations(new BufferedReader(new StringReader(stations))); + + var route = """ + 5937,"51.476105","-0.100224","2011-03-22 07:55:26" + 5937,"51.51503","-0.073162","2011-03-22 07:55:27" + 5937,"51.476021","-0.100246","2011-03-22 07:55:28" + """; + var drone = (Drone) dispatcher.registerDroneWithReader(5937, new BufferedReader(new StringReader(route))); + var droneRunner = new Thread(drone); + + droneRunner.start(); + dispatcher.run(); + droneRunner.join(); + + var foundTubeStations = drone.getTubeStationsFound(); + assertTrue(foundTubeStations.stream().anyMatch(tb -> tb.name().equals("Aldgate"))); + assertTrue(foundTubeStations.stream().anyMatch(tb -> tb.name().equals("Aldgate East"))); + } +} diff --git a/library/src/test/java/drones/drone/DroneTest.java b/library/src/test/java/drones/drone/DroneTest.java new file mode 100644 index 0000000..2053d2c --- /dev/null +++ b/library/src/test/java/drones/drone/DroneTest.java @@ -0,0 +1,92 @@ +package drones.drone; + +import drones.dispatcher.Dispatcher; +import drones.geo.Point; +import drones.messages.EventBus; +import drones.messages.Message; +import org.junit.jupiter.api.Test; + +import java.time.LocalDateTime; +import java.util.Collections; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DroneTest { + + @Test + public void setupDrone() { + var points = generatePoints(); + var eventBus = new EventBus(0); + + var drone = new Drone(1L, getStartTime(), 1, eventBus, Collections.emptyList()); + eventBus.register(drone); + + eventBus.push(new Message.PointData(drone.getId(), points.get(0))); + eventBus.push(new Message.PointData(drone.getId(), points.get(1))); + eventBus.push(new Message.PointData(drone.getId(), points.get(2))); + + assertEquals(3, drone.getWaypointsRemaining()); + assertEquals(0, drone.getWaypointsVisited()); + } + + @Test + public void initialWaypointIsSetAsPosition() throws InterruptedException { + var points = generatePoints(); + var eventBus = new EventBus(0); + + var drone = new Drone(1L, getStartTime(), 0, eventBus, Collections.emptyList()); + eventBus.register(drone); + + var droneThread = new Thread(drone); + droneThread.start(); + + eventBus.push(new Message.PointData(drone.getId(), points.get(0))); + eventBus.push(new Message.ShutdownSignal(drone.getId(), drone.getId(), getEndTime())); + + droneThread.join(); + + assertEquals(drone.getPosition(), points.get(0)); + assertEquals(drone.getWaypointsVisited(), 1); + assertEquals(drone.getWaypointsRemaining(), 0); + } + + @Test + public void travelBetweenWaypoints() throws InterruptedException { + var points = generatePoints(); + var eventBus = new EventBus(0); + + var drone = new Drone(1L, getStartTime(), 0, eventBus, Collections.emptyList()); + eventBus.register(drone); + + var droneThread = new Thread(drone); + droneThread.start(); + + eventBus.push(new Message.PointData(drone.getId(), points.get(0))); + eventBus.push(new Message.PointData(drone.getId(), points.get(1))); + eventBus.push(new Message.PointData(drone.getId(), points.get(2))); + eventBus.push(new Message.ShutdownSignal(drone.getId(), drone.getId(), getEndTime())); + + droneThread.join(); + + assertEquals(DroneState.TERMINATED, drone.getState()); + assertEquals(getEndTime(), drone.getPosition().time()); + assertEquals(0, drone.getWaypointsRemaining()); + assertEquals(3, drone.getWaypointsVisited()); + } + + private List generatePoints() { + var point1 = new Point(51.476105, -0.100224, LocalDateTime.parse("2011-03-22 07:55:26", Dispatcher.DATE_FORMAT)); + var point2 = new Point(51.475967, -0.100368, LocalDateTime.parse("2011-03-22 07:55:30", Dispatcher.DATE_FORMAT)); + var point3 = new Point(51.476021, -0.100246, LocalDateTime.parse("2011-03-22 07:55:34", Dispatcher.DATE_FORMAT)); + return List.of(point1, point2, point3); + } + + private LocalDateTime getStartTime() { + return LocalDateTime.parse("2011-03-22 07:55:20", Dispatcher.DATE_FORMAT); + } + + private LocalDateTime getEndTime() { + return LocalDateTime.parse("2011-03-22 07:55:40", Dispatcher.DATE_FORMAT); + } +} diff --git a/library/src/test/java/drones/messages/EventBusTest.java b/library/src/test/java/drones/messages/EventBusTest.java new file mode 100644 index 0000000..ff0da9b --- /dev/null +++ b/library/src/test/java/drones/messages/EventBusTest.java @@ -0,0 +1,26 @@ +package drones.messages; + +import drones.geo.Point; +import org.junit.jupiter.api.Test; + +import java.time.LocalDateTime; +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class EventBusTest { + + @Test + public void listenerTriggeredOnEvent() { + var triggered = new ArrayList(); + var eventBus = new EventBus(0); + eventBus.register(triggered::add); + + eventBus.push(new Message.PointData(1L, new Point(1, 2, LocalDateTime.now()))); + eventBus.push(new Message.ShutdownSignal(2, 2, LocalDateTime.now())); + + assertEquals(2, triggered.size()); + assertEquals(1, triggered.get(0).targetId()); + assertEquals(2, triggered.get(1).targetId()); + } +} diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..d38c07b --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +rootProject.name = 'drone-simulation' + +include 'library' +project(":library").name= 'drone-lib' + +include 'simulation' +project(":simulation").name= 'drone-simulator' + + + diff --git a/simulation/build.gradle b/simulation/build.gradle new file mode 100644 index 0000000..b3251b2 --- /dev/null +++ b/simulation/build.gradle @@ -0,0 +1,19 @@ +import java.nio.file.Paths + +plugins { + id 'application' +} + +application { + mainClassName = 'simulation.Simulation' +} + +installDist.destinationDir = Paths.get(rootProject.rootDir.canonicalPath, 'dist', "drone-simulator-$version").toFile() +distZip.destinationDir = Paths.get(rootProject.rootDir.canonicalPath, 'dist').toFile() +distTar.destinationDir = Paths.get(rootProject.rootDir.canonicalPath, 'dist').toFile() +run.workingDir = rootProject.rootDir + +dependencies { + implementation project(':drone-lib') + implementation 'info.picocli:picocli:4.6.1' +} diff --git a/simulation/src/main/java/simulation/I18N.java b/simulation/src/main/java/simulation/I18N.java new file mode 100644 index 0000000..b220ca1 --- /dev/null +++ b/simulation/src/main/java/simulation/I18N.java @@ -0,0 +1,21 @@ +package simulation; + +import java.util.ResourceBundle; + +/** + * Convenience class for retrieving translated strings + * + * @author John Ahlroos + */ +public interface I18N { + + /** + * Get a translated string + * + * @param key the translation key + * @return the translated message + */ + static String get(String key) { + return ResourceBundle.getBundle("simulation-messages").getString(key); + } +} diff --git a/simulation/src/main/java/simulation/Simulation.java b/simulation/src/main/java/simulation/Simulation.java new file mode 100644 index 0000000..447a2ae --- /dev/null +++ b/simulation/src/main/java/simulation/Simulation.java @@ -0,0 +1,110 @@ +package simulation; + +import drones.dispatcher.Dispatcher; +import picocli.CommandLine; +import picocli.CommandLine.Command; +import picocli.CommandLine.Help.Visibility; +import picocli.CommandLine.ITypeConverter; +import picocli.CommandLine.Option; +import picocli.CommandLine.Parameters; + +import java.nio.file.Files; +import java.nio.file.Path; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.Callable; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +/** + * Simulates flying drones by using data form the ./data directory + *

+ * Creates log files to the logs/ directory: + * - dispatcher.log: Logs from the dispatcher controlling the drones + * - drone-.log: Logs from the drones + *

+ * The output of the simulation that is printed in the console is a report for traffic conditions of the provided + * tube stations. Every line represents the condition of the traffic at a certain point in time and from a certain + * waypoint viewpoint. + */ + +@Command(name = "drone-simulator", mixinStandardHelpOptions = true, + version = "1.0", resourceBundle = Simulation.RESOURCE_BUNDLE, showDefaultValues = true) +public class Simulation implements Callable { + + public static final String RESOURCE_BUNDLE = "simulation-messages"; + + @Parameters(arity = "1", paramLabel = "DRONES", showDefaultValue = Visibility.NEVER) + private List droneIds; + + @Option(names = {"-d", "--data-dir"}, defaultValue = ".") + private Path dataDir; + + @Option(names = {"-t", "--tube-stations"}, defaultValue = "./tube.csv") + private Path tubeStationsFile; + + @Option(names = {"-b", "--start-time"}, defaultValue = "2011-03-22 07:47:00", converter = TimeConverter.class) + private LocalDateTime currentTime; + + @Option(names = {"-e", "--shut-down-time"}, defaultValue = "2011-03-22 08:10:00", converter = TimeConverter.class) + private LocalDateTime shutDownTime; + + @Option(names = {"-p", "--simulation-speed"}, defaultValue = "0.0") + private double simulationSpeed; + + @Override + public Integer call() throws Exception { + System.out.println(I18N.get("starting.message")); + System.out.println(); + + // Use default location for tube file (in the data directory) if not explicitly set + if (!tubeStationsFile.toFile().exists()) { + tubeStationsFile = dataDir.resolve(Path.of("tube.csv")); + } + + final var executor = Executors.newFixedThreadPool(droneIds.size() + 1); + try { + + // Setup dispatcher + var dispatcher = new Dispatcher(currentTime, shutDownTime, simulationSpeed); + dispatcher.registerTubeStations(Files.newBufferedReader(tubeStationsFile)); + + // Setup Drones + var drones = new ArrayList(); + for (long id : droneIds) { + var droneData = Files.newBufferedReader(dataDir.resolve(Path.of(id + ".csv"))); + drones.add(dispatcher.registerDroneWithReader(id, droneData)); + } + + // Power them on + executor.execute(dispatcher); + drones.forEach(executor::execute); + + } finally { + executor.shutdown(); + executor.awaitTermination(20, TimeUnit.MINUTES); + } + System.out.println(I18N.get("ended.message")); + return 0; + } + + /** + * Main entrypoint of the simulation + * + * @param args program arguments + */ + public static void main(String... args) { + int exitCode = new CommandLine(new Simulation()).execute(args); + System.exit(exitCode); + } + + /** + * Set the date formats for input times + */ + static class TimeConverter implements ITypeConverter { + public LocalDateTime convert(String value) throws Exception { + return LocalDateTime.parse(value, Dispatcher.DATE_FORMAT); + } + } +} diff --git a/simulation/src/main/java/simulation/logging/DroneLogPerFile.java b/simulation/src/main/java/simulation/logging/DroneLogPerFile.java new file mode 100644 index 0000000..1c7af15 --- /dev/null +++ b/simulation/src/main/java/simulation/logging/DroneLogPerFile.java @@ -0,0 +1,21 @@ +package simulation.logging; + +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.sift.AbstractDiscriminator; + +/** + * Provides capability for the logger to log drone logs to different files + * + * @author John Ahlroos + */ +public class DroneLogPerFile extends AbstractDiscriminator { + @Override + public String getDiscriminatingValue(ILoggingEvent event) { + return event.getLoggerName().split("\\.")[1]; + } + + @Override + public String getKey() { + return "droneId"; + } +} diff --git a/simulation/src/main/java/simulation/logging/RouteMapGenerator.java b/simulation/src/main/java/simulation/logging/RouteMapGenerator.java new file mode 100644 index 0000000..3defe03 --- /dev/null +++ b/simulation/src/main/java/simulation/logging/RouteMapGenerator.java @@ -0,0 +1,277 @@ +package simulation.logging; + +import ch.qos.logback.classic.spi.LoggingEvent; +import ch.qos.logback.core.AppenderBase; +import drones.drone.Drone; +import drones.geo.Point; +import drones.geo.TubeStation; +import drones.messages.Message.TrafficCondition.Condition; +import simulation.I18N; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.nio.file.Path; +import java.util.List; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.regex.Pattern; + +/** + * Combines logs to form a map of the flow route and tube stations + * + * @author John Ahlroos + */ +public class RouteMapGenerator extends AppenderBase { + + private static final int IMAGE_PIXEL_SIZE = 800; + private static final String DRONE_LOGGER = "Drone"; + private static final String DISPATCHER_LOGGER = "Dispatcher"; + private static final String REPORT_LOGGER = "Report"; + private static final String REPORT_FILE_NAME = "traffic-report.png"; + + private static final Pattern ALL_TUBE_STATIONS_PATTERN = Pattern.compile( + "Registered\sTube\sStation.*(name=(.*),\\slat=([\\d+\\.]+)),\\s(lon=([\\d+\\.-]+))"); + private static final Pattern VISITED_TUBE_STATIONS_PATTERN = Pattern.compile( + "(.*) @ (\\d\\d:\\d\\d:\\d\\d): (.*) \\(drone: (\\d*),speed: (\\d*)km/h, distanceToStation: (\\d*)m\\)"); + private static final Pattern ROUTE_POINT_PATTERN = Pattern.compile( + "Arrived.*(lat=([\\d+\\.]+)),\\s(lon=([\\d+\\.-]+))"); + + private double min_lat = Double.MAX_VALUE; + private double min_lon = Double.MAX_VALUE; + private double max_lat = Double.MIN_VALUE; + private double max_lon = Double.MIN_VALUE; + + private final Map> points = new ConcurrentHashMap<>(); + private final List stations = new ArrayList<>(); + private final Set foundStations = new HashSet<>(); + private final List terminated = new ArrayList<>(); + private boolean mapRendered = false; + + @Override + protected void append(E event) { + if (simulationTerminated()) { + if (!mapRendered) { + var file = renderMap(); + System.out.println(); + System.out.println(String.format(I18N.get("map.generation.message"), file.toAbsolutePath())); + System.out.println(); + } + return; + } + + var loggingEvent = (LoggingEvent) event; + var message = loggingEvent.getFormattedMessage(); + var loggerName = loggingEvent.getLoggerName(); + + if (DISPATCHER_LOGGER.equals(loggerName)) { + collectAllTubeStation(message); + return; + } + + if (REPORT_LOGGER.equals(loggerName)) { + collectVisitedTubeStation(message); + return; + } + + if (loggerName.startsWith(DRONE_LOGGER)) { + var droneId = Long.parseLong(loggerName.substring(loggerName.indexOf(".") + 1)); + registerDroneTerminated(droneId, message); + collectRoutePoint(droneId, message); + return; + } + } + + private void collectAllTubeStation(String message) { + var m2 = ALL_TUBE_STATIONS_PATTERN.matcher(message); + while (m2.find()) { + var name = m2.group(2); + var lat = Double.parseDouble(m2.group(3)); + var lon = Double.parseDouble(m2.group(5)); + var tb = new TubeStation(new Point(lat, lon, null), name); + stations.add(tb); + } + } + + private void collectVisitedTubeStation(String message) { + var m = VISITED_TUBE_STATIONS_PATTERN.matcher(message); + while (m.find()) { + var name = m.group(1); + var time = m.group(2); + var condition = m.group(3); + var droneId = Long.parseLong(m.group(4)); + var speed = Integer.parseInt(m.group(5)); + stations.stream() + .filter(tb -> tb.name().equals(name)) + .map(tb -> new TubeStationWithCondition(tb, time, condition, speed, droneId)) + .forEach(foundStations::add); + } + } + + private void collectRoutePoint(long droneId, String message) { + var m = ROUTE_POINT_PATTERN.matcher(message); + while (m.find()) { + var lat = Double.parseDouble(m.group(2)); + min_lat = Math.min(min_lat, lat); + max_lat = Math.max(max_lat, lat); + var lon = Double.parseDouble(m.group(4)); + min_lon = Math.min(min_lon, lon); + max_lon = Math.max(max_lon, lon); + points.putIfAbsent(droneId, new ArrayList<>()); + points.get(droneId).add(new Point(lat, lon, null)); + } + } + + private void registerDroneTerminated(long droneId, String message) { + if (message.contains("state=TERMINATED")) { + terminated.add(droneId); + } + } + + private boolean simulationTerminated() { + return !points.keySet().isEmpty() && terminated.containsAll(points.keySet()); + } + + private Path renderMap() { + mapRendered = true; + + var colors = new ArrayDeque<>(List.of(Color.BLUE, Color.ORANGE)); + var map = new BufferedImage(IMAGE_PIXEL_SIZE, IMAGE_PIXEL_SIZE, BufferedImage.TYPE_INT_ARGB); + var graphics = (Graphics2D) map.getGraphics(); + + var font1 = new Font("Arial", Font.ITALIC, 18); + var font2 = new Font("Arial", Font.BOLD, 16); + var font3 = new Font("Arial", Font.PLAIN, 14); + + // Apply Zoom factor + min_lon -= 0.006; + max_lon += 0.006; + min_lat -= 0.006; + max_lat += 0.006; + + renderBackground(graphics); + stations.forEach(tb -> renderStation(tb, graphics)); + foundStations.forEach(tb -> renderFoundStation(tb, graphics, font2, font3)); + points.forEach((droneId, points) -> renderRoute(droneId, points, graphics, font1, font2, colors)); + + try { + var file = Path.of(REPORT_FILE_NAME); + ImageIO.write(map, "png", file.toFile()); + return file; + } catch (IOException e) { + System.err.println(I18N.get("map.file.generation.failed")); + } + return null; + } + + private void renderBackground(Graphics graphics) { + graphics.setColor(Color.LIGHT_GRAY); + graphics.fillRect(0, 0, IMAGE_PIXEL_SIZE - 1, IMAGE_PIXEL_SIZE - 1); + } + + private void renderStation(TubeStation tb, Graphics graphics) { + if (foundStations.stream().map(TubeStationWithCondition::tubeStation).anyMatch(tb::equals)) { + return; + } + var x = getXCoordinate(tb.point()); + var y = getYCoordinate(tb.point()); + graphics.setColor(new Color(170, 170, 170)); + graphics.fillRect(x - 5, y - 5, 10, 10); + graphics.drawString(tb.name(), x + 10, y + 5); + } + + private void renderFoundStation(TubeStationWithCondition tb, Graphics graphics, Font font2, Font font3) { + var x = getXCoordinate(tb.tubeStation.point()); + var y = getYCoordinate(tb.tubeStation.point()); + + graphics.setColor(switch (Condition.valueOf(tb.condition)) { + case LIGHT -> Color.GREEN; + case MODERATE -> Color.YELLOW; + case HEAVY -> Color.RED; + }); + + graphics.setFont(font2); + graphics.fillRect(x - 5, y - 5, 10, 10); + graphics.drawString(String.format("%s@%s %s", tb.tubeStation.name(), tb.time, tb.condition), x + 10, y + 5); + graphics.setColor(Color.DARK_GRAY); + graphics.setFont(font3); + graphics.drawString(String.format("(%s@%skm/h)", tb.droneId, tb.speed), x + 10, y + 20); + graphics.setFont(font2); + } + + private void renderRoute(long droneId, List data, Graphics graphics, Font font1, Font font2, + Deque colors) { + + // Convert range to pixels + var range = data.get(0).moveTowards(data.get(1), Drone.TUBE_STATION_RANGE, 1); + var rangeX = Math.abs(getXCoordinate(data.get(0)) - getXCoordinate(range)); + var rangeY = Math.abs(getYCoordinate(data.get(0)) - getYCoordinate(range)); + var rangeW = Math.max(rangeX, rangeY); + + var routeColor = colors.poll(); + var prevPoint = data.get(0); + + var prevX = getXCoordinate(prevPoint); + var prevY = getYCoordinate(prevPoint); + + for (int i = 0; i < data.size(); i++) { + var point = data.get(i); + var x = getXCoordinate(point); + var y = getYCoordinate(point); + + var rangeAlpha = (Math.abs(x - prevX + y - prevY) + 255) % 255; + var rangeColor = new Color(0, 30, 254, rangeAlpha); + + graphics.setColor(rangeColor); + graphics.fillOval(prevX - rangeW / 2, prevY - rangeW / 2, rangeW, rangeW); + + graphics.setColor(routeColor); + graphics.drawLine(prevX, prevY, x, y); + + if (i == 0) { + graphics.setFont(font1); + graphics.fillOval(x - 5, y - 5, 10, 10); + graphics.drawString(String.format(I18N.get("map.drone.start"), droneId), x - 20, y - 10); + graphics.setFont(font2); + } else if (i == data.size() - 1) { + graphics.setFont(font1); + graphics.fillOval(x - 5, y - 5, 10, 10); + graphics.drawString(String.format(I18N.get("map.drone.end"), droneId), x - 20, y + 30); + graphics.setFont(font2); + } + + prevPoint = point; + prevX = getXCoordinate(prevPoint); + prevY = getYCoordinate(prevPoint); + } + } + + private int getXCoordinate(Point p) { + var lonExtent = max_lon - min_lon; + return (int) ((IMAGE_PIXEL_SIZE * (p.longitude() - min_lon)) / lonExtent); + } + + private int getYCoordinate(Point p) { + var latExtent = max_lat - min_lat; + return (int) ((IMAGE_PIXEL_SIZE * (p.latitude() - min_lat)) / latExtent); + } + + private record TubeStationWithCondition( + TubeStation tubeStation, String time, String condition, int speed, long droneId) { + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + var that = (TubeStationWithCondition) o; + return Objects.equals(tubeStation.name(), that.tubeStation.name()); + } + + @Override + public int hashCode() { + return Objects.hash(tubeStation.name()); + } + } + +} diff --git a/simulation/src/main/resources/logback.xml b/simulation/src/main/resources/logback.xml new file mode 100644 index 0000000..26ac683 --- /dev/null +++ b/simulation/src/main/resources/logback.xml @@ -0,0 +1,68 @@ + + + + + + false + + %msg%n + + + + + logs/report.log + false + + %msg%n + + + + + + %msg%n + + + + + logs/dispatcher.log + false + + Dispatcher - %msg%n + + + + + + + + + + logs/drone-${droneId}.log + false + + Drone-${droneId} - %msg%n + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simulation/src/main/resources/simulation-messages.properties b/simulation/src/main/resources/simulation-messages.properties new file mode 100644 index 0000000..e103772 --- /dev/null +++ b/simulation/src/main/resources/simulation-messages.properties @@ -0,0 +1,23 @@ +# General +usage.headerHeading=A Simulator for simulating drone routes.%n +# Options +d=The path to the drone data +t=The path to the tube stations data +s=At what time should the simulation terminate +p.0=The speed of the simulation time. +p.1=0 (no time simulation) -> 1.0 (full time simulation) +w.0=Should tube conditions only be reported at waypoints +w.1=If false then tube conditions will also be reported along the route to a waypoint when a tube station is within range +# Parameters +DRONES.0=The drones id's to include in the simulation. +DRONES.1=Drone data files must exist for these " +"ids in the --data-dir folder +# General +starting.message=Waiting for traffic reports... +ended.message=Simulation complete. +# Errors +data.file.not.found.error=Data file for drone %d not found in %s +# Route Map +map.drone.start=Start @ drone-%d +map.drone.end=End @ drone-%d +map.file.generation.failed=Image generation failed. +map.generation.message=The route map was rendered to %s \ No newline at end of file