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
|
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2023-11-07T18:15:48.594817Z",
"start_time": "2023-11-07T18:15:47.605833Z"
}
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import folium\n",
"import utils"
]
},
{
"cell_type": "code",
"execution_count": 2,
"outputs": [],
"source": [
"# Load the data\n",
"ListA = pd.read_csv('List A.csv')\n",
"ListB = pd.read_csv('List B.csv')\n",
"ListC = pd.read_csv('List C.csv')\n",
"ListD = pd.read_csv('List D.csv')"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:15:48.604219Z",
"start_time": "2023-11-07T18:15:48.596141Z"
}
},
"id": "73b780e762c9de37"
},
{
"cell_type": "code",
"execution_count": 3,
"outputs": [],
"source": [
"# Create three centroids, one in the North End, one in the Financial District, and one in the Back Bay\n",
"centroids = [[42.364506, -71.054733], [42.358894, -71.056742], [42.3505, -71.0760]]\n",
"\n",
"northeastern_coordinate = \"-71.09033,42.33976\""
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:15:48.608755Z",
"start_time": "2023-11-07T18:15:48.604788Z"
}
},
"id": "be4c8c1d77842ef7"
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [],
"source": [
"# Combine the two lists and add a column to indicate the list\n",
"ListA['list'] = 'A'\n",
"ListB['list'] = 'B'\n",
"ListC['list'] = 'C'\n",
"ListD['list'] = 'D'\n",
"\n",
"TotalList = pd.concat([ListA, ListB, ListC, ListD])"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:15:48.613233Z",
"start_time": "2023-11-07T18:15:48.607380Z"
}
},
"id": "ffe4025e97a6c6b9"
},
{
"cell_type": "code",
"execution_count": 5,
"outputs": [],
"source": [
"# Remove all columns but name and gps\n",
"TotalList = TotalList[['name', 'gps', 'list']]"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:15:48.613309Z",
"start_time": "2023-11-07T18:15:48.611827Z"
}
},
"id": "72657779b4484aae"
},
{
"cell_type": "code",
"execution_count": 6,
"outputs": [],
"source": [
"# Convert the gps column to a list of lists for k-means\n",
"TotalList['gps'] = TotalList['gps'].apply(lambda x: x.strip('[]').split(','))\n",
"TotalList['gps'] = TotalList['gps'].apply(lambda x: [float(i) for i in x])"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:15:48.617922Z",
"start_time": "2023-11-07T18:15:48.614428Z"
}
},
"id": "a157ffaec020a29a"
},
{
"cell_type": "code",
"execution_count": 7,
"outputs": [
{
"data": {
"text/plain": " name gps list \\\n0 521 Commercial Street #525 [42.3688272, -71.0553792] A \n1 Acorn St [42.3576234, -71.0688746] A \n2 Arlington's Great Meadows [42.4299758, -71.2038948] A \n3 Arthur Fiedler Statue [42.3565057, -71.0754527] A \n4 BU Beach [42.3511927, -71.1060828] A \n.. ... ... ... \n33 The Quiet Few [42.3670906, -71.0359889] D \n34 The Tall Ship Boston [42.3649544, -71.0414523] D \n35 Toasted Flats [42.3711266, -71.0371343] D \n36 Vega Market [42.3891835, -71.033703] D \n37 Winthrop High School [42.3803348, -70.9799864] D \n\n normalized_gps \n0 [0.7251058917247415, 0.7797482353989729] \n1 [0.6747391031099019, 0.7451825969538083] \n2 [1.0, 0.3993566550776867] \n3 [0.6697144722136962, 0.7283341725828262] \n4 [0.6458298305822171, 0.6498815915448888] \n.. ... \n33 [0.717298990038831, 0.8294124246148072] \n34 [0.7076956827824702, 0.8154190706511427] \n35 [0.7354428661210094, 0.8264787225922622] \n36 [0.8166178304491644, 0.8352672783369615] \n37 [0.7768384161061446, 0.972851090162032] \n\n[169 rows x 4 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>name</th>\n <th>gps</th>\n <th>list</th>\n <th>normalized_gps</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>521 Commercial Street #525</td>\n <td>[42.3688272, -71.0553792]</td>\n <td>A</td>\n <td>[0.7251058917247415, 0.7797482353989729]</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Acorn St</td>\n <td>[42.3576234, -71.0688746]</td>\n <td>A</td>\n <td>[0.6747391031099019, 0.7451825969538083]</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Arlington's Great Meadows</td>\n <td>[42.4299758, -71.2038948]</td>\n <td>A</td>\n <td>[1.0, 0.3993566550776867]</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Arthur Fiedler Statue</td>\n <td>[42.3565057, -71.0754527]</td>\n <td>A</td>\n <td>[0.6697144722136962, 0.7283341725828262]</td>\n </tr>\n <tr>\n <th>4</th>\n <td>BU Beach</td>\n <td>[42.3511927, -71.1060828]</td>\n <td>A</td>\n <td>[0.6458298305822171, 0.6498815915448888]</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>33</th>\n <td>The Quiet Few</td>\n <td>[42.3670906, -71.0359889]</td>\n <td>D</td>\n <td>[0.717298990038831, 0.8294124246148072]</td>\n </tr>\n <tr>\n <th>34</th>\n <td>The Tall Ship Boston</td>\n <td>[42.3649544, -71.0414523]</td>\n <td>D</td>\n <td>[0.7076956827824702, 0.8154190706511427]</td>\n </tr>\n <tr>\n <th>35</th>\n <td>Toasted Flats</td>\n <td>[42.3711266, -71.0371343]</td>\n <td>D</td>\n <td>[0.7354428661210094, 0.8264787225922622]</td>\n </tr>\n <tr>\n <th>36</th>\n <td>Vega Market</td>\n <td>[42.3891835, -71.033703]</td>\n <td>D</td>\n <td>[0.8166178304491644, 0.8352672783369615]</td>\n </tr>\n <tr>\n <th>37</th>\n <td>Winthrop High School</td>\n <td>[42.3803348, -70.9799864]</td>\n <td>D</td>\n <td>[0.7768384161061446, 0.972851090162032]</td>\n </tr>\n </tbody>\n</table>\n<p>169 rows × 4 columns</p>\n</div>"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Create a new column with normalized gps coordinates and centroids\n",
"TotalList['normalized_gps'], norm_centroids = utils.normalize_gps(TotalList['gps'].values.tolist(), centroids)\n",
"display(TotalList)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:15:48.627782Z",
"start_time": "2023-11-07T18:15:48.618140Z"
}
},
"id": "a03ebde91b87fa3b"
},
{
"cell_type": "markdown",
"source": [
"# 2 Routes"
],
"metadata": {
"collapsed": false
},
"id": "4bd41be9aca5094b"
},
{
"cell_type": "markdown",
"source": [
"## Cluster and Minimize"
],
"metadata": {
"collapsed": false
},
"id": "90d1d2f1a931597f"
},
{
"cell_type": "code",
"execution_count": 8,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/garrinshieh/anaconda3/lib/python3.11/site-packages/sklearn/cluster/_kmeans.py:1412: FutureWarning: The default value of `n_init` will change from 10 to 'auto' in 1.4. Set the value of `n_init` explicitly to suppress the warning\n",
" super()._check_params_vs_input(X, default_n_init=10)\n",
"/Users/garrinshieh/anaconda3/lib/python3.11/site-packages/sklearn/cluster/_kmeans.py:1412: RuntimeWarning: Explicit initial center position passed: performing only one init in KMeans instead of n_init=10.\n",
" super()._check_params_vs_input(X, default_n_init=10)\n"
]
}
],
"source": [
"# Cluster and minimize the data\n",
"norm_centroids_2 = norm_centroids[:2]\n",
"_, route_1_coordinates, route_2_coordinates = utils.cluster_and_minimize_2(TotalList, centroids, norm_centroids_2,\n",
" northeastern_coordinate, 0.5, minimize=True)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:16:41.294672Z",
"start_time": "2023-11-07T18:15:48.624793Z"
}
},
"id": "ee9b3c1ecb360976"
},
{
"cell_type": "markdown",
"source": [
"## Create JSON"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T17:33:02.697755Z",
"start_time": "2023-11-07T17:33:02.687460Z"
}
},
"id": "c85b8ef869e35006"
},
{
"cell_type": "code",
"execution_count": 9,
"outputs": [],
"source": [
"# Create a JSON request for the API\n",
"# This is the data we want to get from the API\n",
"route_1 = utils.list_to_string(route_1_coordinates)\n",
"route_2 = utils.list_to_string(route_2_coordinates)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:16:41.298495Z",
"start_time": "2023-11-07T18:16:41.293559Z"
}
},
"id": "aa618161182b5b07"
},
{
"cell_type": "code",
"execution_count": 10,
"outputs": [],
"source": [
"# Create a dataframe from the JSON\n",
"df1 = utils.create_json_df(route_1, utils.list_to_string([centroids[0]]), northeastern_coordinate)\n",
"df2 = utils.create_json_df(route_2, utils.list_to_string([centroids[1]]), northeastern_coordinate)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:16:43.656626Z",
"start_time": "2023-11-07T18:16:41.303093Z"
}
},
"id": "32c485788eedd94"
},
{
"cell_type": "code",
"execution_count": 11,
"outputs": [],
"source": [
"# Add columns for the route number\n",
"df1['route'] = 1\n",
"df2['route'] = 2\n",
"\n",
"# Concatenate the two dataframes\n",
"df = pd.concat([df1, df2], ignore_index=True)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:16:43.676130Z",
"start_time": "2023-11-07T18:16:43.661970Z"
}
},
"id": "49dba1f17ca8337e"
},
{
"cell_type": "code",
"execution_count": 12,
"outputs": [
{
"data": {
"text/plain": " waypoint_index trips_index \\\n0 0 0 \n1 1 0 \n2 2 0 \n3 3 0 \n4 4 0 \n.. ... ... \n151 62 0 \n152 63 0 \n153 64 0 \n154 65 0 \n155 66 0 \n\n hint distance \\\n0 t4YsgAGHLIAAAAAAVQEAAAAAAAAwAAAAAAAAAHV0F0IAAA... 19.432511 \n1 IzYEgGw1BIASAAAArwAAADMAAACUAwAAynkIQGUkmkEXlL... 6.024489 \n2 5IgsgAqJLID7AAAAHgAAAAwAAAAIAAAAz5ffQcMBVEDFYK... 5.871835 \n3 G4gsgDiILICSAwAA5gAAAOkAAAAAAAAAQljLQnyXy0Fhy8... 2.602121 \n4 gIosgLaKLIDOAAAArgAAAFwBAAAAAAAAp3O3QafxmUEQiR... 15.458439 \n.. ... ... \n151 lhgDgIkYA4BkAAAAIgEAAFoBAAAaAAAAJyAzQWNrAEI8Ax... 7.134933 \n152 MQwigFwMIoAoAAAANQAAABwAAAB-AAAAoidqQSAYl0GvUh... 11.504463 \n153 bwwigH0MIoAFAAAAEAAAAFUAAAArAAAAag0xP3921D-BFx... 8.340476 \n154 k4chgBiIIYAKAAAAFwAAAPQDAAB_AgAAHn2aP-biHUBi6e... 36.240351 \n155 DoUhgBeFIYCcAAAAJgAAAAAAAAARAAAAm0CKQdkZiEAAAA... 0.236958 \n\n name location lat lon \\\n0 [-71.054865, 42.364361] -71.054865 42.364361 \n1 [-71.055569, 42.364032] -71.055569 42.364032 \n2 [-71.055582, 42.365251] -71.055582 42.365251 \n3 [-71.056164, 42.366918] -71.056164 42.366918 \n4 [-71.055561, 42.368861] -71.055561 42.368861 \n.. ... ... ... ... \n151 [-71.083465, 42.34194] -71.083465 42.341940 \n152 [-71.094327, 42.341231] -71.094327 42.341231 \n153 [-71.095003, 42.342001] -71.095003 42.342001 \n154 [-71.093834, 42.339096] -71.093834 42.339096 \n155 Northeastern (Inbound) [-71.090331, 42.339762] -71.090331 42.339762 \n\n route \n0 1 \n1 1 \n2 1 \n3 1 \n4 1 \n.. ... \n151 2 \n152 2 \n153 2 \n154 2 \n155 2 \n\n[156 rows x 9 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>waypoint_index</th>\n <th>trips_index</th>\n <th>hint</th>\n <th>distance</th>\n <th>name</th>\n <th>location</th>\n <th>lat</th>\n <th>lon</th>\n <th>route</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>0</td>\n <td>0</td>\n <td>t4YsgAGHLIAAAAAAVQEAAAAAAAAwAAAAAAAAAHV0F0IAAA...</td>\n <td>19.432511</td>\n <td></td>\n <td>[-71.054865, 42.364361]</td>\n <td>-71.054865</td>\n <td>42.364361</td>\n <td>1</td>\n </tr>\n <tr>\n <th>1</th>\n <td>1</td>\n <td>0</td>\n <td>IzYEgGw1BIASAAAArwAAADMAAACUAwAAynkIQGUkmkEXlL...</td>\n <td>6.024489</td>\n <td></td>\n <td>[-71.055569, 42.364032]</td>\n <td>-71.055569</td>\n <td>42.364032</td>\n <td>1</td>\n </tr>\n <tr>\n <th>2</th>\n <td>2</td>\n <td>0</td>\n <td>5IgsgAqJLID7AAAAHgAAAAwAAAAIAAAAz5ffQcMBVEDFYK...</td>\n <td>5.871835</td>\n <td></td>\n <td>[-71.055582, 42.365251]</td>\n <td>-71.055582</td>\n <td>42.365251</td>\n <td>1</td>\n </tr>\n <tr>\n <th>3</th>\n <td>3</td>\n <td>0</td>\n <td>G4gsgDiILICSAwAA5gAAAOkAAAAAAAAAQljLQnyXy0Fhy8...</td>\n <td>2.602121</td>\n <td></td>\n <td>[-71.056164, 42.366918]</td>\n <td>-71.056164</td>\n <td>42.366918</td>\n <td>1</td>\n </tr>\n <tr>\n <th>4</th>\n <td>4</td>\n <td>0</td>\n <td>gIosgLaKLIDOAAAArgAAAFwBAAAAAAAAp3O3QafxmUEQiR...</td>\n <td>15.458439</td>\n <td></td>\n <td>[-71.055561, 42.368861]</td>\n <td>-71.055561</td>\n <td>42.368861</td>\n <td>1</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>151</th>\n <td>62</td>\n <td>0</td>\n <td>lhgDgIkYA4BkAAAAIgEAAFoBAAAaAAAAJyAzQWNrAEI8Ax...</td>\n <td>7.134933</td>\n <td></td>\n <td>[-71.083465, 42.34194]</td>\n <td>-71.083465</td>\n <td>42.341940</td>\n <td>2</td>\n </tr>\n <tr>\n <th>152</th>\n <td>63</td>\n <td>0</td>\n <td>MQwigFwMIoAoAAAANQAAABwAAAB-AAAAoidqQSAYl0GvUh...</td>\n <td>11.504463</td>\n <td></td>\n <td>[-71.094327, 42.341231]</td>\n <td>-71.094327</td>\n <td>42.341231</td>\n <td>2</td>\n </tr>\n <tr>\n <th>153</th>\n <td>64</td>\n <td>0</td>\n <td>bwwigH0MIoAFAAAAEAAAAFUAAAArAAAAag0xP3921D-BFx...</td>\n <td>8.340476</td>\n <td></td>\n <td>[-71.095003, 42.342001]</td>\n <td>-71.095003</td>\n <td>42.342001</td>\n <td>2</td>\n </tr>\n <tr>\n <th>154</th>\n <td>65</td>\n <td>0</td>\n <td>k4chgBiIIYAKAAAAFwAAAPQDAAB_AgAAHn2aP-biHUBi6e...</td>\n <td>36.240351</td>\n <td></td>\n <td>[-71.093834, 42.339096]</td>\n <td>-71.093834</td>\n <td>42.339096</td>\n <td>2</td>\n </tr>\n <tr>\n <th>155</th>\n <td>66</td>\n <td>0</td>\n <td>DoUhgBeFIYCcAAAAJgAAAAAAAAARAAAAm0CKQdkZiEAAAA...</td>\n <td>0.236958</td>\n <td>Northeastern (Inbound)</td>\n <td>[-71.090331, 42.339762]</td>\n <td>-71.090331</td>\n <td>42.339762</td>\n <td>2</td>\n </tr>\n </tbody>\n</table>\n<p>156 rows × 9 columns</p>\n</div>"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display(df)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:16:43.691423Z",
"start_time": "2023-11-07T18:16:43.681109Z"
}
},
"id": "f231d9a35358988c"
},
{
"cell_type": "markdown",
"source": [
"## Map"
],
"metadata": {
"collapsed": false
},
"id": "75be92e34a36147f"
},
{
"cell_type": "code",
"execution_count": 13,
"outputs": [
{
"data": {
"text/plain": "<folium.folium.Map at 0x146295b10>",
"text/html": "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe srcdoc=\"<!DOCTYPE html>\n<html>\n<head>\n \n <meta http-equiv="content-type" content="text/html; charset=UTF-8" />\n \n <script>\n L_NO_TOUCH = false;\n L_DISABLE_3D = false;\n </script>\n \n <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>\n <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>\n <script src="https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js"></script>\n <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>\n <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js"></script>\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css"/>\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css"/>\n <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"/>\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css"/>\n <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css"/>\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css"/>\n \n <meta name="viewport" content="width=device-width,\n initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />\n <style>\n #map_5902deee1983d18fc69ea1aabf7b596a {\n position: relative;\n width: 100.0%;\n height: 100.0%;\n left: 0.0%;\n top: 0.0%;\n }\n .leaflet-container { font-size: 1rem; }\n </style>\n \n</head>\n<body>\n \n \n <div class="folium-map" id="map_5902deee1983d18fc69ea1aabf7b596a" ></div>\n \n</body>\n<script>\n \n \n var map_5902deee1983d18fc69ea1aabf7b596a = L.map(\n "map_5902deee1983d18fc69ea1aabf7b596a",\n {\n center: [42.359001320512824, -71.07167197435898],\n crs: L.CRS.EPSG3857,\n zoom: 11,\n zoomControl: true,\n preferCanvas: false,\n }\n );\n\n \n\n \n \n var tile_layer_ee0ab53b634d41d550e5e9180503f66b = L.tileLayer(\n "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",\n {"attribution": "Data by \\u0026copy; \\u003ca target=\\"_blank\\" href=\\"http://openstreetmap.org\\"\\u003eOpenStreetMap\\u003c/a\\u003e, under \\u003ca target=\\"_blank\\" href=\\"http://www.openstreetmap.org/copyright\\"\\u003eODbL\\u003c/a\\u003e.", "detectRetina": false, "maxNativeZoom": 18, "maxZoom": 18, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var poly_line_f03149ec1ac3bf0601d64b74ff3d1942 = L.polyline(\n [[42.364361, -71.054865], [42.364032, -71.055569], [42.365251, -71.055582], [42.366918, -71.056164], [42.368861, -71.055561], [42.360949, -71.051539], [42.361263, -71.056994], [42.361534, -71.056819], [42.359704, -71.054519], [42.36049, -71.056995], [42.358757, -71.057201], [42.357428, -71.058565], [42.352211, -71.051172], [42.353667, -71.047121], [42.364857, -71.041248], [42.367158, -71.035936], [42.365172, -71.035967], [42.363961, -71.033209], [42.369812, -71.037911], [42.371161, -71.037188], [42.37337, -71.033036], [42.380792, -71.034935], [42.377891, -71.028298], [42.382756, -71.011693], [42.390256, -71.005456], [42.411785, -71.01537], [42.398247, -71.028327], [42.391309, -71.036726], [42.390284, -71.038526], [42.385546, -71.039316], [42.386461, -71.032794], [42.389192, -71.033749], [42.397588, -71.035674], [42.393843, -71.041015], [42.402568, -71.051453], [42.412279, -71.031525], [42.421213, -71.027113], [42.422264, -71.043219], [42.418307, -71.050739], [42.42069, -71.055953], [42.407436, -71.062128], [42.403792, -71.058992], [42.397236, -71.072007], [42.398809, -71.061206], [42.380436, -71.060948], [42.374142, -71.063105], [42.376178, -71.060933], [42.376391, -71.060753], [42.374119, -71.055588], [42.369195, -71.061735], [42.371832, -71.065634], [42.369868, -71.06828], [42.379731, -71.094916], [42.381759, -71.093444], [42.400829, -71.112241], [42.38859, -71.119303], [42.388412, -71.119219], [42.378452, -71.115739], [42.378275, -71.114496], [42.376696, -71.115952], [42.375457, -71.119379], [42.373491, -71.118959], [42.373266, -71.120839], [42.374259, -71.110851], [42.383573, -71.112746], [42.383988, -71.110771], [42.382131, -71.102659], [42.382238, -71.102512], [42.380957, -71.097894], [42.380072, -71.096887], [42.377355, -71.094764], [42.367607, -71.08097], [42.369473, -71.075628], [42.365968, -71.062507], [42.359295, -71.059255], [42.358056, -71.062171], [42.358851, -71.064277], [42.357529, -71.069242], [42.356682, -71.066568], [42.355298, -71.061249], [42.355519, -71.063037], [42.354894, -71.063514], [42.353717, -71.061676], [42.350941, -71.059567], [42.352445, -71.066839], [42.352314, -71.067311], [42.353792, -71.068086], [42.356537, -71.075414], [42.339762, -71.090331]],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "noClip": false, "opacity": 1.0, "smoothFactor": 1.0, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_079953f0a98134e877b54967aa148d4e = L.circleMarker(\n [42.364361, -71.054865],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c0bbcf9e5c22f6cab19de90ef1fb04ed = L.circleMarker(\n [42.364032, -71.055569],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_3a1df053c0c6575c2276ce0537930874 = L.circleMarker(\n [42.365251, -71.055582],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_ab2c3888d45c987b5d962b0865762e5d = L.circleMarker(\n [42.366918, -71.056164],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_b2695a58dc6134bba60ee6764ee99248 = L.circleMarker(\n [42.368861, -71.055561],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_374d6ff0c21c42632bfb2a0dc665480c = L.circleMarker(\n [42.360949, -71.051539],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_8dcca88aa7e6ab9f92acef7ffd29251c = L.circleMarker(\n [42.361263, -71.056994],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_025e5cc7d6aeaef558d911c1433249e0 = L.circleMarker(\n [42.361534, -71.056819],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_7ee33d837061c50014f54996ba59b873 = L.circleMarker(\n [42.359704, -71.054519],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_0a72b9fe0334babbecee73d6ca2427a9 = L.circleMarker(\n [42.36049, -71.056995],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_3b5f6b51d83160d73061768a9ffbcd93 = L.circleMarker(\n [42.358757, -71.057201],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_ef78833896026c2a4b4c6e9ca407792f = L.circleMarker(\n [42.357428, -71.058565],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c0828409b4081ddb49b85dabd1fa1cec = L.circleMarker(\n [42.352211, -71.051172],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_a41444cd56234270515fb71101fca77f = L.circleMarker(\n [42.353667, -71.047121],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_81e92d97888370d50202de69c12845d8 = L.circleMarker(\n [42.364857, -71.041248],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_ed20d207a992e49610708f048b2b41e3 = L.circleMarker(\n [42.367158, -71.035936],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_022dfda5ef1f5ca4ed16330edf8e6f3c = L.circleMarker(\n [42.365172, -71.035967],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_9a779fcb87010aa99256e33dbfa7584b = L.circleMarker(\n [42.363961, -71.033209],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_68fc2038d6392a94150660d8b1eab167 = L.circleMarker(\n [42.369812, -71.037911],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_8f460653b4418892c5158ad2c06d00cd = L.circleMarker(\n [42.371161, -71.037188],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_61f969852c9a8dbe0bd86bc2da431aa8 = L.circleMarker(\n [42.37337, -71.033036],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_41223b6dd7e6118a429a1fd497a9e35f = L.circleMarker(\n [42.380792, -71.034935],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_b0573d055ddb66e1c0eb6de1d8d0f975 = L.circleMarker(\n [42.377891, -71.028298],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_7b0613f34e1e71d80099bc6f94461926 = L.circleMarker(\n [42.382756, -71.011693],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_9423e23344e524e5d503dddfefe01d18 = L.circleMarker(\n [42.390256, -71.005456],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_a7438545c26c8089d922cc3496bc4daf = L.circleMarker(\n [42.411785, -71.01537],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c25ec7b3925954d9e7f7c9a52f5c2b7d = L.circleMarker(\n [42.398247, -71.028327],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_fb85f1d70f13901b24c5152de105fc0f = L.circleMarker(\n [42.391309, -71.036726],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_24a3db5a50c117a5055fbc1ddcad09c3 = L.circleMarker(\n [42.390284, -71.038526],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_b41093e3fec270875f0bdfe05cd5a3f3 = L.circleMarker(\n [42.385546, -71.039316],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_3958ccb0a28a633d53ca1eeb0ed19f26 = L.circleMarker(\n [42.386461, -71.032794],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_a7136346ce2a25514d51196593910056 = L.circleMarker(\n [42.389192, -71.033749],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_acebf06f32e8b394e19b22b8e0d1aa21 = L.circleMarker(\n [42.397588, -71.035674],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_ad6779f295dc03db42cc0cb9b6d1fb5c = L.circleMarker(\n [42.393843, -71.041015],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_0fed48092634542ac9685279bd64b1d9 = L.circleMarker(\n [42.402568, -71.051453],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_9c59f56b3d58d37f8879fc64b449ce4a = L.circleMarker(\n [42.412279, -71.031525],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_91acf27c49a3360b5435b48e712fb003 = L.circleMarker(\n [42.421213, -71.027113],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_81ae94897e104f182a51c4194ab994e6 = L.circleMarker(\n [42.422264, -71.043219],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c7a70b4dabc11e5d592493b9b84f66c8 = L.circleMarker(\n [42.418307, -71.050739],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_4a95e258ee285687908c234c3e61236a = L.circleMarker(\n [42.42069, -71.055953],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_a1e063b669bd100a43d785b89cf5956a = L.circleMarker(\n [42.407436, -71.062128],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_8f8f6a7a198c98addbd0a56f187d81fd = L.circleMarker(\n [42.403792, -71.058992],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_588d6fe98c87fd71d2b6548c42ca3867 = L.circleMarker(\n [42.397236, -71.072007],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_3911c205439c9977f8cf8639c90017bd = L.circleMarker(\n [42.398809, -71.061206],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_12534af7000e08e6f1ba28af9e7d18c4 = L.circleMarker(\n [42.380436, -71.060948],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_68648400a8293f9a41842eb4576f1cca = L.circleMarker(\n [42.374142, -71.063105],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_e8f7c615ee1a5fb22d9f526dc40a22ea = L.circleMarker(\n [42.376178, -71.060933],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_f9bcee13b335113703d3c8a313b614b0 = L.circleMarker(\n [42.376391, -71.060753],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c60ea43c2e877152f5d7319fc69597f2 = L.circleMarker(\n [42.374119, -71.055588],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_d074f6a9f0cdbb6cdcc9dbacc9b62696 = L.circleMarker(\n [42.369195, -71.061735],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_aa3c45b4a616bb7be841362232ba96e4 = L.circleMarker(\n [42.371832, -71.065634],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_d02d0f686540437c867c2fb8a3d60b2b = L.circleMarker(\n [42.369868, -71.06828],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_65ebf2443b2d8bdc0085dd00b973bf5d = L.circleMarker(\n [42.379731, -71.094916],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_770320e7103122cd7cb66d68b0dc7fb3 = L.circleMarker(\n [42.381759, -71.093444],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_f4b3f0248d8d9cf0e8da62ac7a7daeec = L.circleMarker(\n [42.400829, -71.112241],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_3cd7d4bf45b13766340358bcdabaa715 = L.circleMarker(\n [42.38859, -71.119303],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_e6c533b57e83aaefa36557ea4451a855 = L.circleMarker(\n [42.388412, -71.119219],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_16c7d187b47628d521e6e75e0c23f8db = L.circleMarker(\n [42.378452, -71.115739],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_77e31a1d813abb7d7fb950613855e58d = L.circleMarker(\n [42.378275, -71.114496],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_bc47d29e48907d44f62bf617d1803624 = L.circleMarker(\n [42.376696, -71.115952],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_cf7758fd41280f7188202621b028fe8c = L.circleMarker(\n [42.375457, -71.119379],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_3320e952b5dea045e390ab3c44eb7b7e = L.circleMarker(\n [42.373491, -71.118959],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_fb9437671dba8514b4c135505f836421 = L.circleMarker(\n [42.373266, -71.120839],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_8879148707b7cfd35580544aeef23751 = L.circleMarker(\n [42.374259, -71.110851],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_13498d3e3991b4afb60588a1b05bec1e = L.circleMarker(\n [42.383573, -71.112746],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_987c1b384f8bc574248f90bab7ca5836 = L.circleMarker(\n [42.383988, -71.110771],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_18a177b3a363323d30bf8d9e3511d821 = L.circleMarker(\n [42.382131, -71.102659],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c12a265e5092f788fc4dfd065accd1c7 = L.circleMarker(\n [42.382238, -71.102512],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_11016ae5dac95dfc9721554fff2d7552 = L.circleMarker(\n [42.380957, -71.097894],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_dc3e517796821a84f6d8c245283543af = L.circleMarker(\n [42.380072, -71.096887],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_268f90685e7406df5f299f8068c7b7c2 = L.circleMarker(\n [42.377355, -71.094764],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_8c82319c533d03431c2ab90c431295d4 = L.circleMarker(\n [42.367607, -71.08097],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c6e3f99138da3de015d1e02dd2153d0f = L.circleMarker(\n [42.369473, -71.075628],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_3d8744519a3fa6b894c0e4d74dca15f5 = L.circleMarker(\n [42.365968, -71.062507],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_17b760796dd024ec0aca1925ed204277 = L.circleMarker(\n [42.359295, -71.059255],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_cea0c9d80d749d0f64321d19daea817f = L.circleMarker(\n [42.358056, -71.062171],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c9b40d7f121d03df136f6b190495b37f = L.circleMarker(\n [42.358851, -71.064277],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_abdf822708a4e14abd3cf8e8f67f4dab = L.circleMarker(\n [42.357529, -71.069242],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_1e47656a3e184de5b4f8185ede1f04c8 = L.circleMarker(\n [42.356682, -71.066568],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_9084defd6612716e68efcc53a33eab35 = L.circleMarker(\n [42.355298, -71.061249],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_537d87529fd02fbf08bc65d5da7d64b0 = L.circleMarker(\n [42.355519, -71.063037],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_6898ad9418e51526399cbca7d010bfda = L.circleMarker(\n [42.354894, -71.063514],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_0e79932fec93877213d13ade00ca3b93 = L.circleMarker(\n [42.353717, -71.061676],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_1501d1a17bfaf3e134faea1d0f6f12c3 = L.circleMarker(\n [42.350941, -71.059567],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_50fa2ead41103e579dcc00edd6392402 = L.circleMarker(\n [42.352445, -71.066839],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_4a4ffbf0ae0f7876411e0cb727e898d7 = L.circleMarker(\n [42.352314, -71.067311],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_e89e09a29abaebf419a62ca2615f5caf = L.circleMarker(\n [42.353792, -71.068086],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_69535c354e7232c7f9bb7673a213fa59 = L.circleMarker(\n [42.356537, -71.075414],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_ebc5cb43d03adab9fa77c65c5ae51ffa = L.circleMarker(\n [42.339762, -71.090331],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var poly_line_3850245c45719ad83b1dd07b04cfcb45 = L.polyline(\n [[42.358884, -71.056741], [42.35199, -71.049726], [42.351671, -71.050269], [42.350902, -71.048805], [42.351052, -71.044959], [42.352749, -71.04333], [42.347902, -71.040407], [42.34898, -71.03588], [42.347795, -71.035964], [42.344315, -71.033918], [42.338284, -71.013043], [42.338284, -71.013043], [42.3359, -71.023658], [42.329187, -71.035189], [42.325624, -71.049204], [42.316288, -71.037188], [42.315966, -71.034107], [42.316292, -71.045242], [42.274385, -71.024029], [42.276371, -71.009534], [42.27938, -71.014026], [42.25784, -71.02898], [42.285832, -71.063084], [42.284476, -71.063921], [42.296172, -71.087449], [42.324934, -71.06221], [42.327134, -71.066844], [42.329829, -71.090904], [42.325354, -71.09454], [42.33047, -71.099348], [42.332009, -71.098267], [42.332401, -71.100092], [42.338007, -71.099284], [42.336448, -71.10963], [42.336, -71.112246], [42.342619, -71.121734], [42.331874, -71.125847], [42.33162, -71.155413], [42.324682, -71.16198], [42.341017, -71.162549], [42.343387, -71.142763], [42.349667, -71.146009], [42.350083, -71.146124], [42.356842, -71.143863], [42.352585, -71.131464], [42.351932, -71.124132], [42.352999, -71.130896], [42.363221, -71.128473], [42.364024, -71.1088], [42.36265, -71.10141], [42.3614, -71.101475], [42.363685, -71.101083], [42.362555, -71.096306], [42.361529, -71.090578], [42.348977, -71.091358], [42.351083, -71.106096], [42.344689, -71.096959], [42.346361, -71.089677], [42.349997, -71.085166], [42.348915, -71.072038], [42.349993, -71.067854], [42.34085, -71.071196], [42.34194, -71.083465], [42.341231, -71.094327], [42.342001, -71.095003], [42.339096, -71.093834], [42.339762, -71.090331]],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "noClip": false, "opacity": 1.0, "smoothFactor": 1.0, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_15ab959c1b96eba2c168414d627f57bb = L.circleMarker(\n [42.358884, -71.056741],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_1976c3e9f7973d6b4b468d7b8b20a21d = L.circleMarker(\n [42.35199, -71.049726],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_030b74b7a17fb7c4c3468f8560a447cf = L.circleMarker(\n [42.351671, -71.050269],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_e57a1cf1c170e6a4c9c27bbc77abcae0 = L.circleMarker(\n [42.350902, -71.048805],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_7d50aa56a42068f238856b90158d20ad = L.circleMarker(\n [42.351052, -71.044959],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_47396e7b9d7d6f2bb8d7228f2094c673 = L.circleMarker(\n [42.352749, -71.04333],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c081220dbd655b2d67fc5ddd86a3aac6 = L.circleMarker(\n [42.347902, -71.040407],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_d0a2019fd214d99fda240e0db2f091dd = L.circleMarker(\n [42.34898, -71.03588],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_5729c2a8fa8b042b839694d4c5154e2e = L.circleMarker(\n [42.347795, -71.035964],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_2d57d499e1a619a69297ca5ff9f0905f = L.circleMarker(\n [42.344315, -71.033918],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_1ecf47bf5e3e5f6f148da9a31d2da783 = L.circleMarker(\n [42.338284, -71.013043],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_46f5cad62a130373b76a2bae580ad159 = L.circleMarker(\n [42.338284, -71.013043],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_ca34b8e68c6472517932fed9ead202c9 = L.circleMarker(\n [42.3359, -71.023658],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_444092e53920e58a4e326e690aeef908 = L.circleMarker(\n [42.329187, -71.035189],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_e8f9b09f653b7017820126457a298f7f = L.circleMarker(\n [42.325624, -71.049204],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_76c35fab4fb143eca7333a28d200af2f = L.circleMarker(\n [42.316288, -71.037188],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_e5c724a5d31a58abecddb260a39a5672 = L.circleMarker(\n [42.315966, -71.034107],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_5fc73749c1f31476c2089f3c38405728 = L.circleMarker(\n [42.316292, -71.045242],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_a73301b5ca0eabeeb61aafe5c6ba4330 = L.circleMarker(\n [42.274385, -71.024029],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_755fa6c52392b06dbb0b95dbf3a2b2cb = L.circleMarker(\n [42.276371, -71.009534],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_9e5071d1aa1a534cbecb2122e4412754 = L.circleMarker(\n [42.27938, -71.014026],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_1483581232f231368df30041a6f95bdd = L.circleMarker(\n [42.25784, -71.02898],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_48d6985d830c199be5c2712adaab9fbe = L.circleMarker(\n [42.285832, -71.063084],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_072b2e77f34b5e41e331862a7fa4623c = L.circleMarker(\n [42.284476, -71.063921],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_de311ba880ff6a591a3b361d30611d06 = L.circleMarker(\n [42.296172, -71.087449],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_32eec2a7cae61b76a5514e45f8611cf6 = L.circleMarker(\n [42.324934, -71.06221],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_9c62d5d666f7d17b69a9dcdc6b367675 = L.circleMarker(\n [42.327134, -71.066844],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_88aae0aa99053b6ee3d4b458491beda6 = L.circleMarker(\n [42.329829, -71.090904],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_6f20a4172a8359733764292bbb36465f = L.circleMarker(\n [42.325354, -71.09454],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c965af7d34c43567276e876077d48c3c = L.circleMarker(\n [42.33047, -71.099348],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_9666a80be73d0a9b9aa6458210fb2940 = L.circleMarker(\n [42.332009, -71.098267],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_f44f1cf41d9e5f26f993ffbc486c44fb = L.circleMarker(\n [42.332401, -71.100092],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_e246af418d6a109c1f1c7ef1c5d80233 = L.circleMarker(\n [42.338007, -71.099284],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_88dae6cf8e17fde8643f6e7965e6468c = L.circleMarker(\n [42.336448, -71.10963],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_df13d090cab1c41496c2a9c2da978e6b = L.circleMarker(\n [42.336, -71.112246],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_cc14390e6b76b47367e46e353f77043f = L.circleMarker(\n [42.342619, -71.121734],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_435cfd223a2eb7b24c9b5fcb4bc72a68 = L.circleMarker(\n [42.331874, -71.125847],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_31c5b5e1bb51159d6f9f46dcdc303624 = L.circleMarker(\n [42.33162, -71.155413],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_f88e02a4aebd4a07e871641e7ceed52b = L.circleMarker(\n [42.324682, -71.16198],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_cec648c6911ad3c27cc7ab21a8c3328e = L.circleMarker(\n [42.341017, -71.162549],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_39b795ec0e370c8d3af4116c72f41241 = L.circleMarker(\n [42.343387, -71.142763],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_374e1f36c6594c3659b954001aca9950 = L.circleMarker(\n [42.349667, -71.146009],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_b82835ef423f65ab503a2c193ddf78eb = L.circleMarker(\n [42.350083, -71.146124],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_14c6aaae6ee24bff6cebf51b96d1bff7 = L.circleMarker(\n [42.356842, -71.143863],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_da12a70e1f64c335f951144e0c67b872 = L.circleMarker(\n [42.352585, -71.131464],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_cec28b68342305b3282da43398a47403 = L.circleMarker(\n [42.351932, -71.124132],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_9626ebdd453924fc75d535c7e1619c6e = L.circleMarker(\n [42.352999, -71.130896],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_08e86d69ad4da7fe4f3ce22d346d30e5 = L.circleMarker(\n [42.363221, -71.128473],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_4cb4a915f3ceb0b50b8da5316b8396b3 = L.circleMarker(\n [42.364024, -71.1088],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_d02dac4557e695a5e7e1d9a4bb5568af = L.circleMarker(\n [42.36265, -71.10141],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_f0f802caf05bdc8ccfef203ba265d92b = L.circleMarker(\n [42.3614, -71.101475],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_c3c6ae522b30f5d6919759ae59a30c7a = L.circleMarker(\n [42.363685, -71.101083],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_45444b0690f3c75bb99ebc8c787cf31d = L.circleMarker(\n [42.362555, -71.096306],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_230352ff82f8737ecc845302c1866259 = L.circleMarker(\n [42.361529, -71.090578],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_a27b94e78444e10c4f99d43147dbc555 = L.circleMarker(\n [42.348977, -71.091358],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_6d602b1c054ea517b38d65ada673cc3a = L.circleMarker(\n [42.351083, -71.106096],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_6323edcf6f641f595f144326f36f6c28 = L.circleMarker(\n [42.344689, -71.096959],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_159768e4694ac440e0053700832855bf = L.circleMarker(\n [42.346361, -71.089677],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_f8486a2c37b8afc10a7599ba570a520a = L.circleMarker(\n [42.349997, -71.085166],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_dec2b003458f189f32d428220b998864 = L.circleMarker(\n [42.348915, -71.072038],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_252eb7e3c63f5b63587e82c1fe75ddeb = L.circleMarker(\n [42.349993, -71.067854],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_a911b8f2a8fc9baee934ba95ff3717cd = L.circleMarker(\n [42.34085, -71.071196],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_b6b345d1e8dd801983d6f3bbb941f226 = L.circleMarker(\n [42.34194, -71.083465],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_7604512e1b523bb761f7fdc8c41674e9 = L.circleMarker(\n [42.341231, -71.094327],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_0f5ff643968e88a06ea16143453ad6c8 = L.circleMarker(\n [42.342001, -71.095003],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_d794fa6bfe6726f9e7ac58891f6b7f47 = L.circleMarker(\n [42.339096, -71.093834],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n \n var circle_marker_d98713f892f36a7f794faf3097870bbf = L.circleMarker(\n [42.339762, -71.090331],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_5902deee1983d18fc69ea1aabf7b596a);\n \n</script>\n</html>\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create a map\n",
"m = folium.Map(location=[df['lon'].mean(), df['lat'].mean()], zoom_start=11)\n",
"\n",
"# Add the points and lines for the two routes with different colors\n",
"colors = ['red', 'blue']\n",
"\n",
"for route in df['route'].unique():\n",
" df_route = df[df['route'] == route]\n",
" folium.PolyLine(df_route[['lon', 'lat']].values.tolist(), color=colors[route - 1]).add_to(m)\n",
" for i in range(len(df_route)):\n",
" folium.CircleMarker(df_route[['lon', 'lat']].iloc[i].values.tolist(), radius=3, color=colors[route - 1]).add_to(\n",
" m)\n",
"\n",
"# Display the map\n",
"m"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:16:43.877482Z",
"start_time": "2023-11-07T18:16:43.683653Z"
}
},
"id": "80fd847da2833913"
},
{
"cell_type": "markdown",
"source": [
"## Results"
],
"metadata": {
"collapsed": false
},
"id": "a7b562f75f7e0813"
},
{
"cell_type": "code",
"execution_count": 14,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Route 1 has 87 waypoints\n",
"Route 2 has 65 waypoints\n"
]
}
],
"source": [
"# Get the number of waypoints for each route\n",
"route_1_waypoints = len(route_1_coordinates)\n",
"route_2_waypoints = len(route_2_coordinates)\n",
"print(\"Route 1 has {} waypoints\".format(route_1_waypoints))\n",
"print(\"Route 2 has {} waypoints\".format(route_2_waypoints))"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:16:43.895169Z",
"start_time": "2023-11-07T18:16:43.807251Z"
}
},
"id": "f53c97acec1c2fc4"
},
{
"cell_type": "code",
"execution_count": 15,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The trip will take 9.916944444444445 hours\n",
"The trip will take 9.295277777777779 hours\n"
]
}
],
"source": [
"trip_hrs_1 = utils.get_trip_time(route_1, route_1_waypoints, utils.list_to_string([centroids[0]]),\n",
" northeastern_coordinate)\n",
"print(\"The trip will take {} hours\".format(trip_hrs_1))\n",
"trip_hrs_2 = utils.get_trip_time(route_2, route_2_waypoints, utils.list_to_string([centroids[1]]),\n",
" northeastern_coordinate)\n",
"print(\"The trip will take {} hours\".format(trip_hrs_2))"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:16:46.273794Z",
"start_time": "2023-11-07T18:16:43.813481Z"
}
},
"id": "a3ec09dfb5cbb5b3"
},
{
"cell_type": "markdown",
"source": [
"# 3 Routes"
],
"metadata": {
"collapsed": false
},
"id": "de7b5856172d213c"
},
{
"cell_type": "code",
"execution_count": 16,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/garrinshieh/anaconda3/lib/python3.11/site-packages/sklearn/cluster/_kmeans.py:1412: FutureWarning: The default value of `n_init` will change from 10 to 'auto' in 1.4. Set the value of `n_init` explicitly to suppress the warning\n",
" super()._check_params_vs_input(X, default_n_init=10)\n",
"/Users/garrinshieh/anaconda3/lib/python3.11/site-packages/sklearn/cluster/_kmeans.py:1412: RuntimeWarning: Explicit initial center position passed: performing only one init in KMeans instead of n_init=10.\n",
" super()._check_params_vs_input(X, default_n_init=10)\n"
]
}
],
"source": [
"# Cluster and minimize the data\n",
"_, route_1_coordinates, route_2_coordinates, route_3_coordinates = utils.cluster_and_minimize_3(TotalList, centroids,\n",
" norm_centroids,\n",
" northeastern_coordinate,\n",
" 0.2, minimize=True)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:17:05.599874Z",
"start_time": "2023-11-07T18:16:46.275388Z"
}
},
"id": "bb6e00857e8175c0"
},
{
"cell_type": "markdown",
"source": [
"## Create JSON"
],
"metadata": {
"collapsed": false
},
"id": "19afb4f687b37383"
},
{
"cell_type": "code",
"execution_count": 17,
"outputs": [],
"source": [
"# Create a JSON request for the API\n",
"# This is the data we want to get from the API\n",
"route_1 = utils.list_to_string(route_1_coordinates)\n",
"route_2 = utils.list_to_string(route_2_coordinates)\n",
"route_3 = utils.list_to_string(route_3_coordinates)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:17:05.600430Z",
"start_time": "2023-11-07T18:17:05.595893Z"
}
},
"id": "e886e061f86a2118"
},
{
"cell_type": "code",
"execution_count": 18,
"outputs": [],
"source": [
"# Create a dataframe from the JSON\n",
"df1 = utils.create_json_df(route_1, utils.list_to_string([centroids[0]]), northeastern_coordinate)\n",
"df2 = utils.create_json_df(route_2, utils.list_to_string([centroids[1]]), northeastern_coordinate)\n",
"df3 = utils.create_json_df(route_3, utils.list_to_string([centroids[2]]), northeastern_coordinate)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:17:09.536438Z",
"start_time": "2023-11-07T18:17:05.601412Z"
}
},
"id": "23e4682fe9e30631"
},
{
"cell_type": "code",
"execution_count": 19,
"outputs": [],
"source": [
"# Add columns for the route number\n",
"df1['route'] = 1\n",
"df2['route'] = 2\n",
"df3['route'] = 3\n",
"\n",
"# Concatenate the three dataframes\n",
"df = pd.concat([df1, df2, df3], ignore_index=True)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:17:09.555728Z",
"start_time": "2023-11-07T18:17:09.541352Z"
}
},
"id": "c3a5c5d6f3ac46c0"
},
{
"cell_type": "code",
"execution_count": 20,
"outputs": [
{
"data": {
"text/plain": " waypoint_index trips_index \\\n0 0 0 \n1 1 0 \n2 2 0 \n3 3 0 \n4 4 0 \n.. ... ... \n170 31 0 \n171 32 0 \n172 33 0 \n173 34 0 \n174 35 0 \n\n hint distance \\\n0 t4YsgAGHLIAAAAAAVQEAAAAAAAAwAAAAAAAAAHV0F0IAAA... 19.432511 \n1 e1kugJlZLoBmAAAA6QAAAAAAAAAAAAAAZ6M2QSewzkEAAA... 4.756158 \n2 tFkugHVaLoAOAAAAAAAAABgAAAAAAAAAwMG2QAAAAAB6ii... 4.525535 \n3 sJAugLOQLoBuAQAAlAEAAAAAAAAAAAAAHFcjQvEZM0IAAA... 7.844897 \n4 VREtgNlJBIBCAAAAYAAAAAAAAAARAAAAOOzeQU7vHkIAAA... 22.681980 \n.. ... ... \n170 e38hgIUAA4C6AgAAGQAAAAAAAAAAAAAA_DybQoNdJUEAAA... 6.310267 \n171 g38hgI1_IYBOAAAAfwAAAAAAAAAAAAAAZ4ECQsbEUkIAAA... 12.789906 \n172 cX8hgJF_IYA1AAAAMAAAAGcAAABOAAAATyWxQQ77nUEHMC... 22.776295 \n173 s9QhgLbUIYAwAAAAkAAAAAAAAAAAAAAA2XmpQNgrgEEAAA... 4.111715 \n174 DoUhgBeFIYCcAAAAJgAAAAAAAAARAAAAm0CKQdkZiEAAAA... 0.236958 \n\n name location lat lon \\\n0 [-71.054865, 42.364361] -71.054865 42.364361 \n1 [-71.060933, 42.376178] -71.060933 42.376178 \n2 [-71.060753, 42.376391] -71.060753 42.376391 \n3 [-71.060948, 42.380436] -71.060948 42.380436 \n4 Factory Street [-71.061206, 42.398809] -71.061206 42.398809 \n.. ... ... ... ... \n170 Carmel Street [-71.100092, 42.332401] -71.100092 42.332401 \n171 Tremont Street [-71.098267, 42.332009] -71.098267 42.332009 \n172 Alleghany Street [-71.099348, 42.33047] -71.099348 42.330470 \n173 [-71.09454, 42.325354] -71.094540 42.325354 \n174 Northeastern (Inbound) [-71.090331, 42.339762] -71.090331 42.339762 \n\n route \n0 1 \n1 1 \n2 1 \n3 1 \n4 1 \n.. ... \n170 3 \n171 3 \n172 3 \n173 3 \n174 3 \n\n[175 rows x 9 columns]",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>waypoint_index</th>\n <th>trips_index</th>\n <th>hint</th>\n <th>distance</th>\n <th>name</th>\n <th>location</th>\n <th>lat</th>\n <th>lon</th>\n <th>route</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>0</td>\n <td>0</td>\n <td>t4YsgAGHLIAAAAAAVQEAAAAAAAAwAAAAAAAAAHV0F0IAAA...</td>\n <td>19.432511</td>\n <td></td>\n <td>[-71.054865, 42.364361]</td>\n <td>-71.054865</td>\n <td>42.364361</td>\n <td>1</td>\n </tr>\n <tr>\n <th>1</th>\n <td>1</td>\n <td>0</td>\n <td>e1kugJlZLoBmAAAA6QAAAAAAAAAAAAAAZ6M2QSewzkEAAA...</td>\n <td>4.756158</td>\n <td></td>\n <td>[-71.060933, 42.376178]</td>\n <td>-71.060933</td>\n <td>42.376178</td>\n <td>1</td>\n </tr>\n <tr>\n <th>2</th>\n <td>2</td>\n <td>0</td>\n <td>tFkugHVaLoAOAAAAAAAAABgAAAAAAAAAwMG2QAAAAAB6ii...</td>\n <td>4.525535</td>\n <td></td>\n <td>[-71.060753, 42.376391]</td>\n <td>-71.060753</td>\n <td>42.376391</td>\n <td>1</td>\n </tr>\n <tr>\n <th>3</th>\n <td>3</td>\n <td>0</td>\n <td>sJAugLOQLoBuAQAAlAEAAAAAAAAAAAAAHFcjQvEZM0IAAA...</td>\n <td>7.844897</td>\n <td></td>\n <td>[-71.060948, 42.380436]</td>\n <td>-71.060948</td>\n <td>42.380436</td>\n <td>1</td>\n </tr>\n <tr>\n <th>4</th>\n <td>4</td>\n <td>0</td>\n <td>VREtgNlJBIBCAAAAYAAAAAAAAAARAAAAOOzeQU7vHkIAAA...</td>\n <td>22.681980</td>\n <td>Factory Street</td>\n <td>[-71.061206, 42.398809]</td>\n <td>-71.061206</td>\n <td>42.398809</td>\n <td>1</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>170</th>\n <td>31</td>\n <td>0</td>\n <td>e38hgIUAA4C6AgAAGQAAAAAAAAAAAAAA_DybQoNdJUEAAA...</td>\n <td>6.310267</td>\n <td>Carmel Street</td>\n <td>[-71.100092, 42.332401]</td>\n <td>-71.100092</td>\n <td>42.332401</td>\n <td>3</td>\n </tr>\n <tr>\n <th>171</th>\n <td>32</td>\n <td>0</td>\n <td>g38hgI1_IYBOAAAAfwAAAAAAAAAAAAAAZ4ECQsbEUkIAAA...</td>\n <td>12.789906</td>\n <td>Tremont Street</td>\n <td>[-71.098267, 42.332009]</td>\n <td>-71.098267</td>\n <td>42.332009</td>\n <td>3</td>\n </tr>\n <tr>\n <th>172</th>\n <td>33</td>\n <td>0</td>\n <td>cX8hgJF_IYA1AAAAMAAAAGcAAABOAAAATyWxQQ77nUEHMC...</td>\n <td>22.776295</td>\n <td>Alleghany Street</td>\n <td>[-71.099348, 42.33047]</td>\n <td>-71.099348</td>\n <td>42.330470</td>\n <td>3</td>\n </tr>\n <tr>\n <th>173</th>\n <td>34</td>\n <td>0</td>\n <td>s9QhgLbUIYAwAAAAkAAAAAAAAAAAAAAA2XmpQNgrgEEAAA...</td>\n <td>4.111715</td>\n <td></td>\n <td>[-71.09454, 42.325354]</td>\n <td>-71.094540</td>\n <td>42.325354</td>\n <td>3</td>\n </tr>\n <tr>\n <th>174</th>\n <td>35</td>\n <td>0</td>\n <td>DoUhgBeFIYCcAAAAJgAAAAAAAAARAAAAm0CKQdkZiEAAAA...</td>\n <td>0.236958</td>\n <td>Northeastern (Inbound)</td>\n <td>[-71.090331, 42.339762]</td>\n <td>-71.090331</td>\n <td>42.339762</td>\n <td>3</td>\n </tr>\n </tbody>\n</table>\n<p>175 rows × 9 columns</p>\n</div>"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display(df)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:17:09.566860Z",
"start_time": "2023-11-07T18:17:09.558481Z"
}
},
"id": "17a8cc8fed5450a6"
},
{
"cell_type": "markdown",
"source": [
"## Map"
],
"metadata": {
"collapsed": false
},
"id": "b20a57aa09792c39"
},
{
"cell_type": "code",
"execution_count": 21,
"outputs": [
{
"data": {
"text/plain": "<folium.folium.Map at 0x146266710>",
"text/html": "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe srcdoc=\"<!DOCTYPE html>\n<html>\n<head>\n \n <meta http-equiv="content-type" content="text/html; charset=UTF-8" />\n \n <script>\n L_NO_TOUCH = false;\n L_DISABLE_3D = false;\n </script>\n \n <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>\n <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>\n <script src="https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js"></script>\n <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>\n <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js"></script>\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css"/>\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css"/>\n <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"/>\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css"/>\n <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css"/>\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css"/>\n \n <meta name="viewport" content="width=device-width,\n initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />\n <style>\n #map_c5a1bb1f1c1b8812eee2f5c064d62877 {\n position: relative;\n width: 100.0%;\n height: 100.0%;\n left: 0.0%;\n top: 0.0%;\n }\n .leaflet-container { font-size: 1rem; }\n </style>\n \n</head>\n<body>\n \n \n <div class="folium-map" id="map_c5a1bb1f1c1b8812eee2f5c064d62877" ></div>\n \n</body>\n<script>\n \n \n var map_c5a1bb1f1c1b8812eee2f5c064d62877 = L.map(\n "map_c5a1bb1f1c1b8812eee2f5c064d62877",\n {\n center: [42.35888447428571, -71.07238628571429],\n crs: L.CRS.EPSG3857,\n zoom: 11,\n zoomControl: true,\n preferCanvas: false,\n }\n );\n\n \n\n \n \n var tile_layer_5f2242788014169819788ee9db10bf0a = L.tileLayer(\n "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",\n {"attribution": "Data by \\u0026copy; \\u003ca target=\\"_blank\\" href=\\"http://openstreetmap.org\\"\\u003eOpenStreetMap\\u003c/a\\u003e, under \\u003ca target=\\"_blank\\" href=\\"http://www.openstreetmap.org/copyright\\"\\u003eODbL\\u003c/a\\u003e.", "detectRetina": false, "maxNativeZoom": 18, "maxZoom": 18, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var poly_line_54e798eb6aa0df22683db2e45737b91a = L.polyline(\n [[42.364361, -71.054865], [42.376178, -71.060933], [42.376391, -71.060753], [42.380436, -71.060948], [42.398809, -71.061206], [42.403792, -71.058992], [42.389192, -71.033749], [42.386461, -71.032794], [42.385546, -71.039316], [42.380792, -71.034935], [42.377891, -71.028298], [42.382756, -71.011693], [42.390256, -71.005456], [42.390466, -70.997084], [42.391786, -70.99031], [42.389507, -70.969384], [42.411181, -70.993747], [42.420244, -70.985934], [42.418321, -70.99748], [42.421213, -71.027113], [42.412279, -71.031525], [42.411785, -71.01537], [42.398247, -71.028327], [42.397588, -71.035674], [42.391309, -71.036726], [42.390284, -71.038526], [42.393843, -71.041015], [42.402568, -71.051453], [42.422264, -71.043219], [42.418307, -71.050739], [42.42069, -71.055953], [42.407436, -71.062128], [42.397236, -71.072007], [42.400829, -71.112241], [42.396589, -71.122704], [42.429978, -71.203921], [42.410941, -71.168458], [42.388907, -71.133098], [42.388412, -71.119219], [42.38859, -71.119303], [42.378452, -71.115739], [42.378275, -71.114496], [42.376696, -71.115952], [42.383573, -71.112746], [42.383988, -71.110771], [42.382131, -71.102659], [42.382238, -71.102512], [42.380957, -71.097894], [42.380072, -71.096887], [42.381759, -71.093444], [42.379731, -71.094916], [42.377355, -71.094764], [42.374259, -71.110851], [42.375457, -71.119379], [42.373491, -71.118959], [42.373266, -71.120839], [42.338007, -71.099284], [42.329829, -71.090904], [42.339762, -71.090331]],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "noClip": false, "opacity": 1.0, "smoothFactor": 1.0, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_ce12e8a4d0e45430af2ecafbe51c85d5 = L.circleMarker(\n [42.364361, -71.054865],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_2321778f7a636f366a87a3c80e7471c9 = L.circleMarker(\n [42.376178, -71.060933],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_5fcf32db7271f6e14a9bbf1b6bb7ff9b = L.circleMarker(\n [42.376391, -71.060753],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_0521d93d6653cfe19496e177fd51c92f = L.circleMarker(\n [42.380436, -71.060948],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_d18b7effeff9a134efadc99adde5b954 = L.circleMarker(\n [42.398809, -71.061206],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_d185596efb971accf388baed21a175f8 = L.circleMarker(\n [42.403792, -71.058992],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_15077c955818dd2bb0588858a201f6ae = L.circleMarker(\n [42.389192, -71.033749],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_31b6a4ea026d00219a032ba832a687a4 = L.circleMarker(\n [42.386461, -71.032794],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_ed05b106ee8858239887641497b2f644 = L.circleMarker(\n [42.385546, -71.039316],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_80a1d4770997e56801084bf28e5364de = L.circleMarker(\n [42.380792, -71.034935],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_b0c43ba218b3a7fc686bac56c37aa9f0 = L.circleMarker(\n [42.377891, -71.028298],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e7ec9cac19cce46865fddcfbd1ae8619 = L.circleMarker(\n [42.382756, -71.011693],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_3be116e6965cdd34a76a4df924aca796 = L.circleMarker(\n [42.390256, -71.005456],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_6fa9fe91197a03cdff0f9842b08a0434 = L.circleMarker(\n [42.390466, -70.997084],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_54c17c7d425182f47d2d19d792314913 = L.circleMarker(\n [42.391786, -70.99031],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_beb44fd3606d2861e14d4338285990bb = L.circleMarker(\n [42.389507, -70.969384],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_5ff6d2caf409e019dc972b3b8b74029c = L.circleMarker(\n [42.411181, -70.993747],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_3a9ceecd1457599c7c41290da56e57b9 = L.circleMarker(\n [42.420244, -70.985934],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_b5c79c01ad198b5c8feadee5cebfe2e0 = L.circleMarker(\n [42.418321, -70.99748],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_9b623d5c36a04e3a6adbdf5a240e2a35 = L.circleMarker(\n [42.421213, -71.027113],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_1b7cd86a3bff8b4f2f56469de4c87014 = L.circleMarker(\n [42.412279, -71.031525],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_d637204b6f8c94bab47f315964139e6e = L.circleMarker(\n [42.411785, -71.01537],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_42db61c56c5739cdfb476baa1038ef16 = L.circleMarker(\n [42.398247, -71.028327],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_972b3f18e0c8d9817877c77c8620fa98 = L.circleMarker(\n [42.397588, -71.035674],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_83a8ab33cf603ca4a202c57755d08aff = L.circleMarker(\n [42.391309, -71.036726],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_c1d323b92c6d9527c2d539581cd897e7 = L.circleMarker(\n [42.390284, -71.038526],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_ae7019685e02d59727e7967f277c2b95 = L.circleMarker(\n [42.393843, -71.041015],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_597ea74c085438db8407a68ccdfe7c0f = L.circleMarker(\n [42.402568, -71.051453],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_02f9b4f4433c05db22a92fea601667c7 = L.circleMarker(\n [42.422264, -71.043219],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_4e9233dd131b057599f92dceb5c09e8f = L.circleMarker(\n [42.418307, -71.050739],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_87e1ebf690c96c0325b1b4f1a32eaa2c = L.circleMarker(\n [42.42069, -71.055953],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_25f631b96031551c381bb508f3b7fe78 = L.circleMarker(\n [42.407436, -71.062128],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_19e7918311d97237fec47a8eda76dafb = L.circleMarker(\n [42.397236, -71.072007],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_b0e7cb5d632de487de8e51c06adbec91 = L.circleMarker(\n [42.400829, -71.112241],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_57f3587c83eebe13601cea8730373259 = L.circleMarker(\n [42.396589, -71.122704],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_ab9c2c662d591619eb7a50760f69144e = L.circleMarker(\n [42.429978, -71.203921],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e55d171570d8ca0e689083ed49dc4fb1 = L.circleMarker(\n [42.410941, -71.168458],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_0c31ea0c58787fd52ae6b1ee705d60a1 = L.circleMarker(\n [42.388907, -71.133098],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_876ddddd063c0cfa5445afb9386633dc = L.circleMarker(\n [42.388412, -71.119219],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_38c2004f11b8c16fc09e01fe42da2655 = L.circleMarker(\n [42.38859, -71.119303],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e8d4935816ba33dc8f51ec37269ef114 = L.circleMarker(\n [42.378452, -71.115739],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_ad4f0831bd4a3ff714860fbdc2f0dad7 = L.circleMarker(\n [42.378275, -71.114496],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_d5854d506c5f8f2b7499f26e1655df51 = L.circleMarker(\n [42.376696, -71.115952],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_bb6c7e58f193d9034b6c12ff29a7b2bf = L.circleMarker(\n [42.383573, -71.112746],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_6a401e82d3c9d2bc2993bb703ea3f7f4 = L.circleMarker(\n [42.383988, -71.110771],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_065aaa85bd0b1bde298989a3bbd7027c = L.circleMarker(\n [42.382131, -71.102659],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_ba92027ffb0846a5f20eaad2b2d89b36 = L.circleMarker(\n [42.382238, -71.102512],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_77d1d663be96c4ed27e65a4444b04b17 = L.circleMarker(\n [42.380957, -71.097894],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_0232feb07da624a7ef68f9b84c8c43c3 = L.circleMarker(\n [42.380072, -71.096887],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_d55688048d54977b25f13352f4083841 = L.circleMarker(\n [42.381759, -71.093444],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e5daa9f1dd5774ff441de1730ac669f4 = L.circleMarker(\n [42.379731, -71.094916],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_f9e218b268584e7645b591f2c2eb4d03 = L.circleMarker(\n [42.377355, -71.094764],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_7abe1f2e36c30c676a747ae4416c12da = L.circleMarker(\n [42.374259, -71.110851],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_88ab4816c1d6ffec2e639a796f8787b0 = L.circleMarker(\n [42.375457, -71.119379],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_0b23903b60a82804709cc095bf8384f3 = L.circleMarker(\n [42.373491, -71.118959],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_b67957d7ad80a0c64380ad5df5a6abef = L.circleMarker(\n [42.373266, -71.120839],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_df6353ae8e4d2ed23d31e4d642a6f30a = L.circleMarker(\n [42.338007, -71.099284],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_44bf25b76622978496d5f5fbb4aafeb6 = L.circleMarker(\n [42.329829, -71.090904],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_cb523bc5d8d76c22ffbee543e3533292 = L.circleMarker(\n [42.339762, -71.090331],\n {"bubblingMouseEvents": true, "color": "red", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "red", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var poly_line_7bc0c860bcb5576ac0c98d03bd348c52 = L.polyline(\n [[42.358884, -71.056741], [42.358757, -71.057201], [42.359295, -71.059255], [42.357428, -71.058565], [42.353717, -71.061676], [42.355298, -71.061249], [42.355519, -71.063037], [42.354894, -71.063514], [42.353792, -71.068086], [42.352314, -71.067311], [42.352445, -71.066839], [42.348915, -71.072038], [42.349993, -71.067854], [42.350941, -71.059567], [42.34085, -71.071196], [42.327134, -71.066844], [42.324934, -71.06221], [42.325624, -71.049204], [42.329187, -71.035189], [42.3359, -71.023658], [42.338284, -71.013043], [42.338284, -71.013043], [42.344315, -71.033918], [42.347795, -71.035964], [42.34898, -71.03588], [42.347902, -71.040407], [42.353667, -71.047121], [42.351671, -71.050269], [42.352211, -71.051172], [42.35199, -71.049726], [42.350902, -71.048805], [42.351052, -71.044959], [42.352749, -71.04333], [42.380215, -70.980137], [42.37337, -71.033036], [42.371161, -71.037188], [42.369812, -71.037911], [42.367158, -71.035936], [42.365172, -71.035967], [42.363961, -71.033209], [42.364857, -71.041248], [42.360949, -71.051539], [42.359704, -71.054519], [42.36049, -71.056995], [42.361263, -71.056994], [42.361534, -71.056819], [42.364032, -71.055569], [42.365251, -71.055582], [42.366918, -71.056164], [42.368861, -71.055561], [42.365968, -71.062507], [42.369195, -71.061735], [42.374119, -71.055588], [42.374142, -71.063105], [42.371832, -71.065634], [42.369868, -71.06828], [42.369473, -71.075628], [42.367607, -71.08097], [42.358851, -71.064277], [42.358056, -71.062171], [42.356682, -71.066568], [42.357529, -71.069242], [42.356537, -71.075414], [42.349997, -71.085166], [42.348977, -71.091358], [42.361529, -71.090578], [42.362555, -71.096306], [42.3614, -71.101475], [42.36265, -71.10141], [42.363685, -71.101083], [42.364024, -71.1088], [42.363221, -71.128473], [42.351083, -71.106096], [42.344689, -71.096959], [42.342001, -71.095003], [42.341231, -71.094327], [42.339096, -71.093834], [42.346361, -71.089677], [42.34194, -71.083465], [42.339762, -71.090331]],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "noClip": false, "opacity": 1.0, "smoothFactor": 1.0, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_5e150f40f4e0fedf790bfbe8805b4c40 = L.circleMarker(\n [42.358884, -71.056741],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_2f703286bb5b08f52fb2615d59ab4e9e = L.circleMarker(\n [42.358757, -71.057201],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_4f203c34c3115a05983ae7705d5e99a2 = L.circleMarker(\n [42.359295, -71.059255],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_64bde2a9243bcd2a7f2bb1edbc770d96 = L.circleMarker(\n [42.357428, -71.058565],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_b2f7722ae02944d75603c95c525c709d = L.circleMarker(\n [42.353717, -71.061676],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e5e349131e7f7989a5f351efd9896045 = L.circleMarker(\n [42.355298, -71.061249],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_0f00f06a2ed4449beab3d64316a156dc = L.circleMarker(\n [42.355519, -71.063037],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_6f9f5cb3dfc7ab43e7c2a77d9fcc9b2b = L.circleMarker(\n [42.354894, -71.063514],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_c71e98bf4266633d208d024fd09fcead = L.circleMarker(\n [42.353792, -71.068086],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_9c0d87e8db687de4eca4507cc4409f24 = L.circleMarker(\n [42.352314, -71.067311],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_0d34e03fe722f50ad52f814c50b3ce53 = L.circleMarker(\n [42.352445, -71.066839],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_268d601a78aa02eb58fbe4ca5d9f9389 = L.circleMarker(\n [42.348915, -71.072038],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e2881ef0117a36b584ac817f117289bf = L.circleMarker(\n [42.349993, -71.067854],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_7fcf5445f242ed9bdc182f2464af6b6d = L.circleMarker(\n [42.350941, -71.059567],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_7c048d6fb613b35356443dcd3b5ff61b = L.circleMarker(\n [42.34085, -71.071196],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_84b62cc6627669f47b357cde7ede380c = L.circleMarker(\n [42.327134, -71.066844],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_27daa23797b837d3d5c588add5ec3932 = L.circleMarker(\n [42.324934, -71.06221],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_81ca3cb11dbc7046072c730dac0f4492 = L.circleMarker(\n [42.325624, -71.049204],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_f154eaaa9fc6206d968e4804adfd5104 = L.circleMarker(\n [42.329187, -71.035189],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_2431c17983aa9ff261c0f64f3f40f399 = L.circleMarker(\n [42.3359, -71.023658],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_35fef153c0c5e2382b8c9a023b410368 = L.circleMarker(\n [42.338284, -71.013043],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_b25d98dd6fa9d389574141e3ccda6b89 = L.circleMarker(\n [42.338284, -71.013043],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_75b13c1e54ea7bcc4415b838d4c86827 = L.circleMarker(\n [42.344315, -71.033918],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_2c51849f414307917e750b1f2bde835b = L.circleMarker(\n [42.347795, -71.035964],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_d8075f4b1c6ec3679a2649fd43fd91d1 = L.circleMarker(\n [42.34898, -71.03588],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_284a19966c289d8869cd0eac2e8027f1 = L.circleMarker(\n [42.347902, -71.040407],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_f9fe028e8c7c8fe020ba7c104d22c374 = L.circleMarker(\n [42.353667, -71.047121],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_4255917bb7b92a1414596e880a53ae57 = L.circleMarker(\n [42.351671, -71.050269],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_418145247afd6c6062afe4db938da7d3 = L.circleMarker(\n [42.352211, -71.051172],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_122cf0483a8d9629f1c471e12e910a1f = L.circleMarker(\n [42.35199, -71.049726],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_3c6fb10b7997791c4281af17c19d12ed = L.circleMarker(\n [42.350902, -71.048805],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_641ae23912769a0ab7dd18f2988cde6f = L.circleMarker(\n [42.351052, -71.044959],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_bf70a0dc57241486b34f65652e70a7ec = L.circleMarker(\n [42.352749, -71.04333],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_136bd3f55ea7fa8b647bf939a8b53b0f = L.circleMarker(\n [42.380215, -70.980137],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_7e306c4bdca570fdbe89ad0dd2fb2070 = L.circleMarker(\n [42.37337, -71.033036],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_5ddf3ea9fc79f9372928b4b8b75878b2 = L.circleMarker(\n [42.371161, -71.037188],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_feddb482cb5b0b43666747a3eb7ebdb9 = L.circleMarker(\n [42.369812, -71.037911],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_501b6fa088fe34ae1e250d5377ee8433 = L.circleMarker(\n [42.367158, -71.035936],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e7ce3516c5a7a9e389551dec3ff0d59e = L.circleMarker(\n [42.365172, -71.035967],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_c15a1c7f1a4aa358fbab00df77c3c50c = L.circleMarker(\n [42.363961, -71.033209],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_150e68f2fca27f8a7ac6fb0808bf3d31 = L.circleMarker(\n [42.364857, -71.041248],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_ecf267a46c96e977601676df7c876e31 = L.circleMarker(\n [42.360949, -71.051539],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_f55bd76d687c1e4057a723d49825aa84 = L.circleMarker(\n [42.359704, -71.054519],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_d8b0062437b0ce2ce7bc524ee246079a = L.circleMarker(\n [42.36049, -71.056995],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_f827fb50ee9537cb9afca9a8641c2023 = L.circleMarker(\n [42.361263, -71.056994],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_1eb0d4b5394bf304509943427ae40b56 = L.circleMarker(\n [42.361534, -71.056819],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_90fd5c1399644a4591b15c9c44fccc0b = L.circleMarker(\n [42.364032, -71.055569],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_1830d828ed58e32274e5fd2405a84f19 = L.circleMarker(\n [42.365251, -71.055582],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_9db406fbb6ddbdb7dd8265d569573464 = L.circleMarker(\n [42.366918, -71.056164],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_0e6e40c2f8436557cf392c9d6849e7be = L.circleMarker(\n [42.368861, -71.055561],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_dfd9ce95835456da1c104f5553b04514 = L.circleMarker(\n [42.365968, -71.062507],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_5f17e413c76e9afca8c4cdfd7766fae9 = L.circleMarker(\n [42.369195, -71.061735],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_0afee581f4e787d5e4825ffe1787b9d8 = L.circleMarker(\n [42.374119, -71.055588],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_654bbbff8d2442fd2491ea56a690b0d5 = L.circleMarker(\n [42.374142, -71.063105],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e26733548f8b587ab53a1006d1add1c1 = L.circleMarker(\n [42.371832, -71.065634],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_a0c9533e24e98379eac10356f59acbd0 = L.circleMarker(\n [42.369868, -71.06828],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_55588355479ba6a2662a4c7b82d15849 = L.circleMarker(\n [42.369473, -71.075628],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_1163e49ffa71e0181415fcff0254c443 = L.circleMarker(\n [42.367607, -71.08097],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_737f124e4eddf94e98a3b4ff6584f02d = L.circleMarker(\n [42.358851, -71.064277],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_3c8fe3637992bba27b88bc7a15ea7758 = L.circleMarker(\n [42.358056, -71.062171],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_440a5182975cbe187e7760fe9c192e67 = L.circleMarker(\n [42.356682, -71.066568],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_287011a61387e1415f3607ce4ba61377 = L.circleMarker(\n [42.357529, -71.069242],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e35127bdc662bca78188f38234ce9862 = L.circleMarker(\n [42.356537, -71.075414],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_24439e7e690f45426f1bc39c48167f52 = L.circleMarker(\n [42.349997, -71.085166],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_4a064fcf360e67d9626d14c7c22b5cf6 = L.circleMarker(\n [42.348977, -71.091358],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_f08d4f6d9dab884307a63a5d251148c8 = L.circleMarker(\n [42.361529, -71.090578],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_2c6ea17612c38a59e06d3ea9daca79be = L.circleMarker(\n [42.362555, -71.096306],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_263d513cfdd5051c0d74a40cff749837 = L.circleMarker(\n [42.3614, -71.101475],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_18df5b9b3471cda683304f4c27ab4eb0 = L.circleMarker(\n [42.36265, -71.10141],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_b8c6330833604d1d1f0c06d0655f4e98 = L.circleMarker(\n [42.363685, -71.101083],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_17656c89be495b9e967b85801167c2ab = L.circleMarker(\n [42.364024, -71.1088],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_ad712ac2878316f3d4afb7e14fbc64ae = L.circleMarker(\n [42.363221, -71.128473],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e71a315bc48b93772664c9fc4e1b2534 = L.circleMarker(\n [42.351083, -71.106096],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_f6cdd9ffa600efe0abeb067165589a11 = L.circleMarker(\n [42.344689, -71.096959],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_fd8613c17f22ecd39d69152de9422671 = L.circleMarker(\n [42.342001, -71.095003],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_d0ef33d0d5d090ee0d0cd7d23e194c38 = L.circleMarker(\n [42.341231, -71.094327],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_efbd36ed536d7b9f99734d5e45636dfc = L.circleMarker(\n [42.339096, -71.093834],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_0cdcf78a0699b0786a0866257ab02d45 = L.circleMarker(\n [42.346361, -71.089677],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_272758972406cf0d2ab691b5654c3b9a = L.circleMarker(\n [42.34194, -71.083465],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_911a464aad7ae257efdb33d991a07522 = L.circleMarker(\n [42.339762, -71.090331],\n {"bubblingMouseEvents": true, "color": "blue", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "blue", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var poly_line_169e602155119ee1d4809b5ee3e90c37 = L.polyline(\n [[42.350461, -71.075981], [42.316288, -71.037188], [42.315966, -71.034107], [42.316292, -71.045242], [42.274385, -71.024029], [42.27938, -71.014026], [42.276371, -71.009534], [42.245312, -71.000444], [42.207533, -71.001295], [42.23913, -71.003762], [42.25784, -71.02898], [42.285832, -71.063084], [42.284476, -71.063921], [42.296172, -71.087449], [42.331874, -71.125847], [42.33162, -71.155413], [42.324682, -71.16198], [42.314504, -71.227365], [42.313798, -71.359917], [42.361942, -71.18542], [42.341017, -71.162549], [42.343387, -71.142763], [42.349667, -71.146009], [42.350083, -71.146124], [42.356842, -71.143863], [42.352585, -71.131464], [42.352999, -71.130896], [42.351932, -71.124132], [42.342619, -71.121734], [42.336, -71.112246], [42.336448, -71.10963], [42.332401, -71.100092], [42.332009, -71.098267], [42.33047, -71.099348], [42.325354, -71.09454], [42.339762, -71.090331]],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "noClip": false, "opacity": 1.0, "smoothFactor": 1.0, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_93834c883e2eb610339523f5a3434ce7 = L.circleMarker(\n [42.350461, -71.075981],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_f3b8efa04fb0ad3c41b272a2c2b6c322 = L.circleMarker(\n [42.316288, -71.037188],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_814f8d2e55b0e53dbdfe08f1239d6ee2 = L.circleMarker(\n [42.315966, -71.034107],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_1b95f8fea50b3d5f77ddda9d455a297c = L.circleMarker(\n [42.316292, -71.045242],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_c48b4d98e1eb5f3230947db419604a8c = L.circleMarker(\n [42.274385, -71.024029],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_cda535632c11f8e6944e788b45f6fe05 = L.circleMarker(\n [42.27938, -71.014026],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_962dffdbe1b95d26941f55dbffab82e7 = L.circleMarker(\n [42.276371, -71.009534],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_c4d6707dc44d27c1c9d492c2e4d300d4 = L.circleMarker(\n [42.245312, -71.000444],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_987aad60876105cd8b06a42cd0858480 = L.circleMarker(\n [42.207533, -71.001295],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_54eafbae1b365d3f2a787050404bac86 = L.circleMarker(\n [42.23913, -71.003762],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_3c8e25c3c9b781ca7340b69f8cb64fee = L.circleMarker(\n [42.25784, -71.02898],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_c04f1c2d4a6f922c3a1df31104f26e0c = L.circleMarker(\n [42.285832, -71.063084],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_c969b0ad1e9f64c7aa8a5c2cbd6627a7 = L.circleMarker(\n [42.284476, -71.063921],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_1156d86e1c2b575619f0aa4408941b90 = L.circleMarker(\n [42.296172, -71.087449],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_d40401fb864a2fba28310bfabef440e8 = L.circleMarker(\n [42.331874, -71.125847],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_54fa7254a3fa58668bc7916fd7e8a1ea = L.circleMarker(\n [42.33162, -71.155413],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_7e8cd5628a5d95d0bb19d7f36c633e4e = L.circleMarker(\n [42.324682, -71.16198],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_c355105e555442fed153c56bb53e3813 = L.circleMarker(\n [42.314504, -71.227365],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_3b61efc6e5806cb87127bee5283db0c2 = L.circleMarker(\n [42.313798, -71.359917],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_ce7ecf25cd38d637715e8c9542202f1f = L.circleMarker(\n [42.361942, -71.18542],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_45b3240533018150cb3a680e8c4cc4bf = L.circleMarker(\n [42.341017, -71.162549],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_69ad555e1ced25f9e049b920938dd614 = L.circleMarker(\n [42.343387, -71.142763],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_b94ea322726d38c1b35cdb1774cbf7bd = L.circleMarker(\n [42.349667, -71.146009],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_650581873930d6ffb95102ed390811cf = L.circleMarker(\n [42.350083, -71.146124],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_424f5a9bed4e8523e3881f3b85b62c92 = L.circleMarker(\n [42.356842, -71.143863],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_aaf8d627a1966807c0bf466b4be343b4 = L.circleMarker(\n [42.352585, -71.131464],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_96d03a8ecbe6b8ba01f269ccaffe0b93 = L.circleMarker(\n [42.352999, -71.130896],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e54be3f417d8446c1851b9152853710f = L.circleMarker(\n [42.351932, -71.124132],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_10810793b8fa9b698af2ac9fc5bcf7d4 = L.circleMarker(\n [42.342619, -71.121734],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_d3a9c8401291a75ffd8274c0e894ac20 = L.circleMarker(\n [42.336, -71.112246],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_eec6891751e51155c43aee5b32fdbcd4 = L.circleMarker(\n [42.336448, -71.10963],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_053c20f964b9012cb4bf4cce1dfce20f = L.circleMarker(\n [42.332401, -71.100092],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_66113e08be76ca9f1f56dfaeafee6943 = L.circleMarker(\n [42.332009, -71.098267],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_69da85297ad05a5257c273e06015dbc7 = L.circleMarker(\n [42.33047, -71.099348],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_e687b356f62b195ab3106c325ccbc5c0 = L.circleMarker(\n [42.325354, -71.09454],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n \n var circle_marker_6ae8b4d5b788de148d5c9805f8ba61b9 = L.circleMarker(\n [42.339762, -71.090331],\n {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": false, "fillColor": "green", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3, "stroke": true, "weight": 3}\n ).addTo(map_c5a1bb1f1c1b8812eee2f5c064d62877);\n \n</script>\n</html>\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create a map\n",
"m = folium.Map(location=[df['lon'].mean(), df['lat'].mean()], zoom_start=11)\n",
"\n",
"# Add the points and lines for the three routes with different colors\n",
"colors = ['red', 'blue', 'green']\n",
"\n",
"for route in df['route'].unique():\n",
" df_route = df[df['route'] == route]\n",
" folium.PolyLine(df_route[['lon', 'lat']].values.tolist(), color=colors[route - 1]).add_to(m)\n",
" for i in range(len(df_route)):\n",
" folium.CircleMarker(df_route[['lon', 'lat']].iloc[i].values.tolist(), radius=3, color=colors[route - 1]).add_to(\n",
" m)\n",
" \n",
"# Display the map\n",
"m"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:17:09.664747Z",
"start_time": "2023-11-07T18:17:09.566588Z"
}
},
"id": "702adaec008a6ec8"
},
{
"cell_type": "markdown",
"source": [
"## Results"
],
"metadata": {
"collapsed": false
},
"id": "a947e49e27c734e9"
},
{
"cell_type": "code",
"execution_count": 22,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Route 1 has 57 waypoints\n",
"Route 2 has 78 waypoints\n",
"Route 3 has 34 waypoints\n"
]
}
],
"source": [
"# Get the number of waypoints for each route\n",
"route_1_waypoints = len(route_1_coordinates)\n",
"route_2_waypoints = len(route_2_coordinates)\n",
"route_3_waypoints = len(route_3_coordinates)\n",
"print(\"Route 1 has {} waypoints\".format(route_1_waypoints))\n",
"print(\"Route 2 has {} waypoints\".format(route_2_waypoints))\n",
"print(\"Route 3 has {} waypoints\".format(route_3_waypoints))"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:17:09.666099Z",
"start_time": "2023-11-07T18:17:09.634214Z"
}
},
"id": "4106acf2adad01d7"
},
{
"cell_type": "code",
"execution_count": 23,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The trip will take 9.175 hours\n",
"The trip will take 8.926111111111112 hours\n",
"The trip will take 9.533333333333333 hours\n"
]
}
],
"source": [
"# Get the trip time for each route\n",
"trip_hrs_1 = utils.get_trip_time(route_1, route_1_waypoints, utils.list_to_string([centroids[0]]),\n",
" northeastern_coordinate)\n",
"print(\"The trip will take {} hours\".format(trip_hrs_1))\n",
"trip_hrs_2 = utils.get_trip_time(route_2, route_2_waypoints, utils.list_to_string([centroids[1]]),\n",
" northeastern_coordinate)\n",
"print(\"The trip will take {} hours\".format(trip_hrs_2))\n",
"trip_hrs_3 = utils.get_trip_time(route_3, route_3_waypoints, utils.list_to_string([centroids[2]]),\n",
" northeastern_coordinate)\n",
"print(\"The trip will take {} hours\".format(trip_hrs_3))"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:17:15.097884Z",
"start_time": "2023-11-07T18:17:09.637760Z"
}
},
"id": "c58106faf0fc7f4e"
},
{
"cell_type": "code",
"execution_count": 23,
"outputs": [],
"source": [],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2023-11-07T18:17:15.098169Z",
"start_time": "2023-11-07T18:17:15.094392Z"
}
},
"id": "a2f10e3152b95a69"
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"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.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
|