rdp 0.1.2

A Rust implementation of the Ramer–Douglas–Peucker algorithm
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from ffi import simplify_coords\n",
    "from shapely.geometry import LineString\n",
    "import numpy as np\n",
    "from rdp import rdp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "orig_coords = [(0.0, 0.0), (1.0, 2.0), (0.5, 2.1), (2.0, 3.0)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"-0.12 -0.12 2.24 3.24\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,3.0)\"><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"0.0,0.0 1.0,2.0 0.5,2.1 2.0,3.0\" opacity=\"0.8\" /></g></svg>"
      ],
      "text/plain": [
       "<shapely.geometry.linestring.LineString at 0x10514add0>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ls = LineString(orig_coords)\n",
    "ls"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "simplified_coords = simplify_coords(\n",
    "    ls.coords,\n",
    "    1.0\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"-0.12 -0.12 2.24 3.24\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,3.0)\"><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"0.0,0.0 2.0,3.0\" opacity=\"0.8\" /></g></svg>"
      ],
      "text/plain": [
       "<shapely.geometry.linestring.LineString at 0x10515b2d0>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "LineString(simplified_coords)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "route = [(-0.701206, 52.220489),\n",
    " (-0.701206, 52.220485),\n",
    " (-0.700731, 52.220272),\n",
    " (-0.697521, 52.219863),\n",
    " (-0.694064, 52.219413),\n",
    " (-0.693167, 52.219326),\n",
    " (-0.692289, 52.21928),\n",
    " (-0.691663, 52.219402),\n",
    " (-0.68997, 52.219924),\n",
    " (-0.689329, 52.220287),\n",
    " (-0.688109, 52.221408),\n",
    " (-0.687763, 52.22153),\n",
    " (-0.686421, 52.221763),\n",
    " (-0.68568, 52.22182),\n",
    " (-0.685305, 52.221851),\n",
    " (-0.684028, 52.221916),\n",
    " (-0.683046, 52.221885),\n",
    " (-0.680747, 52.221691),\n",
    " (-0.679648, 52.221645),\n",
    " (-0.679101, 52.221714),\n",
    " (-0.678365, 52.221897),\n",
    " (-0.677979, 52.222503),\n",
    " (-0.677754, 52.222652),\n",
    " (-0.677489, 52.222728),\n",
    " (-0.677259, 52.22274),\n",
    " (-0.677103, 52.222728),\n",
    " (-0.677071, 52.22245),\n",
    " (-0.676914, 52.222171),\n",
    " (-0.676797, 52.221961),\n",
    " (-0.676654, 52.221637),\n",
    " (-0.676681, 52.221134),\n",
    " (-0.676875, 52.22071),\n",
    " (-0.67714, 52.219985),\n",
    " (-0.677246, 52.219234),\n",
    " (-0.677387, 52.21836),\n",
    " (-0.677377, 52.218238),\n",
    " (-0.677417, 52.217987),\n",
    " (-0.677556, 52.216899),\n",
    " (-0.677668, 52.215282),\n",
    " (-0.67791, 52.214523),\n",
    " (-0.678637, 52.213558),\n",
    " (-0.679666, 52.212017),\n",
    " (-0.68047, 52.210945),\n",
    " (-0.680859, 52.210647),\n",
    " (-0.68129, 52.210605),\n",
    " (-0.681389, 52.208835),\n",
    " (-0.681614, 52.206672),\n",
    " (-0.681991, 52.204463),\n",
    " (-0.682364, 52.202465),\n",
    " (-0.68274, 52.200462),\n",
    " (-0.68289, 52.198509),\n",
    " (-0.682965, 52.196666),\n",
    " (-0.683149, 52.196182),\n",
    " (-0.683603, 52.194965),\n",
    " (-0.684064, 52.194004),\n",
    " (-0.684241, 52.193172),\n",
    " (-0.684388, 52.191932),\n",
    " (-0.684316, 52.191169),\n",
    " (-0.684253, 52.189838),\n",
    " (-0.6842, 52.189201),\n",
    " (-0.684195, 52.188991),\n",
    " (-0.684195, 52.188854),\n",
    " (-0.684204, 52.188716),\n",
    " (-0.684222, 52.188583),\n",
    " (-0.684259, 52.188411),\n",
    " (-0.684338, 52.188182),\n",
    " (-0.684406, 52.188003),\n",
    " (-0.684501, 52.187816),\n",
    " (-0.684617, 52.187614),\n",
    " (-0.684738, 52.187431),\n",
    " (-0.68498, 52.18711),\n",
    " (-0.685209, 52.186859),\n",
    " (-0.685402, 52.186672),\n",
    " (-0.685676, 52.186424),\n",
    " (-0.686385, 52.185783),\n",
    " (-0.686816, 52.185337),\n",
    " (-0.687045, 52.185131),\n",
    " (-0.687087, 52.185077),\n",
    " (-0.687121, 52.185012),\n",
    " (-0.687161, 52.184871),\n",
    " (-0.687136, 52.184841),\n",
    " (-0.687103, 52.184757),\n",
    " (-0.687103, 52.184688),\n",
    " (-0.687135, 52.184623),\n",
    " (-0.687188, 52.184562),\n",
    " (-0.687242, 52.184524),\n",
    " (-0.687355, 52.184474),\n",
    " (-0.687449, 52.184452),\n",
    " (-0.68757, 52.184402),\n",
    " (-0.687669, 52.184337),\n",
    " (-0.687782, 52.184238),\n",
    " (-0.688131, 52.183097),\n",
    " (-0.688433, 52.182106),\n",
    " (-0.688676, 52.181171),\n",
    " (-0.688849, 52.180351),\n",
    " (-0.689083, 52.178966),\n",
    " (-0.689394, 52.177135),\n",
    " (-0.690294, 52.171955),\n",
    " (-0.690372, 52.171508),\n",
    " (-0.690453, 52.171188),\n",
    " (-0.690582, 52.170825),\n",
    " (-0.690686, 52.170597),\n",
    " (-0.690865, 52.170272),\n",
    " (-0.69099, 52.170066),\n",
    " (-0.691116, 52.169857),\n",
    " (-0.691282, 52.169624),\n",
    " (-0.69161, 52.169219),\n",
    " (-0.691817, 52.169013),\n",
    " (-0.692108, 52.168781),\n",
    " (-0.692494, 52.168502),\n",
    " (-0.69275, 52.168346),\n",
    " (-0.692979, 52.168224),\n",
    " (-0.693163, 52.168151),\n",
    " (-0.693365, 52.168098),\n",
    " (-0.69364, 52.168045),\n",
    " (-0.694168, 52.167972),\n",
    " (-0.694766, 52.167888),\n",
    " (-0.695412, 52.167789),\n",
    " (-0.69587, 52.167713),\n",
    " (-0.696212, 52.167648),\n",
    " (-0.696508, 52.167579),\n",
    " (-0.696759, 52.167499),\n",
    " (-0.697006, 52.1674),\n",
    " (-0.697185, 52.167312),\n",
    " (-0.697373, 52.167209),\n",
    " (-0.697526, 52.167102),\n",
    " (-0.697657, 52.166988),\n",
    " (-0.69779, 52.166847),\n",
    " (-0.698311, 52.166091),\n",
    " (-0.700219, 52.163684),\n",
    " (-0.7003, 52.163578),\n",
    " (-0.700476, 52.163345),\n",
    " (-0.700539, 52.163238),\n",
    " (-0.700614, 52.163089),\n",
    " (-0.700704, 52.162925),\n",
    " (-0.700789, 52.162773),\n",
    " (-0.700921, 52.162548),\n",
    " (-0.700912, 52.162342),\n",
    " (-0.70083, 52.162284),\n",
    " (-0.70083, 52.162216),\n",
    " (-0.700874, 52.162147),\n",
    " (-0.700977, 52.162113),\n",
    " (-0.701229, 52.161842),\n",
    " (-0.701431, 52.161312),\n",
    " (-0.701862, 52.160633),\n",
    " (-0.702077, 52.160202),\n",
    " (-0.702104, 52.160163),\n",
    " (-0.70219, 52.160007),\n",
    " (-0.702239, 52.159927),\n",
    " (-0.702294, 52.159858),\n",
    " (-0.70241, 52.159614),\n",
    " (-0.702459, 52.159488),\n",
    " (-0.7025, 52.159313),\n",
    " (-0.702504, 52.159118),\n",
    " (-0.702455, 52.158798),\n",
    " (-0.702346, 52.158477),\n",
    " (-0.702316, 52.15842),\n",
    " (-0.702203, 52.158103),\n",
    " (-0.702176, 52.158058),\n",
    " (-0.701953, 52.157695),\n",
    " (-0.701768, 52.157352),\n",
    " (-0.701723, 52.157226),\n",
    " (-0.7017, 52.157165),\n",
    " (-0.701664, 52.157047),\n",
    " (-0.701615, 52.156826),\n",
    " (-0.701571, 52.156669),\n",
    " (-0.701548, 52.156387),\n",
    " (-0.701512, 52.156063),\n",
    " (-0.701512, 52.15578),\n",
    " (-0.701525, 52.155624),\n",
    " (-0.701575, 52.155338),\n",
    " (-0.701727, 52.154644),\n",
    " (-0.701826, 52.154129),\n",
    " (-0.70188, 52.153797),\n",
    " (-0.701893, 52.153659),\n",
    " (-0.701893, 52.153541),\n",
    " (-0.701889, 52.153358),\n",
    " (-0.701886, 52.153305),\n",
    " (-0.701889, 52.153251),\n",
    " (-0.701925, 52.153045),\n",
    " (-0.701961, 52.15287),\n",
    " (-0.70197, 52.152812),\n",
    " (-0.70201, 52.152629),\n",
    " (-0.702034, 52.152572),\n",
    " (-0.702086, 52.152416),\n",
    " (-0.702122, 52.152309),\n",
    " (-0.702127, 52.152294),\n",
    " (-0.70214, 52.152187),\n",
    " (-0.702136, 52.152145),\n",
    " (-0.702109, 52.151985),\n",
    " (-0.702029, 52.151828),\n",
    " (-0.701913, 52.151641),\n",
    " (-0.701777, 52.15139),\n",
    " (-0.701709, 52.151214),\n",
    " (-0.701741, 52.151065),\n",
    " (-0.70184, 52.150894),\n",
    " (-0.701911, 52.150806),\n",
    " (-0.702199, 52.150474),\n",
    " (-0.702634, 52.149974),\n",
    " (-0.702849, 52.149723),\n",
    " (-0.702887, 52.149677),\n",
    " (-0.703183, 52.149341),\n",
    " (-0.703684, 52.148765),\n",
    " (-0.703955, 52.148433),\n",
    " (-0.704398, 52.14785),\n",
    " (-0.705121, 52.146759),\n",
    " (-0.705174, 52.146678),\n",
    " (-0.705327, 52.146419),\n",
    " (-0.705548, 52.145942),\n",
    " (-0.705677, 52.145565),\n",
    " (-0.705776, 52.145092),\n",
    " (-0.705781, 52.144565),\n",
    " (-0.705758, 52.144309),\n",
    " (-0.705709, 52.144077),\n",
    " (-0.705686, 52.143959),\n",
    " (-0.70565, 52.143825),\n",
    " (-0.705471, 52.143356),\n",
    " (-0.705273, 52.142894),\n",
    " (-0.70508, 52.142501),\n",
    " (-0.704515, 52.141265),\n",
    " (-0.704305, 52.140701),\n",
    " (-0.704174, 52.140274),\n",
    " (-0.704049, 52.139774),\n",
    " (-0.703976, 52.139328),\n",
    " (-0.703918, 52.138889),\n",
    " (-0.703904, 52.138481),\n",
    " (-0.703936, 52.136676),\n",
    " (-0.703946, 52.13636),\n",
    " (-0.703946, 52.13594),\n",
    " (-0.703955, 52.135734),\n",
    " (-0.703999, 52.134254),\n",
    " (-0.704031, 52.1319),\n",
    " (-0.704016, 52.131225),\n",
    " (-0.703887, 52.130077),\n",
    " (-0.70368, 52.129093),\n",
    " (-0.703411, 52.128234),\n",
    " (-0.702894, 52.126934),\n",
    " (-0.702823, 52.126766),\n",
    " (-0.702559, 52.126251),\n",
    " (-0.702199, 52.125507),\n",
    " (-0.701458, 52.12384),\n",
    " (-0.700921, 52.122684),\n",
    " (-0.700726, 52.122249),\n",
    " (-0.700708, 52.122211),\n",
    " (-0.700548, 52.121856),\n",
    " (-0.700309, 52.12133),\n",
    " (-0.699911, 52.120502),\n",
    " (-0.699574, 52.119915),\n",
    " (-0.699232, 52.119369),\n",
    " (-0.699003, 52.119007),\n",
    " (-0.698756, 52.118667),\n",
    " (-0.698267, 52.11803),\n",
    " (-0.697566, 52.117198),\n",
    " (-0.69684, 52.116455),\n",
    " (-0.695457, 52.115085),\n",
    " (-0.694599, 52.114238),\n",
    " (-0.693784, 52.113452),\n",
    " (-0.692176, 52.111881),\n",
    " (-0.691605, 52.11127),\n",
    " (-0.69108, 52.110607),\n",
    " (-0.690691, 52.109992),\n",
    " (-0.690479, 52.109565),\n",
    " (-0.69047, 52.109542),\n",
    " (-0.690304, 52.109157),\n",
    " (-0.690182, 52.10873),\n",
    " (-0.690101, 52.10831),\n",
    " (-0.690079, 52.107982),\n",
    " (-0.690075, 52.107627),\n",
    " (-0.690083, 52.107486),\n",
    " (-0.690084, 52.107463),\n",
    " (-0.690097, 52.107242),\n",
    " (-0.690187, 52.106822),\n",
    " (-0.690269, 52.106452),\n",
    " (-0.690394, 52.106029),\n",
    " (-0.690699, 52.105281),\n",
    " (-0.690959, 52.104724),\n",
    " (-0.691432, 52.103927),\n",
    " (-0.692279, 52.102657),\n",
    " (-0.692359, 52.102504),\n",
    " (-0.692395, 52.102386),\n",
    " (-0.692395, 52.102313),\n",
    " (-0.692379, 52.102237),\n",
    " (-0.692333, 52.102165),\n",
    " (-0.692262, 52.1021),\n",
    " (-0.692121, 52.102085),\n",
    " (-0.691745, 52.102027),\n",
    " (-0.691619, 52.101997),\n",
    " (-0.691533, 52.101959),\n",
    " (-0.691472, 52.101902),\n",
    " (-0.691436, 52.101825),\n",
    " (-0.691435, 52.101779),\n",
    " (-0.691448, 52.101734),\n",
    " (-0.69148, 52.101673),\n",
    " (-0.691502, 52.101646),\n",
    " (-0.691529, 52.101627),\n",
    " (-0.691637, 52.10139),\n",
    " (-0.69165, 52.101264),\n",
    " (-0.691821, 52.100822),\n",
    " (-0.692162, 52.099666),\n",
    " (-0.692221, 52.099449),\n",
    " (-0.692395, 52.098762),\n",
    " (-0.692606, 52.097942),\n",
    " (-0.692985, 52.096496),\n",
    " (-0.693178, 52.095829),\n",
    " (-0.69395, 52.092929),\n",
    " (-0.694196, 52.09196),\n",
    " (-0.694483, 52.090797),\n",
    " (-0.69507, 52.087989),\n",
    " (-0.69582, 52.084392),\n",
    " (-0.695929, 52.084033),\n",
    " (-0.696067, 52.083606),\n",
    " (-0.696395, 52.082881),\n",
    " (-0.696594, 52.082481),\n",
    " (-0.696835, 52.082107),\n",
    " (-0.697382, 52.081428),\n",
    " (-0.697867, 52.080924),\n",
    " (-0.698241, 52.080562),\n",
    " (-0.698649, 52.08023),\n",
    " (-0.698809, 52.080116),\n",
    " (-0.699399, 52.079696),\n",
    " (-0.700282, 52.079162),\n",
    " (-0.700772, 52.078899),\n",
    " (-0.700946, 52.078807),\n",
    " (-0.701907, 52.078369),\n",
    " (-0.702697, 52.078067),\n",
    " (-0.703285, 52.077865),\n",
    " (-0.703761, 52.07772),\n",
    " (-0.703999, 52.077671),\n",
    " (-0.704242, 52.077648),\n",
    " (-0.704443, 52.077655),\n",
    " (-0.704578, 52.077636),\n",
    " (-0.704784, 52.077568),\n",
    " (-0.704807, 52.077522),\n",
    " (-0.70487, 52.077453),\n",
    " (-0.704996, 52.077388),\n",
    " (-0.705183, 52.077358),\n",
    " (-0.705291, 52.077365),\n",
    " (-0.70543, 52.077396),\n",
    " (-0.705652, 52.077365),\n",
    " (-0.706252, 52.077175),\n",
    " (-0.706553, 52.077083),\n",
    " (-0.706575, 52.077003),\n",
    " (-0.706588, 52.076984),\n",
    " (-0.706634, 52.076938),\n",
    " (-0.706741, 52.076885),\n",
    " (-0.706889, 52.076858),\n",
    " (-0.706984, 52.076858),\n",
    " (-0.707069, 52.076873),\n",
    " (-0.707185, 52.076923),\n",
    " (-0.707419, 52.076934),\n",
    " (-0.707679, 52.076919),\n",
    " (-0.708978, 52.076698),\n",
    " (-0.713322, 52.076053),\n",
    " (-0.720921, 52.074947),\n",
    " (-0.721141, 52.074893),\n",
    " (-0.721356, 52.074825),\n",
    " (-0.721414, 52.074775),\n",
    " (-0.721495, 52.074737),\n",
    " (-0.721617, 52.074718),\n",
    " (-0.721751, 52.074726),\n",
    " (-0.721868, 52.074771),\n",
    " (-0.722038, 52.074779),\n",
    " (-0.722209, 52.074771),\n",
    " (-0.72374, 52.074523),\n",
    " (-0.724772, 52.074291),\n",
    " (-0.72558, 52.074058),\n",
    " (-0.726375, 52.073783),\n",
    " (-0.72708, 52.073493),\n",
    " (-0.727604, 52.073238),\n",
    " (-0.728005, 52.07304),\n",
    " (-0.728421, 52.072803),\n",
    " (-0.729687, 52.072013),\n",
    " (-0.730526, 52.071475),\n",
    " (-0.731793, 52.070621),\n",
    " (-0.732457, 52.070171),\n",
    " (-0.733091, 52.069747),\n",
    " (-0.733665, 52.069385),\n",
    " (-0.735679, 52.068225),\n",
    " (-0.735855, 52.06813),\n",
    " (-0.736842, 52.067619),\n",
    " (-0.736855, 52.067611),\n",
    " (-0.737659, 52.067226),\n",
    " (-0.73853, 52.066837),\n",
    " (-0.738799, 52.066642),\n",
    " (-0.738804, 52.066612),\n",
    " (-0.738817, 52.066562),\n",
    " (-0.73888, 52.066497),\n",
    " (-0.738997, 52.066444),\n",
    " (-0.739145, 52.066425),\n",
    " (-0.739288, 52.066444),\n",
    " (-0.73967, 52.066329),\n",
    " (-0.740428, 52.066036),\n",
    " (-0.74099, 52.065818),\n",
    " (-0.741713, 52.065555),\n",
    " (-0.741964, 52.065464),\n",
    " (-0.743104, 52.065074),\n",
    " (-0.744414, 52.064647),\n",
    " (-0.744675, 52.064571),\n",
    " (-0.744868, 52.064514),\n",
    " (-0.745044, 52.064464),\n",
    " (-0.745233, 52.064411),\n",
    " (-0.745478, 52.064342),\n",
    " (-0.746322, 52.06409),\n",
    " (-0.74739, 52.06385),\n",
    " (-0.747592, 52.063774),\n",
    " (-0.747796, 52.063655),\n",
    " (-0.747834, 52.063617),\n",
    " (-0.747853, 52.063598),\n",
    " (-0.747929, 52.063556),\n",
    " (-0.748077, 52.063518),\n",
    " (-0.748141, 52.063522),\n",
    " (-0.748265, 52.063537),\n",
    " (-0.748496, 52.063556),\n",
    " (-0.748723, 52.063541),\n",
    " (-0.749689, 52.063331),\n",
    " (-0.750263, 52.063205),\n",
    " (-0.750739, 52.063098),\n",
    " (-0.751762, 52.062873),\n",
    " (-0.752031, 52.062816),\n",
    " (-0.752346, 52.062747),\n",
    " (-0.754321, 52.062313),\n",
    " (-0.75591, 52.061965),\n",
    " (-0.757054, 52.061717),\n",
    " (-0.757319, 52.061656),\n",
    " (-0.757521, 52.061595),\n",
    " (-0.757701, 52.061466),\n",
    " (-0.757768, 52.061401),\n",
    " (-0.75788, 52.061355),\n",
    " (-0.758002, 52.061332),\n",
    " (-0.758159, 52.06134),\n",
    " (-0.758277, 52.061374),\n",
    " (-0.758545, 52.061389),\n",
    " (-0.758769, 52.061374),\n",
    " (-0.759623, 52.061199),\n",
    " (-0.761911, 52.060699),\n",
    " (-0.762221, 52.060634),\n",
    " (-0.763299, 52.060394),\n",
    " (-0.764074, 52.060222),\n",
    " (-0.765969, 52.059741),\n",
    " (-0.766185, 52.059677),\n",
    " (-0.767809, 52.0592),\n",
    " (-0.767908, 52.059169),\n",
    " (-0.768443, 52.059032),\n",
    " (-0.77228, 52.057834),\n",
    " (-0.772393, 52.057777),\n",
    " (-0.772482, 52.057712),\n",
    " (-0.77258, 52.05764),\n",
    " (-0.772621, 52.057544),\n",
    " (-0.772679, 52.057491),\n",
    " (-0.772747, 52.057453),\n",
    " (-0.772872, 52.057418),\n",
    " (-0.77303, 52.057411),\n",
    " (-0.773174, 52.057445),\n",
    " (-0.773353, 52.057449),\n",
    " (-0.773507, 52.057441),\n",
    " (-0.773689, 52.057392),\n",
    " (-0.775059, 52.05688),\n",
    " (-0.776459, 52.056388),\n",
    " (-0.778236, 52.055809),\n",
    " (-0.780149, 52.055282),\n",
    " (-0.781155, 52.055004),\n",
    " (-0.782626, 52.054576),\n",
    " (-0.784758, 52.053886),\n",
    " (-0.784911, 52.053833),\n",
    " (-0.785068, 52.053745),\n",
    " (-0.785077, 52.053695),\n",
    " (-0.785109, 52.053642),\n",
    " (-0.785212, 52.053565),\n",
    " (-0.785351, 52.053524),\n",
    " (-0.785463, 52.053524),\n",
    " (-0.785737, 52.053512),\n",
    " (-0.785922, 52.053489),\n",
    " (-0.786083, 52.053443),\n",
    " (-0.786401, 52.053348),\n",
    " (-0.788345, 52.052715),\n",
    " (-0.790095, 52.052135),\n",
    " (-0.790891, 52.051887),\n",
    " (-0.792247, 52.051456),\n",
    " (-0.79384, 52.05096),\n",
    " (-0.794319, 52.0508),\n",
    " (-0.794903, 52.050621),\n",
    " (-0.79665, 52.050033),\n",
    " (-0.797268, 52.049816),\n",
    " (-0.797619, 52.049694),\n",
    " (-0.797789, 52.049594),\n",
    " (-0.797798, 52.049552),\n",
    " (-0.797834, 52.049499),\n",
    " (-0.797893, 52.049446),\n",
    " (-0.797955, 52.049415),\n",
    " (-0.798121, 52.049377),\n",
    " (-0.798197, 52.049381),\n",
    " (-0.798243, 52.049385),\n",
    " (-0.798319, 52.0494),\n",
    " (-0.798624, 52.049388),\n",
    " (-0.798944, 52.049331),\n",
    " (-0.800222, 52.048919),\n",
    " (-0.801124, 52.048633),\n",
    " (-0.801928, 52.048377),\n",
    " (-0.802709, 52.048107),\n",
    " (-0.802866, 52.048049),\n",
    " (-0.802928, 52.048015),\n",
    " (-0.802983, 52.047969),\n",
    " (-0.803054, 52.047882),\n",
    " (-0.80309, 52.047821),\n",
    " (-0.803118, 52.047733),\n",
    " (-0.803105, 52.047702),\n",
    " (-0.803094, 52.047676),\n",
    " (-0.80306, 52.047588),\n",
    " (-0.803023, 52.047424),\n",
    " (-0.803014, 52.047348),\n",
    " (-0.803023, 52.047275),\n",
    " (-0.80304, 52.047187),\n",
    " (-0.803077, 52.0471),\n",
    " (-0.803288, 52.046756),\n",
    " (-0.803374, 52.046634),\n",
    " (-0.803481, 52.046543),\n",
    " (-0.803579, 52.046485),\n",
    " (-0.803696, 52.046405),\n",
    " (-0.80384, 52.046318),\n",
    " (-0.803961, 52.046272),\n",
    " (-0.804199, 52.046218),\n",
    " (-0.804414, 52.046199),\n",
    " (-0.80454, 52.046192),\n",
    " (-0.804661, 52.046195),\n",
    " (-0.804881, 52.046218),\n",
    " (-0.805047, 52.046249),\n",
    " (-0.805155, 52.046272),\n",
    " (-0.805372, 52.04636),\n",
    " (-0.805469, 52.046409),\n",
    " (-0.805605, 52.046489),\n",
    " (-0.805707, 52.046577),\n",
    " (-0.805843, 52.046707),\n",
    " (-0.805869, 52.046775),\n",
    " (-0.805914, 52.046871),\n",
    " (-0.806071, 52.047042),\n",
    " (-0.806196, 52.047172),\n",
    " (-0.806362, 52.047275),\n",
    " (-0.806533, 52.047344),\n",
    " (-0.806748, 52.047401),\n",
    " (-0.807067, 52.047481),\n",
    " (-0.80919, 52.048007),\n",
    " (-0.810375, 52.048297),\n",
    " (-0.81292, 52.04874),\n",
    " (-0.821144, 52.050048),\n",
    " (-0.82368, 52.050453),\n",
    " (-0.824743, 52.050621),\n",
    " (-0.827019, 52.051013),\n",
    " (-0.828662, 52.051391),\n",
    " (-0.830493, 52.051921),\n",
    " (-0.832137, 52.05252),\n",
    " (-0.83342, 52.053092),\n",
    " (-0.834054, 52.053386),\n",
    " (-0.834717, 52.053745),\n",
    " (-0.835175, 52.053993),\n",
    " (-0.835633, 52.054252),\n",
    " (-0.836666, 52.054931),\n",
    " (-0.837254, 52.055377),\n",
    " (-0.837823, 52.05585),\n",
    " (-0.839224, 52.057323),\n",
    " (-0.839821, 52.05791),\n",
    " (-0.840278, 52.058338),\n",
    " (-0.840867, 52.058818),\n",
    " (-0.841544, 52.059322),\n",
    " (-0.842105, 52.059734),\n",
    " (-0.843007, 52.060272),\n",
    " (-0.844291, 52.061008),\n",
    " (-0.845312, 52.061519),\n",
    " (-0.846398, 52.062007),\n",
    " (-0.847492, 52.062435),\n",
    " (-0.848479, 52.062782),\n",
    " (-0.851024, 52.063636),\n",
    " (-0.851419, 52.063766),\n",
    " (-0.85164, 52.063838),\n",
    " (-0.852816, 52.064224),\n",
    " (-0.85308, 52.064311),\n",
    " (-0.853143, 52.064331),\n",
    " (-0.854018, 52.064601),\n",
    " (-0.85554, 52.065017),\n",
    " (-0.857121, 52.065399),\n",
    " (-0.858921, 52.065757),\n",
    " (-0.860284, 52.065982),\n",
    " (-0.861164, 52.066104),\n",
    " (-0.862322, 52.066234),\n",
    " (-0.864046, 52.066349),\n",
    " (-0.866519, 52.066459),\n",
    " (-0.868333, 52.066539),\n",
    " (-0.868463, 52.066543),\n",
    " (-0.868553, 52.066543),\n",
    " (-0.86862, 52.066532),\n",
    " (-0.86871, 52.066505),\n",
    " (-0.868804, 52.066463),\n",
    " (-0.868868, 52.066425),\n",
    " (-0.868939, 52.066368),\n",
    " (-0.869064, 52.066253),\n",
    " (-0.869097, 52.066219),\n",
    " (-0.869146, 52.066177),\n",
    " (-0.869262, 52.066097),\n",
    " (-0.869375, 52.066043),\n",
    " (-0.869544, 52.065986),\n",
    " (-0.869724, 52.065952),\n",
    " (-0.869895, 52.065944),\n",
    " (-0.870002, 52.065948),\n",
    " (-0.870272, 52.065887),\n",
    " (-0.870384, 52.065856),\n",
    " (-0.870523, 52.065811),\n",
    " (-0.87064, 52.065761),\n",
    " (-0.870756, 52.065708),\n",
    " (-0.870967, 52.065589),\n",
    " (-0.871214, 52.065307),\n",
    " (-0.871475, 52.064971),\n",
    " (-0.871722, 52.064544),\n",
    " (-0.871932, 52.064052),\n",
    " (-0.872032, 52.063491),\n",
    " (-0.872014, 52.062992),\n",
    " (-0.871946, 52.062446),\n",
    " (-0.871704, 52.061752),\n",
    " (-0.870321, 52.058223),\n",
    " (-0.870035, 52.057441),\n",
    " (-0.869927, 52.056907),\n",
    " (-0.869854, 52.056365),\n",
    " (-0.869878, 52.056072),\n",
    " (-0.869899, 52.055835),\n",
    " (-0.869984, 52.055332),\n",
    " (-0.870133, 52.054862),\n",
    " (-0.870317, 52.054458),\n",
    " (-0.870532, 52.05408),\n",
    " (-0.870753, 52.053791),\n",
    " (-0.87091, 52.053569),\n",
    " (-0.871183, 52.053256),\n",
    " (-0.871448, 52.053001),\n",
    " (-0.873266, 52.051548),\n",
    " (-0.873409, 52.051216),\n",
    " (-0.873346, 52.051132),\n",
    " (-0.873347, 52.051033),\n",
    " (-0.873401, 52.05096),\n",
    " (-0.873481, 52.05091),\n",
    " (-0.873737, 52.050666),\n",
    " (-0.874236, 52.049922),\n",
    " (-0.874451, 52.049674),\n",
    " (-0.874653, 52.049457),\n",
    " (-0.874986, 52.049144),\n",
    " (-0.875425, 52.048774),\n",
    " (-0.875882, 52.048435),\n",
    " (-0.876574, 52.048),\n",
    " (-0.878706, 52.046844),\n",
    " (-0.881354, 52.045398),\n",
    " (-0.883379, 52.044231),\n",
    " (-0.88408, 52.043811),\n",
    " (-0.885533, 52.042938),\n",
    " (-0.887145, 52.04195),\n",
    " (-0.88907, 52.040775),\n",
    " (-0.89488, 52.03725),\n",
    " (-0.896122, 52.036533),\n",
    " (-0.898016, 52.035438),\n",
    " (-0.900341, 52.034175),\n",
    " (-0.901279, 52.033645),\n",
    " (-0.903018, 52.032592),\n",
    " (-0.907119, 52.029972),\n",
    " (-0.908623, 52.02898),\n",
    " (-0.909826, 52.028121),\n",
    " (-0.910577, 52.02742),\n",
    " (-0.911271, 52.026649),\n",
    " (-0.912601, 52.024925),\n",
    " (-0.912982, 52.024459),\n",
    " (-0.913358, 52.024066),\n",
    " (-0.913623, 52.023826),\n",
    " (-0.914031, 52.023498),\n",
    " (-0.91462, 52.023063),\n",
    " (-0.915142, 52.022747),\n",
    " (-0.915665, 52.022449),\n",
    " (-0.916111, 52.022216),\n",
    " (-0.916644, 52.021984),\n",
    " (-0.917147, 52.021835),\n",
    " (-0.917946, 52.021629),\n",
    " (-0.91817, 52.021564),\n",
    " (-0.918349, 52.021492),\n",
    " (-0.918579, 52.021373),\n",
    " (-0.918816, 52.021217),\n",
    " (-0.919427, 52.02082),\n",
    " (-0.919701, 52.020679),\n",
    " (-0.919983, 52.020591),\n",
    " (-0.920222, 52.020545),\n",
    " (-0.920648, 52.0205),\n",
    " (-0.921124, 52.020481),\n",
    " (-0.921864, 52.020481),\n",
    " (-0.922548, 52.020488),\n",
    " (-0.923934, 52.020465),\n",
    " (-0.925262, 52.020462),\n",
    " (-0.926882, 52.020492),\n",
    " (-0.927583, 52.020511),\n",
    " (-0.92809, 52.020519),\n",
    " (-0.9284, 52.020484),\n",
    " (-0.92876, 52.020385),\n",
    " (-0.929226, 52.020217),\n",
    " (-0.929805, 52.019996),\n",
    " (-0.930389, 52.01976),\n",
    " (-0.932436, 52.018859),\n",
    " (-0.932938, 52.0186),\n",
    " (-0.933532, 52.018272),\n",
    " (-0.93455, 52.017715),\n",
    " (-0.935094, 52.017414),\n",
    " (-0.935752, 52.017047),\n",
    " (-0.936687, 52.016483),\n",
    " (-0.937786, 52.015827),\n",
    " (-0.938261, 52.015552),\n",
    " (-0.938797, 52.015289),\n",
    " (-0.939286, 52.015094),\n",
    " (-0.940798, 52.014595),\n",
    " (-0.941555, 52.014339),\n",
    " (-0.942862, 52.013832),\n",
    " (-0.944008, 52.013393),\n",
    " (-0.945026, 52.013027),\n",
    " (-0.945833, 52.012733),\n",
    " (-0.946292, 52.012527),\n",
    " (-0.946762, 52.012264),\n",
    " (-0.946815, 52.012226),\n",
    " (-0.947091, 52.012027),\n",
    " (-0.947255, 52.011898),\n",
    " (-0.947404, 52.011768),\n",
    " (-0.947632, 52.011512),\n",
    " (-0.947898, 52.011219),\n",
    " (-0.94847, 52.010711),\n",
    " (-0.949424, 52.009887),\n",
    " (-0.94986, 52.009597),\n",
    " (-0.950165, 52.009414),\n",
    " (-0.950704, 52.009124),\n",
    " (-0.951385, 52.008739),\n",
    " (-0.952175, 52.008323),\n",
    " (-0.952709, 52.008083),\n",
    " (-0.95333, 52.007808),\n",
    " (-0.95381, 52.007637),\n",
    " (-0.955139, 52.007316),\n",
    " (-0.955764, 52.007179),\n",
    " (-0.956433, 52.007041),\n",
    " (-0.957985, 52.006782),\n",
    " (-0.958176, 52.006744),\n",
    " (-0.959035, 52.006576),\n",
    " (-0.959916, 52.006355),\n",
    " (-0.960983, 52.006069),\n",
    " (-0.962644, 52.00558),\n",
    " (-0.963727, 52.005241),\n",
    " (-0.964642, 52.004936),\n",
    " (-0.96614, 52.004386),\n",
    " (-0.966498, 52.00428),\n",
    " (-0.967035, 52.004138),\n",
    " (-0.967321, 52.004039),\n",
    " (-0.968156, 52.003696),\n",
    " (-0.969771, 52.003032),\n",
    " (-0.97002, 52.002925),\n",
    " (-0.970444, 52.0027),\n",
    " (-0.970949, 52.002376),\n",
    " (-0.971214, 52.002174),\n",
    " (-0.971149, 52.002117),\n",
    " (-0.97113, 52.002037),\n",
    " (-0.971164, 52.001976),\n",
    " (-0.97125, 52.001926),\n",
    " (-0.971365, 52.001907),\n",
    " (-0.971465, 52.001918),\n",
    " (-0.971554, 52.00196),\n",
    " (-0.971603, 52.002017),\n",
    " (-0.972267, 52.001983),\n",
    " (-0.973048, 52.001964),\n",
    " (-0.974172, 52.001979),\n",
    " (-0.975365, 52.002109),\n",
    " (-0.976102, 52.002227),\n",
    " (-0.976723, 52.002376),\n",
    " (-0.977127, 52.002452),\n",
    " (-0.97773, 52.00262),\n",
    " (-0.978328, 52.002815),\n",
    " (-0.978793, 52.002975),\n",
    " (-0.979041, 52.003044),\n",
    " (-0.979144, 52.00307),\n",
    " (-0.979457, 52.003124),\n",
    " (-0.979861, 52.003158),\n",
    " (-0.980275, 52.003147),\n",
    " (-0.980446, 52.003131),\n",
    " (-0.980631, 52.003093),\n",
    " (-0.980818, 52.003055),\n",
    " (-0.980926, 52.003032),\n",
    " (-0.981477, 52.002906),\n",
    " (-0.981649, 52.002864),\n",
    " (-0.981722, 52.002849),\n",
    " (-0.981904, 52.002803),\n",
    " (-0.982282, 52.002708),\n",
    " (-0.982636, 52.002605),\n",
    " (-0.982915, 52.002502),\n",
    " (-0.983152, 52.002403),\n",
    " (-0.983418, 52.002258),\n",
    " (-0.984051, 52.001987),\n",
    " (-0.984321, 52.001888),\n",
    " (-0.984625, 52.001804),\n",
    " (-0.984812, 52.001735),\n",
    " (-0.985213, 52.001472),\n",
    " (-0.985238, 52.001441),\n",
    " (-0.985539, 52.001304),\n",
    " (-0.985788, 52.001167),\n",
    " (-0.985917, 52.001094),\n",
    " (-0.986025, 52.001033),\n",
    " (-0.986106, 52.000988),\n",
    " (-0.986182, 52.000919),\n",
    " (-0.986567, 52.000667),\n",
    " (-0.98685, 52.000476),\n",
    " (-0.987159, 52.000301),\n",
    " (-0.987426, 52.000133),\n",
    " (-0.987699, 51.999969),\n",
    " (-0.98775, 51.999919),\n",
    " (-0.987727, 51.999801),\n",
    " (-0.987726, 51.999748),\n",
    " (-0.987726, 51.999702),\n",
    " (-0.987717, 51.99966),\n",
    " (-0.987701, 51.999626),\n",
    " (-0.987668, 51.999576),\n",
    " (-0.987489, 51.999378),\n",
    " (-0.987447, 51.999343),\n",
    " (-0.9874, 51.999309),\n",
    " (-0.987038, 51.999088),\n",
    " (-0.986393, 51.998626),\n",
    " (-0.986065, 51.998401),\n",
    " (-0.985983, 51.998336),\n",
    " (-0.985877, 51.998218),\n",
    " (-0.985815, 51.998115),\n",
    " (-0.985752, 51.997989),\n",
    " (-0.985626, 51.997722),\n",
    " (-0.985585, 51.997619),\n",
    " (-0.985472, 51.997367),\n",
    " (-0.985413, 51.997253),\n",
    " (-0.985271, 51.997028),\n",
    " (-0.984652, 51.995983),\n",
    " (-0.984454, 51.995685),\n",
    " (-0.984244, 51.995464),\n",
    " (-0.984019, 51.995315),\n",
    " (-0.984019, 51.995319)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"-0.9963136 51.9830244 0.3319542 0.2509072\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,104.216956)\"><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.006639084\" points=\"-0.701206,52.220489 -0.676654,52.221637 -0.705776,52.145092 -0.690101,52.10831 -0.698649,52.08023 -0.804414,52.046199 -0.86862,52.066532 -0.91462,52.023063 -0.984019,51.995319\" opacity=\"0.8\" /></g></svg>"
      ],
      "text/plain": [
       "<shapely.geometry.linestring.LineString at 0x104396450>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "LineString(simplify_coords(route, 0.01))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"-0.9963136 51.9830244 0.3319542 0.2509072\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,104.216956)\"><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.006639084\" points=\"-0.701206,52.220489 -0.676654,52.221637 -0.705776,52.145092 -0.690101,52.10831 -0.698649,52.08023 -0.804414,52.046199 -0.86862,52.066532 -0.91462,52.023063 -0.984019,51.995319\" opacity=\"0.8\" /></g></svg>"
      ],
      "text/plain": [
       "<shapely.geometry.linestring.LineString at 0x104d06a90>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "LineString(rdp(route, epsilon=.01))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"-1.00019384 51.98287116 0.33598368 0.25231268\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,104.218055)\"><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0067196736\" points=\"-0.701206,52.220489 -0.701206,52.220485 -0.700731,52.220272 -0.697521,52.219863 -0.694064,52.219413 -0.693167,52.219326 -0.692289,52.21928 -0.691663,52.219402 -0.68997,52.219924 -0.689329,52.220287 -0.688109,52.221408 -0.687763,52.22153 -0.686421,52.221763 -0.68568,52.22182 -0.685305,52.221851 -0.684028,52.221916 -0.683046,52.221885 -0.680747,52.221691 -0.679648,52.221645 -0.679101,52.221714 -0.678365,52.221897 -0.677979,52.222503 -0.677754,52.222652 -0.677489,52.222728 -0.677259,52.22274 -0.677103,52.222728 -0.677071,52.22245 -0.676914,52.222171 -0.676797,52.221961 -0.676654,52.221637 -0.676681,52.221134 -0.676875,52.22071 -0.67714,52.219985 -0.677246,52.219234 -0.677387,52.21836 -0.677377,52.218238 -0.677417,52.217987 -0.677556,52.216899 -0.677668,52.215282 -0.67791,52.214523 -0.678637,52.213558 -0.679666,52.212017 -0.68047,52.210945 -0.680859,52.210647 -0.68129,52.210605 -0.681389,52.208835 -0.681614,52.206672 -0.681991,52.204463 -0.682364,52.202465 -0.68274,52.200462 -0.68289,52.198509 -0.682965,52.196666 -0.683149,52.196182 -0.683603,52.194965 -0.684064,52.194004 -0.684241,52.193172 -0.684388,52.191932 -0.684316,52.191169 -0.684253,52.189838 -0.6842,52.189201 -0.684195,52.188991 -0.684195,52.188854 -0.684204,52.188716 -0.684222,52.188583 -0.684259,52.188411 -0.684338,52.188182 -0.684406,52.188003 -0.684501,52.187816 -0.684617,52.187614 -0.684738,52.187431 -0.68498,52.18711 -0.685209,52.186859 -0.685402,52.186672 -0.685676,52.186424 -0.686385,52.185783 -0.686816,52.185337 -0.687045,52.185131 -0.687087,52.185077 -0.687121,52.185012 -0.687161,52.184871 -0.687136,52.184841 -0.687103,52.184757 -0.687103,52.184688 -0.687135,52.184623 -0.687188,52.184562 -0.687242,52.184524 -0.687355,52.184474 -0.687449,52.184452 -0.68757,52.184402 -0.687669,52.184337 -0.687782,52.184238 -0.688131,52.183097 -0.688433,52.182106 -0.688676,52.181171 -0.688849,52.180351 -0.689083,52.178966 -0.689394,52.177135 -0.690294,52.171955 -0.690372,52.171508 -0.690453,52.171188 -0.690582,52.170825 -0.690686,52.170597 -0.690865,52.170272 -0.69099,52.170066 -0.691116,52.169857 -0.691282,52.169624 -0.69161,52.169219 -0.691817,52.169013 -0.692108,52.168781 -0.692494,52.168502 -0.69275,52.168346 -0.692979,52.168224 -0.693163,52.168151 -0.693365,52.168098 -0.69364,52.168045 -0.694168,52.167972 -0.694766,52.167888 -0.695412,52.167789 -0.69587,52.167713 -0.696212,52.167648 -0.696508,52.167579 -0.696759,52.167499 -0.697006,52.1674 -0.697185,52.167312 -0.697373,52.167209 -0.697526,52.167102 -0.697657,52.166988 -0.69779,52.166847 -0.698311,52.166091 -0.700219,52.163684 -0.7003,52.163578 -0.700476,52.163345 -0.700539,52.163238 -0.700614,52.163089 -0.700704,52.162925 -0.700789,52.162773 -0.700921,52.162548 -0.700912,52.162342 -0.70083,52.162284 -0.70083,52.162216 -0.700874,52.162147 -0.700977,52.162113 -0.701229,52.161842 -0.701431,52.161312 -0.701862,52.160633 -0.702077,52.160202 -0.702104,52.160163 -0.70219,52.160007 -0.702239,52.159927 -0.702294,52.159858 -0.70241,52.159614 -0.702459,52.159488 -0.7025,52.159313 -0.702504,52.159118 -0.702455,52.158798 -0.702346,52.158477 -0.702316,52.15842 -0.702203,52.158103 -0.702176,52.158058 -0.701953,52.157695 -0.701768,52.157352 -0.701723,52.157226 -0.7017,52.157165 -0.701664,52.157047 -0.701615,52.156826 -0.701571,52.156669 -0.701548,52.156387 -0.701512,52.156063 -0.701512,52.15578 -0.701525,52.155624 -0.701575,52.155338 -0.701727,52.154644 -0.701826,52.154129 -0.70188,52.153797 -0.701893,52.153659 -0.701893,52.153541 -0.701889,52.153358 -0.701886,52.153305 -0.701889,52.153251 -0.701925,52.153045 -0.701961,52.15287 -0.70197,52.152812 -0.70201,52.152629 -0.702034,52.152572 -0.702086,52.152416 -0.702122,52.152309 -0.702127,52.152294 -0.70214,52.152187 -0.702136,52.152145 -0.702109,52.151985 -0.702029,52.151828 -0.701913,52.151641 -0.701777,52.15139 -0.701709,52.151214 -0.701741,52.151065 -0.70184,52.150894 -0.701911,52.150806 -0.702199,52.150474 -0.702634,52.149974 -0.702849,52.149723 -0.702887,52.149677 -0.703183,52.149341 -0.703684,52.148765 -0.703955,52.148433 -0.704398,52.14785 -0.705121,52.146759 -0.705174,52.146678 -0.705327,52.146419 -0.705548,52.145942 -0.705677,52.145565 -0.705776,52.145092 -0.705781,52.144565 -0.705758,52.144309 -0.705709,52.144077 -0.705686,52.143959 -0.70565,52.143825 -0.705471,52.143356 -0.705273,52.142894 -0.70508,52.142501 -0.704515,52.141265 -0.704305,52.140701 -0.704174,52.140274 -0.704049,52.139774 -0.703976,52.139328 -0.703918,52.138889 -0.703904,52.138481 -0.703936,52.136676 -0.703946,52.13636 -0.703946,52.13594 -0.703955,52.135734 -0.703999,52.134254 -0.704031,52.1319 -0.704016,52.131225 -0.703887,52.130077 -0.70368,52.129093 -0.703411,52.128234 -0.702894,52.126934 -0.702823,52.126766 -0.702559,52.126251 -0.702199,52.125507 -0.701458,52.12384 -0.700921,52.122684 -0.700726,52.122249 -0.700708,52.122211 -0.700548,52.121856 -0.700309,52.12133 -0.699911,52.120502 -0.699574,52.119915 -0.699232,52.119369 -0.699003,52.119007 -0.698756,52.118667 -0.698267,52.11803 -0.697566,52.117198 -0.69684,52.116455 -0.695457,52.115085 -0.694599,52.114238 -0.693784,52.113452 -0.692176,52.111881 -0.691605,52.11127 -0.69108,52.110607 -0.690691,52.109992 -0.690479,52.109565 -0.69047,52.109542 -0.690304,52.109157 -0.690182,52.10873 -0.690101,52.10831 -0.690079,52.107982 -0.690075,52.107627 -0.690083,52.107486 -0.690084,52.107463 -0.690097,52.107242 -0.690187,52.106822 -0.690269,52.106452 -0.690394,52.106029 -0.690699,52.105281 -0.690959,52.104724 -0.691432,52.103927 -0.692279,52.102657 -0.692359,52.102504 -0.692395,52.102386 -0.692395,52.102313 -0.692379,52.102237 -0.692333,52.102165 -0.692262,52.1021 -0.692121,52.102085 -0.691745,52.102027 -0.691619,52.101997 -0.691533,52.101959 -0.691472,52.101902 -0.691436,52.101825 -0.691435,52.101779 -0.691448,52.101734 -0.69148,52.101673 -0.691502,52.101646 -0.691529,52.101627 -0.691637,52.10139 -0.69165,52.101264 -0.691821,52.100822 -0.692162,52.099666 -0.692221,52.099449 -0.692395,52.098762 -0.692606,52.097942 -0.692985,52.096496 -0.693178,52.095829 -0.69395,52.092929 -0.694196,52.09196 -0.694483,52.090797 -0.69507,52.087989 -0.69582,52.084392 -0.695929,52.084033 -0.696067,52.083606 -0.696395,52.082881 -0.696594,52.082481 -0.696835,52.082107 -0.697382,52.081428 -0.697867,52.080924 -0.698241,52.080562 -0.698649,52.08023 -0.698809,52.080116 -0.699399,52.079696 -0.700282,52.079162 -0.700772,52.078899 -0.700946,52.078807 -0.701907,52.078369 -0.702697,52.078067 -0.703285,52.077865 -0.703761,52.07772 -0.703999,52.077671 -0.704242,52.077648 -0.704443,52.077655 -0.704578,52.077636 -0.704784,52.077568 -0.704807,52.077522 -0.70487,52.077453 -0.704996,52.077388 -0.705183,52.077358 -0.705291,52.077365 -0.70543,52.077396 -0.705652,52.077365 -0.706252,52.077175 -0.706553,52.077083 -0.706575,52.077003 -0.706588,52.076984 -0.706634,52.076938 -0.706741,52.076885 -0.706889,52.076858 -0.706984,52.076858 -0.707069,52.076873 -0.707185,52.076923 -0.707419,52.076934 -0.707679,52.076919 -0.708978,52.076698 -0.713322,52.076053 -0.720921,52.074947 -0.721141,52.074893 -0.721356,52.074825 -0.721414,52.074775 -0.721495,52.074737 -0.721617,52.074718 -0.721751,52.074726 -0.721868,52.074771 -0.722038,52.074779 -0.722209,52.074771 -0.72374,52.074523 -0.724772,52.074291 -0.72558,52.074058 -0.726375,52.073783 -0.72708,52.073493 -0.727604,52.073238 -0.728005,52.07304 -0.728421,52.072803 -0.729687,52.072013 -0.730526,52.071475 -0.731793,52.070621 -0.732457,52.070171 -0.733091,52.069747 -0.733665,52.069385 -0.735679,52.068225 -0.735855,52.06813 -0.736842,52.067619 -0.736855,52.067611 -0.737659,52.067226 -0.73853,52.066837 -0.738799,52.066642 -0.738804,52.066612 -0.738817,52.066562 -0.73888,52.066497 -0.738997,52.066444 -0.739145,52.066425 -0.739288,52.066444 -0.73967,52.066329 -0.740428,52.066036 -0.74099,52.065818 -0.741713,52.065555 -0.741964,52.065464 -0.743104,52.065074 -0.744414,52.064647 -0.744675,52.064571 -0.744868,52.064514 -0.745044,52.064464 -0.745233,52.064411 -0.745478,52.064342 -0.746322,52.06409 -0.74739,52.06385 -0.747592,52.063774 -0.747796,52.063655 -0.747834,52.063617 -0.747853,52.063598 -0.747929,52.063556 -0.748077,52.063518 -0.748141,52.063522 -0.748265,52.063537 -0.748496,52.063556 -0.748723,52.063541 -0.749689,52.063331 -0.750263,52.063205 -0.750739,52.063098 -0.751762,52.062873 -0.752031,52.062816 -0.752346,52.062747 -0.754321,52.062313 -0.75591,52.061965 -0.757054,52.061717 -0.757319,52.061656 -0.757521,52.061595 -0.757701,52.061466 -0.757768,52.061401 -0.75788,52.061355 -0.758002,52.061332 -0.758159,52.06134 -0.758277,52.061374 -0.758545,52.061389 -0.758769,52.061374 -0.759623,52.061199 -0.761911,52.060699 -0.762221,52.060634 -0.763299,52.060394 -0.764074,52.060222 -0.765969,52.059741 -0.766185,52.059677 -0.767809,52.0592 -0.767908,52.059169 -0.768443,52.059032 -0.77228,52.057834 -0.772393,52.057777 -0.772482,52.057712 -0.77258,52.05764 -0.772621,52.057544 -0.772679,52.057491 -0.772747,52.057453 -0.772872,52.057418 -0.77303,52.057411 -0.773174,52.057445 -0.773353,52.057449 -0.773507,52.057441 -0.773689,52.057392 -0.775059,52.05688 -0.776459,52.056388 -0.778236,52.055809 -0.780149,52.055282 -0.781155,52.055004 -0.782626,52.054576 -0.784758,52.053886 -0.784911,52.053833 -0.785068,52.053745 -0.785077,52.053695 -0.785109,52.053642 -0.785212,52.053565 -0.785351,52.053524 -0.785463,52.053524 -0.785737,52.053512 -0.785922,52.053489 -0.786083,52.053443 -0.786401,52.053348 -0.788345,52.052715 -0.790095,52.052135 -0.790891,52.051887 -0.792247,52.051456 -0.79384,52.05096 -0.794319,52.0508 -0.794903,52.050621 -0.79665,52.050033 -0.797268,52.049816 -0.797619,52.049694 -0.797789,52.049594 -0.797798,52.049552 -0.797834,52.049499 -0.797893,52.049446 -0.797955,52.049415 -0.798121,52.049377 -0.798197,52.049381 -0.798243,52.049385 -0.798319,52.0494 -0.798624,52.049388 -0.798944,52.049331 -0.800222,52.048919 -0.801124,52.048633 -0.801928,52.048377 -0.802709,52.048107 -0.802866,52.048049 -0.802928,52.048015 -0.802983,52.047969 -0.803054,52.047882 -0.80309,52.047821 -0.803118,52.047733 -0.803105,52.047702 -0.803094,52.047676 -0.80306,52.047588 -0.803023,52.047424 -0.803014,52.047348 -0.803023,52.047275 -0.80304,52.047187 -0.803077,52.0471 -0.803288,52.046756 -0.803374,52.046634 -0.803481,52.046543 -0.803579,52.046485 -0.803696,52.046405 -0.80384,52.046318 -0.803961,52.046272 -0.804199,52.046218 -0.804414,52.046199 -0.80454,52.046192 -0.804661,52.046195 -0.804881,52.046218 -0.805047,52.046249 -0.805155,52.046272 -0.805372,52.04636 -0.805469,52.046409 -0.805605,52.046489 -0.805707,52.046577 -0.805843,52.046707 -0.805869,52.046775 -0.805914,52.046871 -0.806071,52.047042 -0.806196,52.047172 -0.806362,52.047275 -0.806533,52.047344 -0.806748,52.047401 -0.807067,52.047481 -0.80919,52.048007 -0.810375,52.048297 -0.81292,52.04874 -0.821144,52.050048 -0.82368,52.050453 -0.824743,52.050621 -0.827019,52.051013 -0.828662,52.051391 -0.830493,52.051921 -0.832137,52.05252 -0.83342,52.053092 -0.834054,52.053386 -0.834717,52.053745 -0.835175,52.053993 -0.835633,52.054252 -0.836666,52.054931 -0.837254,52.055377 -0.837823,52.05585 -0.839224,52.057323 -0.839821,52.05791 -0.840278,52.058338 -0.840867,52.058818 -0.841544,52.059322 -0.842105,52.059734 -0.843007,52.060272 -0.844291,52.061008 -0.845312,52.061519 -0.846398,52.062007 -0.847492,52.062435 -0.848479,52.062782 -0.851024,52.063636 -0.851419,52.063766 -0.85164,52.063838 -0.852816,52.064224 -0.85308,52.064311 -0.853143,52.064331 -0.854018,52.064601 -0.85554,52.065017 -0.857121,52.065399 -0.858921,52.065757 -0.860284,52.065982 -0.861164,52.066104 -0.862322,52.066234 -0.864046,52.066349 -0.866519,52.066459 -0.868333,52.066539 -0.868463,52.066543 -0.868553,52.066543 -0.86862,52.066532 -0.86871,52.066505 -0.868804,52.066463 -0.868868,52.066425 -0.868939,52.066368 -0.869064,52.066253 -0.869097,52.066219 -0.869146,52.066177 -0.869262,52.066097 -0.869375,52.066043 -0.869544,52.065986 -0.869724,52.065952 -0.869895,52.065944 -0.870002,52.065948 -0.870272,52.065887 -0.870384,52.065856 -0.870523,52.065811 -0.87064,52.065761 -0.870756,52.065708 -0.870967,52.065589 -0.871214,52.065307 -0.871475,52.064971 -0.871722,52.064544 -0.871932,52.064052 -0.872032,52.063491 -0.872014,52.062992 -0.871946,52.062446 -0.871704,52.061752 -0.870321,52.058223 -0.870035,52.057441 -0.869927,52.056907 -0.869854,52.056365 -0.869878,52.056072 -0.869899,52.055835 -0.869984,52.055332 -0.870133,52.054862 -0.870317,52.054458 -0.870532,52.05408 -0.870753,52.053791 -0.87091,52.053569 -0.871183,52.053256 -0.871448,52.053001 -0.873266,52.051548 -0.873409,52.051216 -0.873346,52.051132 -0.873347,52.051033 -0.873401,52.05096 -0.873481,52.05091 -0.873737,52.050666 -0.874236,52.049922 -0.874451,52.049674 -0.874653,52.049457 -0.874986,52.049144 -0.875425,52.048774 -0.875882,52.048435 -0.876574,52.048 -0.878706,52.046844 -0.881354,52.045398 -0.883379,52.044231 -0.88408,52.043811 -0.885533,52.042938 -0.887145,52.04195 -0.88907,52.040775 -0.89488,52.03725 -0.896122,52.036533 -0.898016,52.035438 -0.900341,52.034175 -0.901279,52.033645 -0.903018,52.032592 -0.907119,52.029972 -0.908623,52.02898 -0.909826,52.028121 -0.910577,52.02742 -0.911271,52.026649 -0.912601,52.024925 -0.912982,52.024459 -0.913358,52.024066 -0.913623,52.023826 -0.914031,52.023498 -0.91462,52.023063 -0.915142,52.022747 -0.915665,52.022449 -0.916111,52.022216 -0.916644,52.021984 -0.917147,52.021835 -0.917946,52.021629 -0.91817,52.021564 -0.918349,52.021492 -0.918579,52.021373 -0.918816,52.021217 -0.919427,52.02082 -0.919701,52.020679 -0.919983,52.020591 -0.920222,52.020545 -0.920648,52.0205 -0.921124,52.020481 -0.921864,52.020481 -0.922548,52.020488 -0.923934,52.020465 -0.925262,52.020462 -0.926882,52.020492 -0.927583,52.020511 -0.92809,52.020519 -0.9284,52.020484 -0.92876,52.020385 -0.929226,52.020217 -0.929805,52.019996 -0.930389,52.01976 -0.932436,52.018859 -0.932938,52.0186 -0.933532,52.018272 -0.93455,52.017715 -0.935094,52.017414 -0.935752,52.017047 -0.936687,52.016483 -0.937786,52.015827 -0.938261,52.015552 -0.938797,52.015289 -0.939286,52.015094 -0.940798,52.014595 -0.941555,52.014339 -0.942862,52.013832 -0.944008,52.013393 -0.945026,52.013027 -0.945833,52.012733 -0.946292,52.012527 -0.946762,52.012264 -0.946815,52.012226 -0.947091,52.012027 -0.947255,52.011898 -0.947404,52.011768 -0.947632,52.011512 -0.947898,52.011219 -0.94847,52.010711 -0.949424,52.009887 -0.94986,52.009597 -0.950165,52.009414 -0.950704,52.009124 -0.951385,52.008739 -0.952175,52.008323 -0.952709,52.008083 -0.95333,52.007808 -0.95381,52.007637 -0.955139,52.007316 -0.955764,52.007179 -0.956433,52.007041 -0.957985,52.006782 -0.958176,52.006744 -0.959035,52.006576 -0.959916,52.006355 -0.960983,52.006069 -0.962644,52.00558 -0.963727,52.005241 -0.964642,52.004936 -0.96614,52.004386 -0.966498,52.00428 -0.967035,52.004138 -0.967321,52.004039 -0.968156,52.003696 -0.969771,52.003032 -0.97002,52.002925 -0.970444,52.0027 -0.970949,52.002376 -0.971214,52.002174 -0.971149,52.002117 -0.97113,52.002037 -0.971164,52.001976 -0.97125,52.001926 -0.971365,52.001907 -0.971465,52.001918 -0.971554,52.00196 -0.971603,52.002017 -0.972267,52.001983 -0.973048,52.001964 -0.974172,52.001979 -0.975365,52.002109 -0.976102,52.002227 -0.976723,52.002376 -0.977127,52.002452 -0.97773,52.00262 -0.978328,52.002815 -0.978793,52.002975 -0.979041,52.003044 -0.979144,52.00307 -0.979457,52.003124 -0.979861,52.003158 -0.980275,52.003147 -0.980446,52.003131 -0.980631,52.003093 -0.980818,52.003055 -0.980926,52.003032 -0.981477,52.002906 -0.981649,52.002864 -0.981722,52.002849 -0.981904,52.002803 -0.982282,52.002708 -0.982636,52.002605 -0.982915,52.002502 -0.983152,52.002403 -0.983418,52.002258 -0.984051,52.001987 -0.984321,52.001888 -0.984625,52.001804 -0.984812,52.001735 -0.985213,52.001472 -0.985238,52.001441 -0.985539,52.001304 -0.985788,52.001167 -0.985917,52.001094 -0.986025,52.001033 -0.986106,52.000988 -0.986182,52.000919 -0.986567,52.000667 -0.98685,52.000476 -0.987159,52.000301 -0.987426,52.000133 -0.987699,51.999969 -0.98775,51.999919 -0.987727,51.999801 -0.987726,51.999748 -0.987726,51.999702 -0.987717,51.99966 -0.987701,51.999626 -0.987668,51.999576 -0.987489,51.999378 -0.987447,51.999343 -0.9874,51.999309 -0.987038,51.999088 -0.986393,51.998626 -0.986065,51.998401 -0.985983,51.998336 -0.985877,51.998218 -0.985815,51.998115 -0.985752,51.997989 -0.985626,51.997722 -0.985585,51.997619 -0.985472,51.997367 -0.985413,51.997253 -0.985271,51.997028 -0.984652,51.995983 -0.984454,51.995685 -0.984244,51.995464 -0.984019,51.995315 -0.984019,51.995319\" opacity=\"0.8\" /></g></svg>"
      ],
      "text/plain": [
       "<shapely.geometry.linestring.LineString at 0x1051606d0>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "LineString(route)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(simplify_coords(route, 1.0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "832"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(route)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "route2 = [(-0.701206, 52.220489),\n",
    " (-0.701418, 52.220485),\n",
    " (-0.703903, 52.220596),\n",
    " (-0.70534, 52.220565),\n",
    " (-0.705434, 52.220821),\n",
    " (-0.705471, 52.221374),\n",
    " (-0.705456, 52.221916),\n",
    " (-0.705337, 52.222507),\n",
    " (-0.705456, 52.222827),\n",
    " (-0.705973, 52.223213),\n",
    " (-0.707747, 52.224006),\n",
    " (-0.708401, 52.224445),\n",
    " (-0.71, 52.225944),\n",
    " (-0.710947, 52.226829),\n",
    " (-0.71312, 52.228862),\n",
    " (-0.71355, 52.229431),\n",
    " (-0.71399, 52.23109),\n",
    " (-0.714404, 52.23228),\n",
    " (-0.71446, 52.232448),\n",
    " (-0.714533, 52.232585),\n",
    " (-0.714608, 52.232688),\n",
    " (-0.71478, 52.232826),\n",
    " (-0.714839, 52.232887),\n",
    " (-0.714862, 52.23294),\n",
    " (-0.71486, 52.233013),\n",
    " (-0.714852, 52.233074),\n",
    " (-0.714808, 52.233158),\n",
    " (-0.714582, 52.233543),\n",
    " (-0.714474, 52.233818),\n",
    " (-0.714422, 52.2341),\n",
    " (-0.714348, 52.234375),\n",
    " (-0.714232, 52.234745),\n",
    " (-0.714111, 52.234989),\n",
    " (-0.714026, 52.235092),\n",
    " (-0.713913, 52.235191),\n",
    " (-0.71369, 52.235431),\n",
    " (-0.713572, 52.235607),\n",
    " (-0.713169, 52.236484),\n",
    " (-0.713114, 52.236579),\n",
    " (-0.712968, 52.236747),\n",
    " (-0.712557, 52.237239),\n",
    " (-0.712412, 52.2374),\n",
    " (-0.71233, 52.237495),\n",
    " (-0.711926, 52.238056),\n",
    " (-0.711604, 52.238529),\n",
    " (-0.711409, 52.23875),\n",
    " (-0.711181, 52.238952),\n",
    " (-0.711001, 52.239093),\n",
    " (-0.710784, 52.239315),\n",
    " (-0.710603, 52.239521),\n",
    " (-0.709919, 52.24023),\n",
    " (-0.709518, 52.240646),\n",
    " (-0.709263, 52.240825),\n",
    " (-0.708887, 52.240669),\n",
    " (-0.708684, 52.240627),\n",
    " (-0.708565, 52.2406),\n",
    " (-0.708298, 52.240573),\n",
    " (-0.707846, 52.240577),\n",
    " (-0.707594, 52.240596),\n",
    " (-0.707289, 52.240673),\n",
    " (-0.707042, 52.240745),\n",
    " (-0.706827, 52.240795),\n",
    " (-0.706592, 52.240829),\n",
    " (-0.706265, 52.240852),\n",
    " (-0.705551, 52.24089),\n",
    " (-0.705282, 52.24089),\n",
    " (-0.704945, 52.240863),\n",
    " (-0.704327, 52.240795),\n",
    " (-0.703726, 52.240756)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"-0.70453668 52.21967832 0.00414136 0.02188836\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,104.461245)\"><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0004377672\" points=\"-0.701206,52.220489 -0.703726,52.240756\" opacity=\"0.8\" /></g></svg>"
      ],
      "text/plain": [
       "<shapely.geometry.linestring.LineString at 0x1051603d0>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "LineString(simplify_coords(route2, 1.0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(69, 2)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(route2), len(simplify_coords(route2, 1.0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "ls = np.array([5., 0., 4., 0., 3., 0., 3., 1., 3., 2.]).reshape(5, 2).tolist()\n",
    "\n",
    "#                  np.array([5, 0, 3, 0, 3, 2]).reshape(3, 2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[5.0, 0.0], [3.0, 0.0], [3.0, 1.0]]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "simplify_coords(ls, 1.0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def pldist(x0, x1, x2):\n",
    "    \"\"\"\n",
    "    Calculates the distance from the point ``x0`` to the line given\n",
    "    by the points ``x1`` and ``x2``.\n",
    "    :param x0: a point\n",
    "    :type x0: a 2x1 numpy array\n",
    "    :param x1: a point of the line\n",
    "    :type x1: 2x1 numpy array\n",
    "    :param x2: another point of the line\n",
    "    :type x2: 2x1 numpy array\n",
    "    \"\"\"\n",
    "    if x1[0] == x2[0]:\n",
    "        return np.abs(x0[0] - x1[0])\n",
    "\n",
    "    return np.divide(np.linalg.norm(np.linalg.det([x2 - x1, x1 - x0])),\n",
    "                     np.linalg.norm(x2 - x1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.70710678118654746"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pldist(np.array([1.0, 1.0]), np.array([1.0, 2.0]), np.array([3.0, 4.0]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2, 3]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ls = [1, 2, 3]\n",
    "ls[1:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[0.0, 0.0], [5.0, 4.0], [11.0, 5.5], [27.8, 0.1]]"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rdp([[0.0, 0.0], [5.0, 4.0], [11.0, 5.5], [17.3, 3.2], [27.8, 0.1]], epsilon=1.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "[[0, 0], [5, 4], [11, 5.5], [27.8, 0.1]]"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}