├── images ├── output.png └── rectangle.png ├── input_v2.csv ├── input2_v1.csv ├── input3_v1.csv ├── input2_v2.csv ├── input4_v2.csv ├── input_v1.csv ├── input3_v2.csv ├── input4_v1.csv ├── README.md ├── kml_generate.py ├── car_collision.py ├── input2_v1.kml ├── input3_v1.kml ├── input_v1.kml ├── input4_v1.kml └── input4.kml /images/output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KathanSheth/Collision-Mitigation-Warning-System/HEAD/images/output.png -------------------------------------------------------------------------------- /images/rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KathanSheth/Collision-Mitigation-Warning-System/HEAD/images/rectangle.png -------------------------------------------------------------------------------- /input_v2.csv: -------------------------------------------------------------------------------- 1 | v2,2013-01-14T21:05:01Z,-83.18495249,42.50202848 v2,2013-01-14T21:05:02Z,-83.18495288,42.50205015 v2,2013-01-14T21:05:03Z,-83.18495326,42.50207182 v2,2013-01-14T21:05:04Z,-83.18495364,42.50209349 v2,2013-01-14T21:05:05Z,-83.18495402,42.50211517 v2,2013-01-14T21:05:06Z,-83.18495441,42.50213684 v2,2013-01-14T21:05:07Z,-83.18495479,42.50215851 v2,2013-01-14T21:05:08Z,-83.18495517,42.50218018 v2,2013-01-14T21:05:09Z,-83.18495556,42.50220186 v2,2013-01-14T21:05:10Z,-83.18495594,42.50222353 v2,2013-01-14T21:05:11Z,-83.18495632,42.5022452 v2,2013-01-14T21:05:12Z,-83.18495671,42.50226687 v2,2013-01-14T21:05:13Z,-83.18495709,42.50228855 v2,2013-01-14T21:05:14Z,-83.18495747,42.50231022 v2,2013-01-14T21:05:15Z,-83.18495785,42.50233189 v2,2013-01-14T21:05:16Z,-83.18495824,42.50235357 v2,2013-01-14T21:05:17Z,-83.18495862,42.50237524 v2,2013-01-14T21:05:18Z,-83.184959,42.50239691 v2,2013-01-14T21:05:19Z,-83.18495939,42.50241858 v2,2013-01-14T21:05:20Z,-83.18495977,42.50244026 v2,2013-01-14T21:05:21Z,-83.18496015,42.50246193 v2,2013-01-14T21:05:22Z,-83.18496054,42.5024836 v2,2013-01-14T21:05:23Z,-83.18496092,42.50250527 v2,2013-01-14T21:05:24Z,-83.1849613,42.50252695 v2,2013-01-14T21:05:25Z,-83.18496168,42.50254862 v2,2013-01-14T21:05:26Z,-83.18496207,42.50257029 v2,2013-01-14T21:05:27Z,-83.18496245,42.50259196 v2,2013-01-14T21:05:28Z,-83.18496283,42.50261364 v2,2013-01-14T21:05:29Z,-83.18496322,42.50263531 v2,2013-01-14T21:05:30Z,-83.1849636,42.50265698 v2,2013-01-14T21:05:31Z,-83.18496398,42.50267866 v2,2013-01-14T21:05:32Z,-83.18496437,42.50270033 v2,2013-01-14T21:05:33Z,-83.18496475,42.502722 v2,2013-01-14T21:05:34Z,-83.18496513,42.50274367 v2,2013-01-14T21:05:35Z,-83.18496551,42.50276535 v2,2013-01-14T21:05:36Z,-83.1849659,42.50278702 v2,2013-01-14T21:05:37Z,-83.18496628,42.50280869 v2,2013-01-14T21:05:38Z,-83.18496666,42.50283036 v2,2013-01-14T21:05:39Z,-83.18496705,42.50285204 v2,2013-01-14T21:05:40Z,-83.18496743,42.50287371 v2,2013-01-14T21:05:41Z,-83.18496781,42.50289538 v2,2013-01-14T21:05:42Z,-83.18496819,42.50291706 v2,2013-01-14T21:05:43Z,-83.18496858,42.50293873 v2,2013-01-14T21:05:44Z,-83.18496896,42.5029604 v2,2013-01-14T21:05:45Z,-83.18496934,42.50298207 v2,2013-01-14T21:05:46Z,-83.18496973,42.50300375 v2,2013-01-14T21:05:47Z,-83.18497011,42.50302542 v2,2013-01-14T21:05:48Z,-83.18497049,42.50304709 v2,2013-01-14T21:05:49Z,-83.18497088,42.50306876 v2,2013-01-14T21:05:50Z,-83.18497126,42.50309044 v2,2013-01-14T21:05:51Z,-83.18497164,42.50311211 v2,2013-01-14T21:05:52Z,-83.18497202,42.50313378 v2,2013-01-14T21:05:53Z,-83.18497241,42.50315545 v2,2013-01-14T21:05:54Z,-83.18497279,42.50317713 v2,2013-01-14T21:05:55Z,-83.18497317,42.5031988 v2,2013-01-14T21:05:56Z,-83.18497356,42.50322047 v2,2013-01-14T21:05:57Z,-83.18497394,42.50324215 v2,2013-01-14T21:05:58Z,-83.18497432,42.50326382 v2,2013-01-14T21:05:59Z,-83.18497471,42.50328549 -------------------------------------------------------------------------------- /input2_v1.csv: -------------------------------------------------------------------------------- 1 | v1,2013-01-14T21:05:01Z,-83.10681729,42.49086618 2 | v1,2013-01-14T21:05:02Z,-83.10666615,42.49086604 3 | v1,2013-01-14T21:05:03Z,-83.106515,42.49086591 4 | v1,2013-01-14T21:05:04Z,-83.10636386,42.49086577 5 | v1,2013-01-14T21:05:05Z,-83.10621272,42.49086563 6 | v1,2013-01-14T21:05:06Z,-83.10606157,42.49086549 7 | v1,2013-01-14T21:05:07Z,-83.10591043,42.49086535 8 | v1,2013-01-14T21:05:08Z,-83.10575929,42.49086522 9 | v1,2013-01-14T21:05:09Z,-83.10560815,42.49086508 10 | v1,2013-01-14T21:05:10Z,-83.105457,42.49086494 11 | v1,2013-01-14T21:05:11Z,-83.10530586,42.4908648 12 | v1,2013-01-14T21:05:12Z,-83.10515472,42.49086466 13 | v1,2013-01-14T21:05:13Z,-83.10500357,42.49086453 14 | v1,2013-01-14T21:05:14Z,-83.10485243,42.49086439 15 | v1,2013-01-14T21:05:15Z,-83.10470129,42.49086425 16 | v1,2013-01-14T21:05:16Z,-83.10455014,42.49086411 17 | v1,2013-01-14T21:05:17Z,-83.104399,42.49086397 18 | v1,2013-01-14T21:05:18Z,-83.10424786,42.49086384 19 | v1,2013-01-14T21:05:19Z,-83.10409672,42.4908637 20 | v1,2013-01-14T21:05:20Z,-83.10394557,42.49086356 21 | v1,2013-01-14T21:05:21Z,-83.10379443,42.49086342 22 | v1,2013-01-14T21:05:22Z,-83.10364329,42.49086328 23 | v1,2013-01-14T21:05:23Z,-83.10349214,42.49086315 24 | v1,2013-01-14T21:05:24Z,-83.103341,42.49086301 25 | v1,2013-01-14T21:05:25Z,-83.10318986,42.49086287 26 | v1,2013-01-14T21:05:26Z,-83.10303872,42.49086273 27 | v1,2013-01-14T21:05:27Z,-83.10288757,42.49086259 28 | v1,2013-01-14T21:05:28Z,-83.10273643,42.49086246 29 | v1,2013-01-14T21:05:29Z,-83.10258529,42.49086232 30 | v1,2013-01-14T21:05:30Z,-83.10243414,42.49086218 31 | v1,2013-01-14T21:05:31Z,-83.102283,42.49086204 32 | v1,2013-01-14T21:05:32Z,-83.10213186,42.4908619 33 | v1,2013-01-14T21:05:33Z,-83.10198071,42.49086177 34 | v1,2013-01-14T21:05:34Z,-83.10182957,42.49086163 35 | v1,2013-01-14T21:05:35Z,-83.10167843,42.49086149 36 | v1,2013-01-14T21:05:36Z,-83.10152729,42.49086135 37 | v1,2013-01-14T21:05:37Z,-83.10137614,42.49086121 38 | v1,2013-01-14T21:05:38Z,-83.101225,42.49086108 39 | v1,2013-01-14T21:05:39Z,-83.10107386,42.49086094 40 | v1,2013-01-14T21:05:40Z,-83.10092271,42.4908608 41 | v1,2013-01-14T21:05:41Z,-83.10077157,42.49086066 42 | v1,2013-01-14T21:05:42Z,-83.10062043,42.49086052 43 | v1,2013-01-14T21:05:43Z,-83.10046929,42.49086039 44 | v1,2013-01-14T21:05:44Z,-83.10031814,42.49086025 45 | v1,2013-01-14T21:05:45Z,-83.100167,42.49086011 46 | v1,2013-01-14T21:05:46Z,-83.10001586,42.49085997 47 | v1,2013-01-14T21:05:47Z,-83.09986471,42.49085984 48 | v1,2013-01-14T21:05:48Z,-83.09971357,42.4908597 49 | v1,2013-01-14T21:05:49Z,-83.09956243,42.49085956 50 | v1,2013-01-14T21:05:50Z,-83.09941129,42.49085942 51 | v1,2013-01-14T21:05:51Z,-83.09926014,42.49085928 52 | v1,2013-01-14T21:05:52Z,-83.099109,42.49085915 53 | v1,2013-01-14T21:05:53Z,-83.09895786,42.49085901 54 | v1,2013-01-14T21:05:54Z,-83.09880671,42.49085887 55 | v1,2013-01-14T21:05:55Z,-83.09865557,42.49085873 56 | v1,2013-01-14T21:05:56Z,-83.09850443,42.49085859 57 | v1,2013-01-14T21:05:57Z,-83.09835328,42.49085846 58 | v1,2013-01-14T21:05:58Z,-83.09820214,42.49085832 59 | v1,2013-01-14T21:05:59Z,-83.098051,42.49085818 -------------------------------------------------------------------------------- /input3_v1.csv: -------------------------------------------------------------------------------- 1 | v1,2013-01-14T21:05:01Z,-83.10681729,42.49086618 2 | v1,2013-01-14T21:05:02Z,-83.10666615,42.49086604 3 | v1,2013-01-14T21:05:03Z,-83.106515,42.49086591 4 | v1,2013-01-14T21:05:04Z,-83.10636386,42.49086577 5 | v1,2013-01-14T21:05:05Z,-83.10621272,42.49086563 6 | v1,2013-01-14T21:05:06Z,-83.10606157,42.49086549 7 | v1,2013-01-14T21:05:07Z,-83.10591043,42.49086535 8 | v1,2013-01-14T21:05:08Z,-83.10575929,42.49086522 9 | v1,2013-01-14T21:05:09Z,-83.10560815,42.49086508 10 | v1,2013-01-14T21:05:10Z,-83.105457,42.49086494 11 | v1,2013-01-14T21:05:11Z,-83.10530586,42.4908648 12 | v1,2013-01-14T21:05:12Z,-83.10515472,42.49086466 13 | v1,2013-01-14T21:05:13Z,-83.10500357,42.49086453 14 | v1,2013-01-14T21:05:14Z,-83.10485243,42.49086439 15 | v1,2013-01-14T21:05:15Z,-83.10470129,42.49086425 16 | v1,2013-01-14T21:05:16Z,-83.10455014,42.49086411 17 | v1,2013-01-14T21:05:17Z,-83.104399,42.49086397 18 | v1,2013-01-14T21:05:18Z,-83.10424786,42.49086384 19 | v1,2013-01-14T21:05:19Z,-83.10409672,42.4908637 20 | v1,2013-01-14T21:05:20Z,-83.10394557,42.49086356 21 | v1,2013-01-14T21:05:21Z,-83.10379443,42.49086342 22 | v1,2013-01-14T21:05:22Z,-83.10364329,42.49086328 23 | v1,2013-01-14T21:05:23Z,-83.10349214,42.49086315 24 | v1,2013-01-14T21:05:24Z,-83.103341,42.49086301 25 | v1,2013-01-14T21:05:25Z,-83.10318986,42.49086287 26 | v1,2013-01-14T21:05:26Z,-83.10303872,42.49086273 27 | v1,2013-01-14T21:05:27Z,-83.10288757,42.49086259 28 | v1,2013-01-14T21:05:28Z,-83.10273643,42.49086246 29 | v1,2013-01-14T21:05:29Z,-83.10258529,42.49086232 30 | v1,2013-01-14T21:05:30Z,-83.10243414,42.49086218 31 | v1,2013-01-14T21:05:31Z,-83.102283,42.49086204 32 | v1,2013-01-14T21:05:32Z,-83.10213186,42.4908619 33 | v1,2013-01-14T21:05:33Z,-83.10198071,42.49086177 34 | v1,2013-01-14T21:05:34Z,-83.10182957,42.49086163 35 | v1,2013-01-14T21:05:35Z,-83.10167843,42.49086149 36 | v1,2013-01-14T21:05:36Z,-83.10152729,42.49086135 37 | v1,2013-01-14T21:05:37Z,-83.10137614,42.49086121 38 | v1,2013-01-14T21:05:38Z,-83.101225,42.49086108 39 | v1,2013-01-14T21:05:39Z,-83.10107386,42.49086094 40 | v1,2013-01-14T21:05:40Z,-83.10092271,42.4908608 41 | v1,2013-01-14T21:05:41Z,-83.10077157,42.49086066 42 | v1,2013-01-14T21:05:42Z,-83.10062043,42.49086052 43 | v1,2013-01-14T21:05:43Z,-83.10046929,42.49086039 44 | v1,2013-01-14T21:05:44Z,-83.10031814,42.49086025 45 | v1,2013-01-14T21:05:45Z,-83.100167,42.49086011 46 | v1,2013-01-14T21:05:46Z,-83.10001586,42.49085997 47 | v1,2013-01-14T21:05:47Z,-83.09986471,42.49085984 48 | v1,2013-01-14T21:05:48Z,-83.09971357,42.4908597 49 | v1,2013-01-14T21:05:49Z,-83.09956243,42.49085956 50 | v1,2013-01-14T21:05:50Z,-83.09941129,42.49085942 51 | v1,2013-01-14T21:05:51Z,-83.09926014,42.49085928 52 | v1,2013-01-14T21:05:52Z,-83.099109,42.49085915 53 | v1,2013-01-14T21:05:53Z,-83.09895786,42.49085901 54 | v1,2013-01-14T21:05:54Z,-83.09880671,42.49085887 55 | v1,2013-01-14T21:05:55Z,-83.09865557,42.49085873 56 | v1,2013-01-14T21:05:56Z,-83.09850443,42.49085859 57 | v1,2013-01-14T21:05:57Z,-83.09835328,42.49085846 58 | v1,2013-01-14T21:05:58Z,-83.09820214,42.49085832 59 | v1,2013-01-14T21:05:59Z,-83.098051,42.49085818 -------------------------------------------------------------------------------- /input2_v2.csv: -------------------------------------------------------------------------------- 1 | v2,2013-01-14T21:05:01Z,-83.10527128,42.49053273 2 | v2,2013-01-14T21:05:02Z,-83.10526903,42.49048438 3 | v2,2013-01-14T21:05:03Z,-83.10526679,42.49043603 4 | v2,2013-01-14T21:05:04Z,-83.10526455,42.49038767 5 | v2,2013-01-14T21:05:05Z,-83.10526231,42.49033932 6 | v2,2013-01-14T21:05:06Z,-83.10526007,42.49029097 7 | v2,2013-01-14T21:05:07Z,-83.10525783,42.49024261 8 | v2,2013-01-14T21:05:08Z,-83.10525559,42.49019426 9 | v2,2013-01-14T21:05:09Z,-83.10525335,42.4901459 10 | v2,2013-01-14T21:05:10Z,-83.1052511,42.49009755 11 | v2,2013-01-14T21:05:11Z,-83.10524886,42.4900492 12 | v2,2013-01-14T21:05:12Z,-83.10524662,42.49000084 13 | v2,2013-01-14T21:05:13Z,-83.10524438,42.48995249 14 | v2,2013-01-14T21:05:14Z,-83.10524214,42.48990414 15 | v2,2013-01-14T21:05:15Z,-83.1052399,42.48985578 16 | v2,2013-01-14T21:05:16Z,-83.10523766,42.48980743 17 | v2,2013-01-14T21:05:17Z,-83.10523542,42.48975908 18 | v2,2013-01-14T21:05:18Z,-83.10523318,42.48971072 19 | v2,2013-01-14T21:05:19Z,-83.10523093,42.48966237 20 | v2,2013-01-14T21:05:20Z,-83.10522869,42.48961401 21 | v2,2013-01-14T21:05:21Z,-83.10522645,42.48956566 22 | v2,2013-01-14T21:05:22Z,-83.10522421,42.48951731 23 | v2,2013-01-14T21:05:23Z,-83.10522197,42.48946895 24 | v2,2013-01-14T21:05:24Z,-83.10521973,42.4894206 25 | v2,2013-01-14T21:05:25Z,-83.10521749,42.48937225 26 | v2,2013-01-14T21:05:26Z,-83.10521525,42.48932389 27 | v2,2013-01-14T21:05:27Z,-83.105213,42.48927554 28 | v2,2013-01-14T21:05:28Z,-83.10521076,42.48922719 29 | v2,2013-01-14T21:05:29Z,-83.10520852,42.48917883 30 | v2,2013-01-14T21:05:30Z,-83.10520628,42.48913048 31 | v2,2013-01-14T21:05:31Z,-83.10520404,42.48908212 32 | v2,2013-01-14T21:05:32Z,-83.1052018,42.48903377 33 | v2,2013-01-14T21:05:33Z,-83.10519956,42.48898542 34 | v2,2013-01-14T21:05:34Z,-83.10519732,42.48893706 35 | v2,2013-01-14T21:05:35Z,-83.10519507,42.48888871 36 | v2,2013-01-14T21:05:36Z,-83.10519283,42.48884036 37 | v2,2013-01-14T21:05:37Z,-83.10519059,42.488792 38 | v2,2013-01-14T21:05:38Z,-83.10518835,42.48874365 39 | v2,2013-01-14T21:05:39Z,-83.10518611,42.4886953 40 | v2,2013-01-14T21:05:40Z,-83.10518387,42.48864694 41 | v2,2013-01-14T21:05:41Z,-83.10518163,42.48859859 42 | v2,2013-01-14T21:05:42Z,-83.10517939,42.48855023 43 | v2,2013-01-14T21:05:43Z,-83.10517714,42.48850188 44 | v2,2013-01-14T21:05:44Z,-83.1051749,42.48845353 45 | v2,2013-01-14T21:05:45Z,-83.10517266,42.48840517 46 | v2,2013-01-14T21:05:46Z,-83.10517042,42.48835682 47 | v2,2013-01-14T21:05:47Z,-83.10516818,42.48830847 48 | v2,2013-01-14T21:05:48Z,-83.10516594,42.48826011 49 | v2,2013-01-14T21:05:49Z,-83.1051637,42.48821176 50 | v2,2013-01-14T21:05:50Z,-83.10516146,42.48816341 51 | v2,2013-01-14T21:05:51Z,-83.10515921,42.48811505 52 | v2,2013-01-14T21:05:52Z,-83.10515697,42.4880667 53 | v2,2013-01-14T21:05:53Z,-83.10515473,42.48801834 54 | v2,2013-01-14T21:05:54Z,-83.10515249,42.48796999 55 | v2,2013-01-14T21:05:55Z,-83.10515025,42.48792164 56 | v2,2013-01-14T21:05:56Z,-83.10514801,42.48787328 57 | v2,2013-01-14T21:05:57Z,-83.10514577,42.48782493 58 | v2,2013-01-14T21:05:58Z,-83.10514353,42.48777658 59 | v2,2013-01-14T21:05:59Z,-83.10514128,42.48772822 -------------------------------------------------------------------------------- /input4_v2.csv: -------------------------------------------------------------------------------- 1 | v2,2013-01-14T21:05:01Z,-83.30158999,42.49805723 2 | v2,2013-01-14T21:05:02Z,-83.30171392,42.49811132 3 | v2,2013-01-14T21:05:03Z,-83.30183786,42.49816542 4 | v2,2013-01-14T21:05:04Z,-83.30196179,42.49821951 5 | v2,2013-01-14T21:05:05Z,-83.30208573,42.4982736 6 | v2,2013-01-14T21:05:06Z,-83.30220966,42.4983277 7 | v2,2013-01-14T21:05:07Z,-83.3023336,42.49838179 8 | v2,2013-01-14T21:05:08Z,-83.30245753,42.49843588 9 | v2,2013-01-14T21:05:09Z,-83.30258147,42.49848997 10 | v2,2013-01-14T21:05:10Z,-83.3027054,42.49854407 11 | v2,2013-01-14T21:05:11Z,-83.30282934,42.49859816 12 | v2,2013-01-14T21:05:12Z,-83.30295327,42.49865225 13 | v2,2013-01-14T21:05:13Z,-83.30307721,42.49870635 14 | v2,2013-01-14T21:05:14Z,-83.30320115,42.49876044 15 | v2,2013-01-14T21:05:15Z,-83.30332508,42.49881453 16 | v2,2013-01-14T21:05:16Z,-83.30344902,42.49886863 17 | v2,2013-01-14T21:05:17Z,-83.30357295,42.49892272 18 | v2,2013-01-14T21:05:18Z,-83.30369689,42.49897681 19 | v2,2013-01-14T21:05:19Z,-83.30382082,42.4990309 20 | v2,2013-01-14T21:05:20Z,-83.30394476,42.499085 21 | v2,2013-01-14T21:05:21Z,-83.30406869,42.49913909 22 | v2,2013-01-14T21:05:22Z,-83.30419263,42.49919318 23 | v2,2013-01-14T21:05:23Z,-83.30431656,42.49924728 24 | v2,2013-01-14T21:05:24Z,-83.3044405,42.49930137 25 | v2,2013-01-14T21:05:25Z,-83.30456443,42.49935546 26 | v2,2013-01-14T21:05:26Z,-83.30468837,42.49940955 27 | v2,2013-01-14T21:05:27Z,-83.3048123,42.49946365 28 | v2,2013-01-14T21:05:28Z,-83.30493624,42.49951774 29 | v2,2013-01-14T21:05:29Z,-83.30506018,42.49957183 30 | v2,2013-01-14T21:05:30Z,-83.30518411,42.49962593 31 | v2,2013-01-14T21:05:31Z,-83.30530805,42.49968002 32 | v2,2013-01-14T21:05:32Z,-83.30543198,42.49973411 33 | v2,2013-01-14T21:05:33Z,-83.30555592,42.49978821 34 | v2,2013-01-14T21:05:34Z,-83.30567985,42.4998423 35 | v2,2013-01-14T21:05:35Z,-83.30580379,42.49989639 36 | v2,2013-01-14T21:05:36Z,-83.30592772,42.49995048 37 | v2,2013-01-14T21:05:37Z,-83.30605166,42.50000458 38 | v2,2013-01-14T21:05:38Z,-83.30617559,42.50005867 39 | v2,2013-01-14T21:05:39Z,-83.30629953,42.50011276 40 | v2,2013-01-14T21:05:40Z,-83.30642346,42.50016686 41 | v2,2013-01-14T21:05:41Z,-83.3065474,42.50022095 42 | v2,2013-01-14T21:05:42Z,-83.30667134,42.50027504 43 | v2,2013-01-14T21:05:43Z,-83.30679527,42.50032914 44 | v2,2013-01-14T21:05:44Z,-83.30691921,42.50038323 45 | v2,2013-01-14T21:05:45Z,-83.30704314,42.50043732 46 | v2,2013-01-14T21:05:46Z,-83.30716708,42.50049141 47 | v2,2013-01-14T21:05:47Z,-83.30729101,42.50054551 48 | v2,2013-01-14T21:05:48Z,-83.30741495,42.5005996 49 | v2,2013-01-14T21:05:49Z,-83.30753888,42.50065369 50 | v2,2013-01-14T21:05:50Z,-83.30766282,42.50070779 51 | v2,2013-01-14T21:05:51Z,-83.30778675,42.50076188 52 | v2,2013-01-14T21:05:52Z,-83.30791069,42.50081597 53 | v2,2013-01-14T21:05:53Z,-83.30803462,42.50087006 54 | v2,2013-01-14T21:05:54Z,-83.30815856,42.50092416 55 | v2,2013-01-14T21:05:55Z,-83.3082825,42.50097825 56 | v2,2013-01-14T21:05:56Z,-83.30840643,42.50103234 57 | v2,2013-01-14T21:05:57Z,-83.30853037,42.50108644 58 | v2,2013-01-14T21:05:58Z,-83.3086543,42.50114053 59 | v2,2013-01-14T21:05:59Z,-83.30877824,42.50119462 -------------------------------------------------------------------------------- /input_v1.csv: -------------------------------------------------------------------------------- 1 | v1,2013-01-14T21:05:01Z,-83.19132972,42.50300502 2 | v1,2013-01-14T21:05:02Z,-83.19120689,42.50300772 3 | v1,2013-01-14T21:05:03Z,-83.19108405,42.50301042 4 | v1,2013-01-14T21:05:04Z,-83.19096122,42.50301312 5 | v1,2013-01-14T21:05:05Z,-83.19083839,42.50301582 6 | v1,2013-01-14T21:05:06Z,-83.19071555,42.50301852 7 | v1,2013-01-14T21:05:07Z,-83.19059272,42.50302121 8 | v1,2013-01-14T21:05:08Z,-83.19046989,42.50302391 9 | v1,2013-01-14T21:05:09Z,-83.19034706,42.50302661 10 | v1,2013-01-14T21:05:10Z,-83.19022422,42.50302931 11 | v1,2013-01-14T21:05:11Z,-83.19010139,42.50303201 12 | v1,2013-01-14T21:05:12Z,-83.18997856,42.50303471 13 | v1,2013-01-14T21:05:13Z,-83.18985572,42.5030374 14 | v1,2013-01-14T21:05:14Z,-83.18973289,42.5030401 15 | v1,2013-01-14T21:05:15Z,-83.18961006,42.5030428 16 | v1,2013-01-14T21:05:16Z,-83.18948722,42.5030455 17 | v1,2013-01-14T21:05:17Z,-83.18936439,42.5030482 18 | v1,2013-01-14T21:05:18Z,-83.18924156,42.5030509 19 | v1,2013-01-14T21:05:19Z,-83.18911873,42.5030536 20 | v1,2013-01-14T21:05:20Z,-83.18899589,42.50305629 21 | v1,2013-01-14T21:05:21Z,-83.18887306,42.50305899 22 | v1,2013-01-14T21:05:22Z,-83.18875023,42.50306169 23 | v1,2013-01-14T21:05:23Z,-83.18862739,42.50306439 24 | v1,2013-01-14T21:05:24Z,-83.18850456,42.50306709 25 | v1,2013-01-14T21:05:25Z,-83.18838173,42.50306979 26 | v1,2013-01-14T21:05:26Z,-83.18825889,42.50307248 27 | v1,2013-01-14T21:05:27Z,-83.18813606,42.50307518 28 | v1,2013-01-14T21:05:28Z,-83.18801323,42.50307788 29 | v1,2013-01-14T21:05:29Z,-83.18789039,42.50308058 30 | v1,2013-01-14T21:05:30Z,-83.18776756,42.50308328 31 | v1,2013-01-14T21:05:31Z,-83.18764473,42.50308598 32 | v1,2013-01-14T21:05:32Z,-83.1875219,42.50308868 33 | v1,2013-01-14T21:05:33Z,-83.18739906,42.50309137 34 | v1,2013-01-14T21:05:34Z,-83.18727623,42.50309407 35 | v1,2013-01-14T21:05:35Z,-83.1871534,42.50309677 36 | v1,2013-01-14T21:05:36Z,-83.18703056,42.50309947 37 | v1,2013-01-14T21:05:37Z,-83.18690773,42.50310217 38 | v1,2013-01-14T21:05:38Z,-83.1867849,42.50310487 39 | v1,2013-01-14T21:05:39Z,-83.18666206,42.50310756 40 | v1,2013-01-14T21:05:40Z,-83.18653923,42.50311026 41 | v1,2013-01-14T21:05:41Z,-83.1864164,42.50311296 42 | v1,2013-01-14T21:05:42Z,-83.18629357,42.50311566 43 | v1,2013-01-14T21:05:43Z,-83.18617073,42.50311836 44 | v1,2013-01-14T21:05:44Z,-83.1860479,42.50312106 45 | v1,2013-01-14T21:05:45Z,-83.18592507,42.50312376 46 | v1,2013-01-14T21:05:46Z,-83.18580223,42.50312645 47 | v1,2013-01-14T21:05:47Z,-83.1856794,42.50312915 48 | v1,2013-01-14T21:05:48Z,-83.18555657,42.50313185 49 | v1,2013-01-14T21:05:49Z,-83.18543373,42.50313455 50 | v1,2013-01-14T21:05:50Z,-83.1853109,42.50313725 51 | v1,2013-01-14T21:05:51Z,-83.18518807,42.50313995 52 | v1,2013-01-14T21:05:52Z,-83.18506523,42.50314265 53 | v1,2013-01-14T21:05:53Z,-83.1849424,42.50314534 54 | v1,2013-01-14T21:05:54Z,-83.18481957,42.50314804 55 | v1,2013-01-14T21:05:55Z,-83.18469674,42.50315074 56 | v1,2013-01-14T21:05:56Z,-83.1845739,42.50315344 57 | v1,2013-01-14T21:05:57Z,-83.18445107,42.50315614 58 | v1,2013-01-14T21:05:58Z,-83.18432824,42.50315884 59 | v1,2013-01-14T21:05:59Z,-83.1842054,42.50316153 -------------------------------------------------------------------------------- /input3_v2.csv: -------------------------------------------------------------------------------- 1 | v2,2013-01-14T21:05:01Z,-83.10680155,42.49076144 2 | v2,2013-01-14T21:05:02Z,-83.10666725,42.49076179 3 | v2,2013-01-14T21:05:03Z,-83.10653294,42.49076213 4 | v2,2013-01-14T21:05:04Z,-83.10639863,42.49076247 5 | v2,2013-01-14T21:05:05Z,-83.10626433,42.49076282 6 | v2,2013-01-14T21:05:06Z,-83.10613002,42.49076316 7 | v2,2013-01-14T21:05:07Z,-83.10599571,42.4907635 8 | v2,2013-01-14T21:05:08Z,-83.10586141,42.49076385 9 | v2,2013-01-14T21:05:09Z,-83.1057271,42.49076419 10 | v2,2013-01-14T21:05:10Z,-83.10559279,42.49076454 11 | v2,2013-01-14T21:05:11Z,-83.10545849,42.49076488 12 | v2,2013-01-14T21:05:12Z,-83.10532418,42.49076522 13 | v2,2013-01-14T21:05:13Z,-83.10518987,42.49076557 14 | v2,2013-01-14T21:05:14Z,-83.10505557,42.49076591 15 | v2,2013-01-14T21:05:15Z,-83.10492126,42.49076625 16 | v2,2013-01-14T21:05:16Z,-83.10478696,42.4907666 17 | v2,2013-01-14T21:05:17Z,-83.10465265,42.49076694 18 | v2,2013-01-14T21:05:18Z,-83.10451834,42.49076729 19 | v2,2013-01-14T21:05:19Z,-83.10438404,42.49076763 20 | v2,2013-01-14T21:05:20Z,-83.10424973,42.49076797 21 | v2,2013-01-14T21:05:21Z,-83.10411542,42.49076832 22 | v2,2013-01-14T21:05:22Z,-83.10398112,42.49076866 23 | v2,2013-01-14T21:05:23Z,-83.10384681,42.49076901 24 | v2,2013-01-14T21:05:24Z,-83.1037125,42.49076935 25 | v2,2013-01-14T21:05:25Z,-83.1035782,42.49076969 26 | v2,2013-01-14T21:05:26Z,-83.10344389,42.49077004 27 | v2,2013-01-14T21:05:27Z,-83.10330958,42.49077038 28 | v2,2013-01-14T21:05:28Z,-83.10317528,42.49077072 29 | v2,2013-01-14T21:05:29Z,-83.10304097,42.49077107 30 | v2,2013-01-14T21:05:30Z,-83.10290666,42.49077141 31 | v2,2013-01-14T21:05:31Z,-83.10277236,42.49077176 32 | v2,2013-01-14T21:05:32Z,-83.10263805,42.4907721 33 | v2,2013-01-14T21:05:33Z,-83.10250375,42.49077244 34 | v2,2013-01-14T21:05:34Z,-83.10236944,42.49077279 35 | v2,2013-01-14T21:05:35Z,-83.10223513,42.49077313 36 | v2,2013-01-14T21:05:36Z,-83.10210083,42.49077347 37 | v2,2013-01-14T21:05:37Z,-83.10196652,42.49077382 38 | v2,2013-01-14T21:05:38Z,-83.10183221,42.49077416 39 | v2,2013-01-14T21:05:39Z,-83.10169791,42.49077451 40 | v2,2013-01-14T21:05:40Z,-83.1015636,42.49077485 41 | v2,2013-01-14T21:05:41Z,-83.10142929,42.49077519 42 | v2,2013-01-14T21:05:42Z,-83.10129499,42.49077554 43 | v2,2013-01-14T21:05:43Z,-83.10116068,42.49077588 44 | v2,2013-01-14T21:05:44Z,-83.10102637,42.49077622 45 | v2,2013-01-14T21:05:45Z,-83.10089207,42.49077657 46 | v2,2013-01-14T21:05:46Z,-83.10075776,42.49077691 47 | v2,2013-01-14T21:05:47Z,-83.10062346,42.49077726 48 | v2,2013-01-14T21:05:48Z,-83.10048915,42.4907776 49 | v2,2013-01-14T21:05:49Z,-83.10035484,42.49077794 50 | v2,2013-01-14T21:05:50Z,-83.10022054,42.49077829 51 | v2,2013-01-14T21:05:51Z,-83.10008623,42.49077863 52 | v2,2013-01-14T21:05:52Z,-83.09995192,42.49077898 53 | v2,2013-01-14T21:05:53Z,-83.09981762,42.49077932 54 | v2,2013-01-14T21:05:54Z,-83.09968331,42.49077966 55 | v2,2013-01-14T21:05:55Z,-83.099549,42.49078001 56 | v2,2013-01-14T21:05:56Z,-83.0994147,42.49078035 57 | v2,2013-01-14T21:05:57Z,-83.09928039,42.49078069 58 | v2,2013-01-14T21:05:58Z,-83.09914608,42.49078104 59 | v2,2013-01-14T21:05:59Z,-83.09901178,42.49078138 -------------------------------------------------------------------------------- /input4_v1.csv: -------------------------------------------------------------------------------- 1 | v1,2013-01-14T21:05:01Z,-83.30049269,42.50082028 2 | v1,2013-01-14T21:05:02Z,-83.30064104,42.50081619 3 | v1,2013-01-14T21:05:03Z,-83.30078939,42.50081209 4 | v1,2013-01-14T21:05:04Z,-83.30093773,42.500808 5 | v1,2013-01-14T21:05:05Z,-83.30108608,42.50080391 6 | v1,2013-01-14T21:05:06Z,-83.30123442,42.50079982 7 | v1,2013-01-14T21:05:07Z,-83.30138277,42.50079573 8 | v1,2013-01-14T21:05:08Z,-83.30153111,42.50079163 9 | v1,2013-01-14T21:05:09Z,-83.30167946,42.50078754 10 | v1,2013-01-14T21:05:10Z,-83.3018278,42.50078345 11 | v1,2013-01-14T21:05:11Z,-83.30197615,42.50077936 12 | v1,2013-01-14T21:05:12Z,-83.30212449,42.50077527 13 | v1,2013-01-14T21:05:13Z,-83.30227284,42.50077118 14 | v1,2013-01-14T21:05:14Z,-83.30242118,42.50076708 15 | v1,2013-01-14T21:05:15Z,-83.30256953,42.50076299 16 | v1,2013-01-14T21:05:16Z,-83.30271787,42.5007589 17 | v1,2013-01-14T21:05:17Z,-83.30286622,42.50075481 18 | v1,2013-01-14T21:05:18Z,-83.30301456,42.50075072 19 | v1,2013-01-14T21:05:19Z,-83.30316291,42.50074662 20 | v1,2013-01-14T21:05:20Z,-83.30331125,42.50074253 21 | v1,2013-01-14T21:05:21Z,-83.3034596,42.50073844 22 | v1,2013-01-14T21:05:22Z,-83.30360795,42.50073435 23 | v1,2013-01-14T21:05:23Z,-83.30375629,42.50073026 24 | v1,2013-01-14T21:05:24Z,-83.30390464,42.50072617 25 | v1,2013-01-14T21:05:25Z,-83.30405298,42.50072207 26 | v1,2013-01-14T21:05:26Z,-83.30420133,42.50071798 27 | v1,2013-01-14T21:05:27Z,-83.30434967,42.50071389 28 | v1,2013-01-14T21:05:28Z,-83.30449802,42.5007098 29 | v1,2013-01-14T21:05:29Z,-83.30464636,42.50070571 30 | v1,2013-01-14T21:05:30Z,-83.30479471,42.50070161 31 | v1,2013-01-14T21:05:31Z,-83.30494305,42.50069752 32 | v1,2013-01-14T21:05:32Z,-83.3050914,42.50069343 33 | v1,2013-01-14T21:05:33Z,-83.30523974,42.50068934 34 | v1,2013-01-14T21:05:34Z,-83.30538809,42.50068525 35 | v1,2013-01-14T21:05:35Z,-83.30553643,42.50068116 36 | v1,2013-01-14T21:05:36Z,-83.30568478,42.50067706 37 | v1,2013-01-14T21:05:37Z,-83.30583312,42.50067297 38 | v1,2013-01-14T21:05:38Z,-83.30598147,42.50066888 39 | v1,2013-01-14T21:05:39Z,-83.30612982,42.50066479 40 | v1,2013-01-14T21:05:40Z,-83.30627816,42.5006607 41 | v1,2013-01-14T21:05:41Z,-83.30642651,42.50065661 42 | v1,2013-01-14T21:05:42Z,-83.30657485,42.50065251 43 | v1,2013-01-14T21:05:43Z,-83.3067232,42.50064842 44 | v1,2013-01-14T21:05:44Z,-83.30687154,42.50064433 45 | v1,2013-01-14T21:05:45Z,-83.30701989,42.50064024 46 | v1,2013-01-14T21:05:46Z,-83.30716823,42.50063615 47 | v1,2013-01-14T21:05:47Z,-83.30731658,42.50063205 48 | v1,2013-01-14T21:05:48Z,-83.30746492,42.50062796 49 | v1,2013-01-14T21:05:49Z,-83.30761327,42.50062387 50 | v1,2013-01-14T21:05:50Z,-83.30776161,42.50061978 51 | v1,2013-01-14T21:05:51Z,-83.30790996,42.50061569 52 | v1,2013-01-14T21:05:52Z,-83.3080583,42.5006116 53 | v1,2013-01-14T21:05:53Z,-83.30820665,42.5006075 54 | v1,2013-01-14T21:05:54Z,-83.30835499,42.50060341 55 | v1,2013-01-14T21:05:55Z,-83.30850334,42.50059932 56 | v1,2013-01-14T21:05:56Z,-83.30865168,42.50059523 57 | v1,2013-01-14T21:05:57Z,-83.30880003,42.50059114 58 | v1,2013-01-14T21:05:58Z,-83.30894838,42.50058704 59 | v1,2013-01-14T21:05:59Z,-83.30909672,42.50058295 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GPS Based Collision Mitigation Warning System 2 | 3 | --- 4 | 5 | 6 | [//]: # (Image References) 7 | [image1]: ./images/rectangle.png 8 | [image2]: ./images/output.png 9 | 10 | ## This project is first part of three project series which is related to Self-driving car. Vehicle-to-Vehicle (V2V) communication is very important part of self-driven cars and safety is the most important aspect of self-driven car. This system provides warning if two cars are approaching to each other and are in "Danger" zone. 11 | 12 | 13 | ### File Structure : 14 | 15 | input_v1.csv - dataset for vehicle 1 16 | 17 | input_v2.csv - dataset for vehicle 2 18 | 19 | car_collison.py - includes functions for heading, distance, cartesian coordinate conversion, Rectangle formation and Collision detection 20 | 21 | kml_generate.py - File to generate the output file which will be in the form of '.kml' file. You can open it in Google Earth for visualization. 22 | 23 | 24 | ### Run Command: 25 | 26 | `python kml_generate.py input_v1.csv input_v2.csv` 27 | 28 | # Working: 29 | 30 | When running this application in Google Earth using .kml file(output generated from this system), car color changes to "RED" if there is a chance of collision between two cars. The concept includes heading calculation, harvesine distance, define rectangle area according to velocity and check collision with Separte Axis Theorem. 31 | 32 | ## 1. Distance and Heading Calculation 33 | 34 | 35 | GPS locations for two vehicles (Vehicle 1 and Vehicle 2) are given in csv files for four different datasets. 36 | 37 | From difference between two consecutive GPS coordinate data and timestamp, we can find the vehicles heading and distance for both the vehicles. I have used Harvesine formula for distance calculation between two points which is written in `harvesine`function. 38 | 39 | Bearing (Heading) calculation is explained in `new_bearing` function. 40 | 41 | ## 2. Define Rectangle to find collision. 42 | 43 | ASSUMTION - Lane width is 4m and Time to Collide (TTC) is 8 seconds. 44 | 45 | ![alt text][image1] 46 | 47 | Here the idea is to define rectangle in the direction of heading. This rectangle indicates "danger" zone for that car. 48 | Basically, we have to define rectangle from following steps: 49 | 50 | - Calculate the length of the rectangle which depends on velocity of the car 51 | - Width, which is fixed(4m) 52 | - Define points in the direction of heading. 53 | 54 | This is defined in `rec` function. See the code for more explanation regarding implementation. 55 | 56 | ## 3. Cartesian Coordinates 57 | 58 | After getting the rectangle coordinates, convert those to cartesian coordinates and get (x1,y1) , (x2,y2) , (x3,y3) , (x4,y4). 59 | 60 | This is explained in `XfromGPS` and `YfromGPS` 61 | 62 | ## 4. Collision Detection using SAT 63 | 64 | This is the final section which includes collision detection using two rectangles (defined earlier for two cars) using Separate Axis Theorem. 65 | 66 | This is defined in `collision` and `separating_axis` functions. 67 | 68 | The final output looks like this: 69 | 70 | ![alt text][image2] 71 | 72 | ## Reference: 73 | 74 | The idea (Question definition) is from one of the projects from Wayne State University which I got from Internet. 75 | 76 | Credit to https://hackmd.io/s/ryFmIZrsl for explaining Separate axis theorem. 77 | 78 | 79 | -------------------------------------------------------------------------------- /kml_generate.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Created on Wed Jul 05 23:27:55 2017 4 | 5 | @author: MSI_me 6 | """ 7 | 8 | # -*- coding: utf-8 -*- 9 | """ 10 | Created on Wed Jul 05 22:40:48 2017 11 | 12 | @author: MSI_me 13 | """ 14 | 15 | import sys 16 | import csv 17 | import numpy as np 18 | #from compiling_2 import * 19 | from car_collision import * 20 | 21 | #print 'print the number of arguments', len(sys.argv) 22 | #print 'arguments', str(sys.argv) 23 | 24 | 25 | main_name,extention=str(sys.argv[1]).split('.') 26 | #print 'main_name:',main_name 27 | #print 'extention:',extention 28 | out_kml_name=main_name+'.kml' 29 | print (out_kml_name) 30 | times_v1=[] 31 | longitudes_v1=[] 32 | latitudes_v1=[] 33 | times_v2=[] 34 | longitudes_v2=[] 35 | latitudes_v2=[] 36 | 37 | 38 | with open(str(sys.argv[1]), 'rt') as csvDataFile,open(str(sys.argv[2]), 'rt') as csvDataFile_v2,open(out_kml_name, 'w') as kml_file: 39 | 40 | kml_file.write(''' 41 | 42 | 49 | 50 | 51 | Points with TimeStamps 52 | 64 | 76 | 77 | 78 | normal 79 | #sn_cabs3 80 | 81 | 82 | highlight 83 | #sh_cabs3 84 | 85 | 86 | 87 | 99 | 111 | 112 | 113 | normal 114 | #sn_cabs2 115 | 116 | 117 | highlight 118 | #sh_cabs2 119 | 120 | 121 | 122 | 123 | 124 | normal 125 | #sn_cabs1 126 | 127 | 128 | highlight 129 | #sh_cabs1 130 | 131 | 132 | 144 | ''') 156 | kml_file.write('\n') 157 | count = 0 158 | 159 | csvReader = csv.reader(csvDataFile,delimiter=',', quotechar='"') 160 | #header1 = csvReader.next() 161 | csvReader_v2 = csv.reader(csvDataFile_v2,delimiter=',', quotechar='"') 162 | 163 | #print header1 164 | #print "-------------------------" 165 | previous = 0.0 166 | #previous_row = csvReader.next() 167 | previous_row = next(csvReader,None) 168 | #print "Sanjay" 169 | #print previous_row 170 | previous_row_v2 = next(csvReader_v2,None) 171 | #print previous_row_v2 172 | 173 | #previous_row_v2 = previous_row.next() 174 | #print next(next(csvReader,None)) 175 | 176 | x_origin = previous_row[3] 177 | y_origin = previous_row[2] 178 | 179 | #for row_v1 in enumerate(csvReader,start=1): 180 | for row_v1,row_v2 in zip(csvReader,csvReader_v2): 181 | try: 182 | 183 | times_v1.append(row_v1[1]) 184 | longitudes_v1.append(row_v1[2]) 185 | latitudes_v1.append(row_v1[3]) 186 | times_v2.append(row_v2[1]) 187 | longitudes_v2.append(row_v2[2]) 188 | latitudes_v2.append(row_v2[3]) 189 | 190 | 191 | 192 | #previous_row = row 193 | #print previous_row[2],previous_row[3] 194 | #print "Renu" 195 | #print row_v1[2],row_v1[3] 196 | 197 | #distance = haversine(lon_1,lat_1,lon_2,lat_2) 198 | #bearing2 = new_bearing(lat_1,lon_1,lat_2,lon_2) 199 | distance_v1 = haversine(float(row_v1[2]),float(row_v1[3]),float(previous_row[2]),float(previous_row[3])) 200 | bearing_v1 = new_bearing(float(previous_row[3]),float(previous_row[2]),float(row_v1[3]),float(row_v1[2])) 201 | #print "Printing for Vehicle 1" 202 | #print distance_v1 203 | #print bearing_v1 204 | 205 | #rec(float(previous_row[3]),float(previous_row[2]),float(bearing_v1),float(distance_v1)) 206 | x_cords_v1,y_cords_v1 = rec(float(row_v1[3]),float(row_v1[2]),float(bearing_v1),float(distance_v1)) 207 | previous_row[3] = row_v1[3] 208 | previous_row[2] = row_v1[2] 209 | 210 | #print "new" + previous_row[2],previous_row[3] 211 | 212 | #x = XfromGPS(float(previous_row[3]),float(previous_row[2]),float(row[3]),float(row[2])) 213 | #y = YfromGPS(float(previous_row[3]),float(previous_row[2]),float(row[3]),float(row[2])) 214 | 215 | #x = [] 216 | #y = [] 217 | x1_v1 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[0]),float(y_cords_v1[0])) 218 | y1_v1 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[0]),float(y_cords_v1[0])) 219 | x2_v1 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[1]),float(y_cords_v1[1])) 220 | y2_v1 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[1]),float(y_cords_v1[1])) 221 | x3_v1 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[2]),float(y_cords_v1[2])) 222 | y3_v1 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[2]),float(y_cords_v1[2])) 223 | x4_v1 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[3]),float(y_cords_v1[3])) 224 | y4_v1 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[3]),float(y_cords_v1[3])) 225 | 226 | #print "Cartesian Points are: " 227 | #print x1_v1,y1_v1,x2_v1,y2_v1,x3_v1,y3_v1,x4_v1,y4_v1 228 | x_v1 = np.array([x1_v1,x2_v1,x3_v1,x4_v1]) 229 | y_v1 = np.array([y1_v1,y2_v1,y3_v1,y4_v1]) 230 | #print x_v1,y_v1 231 | #print x_cords_v1,y_cords_v1 232 | 233 | #print "CALCULATION FOR VEHICLE 2 BEGINS___________________________________" 234 | #print row_v2[2],row_v2[3] 235 | distance_v2 = haversine(float(row_v2[2]),float(row_v2[3]),float(previous_row_v2[2]),float(previous_row_v2[3])) 236 | bearing_v2 = new_bearing(float(previous_row_v2[3]),float(previous_row_v2[2]),float(row_v2[3]),float(row_v2[2])) 237 | #print "Printing for Vehicle 2" 238 | #print distance_v2 239 | #print bearing_v2 240 | 241 | #rec(float(previous_row[3]),float(previous_row[2]),float(bearing_v1),float(distance_v1)) 242 | x_cords_v2,y_cords_v2 = rec(float(row_v2[3]),float(row_v2[2]),float(bearing_v2),float(distance_v2)) 243 | previous_row_v2[3] = row_v2[3] 244 | previous_row_v2[2] = row_v2[2] 245 | 246 | 247 | #print "new" + previous_row_v2[2],previous_row_v2[3] 248 | x1_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[0]),float(y_cords_v2[0])) 249 | y1_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[0]),float(y_cords_v2[0])) 250 | x2_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[1]),float(y_cords_v2[1])) 251 | y2_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[1]),float(y_cords_v2[1])) 252 | x3_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[2]),float(y_cords_v2[2])) 253 | y3_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[2]),float(y_cords_v2[2])) 254 | x4_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[3]),float(y_cords_v2[3])) 255 | y4_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[3]),float(y_cords_v2[3])) 256 | 257 | #print "Cartesian Points for vehicle 2 are: " 258 | #print x1_v2,y1_v2,x2_v2,y2_v2,x3_v2,y3_v2,x4_v2,y4_v2 259 | x_v2 = np.array([x1_v2,x2_v2,x3_v2,x4_v2]) 260 | y_v2 = np.array([y1_v2,y2_v2,y3_v2,y4_v2]) 261 | #print x_v2,y_v2 262 | #print x_cords_v2,y_cords_v2 263 | 264 | vehicle_1 = np.array([(x1_v1,y1_v1),(x2_v1,y2_v1),(x3_v1,y3_v1),(x4_v1,y4_v1)]) 265 | vehicle_2 = np.array([(x1_v2,y1_v2),(x2_v2,y2_v2),(x3_v2,y3_v2),(x4_v2,y4_v2)]) 266 | 267 | col = collide(vehicle_1,vehicle_2) 268 | #if col[0] == False: 269 | if col == False: 270 | kml_file.write(''+row_v1[1]+','+'#msn_cabs2'+row_v1[2]+','+row_v1[3]+','+',0\n') 271 | kml_file.write(''+row_v2[1]+','+'#msn_cabs1'+row_v2[2]+','+row_v2[3]+','+',0\n') 272 | 273 | else: 274 | kml_file.write(''+row_v1[1]+','+'#msn_cabs3'+row_v1[2]+','+row_v1[3]+','+',0\n') 275 | kml_file.write(''+row_v2[1]+','+'#msn_cabs3'+row_v2[2]+','+row_v2[3]+','+',0\n') 276 | 277 | print (col) 278 | 279 | 280 | #break 281 | 282 | except IndexError: 283 | pass 284 | 285 | kml_file.write('''\t 286 | ''') 287 | 288 | -------------------------------------------------------------------------------- /car_collision.py: -------------------------------------------------------------------------------- 1 | import math 2 | import csv 3 | from math import radians, cos, sin, asin, sqrt,atan2,degrees,pi 4 | import numpy as np 5 | 6 | def collide(p1, p2): 7 | ''' 8 | Return True and the MPV if the shapes collide. Otherwise, return False and 9 | None. 10 | 11 | p1 and p2 are lists of ordered pairs, the vertices of the polygons in the 12 | counterclockwise direction. 13 | ''' 14 | edges = [] 15 | orthog = [] 16 | 17 | p1 = [np.array(v, 'float64') for v in p1] 18 | p2 = [np.array(v, 'float64') for v in p2] 19 | 20 | p1_length = len(p1) 21 | p2_length = len(p2) 22 | 23 | # Find edge vector for both polygons 24 | 25 | for i in range(p1_length): 26 | p1_edge = p1[(i + 1)%p1_length] - p1[i] 27 | edges.append(p1_edge) 28 | 29 | for i in range(p2_length): 30 | p2_edge = p2[(i + 1)%p2_length] - p2[i] 31 | edges.append(p2_edge) 32 | 33 | 34 | # Find Orthogonals for each of the vector. 35 | for i in edges: 36 | orthog.append(np.array([-i[1], i[0]])) 37 | 38 | for i in orthog: 39 | separates = is_separating_axis(i, p1, p2) 40 | 41 | if separates: 42 | # they do not collide 43 | return False 44 | 45 | return True 46 | 47 | 48 | def is_separating_axis(i, p1, p2): 49 | """ 50 | Return True if o is a separating axis of p1 and p2. 51 | Otherwise, return False 52 | """ 53 | min1, max1 = float('+inf'), float('-inf') 54 | min2, max2 = float('+inf'), float('-inf') 55 | 56 | for v in p1: 57 | projection = np.dot(v, i) 58 | 59 | min1 = min(min1, projection) 60 | max1 = max(max1, projection) 61 | 62 | for v in p2: 63 | projection = np.dot(v, i) 64 | 65 | min2 = min(min2, projection) 66 | max2 = max(max2, projection) 67 | 68 | if max1 >= min2 and max2 >= min1: 69 | return False 70 | else: 71 | return True 72 | 73 | def haversine(lon1, lat1, lon2, lat2): 74 | """ 75 | Calculate the great circle distance between two points 76 | on the earth (specified in decimal degrees) 77 | """ 78 | # convert decimal degrees to radians 79 | lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) 80 | 81 | # haversine formula 82 | dlon = lon2 - lon1 83 | dlat = lat2 - lat1 84 | a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 85 | c = 2 * asin(sqrt(a)) 86 | r = 6371 # Radius of earth in kilometers. Use 3956 for miles 87 | return c * r 88 | 89 | 90 | def angleFromCoordinate(lon1,lat1,lon2,lat2): 91 | 92 | dLon = lon2 - lon1 93 | #print dLon 94 | y = sin(dLon) * cos(lat2) 95 | x = cos(lat1) * sin(lat2) - sin(lat1) * cos(lat2) * cos(dLon) 96 | 97 | brng = atan2(y, x) 98 | 99 | brng = degrees(brng) 100 | brng = (brng + 360) % 360 101 | #brng = 360 - brng 102 | return brng; 103 | 104 | 105 | def XfromGPS(lat1_deg,long1_deg,lat2_deg,long2_deg): 106 | R=6.371*math.pow(10,6) #earth radius 107 | lat1_ =lat1_deg*math.pi/180 #convert degrees into radians 108 | lat2_ =lat2_deg*math.pi/180 109 | long1_ =long1_deg*math.pi/180 110 | long2_ =long2_deg*math.pi/180 111 | x = np.array(R*(long2_-long1_)*np.cos(lat1_)) 112 | return x 113 | 114 | def YfromGPS(lat1_deg,long1_deg,lat2_deg,long2_deg): 115 | R=6.371*math.pow(10,6) #earth radius 116 | lat1_ =lat1_deg*math.pi/180 #convert degrees into radians 117 | lat2_ =lat2_deg*math.pi/180 118 | long1_ =long1_deg*math.pi/180 119 | long2_ =long2_deg*math.pi/180 120 | y = np.array(R*(lat2_-lat1_)) 121 | return y 122 | 123 | def new_bearing(lat1,lon1,lat2,lon2): 124 | R = 6371 * 10^3 125 | lat1_ = lat1 * math.pi /180 126 | lat2_ = lat2 * math.pi /180 127 | 128 | lon1_=lon1*math.pi/180 129 | lon2_=lon2*math.pi/180 130 | 131 | 132 | y2 = R*(lat2_-lat1_) 133 | x2 = R*(lon2_-lon1_)*cos(lat1_) 134 | #b2 = atan2(x2,y2)*180/math.pi+180 135 | b2 = atan2(x2,y2)*180/math.pi 136 | b2 = (b2 + 360) % 360 137 | #print b2 138 | #print y2 139 | #print x2 140 | return b2 141 | 142 | def rec(lat1,lon1,heading,distance): 143 | #print heading 144 | #Idea is to find two points CW and ACW 90 degree to the point at 2m distance 145 | #First find theta1 and theta2 and then with distance 2m calculate two points of rectangle 146 | 147 | d = 0.002 148 | R = 6371 149 | theta1 = heading - 90 150 | theta2 = heading + 90 151 | if theta1 < 0: 152 | theta1 = theta1 + 360 153 | 154 | if theta2 > 360: 155 | theta2 = theta2 - 360 156 | #print theta1 157 | #print theta2 158 | 159 | theta1_R = math.radians(theta1) 160 | theta2_R = math.radians(theta2) 161 | 162 | lat1_R = math.radians(lat1) 163 | lon1_R = math.radians(lon1) 164 | 165 | lat2_p1 = asin(sin(lat1_R) * cos(d/R) + cos(lat1_R) * sin(d/R) * cos(theta1_R)) 166 | lon2_p1 = lon1_R + atan2(sin(theta1_R) * sin(d/R) * cos(lat1_R),cos(d/R) - sin(lat1_R) * sin(lat2_p1)) 167 | 168 | lat2_p1 = math.degrees(lat2_p1) 169 | lon2_p1 = math.degrees(lon2_p1) 170 | 171 | lat2_p1_R = math.radians(lat2_p1) 172 | lon2_p1_R = math.radians(lon2_p1) 173 | 174 | 175 | lat2_p2 = asin(sin(lat1_R) * cos(d/R) + cos(lat1_R) * sin(d/R) * cos(theta2_R)) 176 | lon2_p2 = lon1_R + atan2(sin(theta2_R) * sin(d/R) * cos(lat1_R),cos(d/R) - sin(lat1_R) * sin(lat2_p2)) 177 | 178 | lat2_p2 = math.degrees(lat2_p2) 179 | lon2_p2 = math.degrees(lon2_p2) 180 | 181 | lat2_p2_R = math.radians(lat2_p2) 182 | lon2_p2_R = math.radians(lon2_p2) 183 | 184 | 185 | #print "################" 186 | #print lat2_p1,lon2_p1 187 | # print lon2_p1 188 | #print "################" 189 | #print lat2_p2,lon2_p2 190 | # print lon2_p2 191 | #print "################" 192 | 193 | #Now we have to find other two points of rectangle 194 | #For that we need length of rectangle which is velocity * TTC. TTC is given as 8s 195 | #Here each pair of points are given in the timespan of 1 second 196 | #So velocity will be equal to distance 197 | #And distance will be velocity * 8. Here it is l1 198 | 199 | velocity_v1 = distance * 1 200 | 201 | l1 = velocity_v1 * 8 202 | #print l1 203 | 204 | 205 | heading_ = math.radians(heading) 206 | lat2_p3 = asin(sin(lat2_p2_R) * cos(l1/R) + cos(lat2_p2_R) * sin(l1/R) * cos(heading_)) 207 | lon2_p3 = lon2_p2_R + atan2(sin(heading_) * sin(l1/R) * cos(lat2_p2_R),cos(l1/R) - sin(lat2_p2_R) * sin(lat2_p3)) 208 | 209 | lat2_p3 = math.degrees(lat2_p3) 210 | lon2_p3 = math.degrees(lon2_p3) 211 | 212 | lat2_p3_R = math.radians(lat2_p3) 213 | lon2_p3_R = math.radians(lon2_p3) 214 | 215 | lat2_p4 = asin(sin(lat2_p1_R) * cos(l1/R) + cos(lat2_p1_R) * sin(l1/R) * cos(heading_)) 216 | lon2_p4 = lon2_p1_R + atan2(sin(heading_) * sin(l1/R) * cos(lat2_p1_R),cos(l1/R) - sin(lat2_p1_R) * sin(lat2_p4)) 217 | 218 | lat2_p4 = math.degrees(lat2_p4) 219 | lon2_p4 = math.degrees(lon2_p4) 220 | 221 | lat2_p4_R = math.radians(lat2_p4) 222 | lon2_p4_R = math.radians(lon2_p4) 223 | 224 | 225 | 226 | 227 | #print "################" 228 | #print lat2_p3,lon2_p3 229 | # print lon2_p3 230 | #print "################" 231 | #print "################" 232 | #print lat2_p4,lon2_p4 233 | # print lon2_p4 234 | #print "################" 235 | 236 | x = np.array([lat2_p1,lat2_p2,lat2_p3,lat2_p4]) 237 | y = np.array([lon2_p1,lon2_p2,lon2_p3,lon2_p4]) 238 | return x,y 239 | 240 | 241 | x_cords = [] 242 | y_cords = [] 243 | 244 | 245 | 246 | 247 | # with open('input_v1.csv') as csvDataFile,open('input_v2.csv','rU') as csvDataFile_v2: 248 | # count = 0 249 | 250 | # csvReader = csv.reader(csvDataFile,delimiter=',', quotechar='"') 251 | # #header1 = csvReader.next() 252 | # csvReader_v2 = csv.reader(csvDataFile_v2,delimiter=',', quotechar='"') 253 | 254 | # #print header1 255 | # #print "-------------------------" 256 | # previous = 0.0 257 | # #previous_row = csvReader.next() 258 | # previous_row = next(csvReader,None) 259 | # #print "Sanjay" 260 | # #print previous_row 261 | # previous_row_v2 = next(csvReader_v2,None) 262 | # #print previous_row_v2 263 | 264 | # #previous_row_v2 = previous_row.next() 265 | # #print next(next(csvReader,None)) 266 | 267 | # x_origin = previous_row[3] 268 | # y_origin = previous_row[2] 269 | 270 | # #for row_v1 in enumerate(csvReader,start=1): 271 | # for row_v1,row_v2 in zip(csvReader,csvReader_v2): 272 | # try: 273 | 274 | # #previous_row = row 275 | # #print previous_row[2],previous_row[3] 276 | # #print "Renu" 277 | # #print row_v1[2],row_v1[3] 278 | 279 | # #distance = haversine(lon_1,lat_1,lon_2,lat_2) 280 | # #bearing2 = new_bearing(lat_1,lon_1,lat_2,lon_2) 281 | # distance_v1 = haversine(float(row_v1[2]),float(row_v1[3]),float(previous_row[2]),float(previous_row[3])) 282 | # bearing_v1 = new_bearing(float(previous_row[3]),float(previous_row[2]),float(row_v1[3]),float(row_v1[2])) 283 | # #print "Printing for Vehicle 1" 284 | # #print distance_v1 285 | # #print bearing_v1 286 | 287 | # #rec(float(previous_row[3]),float(previous_row[2]),float(bearing_v1),float(distance_v1)) 288 | # x_cords_v1,y_cords_v1 = rec(float(row_v1[3]),float(row_v1[2]),float(bearing_v1),float(distance_v1)) 289 | # previous_row[3] = row_v1[3] 290 | # previous_row[2] = row_v1[2] 291 | 292 | # #print "new" + previous_row[2],previous_row[3] 293 | 294 | # #x = XfromGPS(float(previous_row[3]),float(previous_row[2]),float(row[3]),float(row[2])) 295 | # #y = YfromGPS(float(previous_row[3]),float(previous_row[2]),float(row[3]),float(row[2])) 296 | 297 | # #x = [] 298 | # #y = [] 299 | # x1_v1 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[0]),float(y_cords_v1[0])) 300 | # y1_v1 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[0]),float(y_cords_v1[0])) 301 | # x2_v1 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[1]),float(y_cords_v1[1])) 302 | # y2_v1 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[1]),float(y_cords_v1[1])) 303 | # x3_v1 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[2]),float(y_cords_v1[2])) 304 | # y3_v1 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[2]),float(y_cords_v1[2])) 305 | # x4_v1 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[3]),float(y_cords_v1[3])) 306 | # y4_v1 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v1[3]),float(y_cords_v1[3])) 307 | 308 | # #print "Cartesian Points are: " 309 | # #print x1_v1,y1_v1,x2_v1,y2_v1,x3_v1,y3_v1,x4_v1,y4_v1 310 | # x_v1 = np.array([x1_v1,x2_v1,x3_v1,x4_v1]) 311 | # y_v1 = np.array([y1_v1,y2_v1,y3_v1,y4_v1]) 312 | # #print x_v1,y_v1 313 | # #print x_cords_v1,y_cords_v1 314 | 315 | # #print "CALCULATION FOR VEHICLE 2 BEGINS___________________________________" 316 | # #print row_v2[2],row_v2[3] 317 | # distance_v2 = haversine(float(row_v2[2]),float(row_v2[3]),float(previous_row_v2[2]),float(previous_row_v2[3])) 318 | # bearing_v2 = new_bearing(float(previous_row_v2[3]),float(previous_row_v2[2]),float(row_v2[3]),float(row_v2[2])) 319 | # #print "Printing for Vehicle 2" 320 | # #print distance_v2 321 | # #print bearing_v2 322 | 323 | # #rec(float(previous_row[3]),float(previous_row[2]),float(bearing_v1),float(distance_v1)) 324 | # x_cords_v2,y_cords_v2 = rec(float(row_v2[3]),float(row_v2[2]),float(bearing_v2),float(distance_v2)) 325 | # previous_row_v2[3] = row_v2[3] 326 | # previous_row_v2[2] = row_v2[2] 327 | 328 | 329 | # #print "new" + previous_row_v2[2],previous_row_v2[3] 330 | # x1_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[0]),float(y_cords_v2[0])) 331 | # y1_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[0]),float(y_cords_v2[0])) 332 | # x2_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[1]),float(y_cords_v2[1])) 333 | # y2_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[1]),float(y_cords_v2[1])) 334 | # x3_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[2]),float(y_cords_v2[2])) 335 | # y3_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[2]),float(y_cords_v2[2])) 336 | # x4_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[3]),float(y_cords_v2[3])) 337 | # y4_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[3]),float(y_cords_v2[3])) 338 | 339 | # #print "Cartesian Points for vehicle 2 are: " 340 | # #print x1_v2,y1_v2,x2_v2,y2_v2,x3_v2,y3_v2,x4_v2,y4_v2 341 | # x_v2 = np.array([x1_v2,x2_v2,x3_v2,x4_v2]) 342 | # y_v2 = np.array([y1_v2,y2_v2,y3_v2,y4_v2]) 343 | # #print x_v2,y_v2 344 | # #print x_cords_v2,y_cords_v2 345 | 346 | # vehicle_1 = np.array([(x1_v1,y1_v1),(x2_v1,y2_v1),(x3_v1,y3_v1),(x4_v1,y4_v1)]) 347 | # vehicle_2 = np.array([(x1_v2,y1_v2),(x2_v2,y2_v2),(x3_v2,y3_v2),(x4_v2,y4_v2)]) 348 | 349 | # col = collide(vehicle_1,vehicle_2) 350 | 351 | # #print col 352 | 353 | 354 | # #break 355 | 356 | # except IndexError: 357 | # pass 358 | 359 | # # previous_row_v2[3] = 42.50202848 360 | # # previous_row_v2[2] = -83.18495249 361 | 362 | # # count = 4 363 | # #for count,row in enumerate(csvReader_v2,start=1): 364 | 365 | # # for row_v2 in csvReader_v2: 366 | # # try: 367 | 368 | # # print row_v2[2],row_v2[3] 369 | # # distance_v2 = haversine(float(row_v2[2]),float(row_v2[3]),float(previous_row_v2[2]),float(previous_row_v2[3])) 370 | # # bearing_v2 = new_bearing(float(previous_row_v2[3]),float(previous_row_v2[2]),float(row_v2[3]),float(row_v2[2])) 371 | # # print "Printing for Vehicle 2" 372 | # # print distance_v2 373 | # # print bearing_v2 374 | 375 | # # #rec(float(previous_row[3]),float(previous_row[2]),float(bearing_v1),float(distance_v1)) 376 | # # x_cords_v2,y_cords_v2 = rec(float(row_v2[3]),float(row_v2[2]),float(bearing_v2),float(distance_v2)) 377 | # # previous_row_v2[3] = row_v2[3] 378 | # # previous_row_v2[2] = row_v2[2] 379 | 380 | 381 | # # print "new" + previous_row_v2[2],previous_row_v2[3] 382 | # # x1_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[0]),float(y_cords_v2[0])) 383 | # # y1_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[0]),float(y_cords_v2[0])) 384 | # # x2_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[1]),float(y_cords_v2[1])) 385 | # # y2_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[1]),float(y_cords_v2[1])) 386 | # # x3_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[2]),float(y_cords_v2[2])) 387 | # # y3_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[2]),float(y_cords_v2[2])) 388 | # # x4_v2 = XfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[3]),float(y_cords_v2[3])) 389 | # # y4_v2 = YfromGPS(float(x_origin),float(y_origin),float(x_cords_v2[3]),float(y_cords_v2[3])) 390 | 391 | # # print "Cartesian Points for vehicle 2 are: " 392 | # # print x1_v2,y1_v2,x2_v2,y2_v2,x3_v2,y3_v2,x4_v2,y4_v2 393 | # # x_v2 = np.array([x1_v2,x2_v2,x3_v2,x4_v2]) 394 | # # y_v2 = np.array([y1_v2,y2_v2,y3_v2,y4_v2]) 395 | # # print x_v2,y_v2 396 | # # print x_cords_v2,y_cords_v2 397 | 398 | 399 | # # #print row[2],row[3] 400 | # # break 401 | 402 | # # except IndexError: 403 | # # pass 404 | 405 | # -------------------------------------------------------------------------------- /input2_v1.kml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | Points with TimeStamps 13 | 25 | 37 | 38 | 39 | normal 40 | #sn_cabs3 41 | 42 | 43 | highlight 44 | #sh_cabs3 45 | 46 | 47 | 48 | 60 | 72 | 73 | 74 | normal 75 | #sn_cabs2 76 | 77 | 78 | highlight 79 | #sh_cabs2 80 | 81 | 82 | 83 | 84 | 85 | normal 86 | #sn_cabs1 87 | 88 | 89 | highlight 90 | #sh_cabs1 91 | 92 | 93 | 105 | 117 | 2013-01-14T21:05:02Z,#msn_cabs2-83.10666615,42.49086604,,0 118 | 2013-01-14T21:05:02Z,#msn_cabs1-83.10526903,42.49048438,,0 119 | 2013-01-14T21:05:03Z,#msn_cabs2-83.106515,42.49086591,,0 120 | 2013-01-14T21:05:03Z,#msn_cabs1-83.10526679,42.49043603,,0 121 | 2013-01-14T21:05:04Z,#msn_cabs2-83.10636386,42.49086577,,0 122 | 2013-01-14T21:05:04Z,#msn_cabs1-83.10526455,42.49038767,,0 123 | 2013-01-14T21:05:05Z,#msn_cabs2-83.10621272,42.49086563,,0 124 | 2013-01-14T21:05:05Z,#msn_cabs1-83.10526231,42.49033932,,0 125 | 2013-01-14T21:05:06Z,#msn_cabs2-83.10606157,42.49086549,,0 126 | 2013-01-14T21:05:06Z,#msn_cabs1-83.10526007,42.49029097,,0 127 | 2013-01-14T21:05:07Z,#msn_cabs2-83.10591043,42.49086535,,0 128 | 2013-01-14T21:05:07Z,#msn_cabs1-83.10525783,42.49024261,,0 129 | 2013-01-14T21:05:08Z,#msn_cabs2-83.10575929,42.49086522,,0 130 | 2013-01-14T21:05:08Z,#msn_cabs1-83.10525559,42.49019426,,0 131 | 2013-01-14T21:05:09Z,#msn_cabs2-83.10560815,42.49086508,,0 132 | 2013-01-14T21:05:09Z,#msn_cabs1-83.10525335,42.4901459,,0 133 | 2013-01-14T21:05:10Z,#msn_cabs2-83.105457,42.49086494,,0 134 | 2013-01-14T21:05:10Z,#msn_cabs1-83.1052511,42.49009755,,0 135 | 2013-01-14T21:05:11Z,#msn_cabs2-83.10530586,42.4908648,,0 136 | 2013-01-14T21:05:11Z,#msn_cabs1-83.10524886,42.4900492,,0 137 | 2013-01-14T21:05:12Z,#msn_cabs2-83.10515472,42.49086466,,0 138 | 2013-01-14T21:05:12Z,#msn_cabs1-83.10524662,42.49000084,,0 139 | 2013-01-14T21:05:13Z,#msn_cabs2-83.10500357,42.49086453,,0 140 | 2013-01-14T21:05:13Z,#msn_cabs1-83.10524438,42.48995249,,0 141 | 2013-01-14T21:05:14Z,#msn_cabs2-83.10485243,42.49086439,,0 142 | 2013-01-14T21:05:14Z,#msn_cabs1-83.10524214,42.48990414,,0 143 | 2013-01-14T21:05:15Z,#msn_cabs2-83.10470129,42.49086425,,0 144 | 2013-01-14T21:05:15Z,#msn_cabs1-83.1052399,42.48985578,,0 145 | 2013-01-14T21:05:16Z,#msn_cabs2-83.10455014,42.49086411,,0 146 | 2013-01-14T21:05:16Z,#msn_cabs1-83.10523766,42.48980743,,0 147 | 2013-01-14T21:05:17Z,#msn_cabs2-83.104399,42.49086397,,0 148 | 2013-01-14T21:05:17Z,#msn_cabs1-83.10523542,42.48975908,,0 149 | 2013-01-14T21:05:18Z,#msn_cabs2-83.10424786,42.49086384,,0 150 | 2013-01-14T21:05:18Z,#msn_cabs1-83.10523318,42.48971072,,0 151 | 2013-01-14T21:05:19Z,#msn_cabs2-83.10409672,42.4908637,,0 152 | 2013-01-14T21:05:19Z,#msn_cabs1-83.10523093,42.48966237,,0 153 | 2013-01-14T21:05:20Z,#msn_cabs2-83.10394557,42.49086356,,0 154 | 2013-01-14T21:05:20Z,#msn_cabs1-83.10522869,42.48961401,,0 155 | 2013-01-14T21:05:21Z,#msn_cabs2-83.10379443,42.49086342,,0 156 | 2013-01-14T21:05:21Z,#msn_cabs1-83.10522645,42.48956566,,0 157 | 2013-01-14T21:05:22Z,#msn_cabs2-83.10364329,42.49086328,,0 158 | 2013-01-14T21:05:22Z,#msn_cabs1-83.10522421,42.48951731,,0 159 | 2013-01-14T21:05:23Z,#msn_cabs2-83.10349214,42.49086315,,0 160 | 2013-01-14T21:05:23Z,#msn_cabs1-83.10522197,42.48946895,,0 161 | 2013-01-14T21:05:24Z,#msn_cabs2-83.103341,42.49086301,,0 162 | 2013-01-14T21:05:24Z,#msn_cabs1-83.10521973,42.4894206,,0 163 | 2013-01-14T21:05:25Z,#msn_cabs2-83.10318986,42.49086287,,0 164 | 2013-01-14T21:05:25Z,#msn_cabs1-83.10521749,42.48937225,,0 165 | 2013-01-14T21:05:26Z,#msn_cabs2-83.10303872,42.49086273,,0 166 | 2013-01-14T21:05:26Z,#msn_cabs1-83.10521525,42.48932389,,0 167 | 2013-01-14T21:05:27Z,#msn_cabs2-83.10288757,42.49086259,,0 168 | 2013-01-14T21:05:27Z,#msn_cabs1-83.105213,42.48927554,,0 169 | 2013-01-14T21:05:28Z,#msn_cabs2-83.10273643,42.49086246,,0 170 | 2013-01-14T21:05:28Z,#msn_cabs1-83.10521076,42.48922719,,0 171 | 2013-01-14T21:05:29Z,#msn_cabs2-83.10258529,42.49086232,,0 172 | 2013-01-14T21:05:29Z,#msn_cabs1-83.10520852,42.48917883,,0 173 | 2013-01-14T21:05:30Z,#msn_cabs2-83.10243414,42.49086218,,0 174 | 2013-01-14T21:05:30Z,#msn_cabs1-83.10520628,42.48913048,,0 175 | 2013-01-14T21:05:31Z,#msn_cabs2-83.102283,42.49086204,,0 176 | 2013-01-14T21:05:31Z,#msn_cabs1-83.10520404,42.48908212,,0 177 | 2013-01-14T21:05:32Z,#msn_cabs2-83.10213186,42.4908619,,0 178 | 2013-01-14T21:05:32Z,#msn_cabs1-83.1052018,42.48903377,,0 179 | 2013-01-14T21:05:33Z,#msn_cabs2-83.10198071,42.49086177,,0 180 | 2013-01-14T21:05:33Z,#msn_cabs1-83.10519956,42.48898542,,0 181 | 2013-01-14T21:05:34Z,#msn_cabs2-83.10182957,42.49086163,,0 182 | 2013-01-14T21:05:34Z,#msn_cabs1-83.10519732,42.48893706,,0 183 | 2013-01-14T21:05:35Z,#msn_cabs2-83.10167843,42.49086149,,0 184 | 2013-01-14T21:05:35Z,#msn_cabs1-83.10519507,42.48888871,,0 185 | 2013-01-14T21:05:36Z,#msn_cabs2-83.10152729,42.49086135,,0 186 | 2013-01-14T21:05:36Z,#msn_cabs1-83.10519283,42.48884036,,0 187 | 2013-01-14T21:05:37Z,#msn_cabs2-83.10137614,42.49086121,,0 188 | 2013-01-14T21:05:37Z,#msn_cabs1-83.10519059,42.488792,,0 189 | 2013-01-14T21:05:38Z,#msn_cabs2-83.101225,42.49086108,,0 190 | 2013-01-14T21:05:38Z,#msn_cabs1-83.10518835,42.48874365,,0 191 | 2013-01-14T21:05:39Z,#msn_cabs2-83.10107386,42.49086094,,0 192 | 2013-01-14T21:05:39Z,#msn_cabs1-83.10518611,42.4886953,,0 193 | 2013-01-14T21:05:40Z,#msn_cabs2-83.10092271,42.4908608,,0 194 | 2013-01-14T21:05:40Z,#msn_cabs1-83.10518387,42.48864694,,0 195 | 2013-01-14T21:05:41Z,#msn_cabs2-83.10077157,42.49086066,,0 196 | 2013-01-14T21:05:41Z,#msn_cabs1-83.10518163,42.48859859,,0 197 | 2013-01-14T21:05:42Z,#msn_cabs2-83.10062043,42.49086052,,0 198 | 2013-01-14T21:05:42Z,#msn_cabs1-83.10517939,42.48855023,,0 199 | 2013-01-14T21:05:43Z,#msn_cabs2-83.10046929,42.49086039,,0 200 | 2013-01-14T21:05:43Z,#msn_cabs1-83.10517714,42.48850188,,0 201 | 2013-01-14T21:05:44Z,#msn_cabs2-83.10031814,42.49086025,,0 202 | 2013-01-14T21:05:44Z,#msn_cabs1-83.1051749,42.48845353,,0 203 | 2013-01-14T21:05:45Z,#msn_cabs2-83.100167,42.49086011,,0 204 | 2013-01-14T21:05:45Z,#msn_cabs1-83.10517266,42.48840517,,0 205 | 2013-01-14T21:05:46Z,#msn_cabs2-83.10001586,42.49085997,,0 206 | 2013-01-14T21:05:46Z,#msn_cabs1-83.10517042,42.48835682,,0 207 | 2013-01-14T21:05:47Z,#msn_cabs2-83.09986471,42.49085984,,0 208 | 2013-01-14T21:05:47Z,#msn_cabs1-83.10516818,42.48830847,,0 209 | 2013-01-14T21:05:48Z,#msn_cabs2-83.09971357,42.4908597,,0 210 | 2013-01-14T21:05:48Z,#msn_cabs1-83.10516594,42.48826011,,0 211 | 2013-01-14T21:05:49Z,#msn_cabs2-83.09956243,42.49085956,,0 212 | 2013-01-14T21:05:49Z,#msn_cabs1-83.1051637,42.48821176,,0 213 | 2013-01-14T21:05:50Z,#msn_cabs2-83.09941129,42.49085942,,0 214 | 2013-01-14T21:05:50Z,#msn_cabs1-83.10516146,42.48816341,,0 215 | 2013-01-14T21:05:51Z,#msn_cabs2-83.09926014,42.49085928,,0 216 | 2013-01-14T21:05:51Z,#msn_cabs1-83.10515921,42.48811505,,0 217 | 2013-01-14T21:05:52Z,#msn_cabs2-83.099109,42.49085915,,0 218 | 2013-01-14T21:05:52Z,#msn_cabs1-83.10515697,42.4880667,,0 219 | 2013-01-14T21:05:53Z,#msn_cabs2-83.09895786,42.49085901,,0 220 | 2013-01-14T21:05:53Z,#msn_cabs1-83.10515473,42.48801834,,0 221 | 2013-01-14T21:05:54Z,#msn_cabs2-83.09880671,42.49085887,,0 222 | 2013-01-14T21:05:54Z,#msn_cabs1-83.10515249,42.48796999,,0 223 | 2013-01-14T21:05:55Z,#msn_cabs2-83.09865557,42.49085873,,0 224 | 2013-01-14T21:05:55Z,#msn_cabs1-83.10515025,42.48792164,,0 225 | 2013-01-14T21:05:56Z,#msn_cabs2-83.09850443,42.49085859,,0 226 | 2013-01-14T21:05:56Z,#msn_cabs1-83.10514801,42.48787328,,0 227 | 2013-01-14T21:05:57Z,#msn_cabs2-83.09835328,42.49085846,,0 228 | 2013-01-14T21:05:57Z,#msn_cabs1-83.10514577,42.48782493,,0 229 | 2013-01-14T21:05:58Z,#msn_cabs2-83.09820214,42.49085832,,0 230 | 2013-01-14T21:05:58Z,#msn_cabs1-83.10514353,42.48777658,,0 231 | 2013-01-14T21:05:59Z,#msn_cabs2-83.098051,42.49085818,,0 232 | 2013-01-14T21:05:59Z,#msn_cabs1-83.10514128,42.48772822,,0 233 | 234 | -------------------------------------------------------------------------------- /input3_v1.kml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | Points with TimeStamps 13 | 25 | 37 | 38 | 39 | normal 40 | #sn_cabs3 41 | 42 | 43 | highlight 44 | #sh_cabs3 45 | 46 | 47 | 48 | 60 | 72 | 73 | 74 | normal 75 | #sn_cabs2 76 | 77 | 78 | highlight 79 | #sh_cabs2 80 | 81 | 82 | 83 | 84 | 85 | normal 86 | #sn_cabs1 87 | 88 | 89 | highlight 90 | #sh_cabs1 91 | 92 | 93 | 105 | 117 | 2013-01-14T21:05:02Z,#msn_cabs2-83.10666615,42.49086604,,0 118 | 2013-01-14T21:05:02Z,#msn_cabs1-83.10666725,42.49076179,,0 119 | 2013-01-14T21:05:03Z,#msn_cabs2-83.106515,42.49086591,,0 120 | 2013-01-14T21:05:03Z,#msn_cabs1-83.10653294,42.49076213,,0 121 | 2013-01-14T21:05:04Z,#msn_cabs2-83.10636386,42.49086577,,0 122 | 2013-01-14T21:05:04Z,#msn_cabs1-83.10639863,42.49076247,,0 123 | 2013-01-14T21:05:05Z,#msn_cabs2-83.10621272,42.49086563,,0 124 | 2013-01-14T21:05:05Z,#msn_cabs1-83.10626433,42.49076282,,0 125 | 2013-01-14T21:05:06Z,#msn_cabs2-83.10606157,42.49086549,,0 126 | 2013-01-14T21:05:06Z,#msn_cabs1-83.10613002,42.49076316,,0 127 | 2013-01-14T21:05:07Z,#msn_cabs2-83.10591043,42.49086535,,0 128 | 2013-01-14T21:05:07Z,#msn_cabs1-83.10599571,42.4907635,,0 129 | 2013-01-14T21:05:08Z,#msn_cabs2-83.10575929,42.49086522,,0 130 | 2013-01-14T21:05:08Z,#msn_cabs1-83.10586141,42.49076385,,0 131 | 2013-01-14T21:05:09Z,#msn_cabs2-83.10560815,42.49086508,,0 132 | 2013-01-14T21:05:09Z,#msn_cabs1-83.1057271,42.49076419,,0 133 | 2013-01-14T21:05:10Z,#msn_cabs2-83.105457,42.49086494,,0 134 | 2013-01-14T21:05:10Z,#msn_cabs1-83.10559279,42.49076454,,0 135 | 2013-01-14T21:05:11Z,#msn_cabs2-83.10530586,42.4908648,,0 136 | 2013-01-14T21:05:11Z,#msn_cabs1-83.10545849,42.49076488,,0 137 | 2013-01-14T21:05:12Z,#msn_cabs2-83.10515472,42.49086466,,0 138 | 2013-01-14T21:05:12Z,#msn_cabs1-83.10532418,42.49076522,,0 139 | 2013-01-14T21:05:13Z,#msn_cabs2-83.10500357,42.49086453,,0 140 | 2013-01-14T21:05:13Z,#msn_cabs1-83.10518987,42.49076557,,0 141 | 2013-01-14T21:05:14Z,#msn_cabs2-83.10485243,42.49086439,,0 142 | 2013-01-14T21:05:14Z,#msn_cabs1-83.10505557,42.49076591,,0 143 | 2013-01-14T21:05:15Z,#msn_cabs2-83.10470129,42.49086425,,0 144 | 2013-01-14T21:05:15Z,#msn_cabs1-83.10492126,42.49076625,,0 145 | 2013-01-14T21:05:16Z,#msn_cabs2-83.10455014,42.49086411,,0 146 | 2013-01-14T21:05:16Z,#msn_cabs1-83.10478696,42.4907666,,0 147 | 2013-01-14T21:05:17Z,#msn_cabs2-83.104399,42.49086397,,0 148 | 2013-01-14T21:05:17Z,#msn_cabs1-83.10465265,42.49076694,,0 149 | 2013-01-14T21:05:18Z,#msn_cabs2-83.10424786,42.49086384,,0 150 | 2013-01-14T21:05:18Z,#msn_cabs1-83.10451834,42.49076729,,0 151 | 2013-01-14T21:05:19Z,#msn_cabs2-83.10409672,42.4908637,,0 152 | 2013-01-14T21:05:19Z,#msn_cabs1-83.10438404,42.49076763,,0 153 | 2013-01-14T21:05:20Z,#msn_cabs2-83.10394557,42.49086356,,0 154 | 2013-01-14T21:05:20Z,#msn_cabs1-83.10424973,42.49076797,,0 155 | 2013-01-14T21:05:21Z,#msn_cabs2-83.10379443,42.49086342,,0 156 | 2013-01-14T21:05:21Z,#msn_cabs1-83.10411542,42.49076832,,0 157 | 2013-01-14T21:05:22Z,#msn_cabs2-83.10364329,42.49086328,,0 158 | 2013-01-14T21:05:22Z,#msn_cabs1-83.10398112,42.49076866,,0 159 | 2013-01-14T21:05:23Z,#msn_cabs2-83.10349214,42.49086315,,0 160 | 2013-01-14T21:05:23Z,#msn_cabs1-83.10384681,42.49076901,,0 161 | 2013-01-14T21:05:24Z,#msn_cabs2-83.103341,42.49086301,,0 162 | 2013-01-14T21:05:24Z,#msn_cabs1-83.1037125,42.49076935,,0 163 | 2013-01-14T21:05:25Z,#msn_cabs2-83.10318986,42.49086287,,0 164 | 2013-01-14T21:05:25Z,#msn_cabs1-83.1035782,42.49076969,,0 165 | 2013-01-14T21:05:26Z,#msn_cabs2-83.10303872,42.49086273,,0 166 | 2013-01-14T21:05:26Z,#msn_cabs1-83.10344389,42.49077004,,0 167 | 2013-01-14T21:05:27Z,#msn_cabs2-83.10288757,42.49086259,,0 168 | 2013-01-14T21:05:27Z,#msn_cabs1-83.10330958,42.49077038,,0 169 | 2013-01-14T21:05:28Z,#msn_cabs2-83.10273643,42.49086246,,0 170 | 2013-01-14T21:05:28Z,#msn_cabs1-83.10317528,42.49077072,,0 171 | 2013-01-14T21:05:29Z,#msn_cabs2-83.10258529,42.49086232,,0 172 | 2013-01-14T21:05:29Z,#msn_cabs1-83.10304097,42.49077107,,0 173 | 2013-01-14T21:05:30Z,#msn_cabs2-83.10243414,42.49086218,,0 174 | 2013-01-14T21:05:30Z,#msn_cabs1-83.10290666,42.49077141,,0 175 | 2013-01-14T21:05:31Z,#msn_cabs2-83.102283,42.49086204,,0 176 | 2013-01-14T21:05:31Z,#msn_cabs1-83.10277236,42.49077176,,0 177 | 2013-01-14T21:05:32Z,#msn_cabs2-83.10213186,42.4908619,,0 178 | 2013-01-14T21:05:32Z,#msn_cabs1-83.10263805,42.4907721,,0 179 | 2013-01-14T21:05:33Z,#msn_cabs2-83.10198071,42.49086177,,0 180 | 2013-01-14T21:05:33Z,#msn_cabs1-83.10250375,42.49077244,,0 181 | 2013-01-14T21:05:34Z,#msn_cabs2-83.10182957,42.49086163,,0 182 | 2013-01-14T21:05:34Z,#msn_cabs1-83.10236944,42.49077279,,0 183 | 2013-01-14T21:05:35Z,#msn_cabs2-83.10167843,42.49086149,,0 184 | 2013-01-14T21:05:35Z,#msn_cabs1-83.10223513,42.49077313,,0 185 | 2013-01-14T21:05:36Z,#msn_cabs2-83.10152729,42.49086135,,0 186 | 2013-01-14T21:05:36Z,#msn_cabs1-83.10210083,42.49077347,,0 187 | 2013-01-14T21:05:37Z,#msn_cabs2-83.10137614,42.49086121,,0 188 | 2013-01-14T21:05:37Z,#msn_cabs1-83.10196652,42.49077382,,0 189 | 2013-01-14T21:05:38Z,#msn_cabs2-83.101225,42.49086108,,0 190 | 2013-01-14T21:05:38Z,#msn_cabs1-83.10183221,42.49077416,,0 191 | 2013-01-14T21:05:39Z,#msn_cabs2-83.10107386,42.49086094,,0 192 | 2013-01-14T21:05:39Z,#msn_cabs1-83.10169791,42.49077451,,0 193 | 2013-01-14T21:05:40Z,#msn_cabs2-83.10092271,42.4908608,,0 194 | 2013-01-14T21:05:40Z,#msn_cabs1-83.1015636,42.49077485,,0 195 | 2013-01-14T21:05:41Z,#msn_cabs2-83.10077157,42.49086066,,0 196 | 2013-01-14T21:05:41Z,#msn_cabs1-83.10142929,42.49077519,,0 197 | 2013-01-14T21:05:42Z,#msn_cabs2-83.10062043,42.49086052,,0 198 | 2013-01-14T21:05:42Z,#msn_cabs1-83.10129499,42.49077554,,0 199 | 2013-01-14T21:05:43Z,#msn_cabs2-83.10046929,42.49086039,,0 200 | 2013-01-14T21:05:43Z,#msn_cabs1-83.10116068,42.49077588,,0 201 | 2013-01-14T21:05:44Z,#msn_cabs2-83.10031814,42.49086025,,0 202 | 2013-01-14T21:05:44Z,#msn_cabs1-83.10102637,42.49077622,,0 203 | 2013-01-14T21:05:45Z,#msn_cabs2-83.100167,42.49086011,,0 204 | 2013-01-14T21:05:45Z,#msn_cabs1-83.10089207,42.49077657,,0 205 | 2013-01-14T21:05:46Z,#msn_cabs2-83.10001586,42.49085997,,0 206 | 2013-01-14T21:05:46Z,#msn_cabs1-83.10075776,42.49077691,,0 207 | 2013-01-14T21:05:47Z,#msn_cabs2-83.09986471,42.49085984,,0 208 | 2013-01-14T21:05:47Z,#msn_cabs1-83.10062346,42.49077726,,0 209 | 2013-01-14T21:05:48Z,#msn_cabs2-83.09971357,42.4908597,,0 210 | 2013-01-14T21:05:48Z,#msn_cabs1-83.10048915,42.4907776,,0 211 | 2013-01-14T21:05:49Z,#msn_cabs2-83.09956243,42.49085956,,0 212 | 2013-01-14T21:05:49Z,#msn_cabs1-83.10035484,42.49077794,,0 213 | 2013-01-14T21:05:50Z,#msn_cabs2-83.09941129,42.49085942,,0 214 | 2013-01-14T21:05:50Z,#msn_cabs1-83.10022054,42.49077829,,0 215 | 2013-01-14T21:05:51Z,#msn_cabs2-83.09926014,42.49085928,,0 216 | 2013-01-14T21:05:51Z,#msn_cabs1-83.10008623,42.49077863,,0 217 | 2013-01-14T21:05:52Z,#msn_cabs2-83.099109,42.49085915,,0 218 | 2013-01-14T21:05:52Z,#msn_cabs1-83.09995192,42.49077898,,0 219 | 2013-01-14T21:05:53Z,#msn_cabs2-83.09895786,42.49085901,,0 220 | 2013-01-14T21:05:53Z,#msn_cabs1-83.09981762,42.49077932,,0 221 | 2013-01-14T21:05:54Z,#msn_cabs2-83.09880671,42.49085887,,0 222 | 2013-01-14T21:05:54Z,#msn_cabs1-83.09968331,42.49077966,,0 223 | 2013-01-14T21:05:55Z,#msn_cabs2-83.09865557,42.49085873,,0 224 | 2013-01-14T21:05:55Z,#msn_cabs1-83.099549,42.49078001,,0 225 | 2013-01-14T21:05:56Z,#msn_cabs2-83.09850443,42.49085859,,0 226 | 2013-01-14T21:05:56Z,#msn_cabs1-83.0994147,42.49078035,,0 227 | 2013-01-14T21:05:57Z,#msn_cabs2-83.09835328,42.49085846,,0 228 | 2013-01-14T21:05:57Z,#msn_cabs1-83.09928039,42.49078069,,0 229 | 2013-01-14T21:05:58Z,#msn_cabs2-83.09820214,42.49085832,,0 230 | 2013-01-14T21:05:58Z,#msn_cabs1-83.09914608,42.49078104,,0 231 | 2013-01-14T21:05:59Z,#msn_cabs2-83.098051,42.49085818,,0 232 | 2013-01-14T21:05:59Z,#msn_cabs1-83.09901178,42.49078138,,0 233 | 234 | -------------------------------------------------------------------------------- /input_v1.kml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | Points with TimeStamps 13 | 25 | 37 | 38 | 39 | normal 40 | #sn_cabs3 41 | 42 | 43 | highlight 44 | #sh_cabs3 45 | 46 | 47 | 48 | 60 | 72 | 73 | 74 | normal 75 | #sn_cabs2 76 | 77 | 78 | highlight 79 | #sh_cabs2 80 | 81 | 82 | 83 | 84 | 85 | normal 86 | #sn_cabs1 87 | 88 | 89 | highlight 90 | #sh_cabs1 91 | 92 | 93 | 105 | 117 | 2013-01-14T21:05:02Z,#msn_cabs2-83.19120689,42.50300772,,0 118 | 2013-01-14T21:05:02Z,#msn_cabs1-83.18495288,42.50205015,,0 119 | 2013-01-14T21:05:03Z,#msn_cabs2-83.19108405,42.50301042,,0 120 | 2013-01-14T21:05:03Z,#msn_cabs1-83.18495326,42.50207182,,0 121 | 2013-01-14T21:05:04Z,#msn_cabs2-83.19096122,42.50301312,,0 122 | 2013-01-14T21:05:04Z,#msn_cabs1-83.18495364,42.50209349,,0 123 | 2013-01-14T21:05:05Z,#msn_cabs2-83.19083839,42.50301582,,0 124 | 2013-01-14T21:05:05Z,#msn_cabs1-83.18495402,42.50211517,,0 125 | 2013-01-14T21:05:06Z,#msn_cabs2-83.19071555,42.50301852,,0 126 | 2013-01-14T21:05:06Z,#msn_cabs1-83.18495441,42.50213684,,0 127 | 2013-01-14T21:05:07Z,#msn_cabs2-83.19059272,42.50302121,,0 128 | 2013-01-14T21:05:07Z,#msn_cabs1-83.18495479,42.50215851,,0 129 | 2013-01-14T21:05:08Z,#msn_cabs2-83.19046989,42.50302391,,0 130 | 2013-01-14T21:05:08Z,#msn_cabs1-83.18495517,42.50218018,,0 131 | 2013-01-14T21:05:09Z,#msn_cabs2-83.19034706,42.50302661,,0 132 | 2013-01-14T21:05:09Z,#msn_cabs1-83.18495556,42.50220186,,0 133 | 2013-01-14T21:05:10Z,#msn_cabs2-83.19022422,42.50302931,,0 134 | 2013-01-14T21:05:10Z,#msn_cabs1-83.18495594,42.50222353,,0 135 | 2013-01-14T21:05:11Z,#msn_cabs2-83.19010139,42.50303201,,0 136 | 2013-01-14T21:05:11Z,#msn_cabs1-83.18495632,42.5022452,,0 137 | 2013-01-14T21:05:12Z,#msn_cabs2-83.18997856,42.50303471,,0 138 | 2013-01-14T21:05:12Z,#msn_cabs1-83.18495671,42.50226687,,0 139 | 2013-01-14T21:05:13Z,#msn_cabs2-83.18985572,42.5030374,,0 140 | 2013-01-14T21:05:13Z,#msn_cabs1-83.18495709,42.50228855,,0 141 | 2013-01-14T21:05:14Z,#msn_cabs2-83.18973289,42.5030401,,0 142 | 2013-01-14T21:05:14Z,#msn_cabs1-83.18495747,42.50231022,,0 143 | 2013-01-14T21:05:15Z,#msn_cabs2-83.18961006,42.5030428,,0 144 | 2013-01-14T21:05:15Z,#msn_cabs1-83.18495785,42.50233189,,0 145 | 2013-01-14T21:05:16Z,#msn_cabs2-83.18948722,42.5030455,,0 146 | 2013-01-14T21:05:16Z,#msn_cabs1-83.18495824,42.50235357,,0 147 | 2013-01-14T21:05:17Z,#msn_cabs2-83.18936439,42.5030482,,0 148 | 2013-01-14T21:05:17Z,#msn_cabs1-83.18495862,42.50237524,,0 149 | 2013-01-14T21:05:18Z,#msn_cabs2-83.18924156,42.5030509,,0 150 | 2013-01-14T21:05:18Z,#msn_cabs1-83.184959,42.50239691,,0 151 | 2013-01-14T21:05:19Z,#msn_cabs2-83.18911873,42.5030536,,0 152 | 2013-01-14T21:05:19Z,#msn_cabs1-83.18495939,42.50241858,,0 153 | 2013-01-14T21:05:20Z,#msn_cabs2-83.18899589,42.50305629,,0 154 | 2013-01-14T21:05:20Z,#msn_cabs1-83.18495977,42.50244026,,0 155 | 2013-01-14T21:05:21Z,#msn_cabs2-83.18887306,42.50305899,,0 156 | 2013-01-14T21:05:21Z,#msn_cabs1-83.18496015,42.50246193,,0 157 | 2013-01-14T21:05:22Z,#msn_cabs2-83.18875023,42.50306169,,0 158 | 2013-01-14T21:05:22Z,#msn_cabs1-83.18496054,42.5024836,,0 159 | 2013-01-14T21:05:23Z,#msn_cabs2-83.18862739,42.50306439,,0 160 | 2013-01-14T21:05:23Z,#msn_cabs1-83.18496092,42.50250527,,0 161 | 2013-01-14T21:05:24Z,#msn_cabs2-83.18850456,42.50306709,,0 162 | 2013-01-14T21:05:24Z,#msn_cabs1-83.1849613,42.50252695,,0 163 | 2013-01-14T21:05:25Z,#msn_cabs2-83.18838173,42.50306979,,0 164 | 2013-01-14T21:05:25Z,#msn_cabs1-83.18496168,42.50254862,,0 165 | 2013-01-14T21:05:26Z,#msn_cabs2-83.18825889,42.50307248,,0 166 | 2013-01-14T21:05:26Z,#msn_cabs1-83.18496207,42.50257029,,0 167 | 2013-01-14T21:05:27Z,#msn_cabs2-83.18813606,42.50307518,,0 168 | 2013-01-14T21:05:27Z,#msn_cabs1-83.18496245,42.50259196,,0 169 | 2013-01-14T21:05:28Z,#msn_cabs2-83.18801323,42.50307788,,0 170 | 2013-01-14T21:05:28Z,#msn_cabs1-83.18496283,42.50261364,,0 171 | 2013-01-14T21:05:29Z,#msn_cabs2-83.18789039,42.50308058,,0 172 | 2013-01-14T21:05:29Z,#msn_cabs1-83.18496322,42.50263531,,0 173 | 2013-01-14T21:05:30Z,#msn_cabs2-83.18776756,42.50308328,,0 174 | 2013-01-14T21:05:30Z,#msn_cabs1-83.1849636,42.50265698,,0 175 | 2013-01-14T21:05:31Z,#msn_cabs2-83.18764473,42.50308598,,0 176 | 2013-01-14T21:05:31Z,#msn_cabs1-83.18496398,42.50267866,,0 177 | 2013-01-14T21:05:32Z,#msn_cabs2-83.1875219,42.50308868,,0 178 | 2013-01-14T21:05:32Z,#msn_cabs1-83.18496437,42.50270033,,0 179 | 2013-01-14T21:05:33Z,#msn_cabs2-83.18739906,42.50309137,,0 180 | 2013-01-14T21:05:33Z,#msn_cabs1-83.18496475,42.502722,,0 181 | 2013-01-14T21:05:34Z,#msn_cabs2-83.18727623,42.50309407,,0 182 | 2013-01-14T21:05:34Z,#msn_cabs1-83.18496513,42.50274367,,0 183 | 2013-01-14T21:05:35Z,#msn_cabs2-83.1871534,42.50309677,,0 184 | 2013-01-14T21:05:35Z,#msn_cabs1-83.18496551,42.50276535,,0 185 | 2013-01-14T21:05:36Z,#msn_cabs2-83.18703056,42.50309947,,0 186 | 2013-01-14T21:05:36Z,#msn_cabs1-83.1849659,42.50278702,,0 187 | 2013-01-14T21:05:37Z,#msn_cabs2-83.18690773,42.50310217,,0 188 | 2013-01-14T21:05:37Z,#msn_cabs1-83.18496628,42.50280869,,0 189 | 2013-01-14T21:05:38Z,#msn_cabs2-83.1867849,42.50310487,,0 190 | 2013-01-14T21:05:38Z,#msn_cabs1-83.18496666,42.50283036,,0 191 | 2013-01-14T21:05:39Z,#msn_cabs2-83.18666206,42.50310756,,0 192 | 2013-01-14T21:05:39Z,#msn_cabs1-83.18496705,42.50285204,,0 193 | 2013-01-14T21:05:40Z,#msn_cabs2-83.18653923,42.50311026,,0 194 | 2013-01-14T21:05:40Z,#msn_cabs1-83.18496743,42.50287371,,0 195 | 2013-01-14T21:05:41Z,#msn_cabs2-83.1864164,42.50311296,,0 196 | 2013-01-14T21:05:41Z,#msn_cabs1-83.18496781,42.50289538,,0 197 | 2013-01-14T21:05:42Z,#msn_cabs2-83.18629357,42.50311566,,0 198 | 2013-01-14T21:05:42Z,#msn_cabs1-83.18496819,42.50291706,,0 199 | 2013-01-14T21:05:43Z,#msn_cabs2-83.18617073,42.50311836,,0 200 | 2013-01-14T21:05:43Z,#msn_cabs1-83.18496858,42.50293873,,0 201 | 2013-01-14T21:05:44Z,#msn_cabs2-83.1860479,42.50312106,,0 202 | 2013-01-14T21:05:44Z,#msn_cabs1-83.18496896,42.5029604,,0 203 | 2013-01-14T21:05:45Z,#msn_cabs3-83.18592507,42.50312376,,0 204 | 2013-01-14T21:05:45Z,#msn_cabs3-83.18496934,42.50298207,,0 205 | 2013-01-14T21:05:46Z,#msn_cabs3-83.18580223,42.50312645,,0 206 | 2013-01-14T21:05:46Z,#msn_cabs3-83.18496973,42.50300375,,0 207 | 2013-01-14T21:05:47Z,#msn_cabs3-83.1856794,42.50312915,,0 208 | 2013-01-14T21:05:47Z,#msn_cabs3-83.18497011,42.50302542,,0 209 | 2013-01-14T21:05:48Z,#msn_cabs3-83.18555657,42.50313185,,0 210 | 2013-01-14T21:05:48Z,#msn_cabs3-83.18497049,42.50304709,,0 211 | 2013-01-14T21:05:49Z,#msn_cabs3-83.18543373,42.50313455,,0 212 | 2013-01-14T21:05:49Z,#msn_cabs3-83.18497088,42.50306876,,0 213 | 2013-01-14T21:05:50Z,#msn_cabs3-83.1853109,42.50313725,,0 214 | 2013-01-14T21:05:50Z,#msn_cabs3-83.18497126,42.50309044,,0 215 | 2013-01-14T21:05:51Z,#msn_cabs3-83.18518807,42.50313995,,0 216 | 2013-01-14T21:05:51Z,#msn_cabs3-83.18497164,42.50311211,,0 217 | 2013-01-14T21:05:52Z,#msn_cabs3-83.18506523,42.50314265,,0 218 | 2013-01-14T21:05:52Z,#msn_cabs3-83.18497202,42.50313378,,0 219 | 2013-01-14T21:05:53Z,#msn_cabs2-83.1849424,42.50314534,,0 220 | 2013-01-14T21:05:53Z,#msn_cabs1-83.18497241,42.50315545,,0 221 | 2013-01-14T21:05:54Z,#msn_cabs2-83.18481957,42.50314804,,0 222 | 2013-01-14T21:05:54Z,#msn_cabs1-83.18497279,42.50317713,,0 223 | 2013-01-14T21:05:55Z,#msn_cabs2-83.18469674,42.50315074,,0 224 | 2013-01-14T21:05:55Z,#msn_cabs1-83.18497317,42.5031988,,0 225 | 2013-01-14T21:05:56Z,#msn_cabs2-83.1845739,42.50315344,,0 226 | 2013-01-14T21:05:56Z,#msn_cabs1-83.18497356,42.50322047,,0 227 | 2013-01-14T21:05:57Z,#msn_cabs2-83.18445107,42.50315614,,0 228 | 2013-01-14T21:05:57Z,#msn_cabs1-83.18497394,42.50324215,,0 229 | 2013-01-14T21:05:58Z,#msn_cabs2-83.18432824,42.50315884,,0 230 | 2013-01-14T21:05:58Z,#msn_cabs1-83.18497432,42.50326382,,0 231 | 2013-01-14T21:05:59Z,#msn_cabs2-83.1842054,42.50316153,,0 232 | 2013-01-14T21:05:59Z,#msn_cabs1-83.18497471,42.50328549,,0 233 | 234 | -------------------------------------------------------------------------------- /input4_v1.kml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | Points with TimeStamps 13 | 25 | 37 | 38 | 39 | normal 40 | #sn_cabs3 41 | 42 | 43 | highlight 44 | #sh_cabs3 45 | 46 | 47 | 48 | 60 | 72 | 73 | 74 | normal 75 | #sn_cabs2 76 | 77 | 78 | highlight 79 | #sh_cabs2 80 | 81 | 82 | 83 | 84 | 85 | normal 86 | #sn_cabs1 87 | 88 | 89 | highlight 90 | #sh_cabs1 91 | 92 | 93 | 105 | 117 | 2013-01-14T21:05:02Z,#msn_cabs2-83.30064104,42.50081619,,0 118 | 2013-01-14T21:05:02Z,#msn_cabs1-83.30171392,42.49811132,,0 119 | 2013-01-14T21:05:03Z,#msn_cabs2-83.30078939,42.50081209,,0 120 | 2013-01-14T21:05:03Z,#msn_cabs1-83.30183786,42.49816542,,0 121 | 2013-01-14T21:05:04Z,#msn_cabs2-83.30093773,42.500808,,0 122 | 2013-01-14T21:05:04Z,#msn_cabs1-83.30196179,42.49821951,,0 123 | 2013-01-14T21:05:05Z,#msn_cabs2-83.30108608,42.50080391,,0 124 | 2013-01-14T21:05:05Z,#msn_cabs1-83.30208573,42.4982736,,0 125 | 2013-01-14T21:05:06Z,#msn_cabs2-83.30123442,42.50079982,,0 126 | 2013-01-14T21:05:06Z,#msn_cabs1-83.30220966,42.4983277,,0 127 | 2013-01-14T21:05:07Z,#msn_cabs2-83.30138277,42.50079573,,0 128 | 2013-01-14T21:05:07Z,#msn_cabs1-83.3023336,42.49838179,,0 129 | 2013-01-14T21:05:08Z,#msn_cabs2-83.30153111,42.50079163,,0 130 | 2013-01-14T21:05:08Z,#msn_cabs1-83.30245753,42.49843588,,0 131 | 2013-01-14T21:05:09Z,#msn_cabs2-83.30167946,42.50078754,,0 132 | 2013-01-14T21:05:09Z,#msn_cabs1-83.30258147,42.49848997,,0 133 | 2013-01-14T21:05:10Z,#msn_cabs2-83.3018278,42.50078345,,0 134 | 2013-01-14T21:05:10Z,#msn_cabs1-83.3027054,42.49854407,,0 135 | 2013-01-14T21:05:11Z,#msn_cabs2-83.30197615,42.50077936,,0 136 | 2013-01-14T21:05:11Z,#msn_cabs1-83.30282934,42.49859816,,0 137 | 2013-01-14T21:05:12Z,#msn_cabs2-83.30212449,42.50077527,,0 138 | 2013-01-14T21:05:12Z,#msn_cabs1-83.30295327,42.49865225,,0 139 | 2013-01-14T21:05:13Z,#msn_cabs2-83.30227284,42.50077118,,0 140 | 2013-01-14T21:05:13Z,#msn_cabs1-83.30307721,42.49870635,,0 141 | 2013-01-14T21:05:14Z,#msn_cabs2-83.30242118,42.50076708,,0 142 | 2013-01-14T21:05:14Z,#msn_cabs1-83.30320115,42.49876044,,0 143 | 2013-01-14T21:05:15Z,#msn_cabs2-83.30256953,42.50076299,,0 144 | 2013-01-14T21:05:15Z,#msn_cabs1-83.30332508,42.49881453,,0 145 | 2013-01-14T21:05:16Z,#msn_cabs2-83.30271787,42.5007589,,0 146 | 2013-01-14T21:05:16Z,#msn_cabs1-83.30344902,42.49886863,,0 147 | 2013-01-14T21:05:17Z,#msn_cabs2-83.30286622,42.50075481,,0 148 | 2013-01-14T21:05:17Z,#msn_cabs1-83.30357295,42.49892272,,0 149 | 2013-01-14T21:05:18Z,#msn_cabs2-83.30301456,42.50075072,,0 150 | 2013-01-14T21:05:18Z,#msn_cabs1-83.30369689,42.49897681,,0 151 | 2013-01-14T21:05:19Z,#msn_cabs2-83.30316291,42.50074662,,0 152 | 2013-01-14T21:05:19Z,#msn_cabs1-83.30382082,42.4990309,,0 153 | 2013-01-14T21:05:20Z,#msn_cabs2-83.30331125,42.50074253,,0 154 | 2013-01-14T21:05:20Z,#msn_cabs1-83.30394476,42.499085,,0 155 | 2013-01-14T21:05:21Z,#msn_cabs2-83.3034596,42.50073844,,0 156 | 2013-01-14T21:05:21Z,#msn_cabs1-83.30406869,42.49913909,,0 157 | 2013-01-14T21:05:22Z,#msn_cabs2-83.30360795,42.50073435,,0 158 | 2013-01-14T21:05:22Z,#msn_cabs1-83.30419263,42.49919318,,0 159 | 2013-01-14T21:05:23Z,#msn_cabs2-83.30375629,42.50073026,,0 160 | 2013-01-14T21:05:23Z,#msn_cabs1-83.30431656,42.49924728,,0 161 | 2013-01-14T21:05:24Z,#msn_cabs2-83.30390464,42.50072617,,0 162 | 2013-01-14T21:05:24Z,#msn_cabs1-83.3044405,42.49930137,,0 163 | 2013-01-14T21:05:25Z,#msn_cabs2-83.30405298,42.50072207,,0 164 | 2013-01-14T21:05:25Z,#msn_cabs1-83.30456443,42.49935546,,0 165 | 2013-01-14T21:05:26Z,#msn_cabs2-83.30420133,42.50071798,,0 166 | 2013-01-14T21:05:26Z,#msn_cabs1-83.30468837,42.49940955,,0 167 | 2013-01-14T21:05:27Z,#msn_cabs2-83.30434967,42.50071389,,0 168 | 2013-01-14T21:05:27Z,#msn_cabs1-83.3048123,42.49946365,,0 169 | 2013-01-14T21:05:28Z,#msn_cabs2-83.30449802,42.5007098,,0 170 | 2013-01-14T21:05:28Z,#msn_cabs1-83.30493624,42.49951774,,0 171 | 2013-01-14T21:05:29Z,#msn_cabs2-83.30464636,42.50070571,,0 172 | 2013-01-14T21:05:29Z,#msn_cabs1-83.30506018,42.49957183,,0 173 | 2013-01-14T21:05:30Z,#msn_cabs2-83.30479471,42.50070161,,0 174 | 2013-01-14T21:05:30Z,#msn_cabs1-83.30518411,42.49962593,,0 175 | 2013-01-14T21:05:31Z,#msn_cabs2-83.30494305,42.50069752,,0 176 | 2013-01-14T21:05:31Z,#msn_cabs1-83.30530805,42.49968002,,0 177 | 2013-01-14T21:05:32Z,#msn_cabs2-83.3050914,42.50069343,,0 178 | 2013-01-14T21:05:32Z,#msn_cabs1-83.30543198,42.49973411,,0 179 | 2013-01-14T21:05:33Z,#msn_cabs2-83.30523974,42.50068934,,0 180 | 2013-01-14T21:05:33Z,#msn_cabs1-83.30555592,42.49978821,,0 181 | 2013-01-14T21:05:34Z,#msn_cabs2-83.30538809,42.50068525,,0 182 | 2013-01-14T21:05:34Z,#msn_cabs1-83.30567985,42.4998423,,0 183 | 2013-01-14T21:05:35Z,#msn_cabs2-83.30553643,42.50068116,,0 184 | 2013-01-14T21:05:35Z,#msn_cabs1-83.30580379,42.49989639,,0 185 | 2013-01-14T21:05:36Z,#msn_cabs2-83.30568478,42.50067706,,0 186 | 2013-01-14T21:05:36Z,#msn_cabs1-83.30592772,42.49995048,,0 187 | 2013-01-14T21:05:37Z,#msn_cabs2-83.30583312,42.50067297,,0 188 | 2013-01-14T21:05:37Z,#msn_cabs1-83.30605166,42.50000458,,0 189 | 2013-01-14T21:05:38Z,#msn_cabs2-83.30598147,42.50066888,,0 190 | 2013-01-14T21:05:38Z,#msn_cabs1-83.30617559,42.50005867,,0 191 | 2013-01-14T21:05:39Z,#msn_cabs2-83.30612982,42.50066479,,0 192 | 2013-01-14T21:05:39Z,#msn_cabs1-83.30629953,42.50011276,,0 193 | 2013-01-14T21:05:40Z,#msn_cabs3-83.30627816,42.5006607,,0 194 | 2013-01-14T21:05:40Z,#msn_cabs3-83.30642346,42.50016686,,0 195 | 2013-01-14T21:05:41Z,#msn_cabs3-83.30642651,42.50065661,,0 196 | 2013-01-14T21:05:41Z,#msn_cabs3-83.3065474,42.50022095,,0 197 | 2013-01-14T21:05:42Z,#msn_cabs3-83.30657485,42.50065251,,0 198 | 2013-01-14T21:05:42Z,#msn_cabs3-83.30667134,42.50027504,,0 199 | 2013-01-14T21:05:43Z,#msn_cabs3-83.3067232,42.50064842,,0 200 | 2013-01-14T21:05:43Z,#msn_cabs3-83.30679527,42.50032914,,0 201 | 2013-01-14T21:05:44Z,#msn_cabs3-83.30687154,42.50064433,,0 202 | 2013-01-14T21:05:44Z,#msn_cabs3-83.30691921,42.50038323,,0 203 | 2013-01-14T21:05:45Z,#msn_cabs3-83.30701989,42.50064024,,0 204 | 2013-01-14T21:05:45Z,#msn_cabs3-83.30704314,42.50043732,,0 205 | 2013-01-14T21:05:46Z,#msn_cabs3-83.30716823,42.50063615,,0 206 | 2013-01-14T21:05:46Z,#msn_cabs3-83.30716708,42.50049141,,0 207 | 2013-01-14T21:05:47Z,#msn_cabs3-83.30731658,42.50063205,,0 208 | 2013-01-14T21:05:47Z,#msn_cabs3-83.30729101,42.50054551,,0 209 | 2013-01-14T21:05:48Z,#msn_cabs3-83.30746492,42.50062796,,0 210 | 2013-01-14T21:05:48Z,#msn_cabs3-83.30741495,42.5005996,,0 211 | 2013-01-14T21:05:49Z,#msn_cabs2-83.30761327,42.50062387,,0 212 | 2013-01-14T21:05:49Z,#msn_cabs1-83.30753888,42.50065369,,0 213 | 2013-01-14T21:05:50Z,#msn_cabs2-83.30776161,42.50061978,,0 214 | 2013-01-14T21:05:50Z,#msn_cabs1-83.30766282,42.50070779,,0 215 | 2013-01-14T21:05:51Z,#msn_cabs2-83.30790996,42.50061569,,0 216 | 2013-01-14T21:05:51Z,#msn_cabs1-83.30778675,42.50076188,,0 217 | 2013-01-14T21:05:52Z,#msn_cabs2-83.3080583,42.5006116,,0 218 | 2013-01-14T21:05:52Z,#msn_cabs1-83.30791069,42.50081597,,0 219 | 2013-01-14T21:05:53Z,#msn_cabs2-83.30820665,42.5006075,,0 220 | 2013-01-14T21:05:53Z,#msn_cabs1-83.30803462,42.50087006,,0 221 | 2013-01-14T21:05:54Z,#msn_cabs2-83.30835499,42.50060341,,0 222 | 2013-01-14T21:05:54Z,#msn_cabs1-83.30815856,42.50092416,,0 223 | 2013-01-14T21:05:55Z,#msn_cabs2-83.30850334,42.50059932,,0 224 | 2013-01-14T21:05:55Z,#msn_cabs1-83.3082825,42.50097825,,0 225 | 2013-01-14T21:05:56Z,#msn_cabs2-83.30865168,42.50059523,,0 226 | 2013-01-14T21:05:56Z,#msn_cabs1-83.30840643,42.50103234,,0 227 | 2013-01-14T21:05:57Z,#msn_cabs2-83.30880003,42.50059114,,0 228 | 2013-01-14T21:05:57Z,#msn_cabs1-83.30853037,42.50108644,,0 229 | 2013-01-14T21:05:58Z,#msn_cabs2-83.30894838,42.50058704,,0 230 | 2013-01-14T21:05:58Z,#msn_cabs1-83.3086543,42.50114053,,0 231 | 2013-01-14T21:05:59Z,#msn_cabs2-83.30909672,42.50058295,,0 232 | 2013-01-14T21:05:59Z,#msn_cabs1-83.30877824,42.50119462,,0 233 | 234 | -------------------------------------------------------------------------------- /input4.kml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | Points with TimeStamps 13 | 25 | 37 | 38 | 39 | normal 40 | #sn_cabs3 41 | 42 | 43 | highlight 44 | #sh_cabs3 45 | 46 | 47 | 48 | 60 | 72 | 73 | 74 | normal 75 | #sn_cabs2 76 | 77 | 78 | highlight 79 | #sh_cabs2 80 | 81 | 82 | 83 | 84 | 85 | normal 86 | #sn_cabs1 87 | 88 | 89 | highlight 90 | #sh_cabs1 91 | 92 | 93 | 105 | 117 | 2013-01-14T21:05:01Z,#msn_cabs2-83.30049269,42.50082028,,0 118 | 2013-01-14T21:05:01Z,#msn_cabs2-83.30158999,42.49805723,,0 119 | 2013-01-14T21:05:02Z,#msn_cabs2-83.30064104,42.50081619,,0 120 | 2013-01-14T21:05:02Z,#msn_cabs2-83.30171392,42.49811132,,0 121 | 2013-01-14T21:05:03Z,#msn_cabs2-83.30078939,42.50081209,,0 122 | 2013-01-14T21:05:03Z,#msn_cabs2-83.30183786,42.49816542,,0 123 | 2013-01-14T21:05:04Z,#msn_cabs2-83.30093773,42.50080800,,0 124 | 2013-01-14T21:05:04Z,#msn_cabs2-83.30196179,42.49821951,,0 125 | 2013-01-14T21:05:05Z,#msn_cabs2-83.30108608,42.50080391,,0 126 | 2013-01-14T21:05:05Z,#msn_cabs2-83.30208573,42.49827360,,0 127 | 2013-01-14T21:05:06Z,#msn_cabs2-83.30123442,42.50079982,,0 128 | 2013-01-14T21:05:06Z,#msn_cabs2-83.30220966,42.49832770,,0 129 | 2013-01-14T21:05:07Z,#msn_cabs2-83.30138277,42.50079573,,0 130 | 2013-01-14T21:05:07Z,#msn_cabs2-83.30233360,42.49838179,,0 131 | 2013-01-14T21:05:08Z,#msn_cabs2-83.30153111,42.50079163,,0 132 | 2013-01-14T21:05:08Z,#msn_cabs2-83.30245753,42.49843588,,0 133 | 2013-01-14T21:05:09Z,#msn_cabs2-83.30167946,42.50078754,,0 134 | 2013-01-14T21:05:09Z,#msn_cabs2-83.30258147,42.49848997,,0 135 | 2013-01-14T21:05:10Z,#msn_cabs2-83.30182780,42.50078345,,0 136 | 2013-01-14T21:05:10Z,#msn_cabs2-83.30270540,42.49854407,,0 137 | 2013-01-14T21:05:11Z,#msn_cabs2-83.30197615,42.50077936,,0 138 | 2013-01-14T21:05:11Z,#msn_cabs2-83.30282934,42.49859816,,0 139 | 2013-01-14T21:05:12Z,#msn_cabs2-83.30212449,42.50077527,,0 140 | 2013-01-14T21:05:12Z,#msn_cabs2-83.30295327,42.49865225,,0 141 | 2013-01-14T21:05:13Z,#msn_cabs2-83.30227284,42.50077118,,0 142 | 2013-01-14T21:05:13Z,#msn_cabs2-83.30307721,42.49870635,,0 143 | 2013-01-14T21:05:14Z,#msn_cabs2-83.30242118,42.50076708,,0 144 | 2013-01-14T21:05:14Z,#msn_cabs2-83.30320115,42.49876044,,0 145 | 2013-01-14T21:05:15Z,#msn_cabs2-83.30256953,42.50076299,,0 146 | 2013-01-14T21:05:15Z,#msn_cabs2-83.30332508,42.49881453,,0 147 | 2013-01-14T21:05:16Z,#msn_cabs2-83.30271787,42.50075890,,0 148 | 2013-01-14T21:05:16Z,#msn_cabs2-83.30344902,42.49886863,,0 149 | 2013-01-14T21:05:17Z,#msn_cabs2-83.30286622,42.50075481,,0 150 | 2013-01-14T21:05:17Z,#msn_cabs2-83.30357295,42.49892272,,0 151 | 2013-01-14T21:05:18Z,#msn_cabs2-83.30301456,42.50075072,,0 152 | 2013-01-14T21:05:18Z,#msn_cabs2-83.30369689,42.49897681,,0 153 | 2013-01-14T21:05:19Z,#msn_cabs2-83.30316291,42.50074662,,0 154 | 2013-01-14T21:05:19Z,#msn_cabs2-83.30382082,42.49903090,,0 155 | 2013-01-14T21:05:20Z,#msn_cabs2-83.30331125,42.50074253,,0 156 | 2013-01-14T21:05:20Z,#msn_cabs2-83.30394476,42.49908500,,0 157 | 2013-01-14T21:05:21Z,#msn_cabs2-83.30345960,42.50073844,,0 158 | 2013-01-14T21:05:21Z,#msn_cabs2-83.30406869,42.49913909,,0 159 | 2013-01-14T21:05:22Z,#msn_cabs2-83.30360795,42.50073435,,0 160 | 2013-01-14T21:05:22Z,#msn_cabs2-83.30419263,42.49919318,,0 161 | 2013-01-14T21:05:23Z,#msn_cabs2-83.30375629,42.50073026,,0 162 | 2013-01-14T21:05:23Z,#msn_cabs2-83.30431656,42.49924728,,0 163 | 2013-01-14T21:05:24Z,#msn_cabs2-83.30390464,42.50072617,,0 164 | 2013-01-14T21:05:24Z,#msn_cabs2-83.30444050,42.49930137,,0 165 | 2013-01-14T21:05:25Z,#msn_cabs2-83.30405298,42.50072207,,0 166 | 2013-01-14T21:05:25Z,#msn_cabs2-83.30456443,42.49935546,,0 167 | 2013-01-14T21:05:26Z,#msn_cabs2-83.30420133,42.50071798,,0 168 | 2013-01-14T21:05:26Z,#msn_cabs2-83.30468837,42.49940955,,0 169 | 2013-01-14T21:05:27Z,#msn_cabs2-83.30434967,42.50071389,,0 170 | 2013-01-14T21:05:27Z,#msn_cabs2-83.30481230,42.49946365,,0 171 | 2013-01-14T21:05:28Z,#msn_cabs2-83.30449802,42.50070980,,0 172 | 2013-01-14T21:05:28Z,#msn_cabs2-83.30493624,42.49951774,,0 173 | 2013-01-14T21:05:29Z,#msn_cabs2-83.30464636,42.50070571,,0 174 | 2013-01-14T21:05:29Z,#msn_cabs2-83.30506018,42.49957183,,0 175 | 2013-01-14T21:05:30Z,#msn_cabs2-83.30479471,42.50070161,,0 176 | 2013-01-14T21:05:30Z,#msn_cabs2-83.30518411,42.49962593,,0 177 | 2013-01-14T21:05:31Z,#msn_cabs2-83.30494305,42.50069752,,0 178 | 2013-01-14T21:05:31Z,#msn_cabs2-83.30530805,42.49968002,,0 179 | 2013-01-14T21:05:32Z,#msn_cabs2-83.30509140,42.50069343,,0 180 | 2013-01-14T21:05:32Z,#msn_cabs2-83.30543198,42.49973411,,0 181 | 2013-01-14T21:05:33Z,#msn_cabs2-83.30523974,42.50068934,,0 182 | 2013-01-14T21:05:33Z,#msn_cabs2-83.30555592,42.49978821,,0 183 | 2013-01-14T21:05:34Z,#msn_cabs2-83.30538809,42.50068525,,0 184 | 2013-01-14T21:05:34Z,#msn_cabs2-83.30567985,42.49984230,,0 185 | 2013-01-14T21:05:35Z,#msn_cabs2-83.30553643,42.50068116,,0 186 | 2013-01-14T21:05:35Z,#msn_cabs2-83.30580379,42.49989639,,0 187 | 2013-01-14T21:05:36Z,#msn_cabs2-83.30568478,42.50067706,,0 188 | 2013-01-14T21:05:36Z,#msn_cabs2-83.30592772,42.49995048,,0 189 | 2013-01-14T21:05:37Z,#msn_cabs2-83.30583312,42.50067297,,0 190 | 2013-01-14T21:05:37Z,#msn_cabs2-83.30605166,42.50000458,,0 191 | 2013-01-14T21:05:38Z,#msn_cabs2-83.30598147,42.50066888,,0 192 | 2013-01-14T21:05:38Z,#msn_cabs2-83.30617559,42.50005867,,0 193 | 2013-01-14T21:05:39Z,#msn_cabs2-83.30612982,42.50066479,,0 194 | 2013-01-14T21:05:39Z,#msn_cabs2-83.30629953,42.50011276,,0 195 | 2013-01-14T21:05:40Z,#msn_cabs2-83.30627816,42.50066070,,0 196 | 2013-01-14T21:05:40Z,#msn_cabs2-83.30642346,42.50016686,,0 197 | 2013-01-14T21:05:41Z,#msn_cabs2-83.30642651,42.50065661,,0 198 | 2013-01-14T21:05:41Z,#msn_cabs2-83.30654740,42.50022095,,0 199 | 2013-01-14T21:05:42Z,#msn_cabs2-83.30657485,42.50065251,,0 200 | 2013-01-14T21:05:42Z,#msn_cabs2-83.30667134,42.50027504,,0 201 | 2013-01-14T21:05:43Z,#msn_cabs2-83.30672320,42.50064842,,0 202 | 2013-01-14T21:05:43Z,#msn_cabs2-83.30679527,42.50032914,,0 203 | 2013-01-14T21:05:44Z,#msn_cabs2-83.30687154,42.50064433,,0 204 | 2013-01-14T21:05:44Z,#msn_cabs2-83.30691921,42.50038323,,0 205 | 2013-01-14T21:05:45Z,#msn_cabs2-83.30701989,42.50064024,,0 206 | 2013-01-14T21:05:45Z,#msn_cabs2-83.30704314,42.50043732,,0 207 | 2013-01-14T21:05:46Z,#msn_cabs2-83.30716823,42.50063615,,0 208 | 2013-01-14T21:05:46Z,#msn_cabs2-83.30716708,42.50049141,,0 209 | 2013-01-14T21:05:47Z,#msn_cabs2-83.30731658,42.50063205,,0 210 | 2013-01-14T21:05:47Z,#msn_cabs2-83.30729101,42.50054551,,0 211 | 2013-01-14T21:05:48Z,#msn_cabs2-83.30746492,42.50062796,,0 212 | 2013-01-14T21:05:48Z,#msn_cabs2-83.30741495,42.50059960,,0 213 | 2013-01-14T21:05:49Z,#msn_cabs2-83.30761327,42.50062387,,0 214 | 2013-01-14T21:05:49Z,#msn_cabs2-83.30753888,42.50065369,,0 215 | 2013-01-14T21:05:50Z,#msn_cabs2-83.30776161,42.50061978,,0 216 | 2013-01-14T21:05:50Z,#msn_cabs2-83.30766282,42.50070779,,0 217 | 2013-01-14T21:05:51Z,#msn_cabs2-83.30790996,42.50061569,,0 218 | 2013-01-14T21:05:51Z,#msn_cabs2-83.30778675,42.50076188,,0 219 | 2013-01-14T21:05:52Z,#msn_cabs2-83.30805830,42.50061160,,0 220 | 2013-01-14T21:05:52Z,#msn_cabs2-83.30791069,42.50081597,,0 221 | 2013-01-14T21:05:53Z,#msn_cabs2-83.30820665,42.50060750,,0 222 | 2013-01-14T21:05:53Z,#msn_cabs2-83.30803462,42.50087006,,0 223 | 2013-01-14T21:05:54Z,#msn_cabs2-83.30835499,42.50060341,,0 224 | 2013-01-14T21:05:54Z,#msn_cabs2-83.30815856,42.50092416,,0 225 | 2013-01-14T21:05:55Z,#msn_cabs2-83.30850334,42.50059932,,0 226 | 2013-01-14T21:05:55Z,#msn_cabs2-83.30828250,42.50097825,,0 227 | 2013-01-14T21:05:56Z,#msn_cabs2-83.30865168,42.50059523,,0 228 | 2013-01-14T21:05:56Z,#msn_cabs2-83.30840643,42.50103234,,0 229 | 2013-01-14T21:05:57Z,#msn_cabs2-83.30880003,42.50059114,,0 230 | 2013-01-14T21:05:57Z,#msn_cabs2-83.30853037,42.50108644,,0 231 | 2013-01-14T21:05:58Z,#msn_cabs2-83.30894838,42.50058704,,0 232 | 2013-01-14T21:05:58Z,#msn_cabs2-83.30865430,42.50114053,,0 233 | 2013-01-14T21:05:59Z,#msn_cabs2-83.30909672,42.50058295,,0 234 | 2013-01-14T21:05:59Z,#msn_cabs2-83.30877824,42.50119462,,0 235 | 236 | --------------------------------------------------------------------------------