├── fig
├── fig1.png
├── fig2.png
└── fig3.png
├── LICENSE
├── README.md
└── code
└── NGSIM_preprocessing.ipynb
/fig/fig1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/YimingShu-teay/NGSIM-DataProcess/HEAD/fig/fig1.png
--------------------------------------------------------------------------------
/fig/fig2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/YimingShu-teay/NGSIM-DataProcess/HEAD/fig/fig2.png
--------------------------------------------------------------------------------
/fig/fig3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/YimingShu-teay/NGSIM-DataProcess/HEAD/fig/fig3.png
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Teaysway
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### Brief Introduction
2 |
3 | This code was written quite some time ago for the purpose of processing the NGSIM dataset. While it might not be the epitome of organization or high efficiency, it should serve as a valuable starting point for those venturing into data processing.
4 |
5 | This data processing is aimed at **extracting lane-changing points of vehicles and capturing feature information of traffic flow scenarios during lane changes**.
6 |
7 | Here is the link to get NGSIM dataset: https://data.transportation.gov/Automobiles/Next-Generation-Simulation-NGSIM-Vehicle-Trajector/8ect-6jqj
8 |
9 | ### Main Function
10 |
11 | 1.Extraction of the driving trajectories of each lane-changing vehicle in the vicinity of lane-change points within the NGSIM dataset.
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | 2.Treating each lane-changing vehicle as an ego vehicle, we obtained the traffic scenarios at their lane-change points.
20 |
21 |
22 |
23 |
24 |
25 | 3.Extraction of traffic features within a minimal unit scenario.
26 |
27 |
28 |
29 |
30 |
31 | ### Further Reading
32 |
33 | [1]. Zhang Y, Xu Q, Wang J, et al. A learning-based discretionary lane-change decision-making model with driving style awareness[J]. IEEE transactions on intelligent transportation systems, 2022, 24(1): 68-78.
34 |
35 | [2]. Liu Y, Wang X, Li L, et al. A novel lane change decision-making model of autonomous vehicle based on support vector machine[J]. IEEE access, 2019, 7: 26543-26550.
--------------------------------------------------------------------------------
/code/NGSIM_preprocessing.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 347,
6 | "id": "0d40d408",
7 | "metadata": {},
8 | "outputs": [],
9 | "source": [
10 | "import pandas as pd\n",
11 | "import os\n",
12 | "import matplotlib.pyplot as plt\n",
13 | "import math\n",
14 | "from shutil import copy"
15 | ]
16 | },
17 | {
18 | "cell_type": "code",
19 | "execution_count": 125,
20 | "id": "48d78e49",
21 | "metadata": {
22 | "scrolled": true
23 | },
24 | "outputs": [
25 | {
26 | "data": {
27 | "text/html": [
28 | "\n",
29 | "\n",
42 | "
\n",
43 | " \n",
44 | " \n",
45 | " \n",
46 | " Vehicle_ID \n",
47 | " Frame_ID \n",
48 | " Total_Frames \n",
49 | " Global_Time \n",
50 | " Local_X \n",
51 | " Local_Y \n",
52 | " Global_X \n",
53 | " Global_Y \n",
54 | " v_Length \n",
55 | " v_Width \n",
56 | " v_Class \n",
57 | " v_Vel \n",
58 | " v_Acc \n",
59 | " Lane_ID \n",
60 | " Preceeding \n",
61 | " Following \n",
62 | " Space_Hdwy \n",
63 | " Time_Hdwy \n",
64 | " \n",
65 | " \n",
66 | " \n",
67 | " \n",
68 | " 0 \n",
69 | " 2 \n",
70 | " 13 \n",
71 | " 437 \n",
72 | " 1118846980200 \n",
73 | " 16.467 \n",
74 | " 35.381 \n",
75 | " 6451137.641 \n",
76 | " 1873344.962 \n",
77 | " 14.5 \n",
78 | " 4.9 \n",
79 | " 2 \n",
80 | " 40.00 \n",
81 | " 0.00 \n",
82 | " 2 \n",
83 | " 0 \n",
84 | " 0 \n",
85 | " 0.0 \n",
86 | " 0.0 \n",
87 | " \n",
88 | " \n",
89 | " 1 \n",
90 | " 2 \n",
91 | " 14 \n",
92 | " 437 \n",
93 | " 1118846980300 \n",
94 | " 16.447 \n",
95 | " 39.381 \n",
96 | " 6451140.329 \n",
97 | " 1873342.000 \n",
98 | " 14.5 \n",
99 | " 4.9 \n",
100 | " 2 \n",
101 | " 40.00 \n",
102 | " 0.00 \n",
103 | " 2 \n",
104 | " 0 \n",
105 | " 0 \n",
106 | " 0.0 \n",
107 | " 0.0 \n",
108 | " \n",
109 | " \n",
110 | " 2 \n",
111 | " 2 \n",
112 | " 15 \n",
113 | " 437 \n",
114 | " 1118846980400 \n",
115 | " 16.426 \n",
116 | " 43.381 \n",
117 | " 6451143.018 \n",
118 | " 1873339.038 \n",
119 | " 14.5 \n",
120 | " 4.9 \n",
121 | " 2 \n",
122 | " 40.00 \n",
123 | " 0.00 \n",
124 | " 2 \n",
125 | " 0 \n",
126 | " 0 \n",
127 | " 0.0 \n",
128 | " 0.0 \n",
129 | " \n",
130 | " \n",
131 | " 3 \n",
132 | " 2 \n",
133 | " 16 \n",
134 | " 437 \n",
135 | " 1118846980500 \n",
136 | " 16.405 \n",
137 | " 47.380 \n",
138 | " 6451145.706 \n",
139 | " 1873336.077 \n",
140 | " 14.5 \n",
141 | " 4.9 \n",
142 | " 2 \n",
143 | " 40.00 \n",
144 | " 0.00 \n",
145 | " 2 \n",
146 | " 0 \n",
147 | " 0 \n",
148 | " 0.0 \n",
149 | " 0.0 \n",
150 | " \n",
151 | " \n",
152 | " 4 \n",
153 | " 2 \n",
154 | " 17 \n",
155 | " 437 \n",
156 | " 1118846980600 \n",
157 | " 16.385 \n",
158 | " 51.381 \n",
159 | " 6451148.395 \n",
160 | " 1873333.115 \n",
161 | " 14.5 \n",
162 | " 4.9 \n",
163 | " 2 \n",
164 | " 40.00 \n",
165 | " 0.00 \n",
166 | " 2 \n",
167 | " 0 \n",
168 | " 0 \n",
169 | " 0.0 \n",
170 | " 0.0 \n",
171 | " \n",
172 | " \n",
173 | " 5 \n",
174 | " 2 \n",
175 | " 18 \n",
176 | " 437 \n",
177 | " 1118846980700 \n",
178 | " 16.364 \n",
179 | " 55.381 \n",
180 | " 6451151.084 \n",
181 | " 1873330.153 \n",
182 | " 14.5 \n",
183 | " 4.9 \n",
184 | " 2 \n",
185 | " 40.00 \n",
186 | " 0.00 \n",
187 | " 2 \n",
188 | " 0 \n",
189 | " 0 \n",
190 | " 0.0 \n",
191 | " 0.0 \n",
192 | " \n",
193 | " \n",
194 | " 6 \n",
195 | " 2 \n",
196 | " 19 \n",
197 | " 437 \n",
198 | " 1118846980800 \n",
199 | " 16.344 \n",
200 | " 59.381 \n",
201 | " 6451153.772 \n",
202 | " 1873327.192 \n",
203 | " 14.5 \n",
204 | " 4.9 \n",
205 | " 2 \n",
206 | " 40.00 \n",
207 | " 0.00 \n",
208 | " 2 \n",
209 | " 0 \n",
210 | " 0 \n",
211 | " 0.0 \n",
212 | " 0.0 \n",
213 | " \n",
214 | " \n",
215 | " 7 \n",
216 | " 2 \n",
217 | " 20 \n",
218 | " 437 \n",
219 | " 1118846980900 \n",
220 | " 16.323 \n",
221 | " 63.379 \n",
222 | " 6451156.461 \n",
223 | " 1873324.230 \n",
224 | " 14.5 \n",
225 | " 4.9 \n",
226 | " 2 \n",
227 | " 40.02 \n",
228 | " 0.25 \n",
229 | " 2 \n",
230 | " 0 \n",
231 | " 0 \n",
232 | " 0.0 \n",
233 | " 0.0 \n",
234 | " \n",
235 | " \n",
236 | " 8 \n",
237 | " 2 \n",
238 | " 21 \n",
239 | " 437 \n",
240 | " 1118846981000 \n",
241 | " 16.303 \n",
242 | " 67.383 \n",
243 | " 6451159.149 \n",
244 | " 1873321.268 \n",
245 | " 14.5 \n",
246 | " 4.9 \n",
247 | " 2 \n",
248 | " 40.03 \n",
249 | " 0.13 \n",
250 | " 2 \n",
251 | " 0 \n",
252 | " 0 \n",
253 | " 0.0 \n",
254 | " 0.0 \n",
255 | " \n",
256 | " \n",
257 | " 9 \n",
258 | " 2 \n",
259 | " 22 \n",
260 | " 437 \n",
261 | " 1118846981100 \n",
262 | " 16.282 \n",
263 | " 71.398 \n",
264 | " 6451161.838 \n",
265 | " 1873318.307 \n",
266 | " 14.5 \n",
267 | " 4.9 \n",
268 | " 2 \n",
269 | " 39.93 \n",
270 | " -1.63 \n",
271 | " 2 \n",
272 | " 0 \n",
273 | " 13 \n",
274 | " 0.0 \n",
275 | " 0.0 \n",
276 | " \n",
277 | " \n",
278 | " 10 \n",
279 | " 2 \n",
280 | " 23 \n",
281 | " 437 \n",
282 | " 1118846981200 \n",
283 | " 16.262 \n",
284 | " 75.401 \n",
285 | " 6451164.546 \n",
286 | " 1873315.323 \n",
287 | " 14.5 \n",
288 | " 4.9 \n",
289 | " 2 \n",
290 | " 39.61 \n",
291 | " -4.54 \n",
292 | " 2 \n",
293 | " 0 \n",
294 | " 13 \n",
295 | " 0.0 \n",
296 | " 0.0 \n",
297 | " \n",
298 | " \n",
299 | " 11 \n",
300 | " 2 \n",
301 | " 24 \n",
302 | " 437 \n",
303 | " 1118846981300 \n",
304 | " 16.254 \n",
305 | " 79.349 \n",
306 | " 6451167.199 \n",
307 | " 1873312.382 \n",
308 | " 14.5 \n",
309 | " 4.9 \n",
310 | " 2 \n",
311 | " 39.14 \n",
312 | " -5.73 \n",
313 | " 2 \n",
314 | " 0 \n",
315 | " 13 \n",
316 | " 0.0 \n",
317 | " 0.0 \n",
318 | " \n",
319 | " \n",
320 | " 12 \n",
321 | " 2 \n",
322 | " 25 \n",
323 | " 437 \n",
324 | " 1118846981400 \n",
325 | " 16.221 \n",
326 | " 83.233 \n",
327 | " 6451169.802 \n",
328 | " 1873309.533 \n",
329 | " 14.5 \n",
330 | " 4.9 \n",
331 | " 2 \n",
332 | " 38.61 \n",
333 | " -5.15 \n",
334 | " 2 \n",
335 | " 0 \n",
336 | " 13 \n",
337 | " 0.0 \n",
338 | " 0.0 \n",
339 | " \n",
340 | " \n",
341 | " 13 \n",
342 | " 2 \n",
343 | " 26 \n",
344 | " 437 \n",
345 | " 1118846981500 \n",
346 | " 16.201 \n",
347 | " 87.043 \n",
348 | " 6451172.358 \n",
349 | " 1873306.719 \n",
350 | " 14.5 \n",
351 | " 4.9 \n",
352 | " 2 \n",
353 | " 38.28 \n",
354 | " -1.61 \n",
355 | " 2 \n",
356 | " 0 \n",
357 | " 13 \n",
358 | " 0.0 \n",
359 | " 0.0 \n",
360 | " \n",
361 | " \n",
362 | " 14 \n",
363 | " 2 \n",
364 | " 27 \n",
365 | " 437 \n",
366 | " 1118846981600 \n",
367 | " 16.169 \n",
368 | " 90.829 \n",
369 | " 6451174.961 \n",
370 | " 1873303.870 \n",
371 | " 14.5 \n",
372 | " 4.9 \n",
373 | " 2 \n",
374 | " 38.42 \n",
375 | " 3.73 \n",
376 | " 2 \n",
377 | " 0 \n",
378 | " 13 \n",
379 | " 0.0 \n",
380 | " 0.0 \n",
381 | " \n",
382 | " \n",
383 | " 15 \n",
384 | " 2 \n",
385 | " 28 \n",
386 | " 437 \n",
387 | " 1118846981700 \n",
388 | " 16.204 \n",
389 | " 94.683 \n",
390 | " 6451177.613 \n",
391 | " 1873300.929 \n",
392 | " 14.5 \n",
393 | " 4.9 \n",
394 | " 2 \n",
395 | " 38.78 \n",
396 | " 4.86 \n",
397 | " 2 \n",
398 | " 0 \n",
399 | " 13 \n",
400 | " 0.0 \n",
401 | " 0.0 \n",
402 | " \n",
403 | " \n",
404 | " 16 \n",
405 | " 2 \n",
406 | " 29 \n",
407 | " 437 \n",
408 | " 1118846981800 \n",
409 | " 16.252 \n",
410 | " 98.611 \n",
411 | " 6451180.342 \n",
412 | " 1873297.924 \n",
413 | " 14.5 \n",
414 | " 4.9 \n",
415 | " 2 \n",
416 | " 38.92 \n",
417 | " 0.00 \n",
418 | " 2 \n",
419 | " 0 \n",
420 | " 13 \n",
421 | " 0.0 \n",
422 | " 0.0 \n",
423 | " \n",
424 | " \n",
425 | " 17 \n",
426 | " 2 \n",
427 | " 30 \n",
428 | " 437 \n",
429 | " 1118846981900 \n",
430 | " 16.339 \n",
431 | " 102.560 \n",
432 | " 6451182.980 \n",
433 | " 1873294.961 \n",
434 | " 14.5 \n",
435 | " 4.9 \n",
436 | " 2 \n",
437 | " 38.54 \n",
438 | " -8.59 \n",
439 | " 2 \n",
440 | " 0 \n",
441 | " 13 \n",
442 | " 0.0 \n",
443 | " 0.0 \n",
444 | " \n",
445 | " \n",
446 | " 18 \n",
447 | " 2 \n",
448 | " 31 \n",
449 | " 437 \n",
450 | " 1118846982000 \n",
451 | " 16.400 \n",
452 | " 106.385 \n",
453 | " 6451185.537 \n",
454 | " 1873292.122 \n",
455 | " 14.5 \n",
456 | " 4.9 \n",
457 | " 2 \n",
458 | " 37.51 \n",
459 | " -11.20 \n",
460 | " 2 \n",
461 | " 0 \n",
462 | " 13 \n",
463 | " 0.0 \n",
464 | " 0.0 \n",
465 | " \n",
466 | " \n",
467 | " 19 \n",
468 | " 2 \n",
469 | " 32 \n",
470 | " 437 \n",
471 | " 1118846982100 \n",
472 | " 16.430 \n",
473 | " 110.079 \n",
474 | " 6451188.021 \n",
475 | " 1873289.408 \n",
476 | " 14.5 \n",
477 | " 4.9 \n",
478 | " 2 \n",
479 | " 36.34 \n",
480 | " -10.86 \n",
481 | " 2 \n",
482 | " 0 \n",
483 | " 13 \n",
484 | " 0.0 \n",
485 | " 0.0 \n",
486 | " \n",
487 | " \n",
488 | " 20 \n",
489 | " 2 \n",
490 | " 33 \n",
491 | " 437 \n",
492 | " 1118846982200 \n",
493 | " 16.435 \n",
494 | " 113.628 \n",
495 | " 6451190.424 \n",
496 | " 1873286.817 \n",
497 | " 14.5 \n",
498 | " 4.9 \n",
499 | " 2 \n",
500 | " 35.50 \n",
501 | " -6.20 \n",
502 | " 2 \n",
503 | " 0 \n",
504 | " 13 \n",
505 | " 0.0 \n",
506 | " 0.0 \n",
507 | " \n",
508 | " \n",
509 | " 21 \n",
510 | " 2 \n",
511 | " 34 \n",
512 | " 437 \n",
513 | " 1118846982300 \n",
514 | " 16.478 \n",
515 | " 117.118 \n",
516 | " 6451192.757 \n",
517 | " 1873284.247 \n",
518 | " 14.5 \n",
519 | " 4.9 \n",
520 | " 2 \n",
521 | " 35.08 \n",
522 | " -1.89 \n",
523 | " 2 \n",
524 | " 0 \n",
525 | " 13 \n",
526 | " 0.0 \n",
527 | " 0.0 \n",
528 | " \n",
529 | " \n",
530 | " 22 \n",
531 | " 2 \n",
532 | " 35 \n",
533 | " 437 \n",
534 | " 1118846982400 \n",
535 | " 16.520 \n",
536 | " 120.600 \n",
537 | " 6451195.109 \n",
538 | " 1873281.656 \n",
539 | " 14.5 \n",
540 | " 4.9 \n",
541 | " 2 \n",
542 | " 34.96 \n",
543 | " 0.18 \n",
544 | " 2 \n",
545 | " 0 \n",
546 | " 13 \n",
547 | " 0.0 \n",
548 | " 0.0 \n",
549 | " \n",
550 | " \n",
551 | " 23 \n",
552 | " 2 \n",
553 | " 36 \n",
554 | " 437 \n",
555 | " 1118846982500 \n",
556 | " 16.562 \n",
557 | " 124.096 \n",
558 | " 6451197.462 \n",
559 | " 1873279.065 \n",
560 | " 14.5 \n",
561 | " 4.9 \n",
562 | " 2 \n",
563 | " 34.98 \n",
564 | " 0.25 \n",
565 | " 2 \n",
566 | " 0 \n",
567 | " 13 \n",
568 | " 0.0 \n",
569 | " 0.0 \n",
570 | " \n",
571 | " \n",
572 | " 24 \n",
573 | " 2 \n",
574 | " 37 \n",
575 | " 437 \n",
576 | " 1118846982600 \n",
577 | " 16.605 \n",
578 | " 127.597 \n",
579 | " 6451199.814 \n",
580 | " 1873276.473 \n",
581 | " 14.5 \n",
582 | " 4.9 \n",
583 | " 2 \n",
584 | " 35.00 \n",
585 | " 0.04 \n",
586 | " 2 \n",
587 | " 0 \n",
588 | " 13 \n",
589 | " 0.0 \n",
590 | " 0.0 \n",
591 | " \n",
592 | " \n",
593 | " 25 \n",
594 | " 2 \n",
595 | " 38 \n",
596 | " 437 \n",
597 | " 1118846982700 \n",
598 | " 16.647 \n",
599 | " 131.099 \n",
600 | " 6451202.167 \n",
601 | " 1873273.882 \n",
602 | " 14.5 \n",
603 | " 4.9 \n",
604 | " 2 \n",
605 | " 34.99 \n",
606 | " -0.20 \n",
607 | " 2 \n",
608 | " 0 \n",
609 | " 13 \n",
610 | " 0.0 \n",
611 | " 0.0 \n",
612 | " \n",
613 | " \n",
614 | " 26 \n",
615 | " 2 \n",
616 | " 39 \n",
617 | " 437 \n",
618 | " 1118846982800 \n",
619 | " 16.691 \n",
620 | " 134.595 \n",
621 | " 6451204.519 \n",
622 | " 1873271.290 \n",
623 | " 14.5 \n",
624 | " 4.9 \n",
625 | " 2 \n",
626 | " 34.98 \n",
627 | " -0.02 \n",
628 | " 2 \n",
629 | " 0 \n",
630 | " 13 \n",
631 | " 0.0 \n",
632 | " 0.0 \n",
633 | " \n",
634 | " \n",
635 | " 27 \n",
636 | " 2 \n",
637 | " 40 \n",
638 | " 437 \n",
639 | " 1118846982900 \n",
640 | " 16.727 \n",
641 | " 138.081 \n",
642 | " 6451206.879 \n",
643 | " 1873268.700 \n",
644 | " 14.5 \n",
645 | " 4.9 \n",
646 | " 2 \n",
647 | " 35.10 \n",
648 | " 1.95 \n",
649 | " 2 \n",
650 | " 0 \n",
651 | " 13 \n",
652 | " 0.0 \n",
653 | " 0.0 \n",
654 | " \n",
655 | " \n",
656 | " 28 \n",
657 | " 2 \n",
658 | " 41 \n",
659 | " 437 \n",
660 | " 1118846983000 \n",
661 | " 16.796 \n",
662 | " 141.578 \n",
663 | " 6451209.191 \n",
664 | " 1873266.113 \n",
665 | " 14.5 \n",
666 | " 4.9 \n",
667 | " 2 \n",
668 | " 35.49 \n",
669 | " 5.55 \n",
670 | " 2 \n",
671 | " 0 \n",
672 | " 13 \n",
673 | " 0.0 \n",
674 | " 0.0 \n",
675 | " \n",
676 | " \n",
677 | " 29 \n",
678 | " 2 \n",
679 | " 42 \n",
680 | " 437 \n",
681 | " 1118846983100 \n",
682 | " 16.795 \n",
683 | " 145.131 \n",
684 | " 6451211.610 \n",
685 | " 1873263.514 \n",
686 | " 14.5 \n",
687 | " 4.9 \n",
688 | " 2 \n",
689 | " 36.20 \n",
690 | " 8.99 \n",
691 | " 2 \n",
692 | " 0 \n",
693 | " 13 \n",
694 | " 0.0 \n",
695 | " 0.0 \n",
696 | " \n",
697 | " \n",
698 | " 30 \n",
699 | " 2 \n",
700 | " 43 \n",
701 | " 437 \n",
702 | " 1118846983200 \n",
703 | " 16.724 \n",
704 | " 148.784 \n",
705 | " 6451214.156 \n",
706 | " 1873260.882 \n",
707 | " 14.5 \n",
708 | " 4.9 \n",
709 | " 2 \n",
710 | " 37.15 \n",
711 | " 10.44 \n",
712 | " 2 \n",
713 | " 0 \n",
714 | " 13 \n",
715 | " 0.0 \n",
716 | " 0.0 \n",
717 | " \n",
718 | " \n",
719 | " 31 \n",
720 | " 2 \n",
721 | " 44 \n",
722 | " 437 \n",
723 | " 1118846983300 \n",
724 | " 16.588 \n",
725 | " 152.559 \n",
726 | " 6451216.824 \n",
727 | " 1873258.213 \n",
728 | " 14.5 \n",
729 | " 4.9 \n",
730 | " 2 \n",
731 | " 38.12 \n",
732 | " 9.30 \n",
733 | " 2 \n",
734 | " 0 \n",
735 | " 13 \n",
736 | " 0.0 \n",
737 | " 0.0 \n",
738 | " \n",
739 | " \n",
740 | " 32 \n",
741 | " 2 \n",
742 | " 45 \n",
743 | " 437 \n",
744 | " 1118846983400 \n",
745 | " 16.376 \n",
746 | " 156.449 \n",
747 | " 6451219.616 \n",
748 | " 1873255.522 \n",
749 | " 14.5 \n",
750 | " 4.9 \n",
751 | " 2 \n",
752 | " 38.76 \n",
753 | " 4.36 \n",
754 | " 2 \n",
755 | " 0 \n",
756 | " 13 \n",
757 | " 0.0 \n",
758 | " 0.0 \n",
759 | " \n",
760 | " \n",
761 | " 33 \n",
762 | " 2 \n",
763 | " 46 \n",
764 | " 437 \n",
765 | " 1118846983500 \n",
766 | " 16.064 \n",
767 | " 160.379 \n",
768 | " 6451222.548 \n",
769 | " 1873252.829 \n",
770 | " 14.5 \n",
771 | " 4.9 \n",
772 | " 2 \n",
773 | " 38.95 \n",
774 | " -0.73 \n",
775 | " 2 \n",
776 | " 0 \n",
777 | " 13 \n",
778 | " 0.0 \n",
779 | " 0.0 \n",
780 | " \n",
781 | " \n",
782 | " 34 \n",
783 | " 2 \n",
784 | " 47 \n",
785 | " 437 \n",
786 | " 1118846983600 \n",
787 | " 15.763 \n",
788 | " 164.277 \n",
789 | " 6451225.462 \n",
790 | " 1873250.139 \n",
791 | " 14.5 \n",
792 | " 4.9 \n",
793 | " 2 \n",
794 | " 38.95 \n",
795 | " -1.15 \n",
796 | " 2 \n",
797 | " 0 \n",
798 | " 13 \n",
799 | " 0.0 \n",
800 | " 0.0 \n",
801 | " \n",
802 | " \n",
803 | " 35 \n",
804 | " 2 \n",
805 | " 48 \n",
806 | " 437 \n",
807 | " 1118846983700 \n",
808 | " 15.471 \n",
809 | " 168.150 \n",
810 | " 6451228.376 \n",
811 | " 1873247.450 \n",
812 | " 14.5 \n",
813 | " 4.9 \n",
814 | " 2 \n",
815 | " 38.99 \n",
816 | " 1.90 \n",
817 | " 2 \n",
818 | " 0 \n",
819 | " 13 \n",
820 | " 0.0 \n",
821 | " 0.0 \n",
822 | " \n",
823 | " \n",
824 | " 36 \n",
825 | " 2 \n",
826 | " 49 \n",
827 | " 437 \n",
828 | " 1118846983800 \n",
829 | " 15.226 \n",
830 | " 172.044 \n",
831 | " 6451231.290 \n",
832 | " 1873244.760 \n",
833 | " 14.5 \n",
834 | " 4.9 \n",
835 | " 2 \n",
836 | " 39.18 \n",
837 | " 3.47 \n",
838 | " 2 \n",
839 | " 0 \n",
840 | " 13 \n",
841 | " 0.0 \n",
842 | " 0.0 \n",
843 | " \n",
844 | " \n",
845 | " 37 \n",
846 | " 2 \n",
847 | " 50 \n",
848 | " 437 \n",
849 | " 1118846983900 \n",
850 | " 14.979 \n",
851 | " 176.000 \n",
852 | " 6451234.204 \n",
853 | " 1873242.071 \n",
854 | " 14.5 \n",
855 | " 4.9 \n",
856 | " 2 \n",
857 | " 39.34 \n",
858 | " 0.02 \n",
859 | " 2 \n",
860 | " 0 \n",
861 | " 13 \n",
862 | " 0.0 \n",
863 | " 0.0 \n",
864 | " \n",
865 | " \n",
866 | " 38 \n",
867 | " 2 \n",
868 | " 51 \n",
869 | " 437 \n",
870 | " 1118846984000 \n",
871 | " 14.720 \n",
872 | " 179.959 \n",
873 | " 6451237.144 \n",
874 | " 1873239.374 \n",
875 | " 14.5 \n",
876 | " 4.9 \n",
877 | " 2 \n",
878 | " 39.20 \n",
879 | " -3.52 \n",
880 | " 2 \n",
881 | " 0 \n",
882 | " 13 \n",
883 | " 0.0 \n",
884 | " 0.0 \n",
885 | " \n",
886 | " \n",
887 | " 39 \n",
888 | " 2 \n",
889 | " 52 \n",
890 | " 437 \n",
891 | " 1118846984100 \n",
892 | " 14.508 \n",
893 | " 183.862 \n",
894 | " 6451239.988 \n",
895 | " 1873236.708 \n",
896 | " 14.5 \n",
897 | " 4.9 \n",
898 | " 2 \n",
899 | " 38.89 \n",
900 | " -3.28 \n",
901 | " 2 \n",
902 | " 0 \n",
903 | " 13 \n",
904 | " 0.0 \n",
905 | " 0.0 \n",
906 | " \n",
907 | " \n",
908 | " 40 \n",
909 | " 2 \n",
910 | " 53 \n",
911 | " 437 \n",
912 | " 1118846984200 \n",
913 | " 14.331 \n",
914 | " 187.716 \n",
915 | " 6451242.770 \n",
916 | " 1873234.057 \n",
917 | " 14.5 \n",
918 | " 4.9 \n",
919 | " 2 \n",
920 | " 38.73 \n",
921 | " -0.33 \n",
922 | " 2 \n",
923 | " 0 \n",
924 | " 13 \n",
925 | " 0.0 \n",
926 | " 0.0 \n",
927 | " \n",
928 | " \n",
929 | " 41 \n",
930 | " 2 \n",
931 | " 54 \n",
932 | " 437 \n",
933 | " 1118846984300 \n",
934 | " 14.240 \n",
935 | " 191.561 \n",
936 | " 6451245.501 \n",
937 | " 1873231.336 \n",
938 | " 14.5 \n",
939 | " 4.9 \n",
940 | " 2 \n",
941 | " 38.88 \n",
942 | " 3.49 \n",
943 | " 2 \n",
944 | " 0 \n",
945 | " 13 \n",
946 | " 0.0 \n",
947 | " 0.0 \n",
948 | " \n",
949 | " \n",
950 | " 42 \n",
951 | " 2 \n",
952 | " 55 \n",
953 | " 437 \n",
954 | " 1118846984400 \n",
955 | " 14.309 \n",
956 | " 195.455 \n",
957 | " 6451248.125 \n",
958 | " 1873228.494 \n",
959 | " 14.5 \n",
960 | " 4.9 \n",
961 | " 2 \n",
962 | " 39.28 \n",
963 | " 5.00 \n",
964 | " 2 \n",
965 | " 0 \n",
966 | " 13 \n",
967 | " 0.0 \n",
968 | " 0.0 \n",
969 | " \n",
970 | " \n",
971 | " 43 \n",
972 | " 2 \n",
973 | " 56 \n",
974 | " 437 \n",
975 | " 1118846984500 \n",
976 | " 14.428 \n",
977 | " 199.414 \n",
978 | " 6451250.788 \n",
979 | " 1873225.539 \n",
980 | " 14.5 \n",
981 | " 4.9 \n",
982 | " 2 \n",
983 | " 39.68 \n",
984 | " 3.76 \n",
985 | " 2 \n",
986 | " 0 \n",
987 | " 13 \n",
988 | " 0.0 \n",
989 | " 0.0 \n",
990 | " \n",
991 | " \n",
992 | " 44 \n",
993 | " 2 \n",
994 | " 57 \n",
995 | " 437 \n",
996 | " 1118846984600 \n",
997 | " 14.540 \n",
998 | " 203.417 \n",
999 | " 6451253.489 \n",
1000 | " 1873222.554 \n",
1001 | " 14.5 \n",
1002 | " 4.9 \n",
1003 | " 2 \n",
1004 | " 39.94 \n",
1005 | " 1.29 \n",
1006 | " 2 \n",
1007 | " 0 \n",
1008 | " 13 \n",
1009 | " 0.0 \n",
1010 | " 0.0 \n",
1011 | " \n",
1012 | " \n",
1013 | " 45 \n",
1014 | " 2 \n",
1015 | " 58 \n",
1016 | " 437 \n",
1017 | " 1118846984700 \n",
1018 | " 14.646 \n",
1019 | " 207.430 \n",
1020 | " 6451256.177 \n",
1021 | " 1873219.592 \n",
1022 | " 14.5 \n",
1023 | " 4.9 \n",
1024 | " 2 \n",
1025 | " 40.02 \n",
1026 | " -0.22 \n",
1027 | " 2 \n",
1028 | " 0 \n",
1029 | " 13 \n",
1030 | " 0.0 \n",
1031 | " 0.0 \n",
1032 | " \n",
1033 | " \n",
1034 | " 46 \n",
1035 | " 2 \n",
1036 | " 59 \n",
1037 | " 437 \n",
1038 | " 1118846984800 \n",
1039 | " 14.751 \n",
1040 | " 211.431 \n",
1041 | " 6451258.866 \n",
1042 | " 1873216.630 \n",
1043 | " 14.5 \n",
1044 | " 4.9 \n",
1045 | " 2 \n",
1046 | " 40.00 \n",
1047 | " -0.21 \n",
1048 | " 2 \n",
1049 | " 0 \n",
1050 | " 13 \n",
1051 | " 0.0 \n",
1052 | " 0.0 \n",
1053 | " \n",
1054 | " \n",
1055 | " 47 \n",
1056 | " 2 \n",
1057 | " 60 \n",
1058 | " 437 \n",
1059 | " 1118846984900 \n",
1060 | " 14.856 \n",
1061 | " 215.428 \n",
1062 | " 6451261.554 \n",
1063 | " 1873213.669 \n",
1064 | " 14.5 \n",
1065 | " 4.9 \n",
1066 | " 2 \n",
1067 | " 39.99 \n",
1068 | " 0.00 \n",
1069 | " 2 \n",
1070 | " 0 \n",
1071 | " 13 \n",
1072 | " 0.0 \n",
1073 | " 0.0 \n",
1074 | " \n",
1075 | " \n",
1076 | " 48 \n",
1077 | " 2 \n",
1078 | " 61 \n",
1079 | " 437 \n",
1080 | " 1118846985000 \n",
1081 | " 14.962 \n",
1082 | " 219.427 \n",
1083 | " 6451264.243 \n",
1084 | " 1873210.707 \n",
1085 | " 14.5 \n",
1086 | " 4.9 \n",
1087 | " 2 \n",
1088 | " 39.99 \n",
1089 | " 0.00 \n",
1090 | " 2 \n",
1091 | " 0 \n",
1092 | " 13 \n",
1093 | " 0.0 \n",
1094 | " 0.0 \n",
1095 | " \n",
1096 | " \n",
1097 | " 49 \n",
1098 | " 2 \n",
1099 | " 62 \n",
1100 | " 437 \n",
1101 | " 1118846985100 \n",
1102 | " 15.067 \n",
1103 | " 223.462 \n",
1104 | " 6451266.932 \n",
1105 | " 1873207.745 \n",
1106 | " 14.5 \n",
1107 | " 4.9 \n",
1108 | " 2 \n",
1109 | " 39.65 \n",
1110 | " -5.35 \n",
1111 | " 2 \n",
1112 | " 0 \n",
1113 | " 13 \n",
1114 | " 0.0 \n",
1115 | " 0.0 \n",
1116 | " \n",
1117 | " \n",
1118 | "
\n",
1119 | "
"
1120 | ],
1121 | "text/plain": [
1122 | " Vehicle_ID Frame_ID Total_Frames Global_Time Local_X Local_Y \\\n",
1123 | "0 2 13 437 1118846980200 16.467 35.381 \n",
1124 | "1 2 14 437 1118846980300 16.447 39.381 \n",
1125 | "2 2 15 437 1118846980400 16.426 43.381 \n",
1126 | "3 2 16 437 1118846980500 16.405 47.380 \n",
1127 | "4 2 17 437 1118846980600 16.385 51.381 \n",
1128 | "5 2 18 437 1118846980700 16.364 55.381 \n",
1129 | "6 2 19 437 1118846980800 16.344 59.381 \n",
1130 | "7 2 20 437 1118846980900 16.323 63.379 \n",
1131 | "8 2 21 437 1118846981000 16.303 67.383 \n",
1132 | "9 2 22 437 1118846981100 16.282 71.398 \n",
1133 | "10 2 23 437 1118846981200 16.262 75.401 \n",
1134 | "11 2 24 437 1118846981300 16.254 79.349 \n",
1135 | "12 2 25 437 1118846981400 16.221 83.233 \n",
1136 | "13 2 26 437 1118846981500 16.201 87.043 \n",
1137 | "14 2 27 437 1118846981600 16.169 90.829 \n",
1138 | "15 2 28 437 1118846981700 16.204 94.683 \n",
1139 | "16 2 29 437 1118846981800 16.252 98.611 \n",
1140 | "17 2 30 437 1118846981900 16.339 102.560 \n",
1141 | "18 2 31 437 1118846982000 16.400 106.385 \n",
1142 | "19 2 32 437 1118846982100 16.430 110.079 \n",
1143 | "20 2 33 437 1118846982200 16.435 113.628 \n",
1144 | "21 2 34 437 1118846982300 16.478 117.118 \n",
1145 | "22 2 35 437 1118846982400 16.520 120.600 \n",
1146 | "23 2 36 437 1118846982500 16.562 124.096 \n",
1147 | "24 2 37 437 1118846982600 16.605 127.597 \n",
1148 | "25 2 38 437 1118846982700 16.647 131.099 \n",
1149 | "26 2 39 437 1118846982800 16.691 134.595 \n",
1150 | "27 2 40 437 1118846982900 16.727 138.081 \n",
1151 | "28 2 41 437 1118846983000 16.796 141.578 \n",
1152 | "29 2 42 437 1118846983100 16.795 145.131 \n",
1153 | "30 2 43 437 1118846983200 16.724 148.784 \n",
1154 | "31 2 44 437 1118846983300 16.588 152.559 \n",
1155 | "32 2 45 437 1118846983400 16.376 156.449 \n",
1156 | "33 2 46 437 1118846983500 16.064 160.379 \n",
1157 | "34 2 47 437 1118846983600 15.763 164.277 \n",
1158 | "35 2 48 437 1118846983700 15.471 168.150 \n",
1159 | "36 2 49 437 1118846983800 15.226 172.044 \n",
1160 | "37 2 50 437 1118846983900 14.979 176.000 \n",
1161 | "38 2 51 437 1118846984000 14.720 179.959 \n",
1162 | "39 2 52 437 1118846984100 14.508 183.862 \n",
1163 | "40 2 53 437 1118846984200 14.331 187.716 \n",
1164 | "41 2 54 437 1118846984300 14.240 191.561 \n",
1165 | "42 2 55 437 1118846984400 14.309 195.455 \n",
1166 | "43 2 56 437 1118846984500 14.428 199.414 \n",
1167 | "44 2 57 437 1118846984600 14.540 203.417 \n",
1168 | "45 2 58 437 1118846984700 14.646 207.430 \n",
1169 | "46 2 59 437 1118846984800 14.751 211.431 \n",
1170 | "47 2 60 437 1118846984900 14.856 215.428 \n",
1171 | "48 2 61 437 1118846985000 14.962 219.427 \n",
1172 | "49 2 62 437 1118846985100 15.067 223.462 \n",
1173 | "\n",
1174 | " Global_X Global_Y v_Length v_Width v_Class v_Vel v_Acc \\\n",
1175 | "0 6451137.641 1873344.962 14.5 4.9 2 40.00 0.00 \n",
1176 | "1 6451140.329 1873342.000 14.5 4.9 2 40.00 0.00 \n",
1177 | "2 6451143.018 1873339.038 14.5 4.9 2 40.00 0.00 \n",
1178 | "3 6451145.706 1873336.077 14.5 4.9 2 40.00 0.00 \n",
1179 | "4 6451148.395 1873333.115 14.5 4.9 2 40.00 0.00 \n",
1180 | "5 6451151.084 1873330.153 14.5 4.9 2 40.00 0.00 \n",
1181 | "6 6451153.772 1873327.192 14.5 4.9 2 40.00 0.00 \n",
1182 | "7 6451156.461 1873324.230 14.5 4.9 2 40.02 0.25 \n",
1183 | "8 6451159.149 1873321.268 14.5 4.9 2 40.03 0.13 \n",
1184 | "9 6451161.838 1873318.307 14.5 4.9 2 39.93 -1.63 \n",
1185 | "10 6451164.546 1873315.323 14.5 4.9 2 39.61 -4.54 \n",
1186 | "11 6451167.199 1873312.382 14.5 4.9 2 39.14 -5.73 \n",
1187 | "12 6451169.802 1873309.533 14.5 4.9 2 38.61 -5.15 \n",
1188 | "13 6451172.358 1873306.719 14.5 4.9 2 38.28 -1.61 \n",
1189 | "14 6451174.961 1873303.870 14.5 4.9 2 38.42 3.73 \n",
1190 | "15 6451177.613 1873300.929 14.5 4.9 2 38.78 4.86 \n",
1191 | "16 6451180.342 1873297.924 14.5 4.9 2 38.92 0.00 \n",
1192 | "17 6451182.980 1873294.961 14.5 4.9 2 38.54 -8.59 \n",
1193 | "18 6451185.537 1873292.122 14.5 4.9 2 37.51 -11.20 \n",
1194 | "19 6451188.021 1873289.408 14.5 4.9 2 36.34 -10.86 \n",
1195 | "20 6451190.424 1873286.817 14.5 4.9 2 35.50 -6.20 \n",
1196 | "21 6451192.757 1873284.247 14.5 4.9 2 35.08 -1.89 \n",
1197 | "22 6451195.109 1873281.656 14.5 4.9 2 34.96 0.18 \n",
1198 | "23 6451197.462 1873279.065 14.5 4.9 2 34.98 0.25 \n",
1199 | "24 6451199.814 1873276.473 14.5 4.9 2 35.00 0.04 \n",
1200 | "25 6451202.167 1873273.882 14.5 4.9 2 34.99 -0.20 \n",
1201 | "26 6451204.519 1873271.290 14.5 4.9 2 34.98 -0.02 \n",
1202 | "27 6451206.879 1873268.700 14.5 4.9 2 35.10 1.95 \n",
1203 | "28 6451209.191 1873266.113 14.5 4.9 2 35.49 5.55 \n",
1204 | "29 6451211.610 1873263.514 14.5 4.9 2 36.20 8.99 \n",
1205 | "30 6451214.156 1873260.882 14.5 4.9 2 37.15 10.44 \n",
1206 | "31 6451216.824 1873258.213 14.5 4.9 2 38.12 9.30 \n",
1207 | "32 6451219.616 1873255.522 14.5 4.9 2 38.76 4.36 \n",
1208 | "33 6451222.548 1873252.829 14.5 4.9 2 38.95 -0.73 \n",
1209 | "34 6451225.462 1873250.139 14.5 4.9 2 38.95 -1.15 \n",
1210 | "35 6451228.376 1873247.450 14.5 4.9 2 38.99 1.90 \n",
1211 | "36 6451231.290 1873244.760 14.5 4.9 2 39.18 3.47 \n",
1212 | "37 6451234.204 1873242.071 14.5 4.9 2 39.34 0.02 \n",
1213 | "38 6451237.144 1873239.374 14.5 4.9 2 39.20 -3.52 \n",
1214 | "39 6451239.988 1873236.708 14.5 4.9 2 38.89 -3.28 \n",
1215 | "40 6451242.770 1873234.057 14.5 4.9 2 38.73 -0.33 \n",
1216 | "41 6451245.501 1873231.336 14.5 4.9 2 38.88 3.49 \n",
1217 | "42 6451248.125 1873228.494 14.5 4.9 2 39.28 5.00 \n",
1218 | "43 6451250.788 1873225.539 14.5 4.9 2 39.68 3.76 \n",
1219 | "44 6451253.489 1873222.554 14.5 4.9 2 39.94 1.29 \n",
1220 | "45 6451256.177 1873219.592 14.5 4.9 2 40.02 -0.22 \n",
1221 | "46 6451258.866 1873216.630 14.5 4.9 2 40.00 -0.21 \n",
1222 | "47 6451261.554 1873213.669 14.5 4.9 2 39.99 0.00 \n",
1223 | "48 6451264.243 1873210.707 14.5 4.9 2 39.99 0.00 \n",
1224 | "49 6451266.932 1873207.745 14.5 4.9 2 39.65 -5.35 \n",
1225 | "\n",
1226 | " Lane_ID Preceeding Following Space_Hdwy Time_Hdwy \n",
1227 | "0 2 0 0 0.0 0.0 \n",
1228 | "1 2 0 0 0.0 0.0 \n",
1229 | "2 2 0 0 0.0 0.0 \n",
1230 | "3 2 0 0 0.0 0.0 \n",
1231 | "4 2 0 0 0.0 0.0 \n",
1232 | "5 2 0 0 0.0 0.0 \n",
1233 | "6 2 0 0 0.0 0.0 \n",
1234 | "7 2 0 0 0.0 0.0 \n",
1235 | "8 2 0 0 0.0 0.0 \n",
1236 | "9 2 0 13 0.0 0.0 \n",
1237 | "10 2 0 13 0.0 0.0 \n",
1238 | "11 2 0 13 0.0 0.0 \n",
1239 | "12 2 0 13 0.0 0.0 \n",
1240 | "13 2 0 13 0.0 0.0 \n",
1241 | "14 2 0 13 0.0 0.0 \n",
1242 | "15 2 0 13 0.0 0.0 \n",
1243 | "16 2 0 13 0.0 0.0 \n",
1244 | "17 2 0 13 0.0 0.0 \n",
1245 | "18 2 0 13 0.0 0.0 \n",
1246 | "19 2 0 13 0.0 0.0 \n",
1247 | "20 2 0 13 0.0 0.0 \n",
1248 | "21 2 0 13 0.0 0.0 \n",
1249 | "22 2 0 13 0.0 0.0 \n",
1250 | "23 2 0 13 0.0 0.0 \n",
1251 | "24 2 0 13 0.0 0.0 \n",
1252 | "25 2 0 13 0.0 0.0 \n",
1253 | "26 2 0 13 0.0 0.0 \n",
1254 | "27 2 0 13 0.0 0.0 \n",
1255 | "28 2 0 13 0.0 0.0 \n",
1256 | "29 2 0 13 0.0 0.0 \n",
1257 | "30 2 0 13 0.0 0.0 \n",
1258 | "31 2 0 13 0.0 0.0 \n",
1259 | "32 2 0 13 0.0 0.0 \n",
1260 | "33 2 0 13 0.0 0.0 \n",
1261 | "34 2 0 13 0.0 0.0 \n",
1262 | "35 2 0 13 0.0 0.0 \n",
1263 | "36 2 0 13 0.0 0.0 \n",
1264 | "37 2 0 13 0.0 0.0 \n",
1265 | "38 2 0 13 0.0 0.0 \n",
1266 | "39 2 0 13 0.0 0.0 \n",
1267 | "40 2 0 13 0.0 0.0 \n",
1268 | "41 2 0 13 0.0 0.0 \n",
1269 | "42 2 0 13 0.0 0.0 \n",
1270 | "43 2 0 13 0.0 0.0 \n",
1271 | "44 2 0 13 0.0 0.0 \n",
1272 | "45 2 0 13 0.0 0.0 \n",
1273 | "46 2 0 13 0.0 0.0 \n",
1274 | "47 2 0 13 0.0 0.0 \n",
1275 | "48 2 0 13 0.0 0.0 \n",
1276 | "49 2 0 13 0.0 0.0 "
1277 | ]
1278 | },
1279 | "execution_count": 125,
1280 | "metadata": {},
1281 | "output_type": "execute_result"
1282 | }
1283 | ],
1284 | "source": [
1285 | "init_df1 = pd.read_csv(r'D:\\NGSIM\\us-101\\us-101-vehicle-trajectory-data\\vehicle-trajectory-data\\0750am-0805am\\trajectories-0750am-0805am.csv')\n",
1286 | "init_df1.head(50)"
1287 | ]
1288 | },
1289 | {
1290 | "cell_type": "code",
1291 | "execution_count": 52,
1292 | "id": "932ba550",
1293 | "metadata": {},
1294 | "outputs": [],
1295 | "source": [
1296 | "df_pre2 = init_df1.loc[init_df1['Lane_ID']== 2]\n",
1297 | "list_2 = df_pre2['Vehicle_ID'].drop_duplicates().to_list()\n",
1298 | "df_pre1 = init_df1.loc[init_df1['Lane_ID']== 1]\n",
1299 | "list_1 = df_pre1['Vehicle_ID'].drop_duplicates().to_list()\n",
1300 | "df_pre3 = init_df1.loc[init_df1['Lane_ID']== 3]\n",
1301 | "list_3 = df_pre3['Vehicle_ID'].drop_duplicates().to_list()\n",
1302 | "df_pre4 = init_df1.loc[init_df1['Lane_ID']== 4]\n",
1303 | "list_4 = df_pre4['Vehicle_ID'].drop_duplicates().to_list()\n",
1304 | "df_pre5 = init_df1.loc[init_df1['Lane_ID']== 5]\n",
1305 | "list_5 = df_pre5['Vehicle_ID'].drop_duplicates().to_list()"
1306 | ]
1307 | },
1308 | {
1309 | "cell_type": "code",
1310 | "execution_count": 3,
1311 | "id": "1c2508f3",
1312 | "metadata": {},
1313 | "outputs": [],
1314 | "source": [
1315 | "#定义取合集的函数\n",
1316 | "def extra_same_elem2(list1, list2,list3):\n",
1317 | " set1 = set(list1)\n",
1318 | " set2 = set(list2)\n",
1319 | " set3 = set(list3)\n",
1320 | " iset = set1.intersection(set2)\n",
1321 | " iset = iset.intersection(set3)\n",
1322 | " return list(iset)\n",
1323 | "\n",
1324 | "def extra_same_elem(list1, list2):\n",
1325 | " set1 = set(list1)\n",
1326 | " set2 = set(list2)\n",
1327 | " iset = set1.intersection(set2)\n",
1328 | " return list(iset)"
1329 | ]
1330 | },
1331 | {
1332 | "cell_type": "code",
1333 | "execution_count": 5,
1334 | "id": "1b51f811",
1335 | "metadata": {
1336 | "scrolled": true
1337 | },
1338 | "outputs": [],
1339 | "source": [
1340 | "#原数据分组\n",
1341 | "def get_group_data(list_k,list_m,list_n,list_x,list_y,k,m,n,x,y,z,q,base_dir,init_df):#k = 12,m = 23 , n = 123,x = 234,y = 34,z = 345,q = 45\n",
1342 | " \n",
1343 | " name_list = [k,m,n,x,y,z,q]\n",
1344 | " \n",
1345 | " list_out = extra_same_elem(list_k,list_m)#1 and 2\n",
1346 | " list_out1 = extra_same_elem(list_m,list_n)# 2 and 3\n",
1347 | " list_out2 = extra_same_elem2(list_k, list_m,list_n)# 1 and 2 and 3\n",
1348 | " list_out3 = extra_same_elem2(list_m, list_n,list_x)# 2 and 3 and 4\n",
1349 | " list_out4 = extra_same_elem(list_n,list_x)#3 and 4\n",
1350 | " list_out5 = extra_same_elem2(list_n, list_x,list_y)# 3 and 4 and 5\n",
1351 | " list_out6 = extra_same_elem(list_x,list_y)#4 and 5\n",
1352 | " \n",
1353 | "# for item in name_list:\n",
1354 | "# os.mkdir(base_dir + '{name}'.format(name = item))\n",
1355 | " \n",
1356 | " \n",
1357 | " for item in list_out:\n",
1358 | " if item in list_out2:\n",
1359 | " list_out.remove(item)\n",
1360 | " \n",
1361 | " for item in list_out1:\n",
1362 | " if item in list_out2:\n",
1363 | " list_out1.remove(item)\n",
1364 | " if item in list_out3:\n",
1365 | " if item in list_out1:\n",
1366 | " list_out1.remove(item)\n",
1367 | " \n",
1368 | " for item in list_out4:\n",
1369 | " if item in list_out3:\n",
1370 | " list_out4.remove(item)\n",
1371 | " if item in list_out5:\n",
1372 | " if item in list_out4:\n",
1373 | " list_out4.remove(item)\n",
1374 | " \n",
1375 | " for item in list_out6:\n",
1376 | " if item in list_out5:\n",
1377 | " list_out6.remove(item)\n",
1378 | "\n",
1379 | " for item in list_out:\n",
1380 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n",
1381 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = k,name = item))\n",
1382 | " for item in list_out1:\n",
1383 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n",
1384 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = m,name = item))\n",
1385 | " for item in list_out2:\n",
1386 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n",
1387 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = n,name = item))\n",
1388 | " for item in list_out3:\n",
1389 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n",
1390 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = x,name = item))\n",
1391 | " for item in list_out4:\n",
1392 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n",
1393 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = y,name = item))\n",
1394 | " for item in list_out5:\n",
1395 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n",
1396 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = z,name = item))\n",
1397 | " for item in list_out6:\n",
1398 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n",
1399 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = q,name = item))"
1400 | ]
1401 | },
1402 | {
1403 | "cell_type": "code",
1404 | "execution_count": 79,
1405 | "id": "176488ea",
1406 | "metadata": {},
1407 | "outputs": [],
1408 | "source": [
1409 | "#get_group_data(list_1,list_2,list_3,list_4,list_5,\"12\",\"23\",\"123\",\"234\",\"34\",\"345\",\"45\")"
1410 | ]
1411 | },
1412 | {
1413 | "cell_type": "code",
1414 | "execution_count": 6,
1415 | "id": "c4854a46",
1416 | "metadata": {},
1417 | "outputs": [],
1418 | "source": [
1419 | "#719,104,删除文件\n",
1420 | "def remove_unusable_data(df_dir,num1,num2):\n",
1421 | " df_num = pd.read_excel(df_dir)\n",
1422 | " df_num_num2 = list(df_num['Lane_ID']).count(num2)\n",
1423 | " df_num_num1 = list(df_num['Lane_ID']).count(num1)\n",
1424 | " if df_num_num1 < 10 or df_num_num2 <10:\n",
1425 | " os.remove(df_dir) "
1426 | ]
1427 | },
1428 | {
1429 | "cell_type": "code",
1430 | "execution_count": 350,
1431 | "id": "6446c672",
1432 | "metadata": {},
1433 | "outputs": [],
1434 | "source": [
1435 | "#获取文件路径名称列表\n",
1436 | "def get_files_list(base_dir):\n",
1437 | " dir_num_list = os.listdir(base_dir)\n",
1438 | " root_dir = base_dir+\"\\\\\"\n",
1439 | " files_dir_list = []\n",
1440 | " for item in range(len(dir_num_list)):\n",
1441 | " files_dir_list.append(root_dir + dir_num_list[item])\n",
1442 | " return files_dir_list,dir_num_list"
1443 | ]
1444 | },
1445 | {
1446 | "cell_type": "code",
1447 | "execution_count": 351,
1448 | "id": "c7edf022",
1449 | "metadata": {
1450 | "scrolled": true
1451 | },
1452 | "outputs": [],
1453 | "source": [
1454 | "#数据清洗\n",
1455 | "def data_clean(base_dir,num1,num2):\n",
1456 | " files_dir_list,dir_num_list = get_files_list(base_dir)\n",
1457 | " for item in files_dir_list:\n",
1458 | " remove_unusable_data(item,num1,num2)"
1459 | ]
1460 | },
1461 | {
1462 | "cell_type": "code",
1463 | "execution_count": 352,
1464 | "id": "4fb1cd0f",
1465 | "metadata": {},
1466 | "outputs": [],
1467 | "source": [
1468 | "def shutil_data(df_name,num1,num2,base_dir):\n",
1469 | " df_num = pd.read_excel(base_dir + num1 + num2 + \"\\\\\" + df_name)\n",
1470 | " first_lane = df_num.head(1)['Lane_ID'].tolist()[0]\n",
1471 | " if first_lane == int(num1):\n",
1472 | " copy(base_dir + '{name1}\\\\{name2}'.format(name1 = num1 + num2,name2 = df_name), \n",
1473 | " base_dir + '{name1}\\\\{name2}'.format(name1 = num1 + ' to ' + num2, name2 = df_name))\n",
1474 | " else:\n",
1475 | " copy(base_dir + '{name1}\\\\{name2}'.format(name1 = num1 + num2,name2 = df_name), \n",
1476 | " base_dir + '{name1}\\\\{name2}'.format(name1 = num2 + ' to ' + num1, name2 = df_name))\n"
1477 | ]
1478 | },
1479 | {
1480 | "cell_type": "code",
1481 | "execution_count": 236,
1482 | "id": "bf1f9688",
1483 | "metadata": {},
1484 | "outputs": [],
1485 | "source": [
1486 | "#12文件夹数据分类拷贝\n",
1487 | "#for item in dir_num_list_12:\n",
1488 | " #shutil_data(item,'1','2')"
1489 | ]
1490 | },
1491 | {
1492 | "cell_type": "code",
1493 | "execution_count": null,
1494 | "id": "3ac42047",
1495 | "metadata": {},
1496 | "outputs": [],
1497 | "source": [
1498 | "#################################至此开始2到一数据处理###########################"
1499 | ]
1500 | },
1501 | {
1502 | "cell_type": "code",
1503 | "execution_count": 10,
1504 | "id": "5cb83d10",
1505 | "metadata": {},
1506 | "outputs": [],
1507 | "source": [
1508 | "#13m 以上就是2道,13m以下是1道\n",
1509 | "def plot_trac(df_dir):\n",
1510 | " df_num = pd.read_excel(df_dir)\n",
1511 | " Local_X_num = df_num['Local_X'].to_list()\n",
1512 | " Local_Y_num = df_num['Local_Y'].to_list()\n",
1513 | " plt.figure(figsize=(8,3),dpi=100)\n",
1514 | " plt.plot(Local_Y_num,Local_X_num,alpha = 0.5)\n",
1515 | " plt.xlabel('Local_Y/feet')\n",
1516 | " plt.ylabel('Local_X/feet')\n",
1517 | " plt.show()"
1518 | ]
1519 | },
1520 | {
1521 | "cell_type": "code",
1522 | "execution_count": 353,
1523 | "id": "dc03fa38",
1524 | "metadata": {},
1525 | "outputs": [],
1526 | "source": [
1527 | "#获取横向速度\n",
1528 | "def get_lateral_velocity(df_dir):\n",
1529 | " \n",
1530 | " df_num = pd.read_excel(df_dir)\n",
1531 | " Local_dict_num = df_num[['Local_X','Local_Y']].to_dict('records')\n",
1532 | "\n",
1533 | " angle_list_num = []\n",
1534 | " sin_angle_num = []\n",
1535 | " v_list_num = df_num['v_Vel'].to_list()\n",
1536 | " v_lateral_list = []\n",
1537 | "\n",
1538 | " for item in range(len(Local_dict_num)):\n",
1539 | " if item == 0:\n",
1540 | " actan = math.atan2(Local_dict_num[item+1]['Local_X'] - Local_dict_num[item]['Local_X'],\n",
1541 | " (Local_dict_num[item+1]['Local_Y'] - Local_dict_num[item]['Local_Y']))\n",
1542 | " angle = actan/math.pi*180\n",
1543 | " angle_list_num.append(angle)\n",
1544 | " sin_angle_num.append(math.sin(actan))\n",
1545 | " v_lateral_list.append(v_list_num[item]*sin_angle_num[item])\n",
1546 | " \n",
1547 | " elif item == (len(Local_dict_num) - 1):\n",
1548 | " actan = math.atan2(Local_dict_num[item]['Local_X'] - Local_dict_num[item-1]['Local_X'],\n",
1549 | " (Local_dict_num[item]['Local_Y'] - Local_dict_num[item-1]['Local_Y']))\n",
1550 | " angle = actan/math.pi*180\n",
1551 | " angle_list_num.append(angle)\n",
1552 | " sin_angle_num.append(math.sin(actan))\n",
1553 | " v_lateral_list.append(v_list_num[item]*sin_angle_num[item])\n",
1554 | " \n",
1555 | " else:\n",
1556 | " actan = math.atan2(Local_dict_num[item]['Local_X'] - Local_dict_num[item-1]['Local_X'],\n",
1557 | " (Local_dict_num[item]['Local_Y'] - Local_dict_num[item-1]['Local_Y']))\n",
1558 | " angle = actan/math.pi*180\n",
1559 | " angle_list_num.append(angle)\n",
1560 | " sin_angle_num.append(math.sin(actan))\n",
1561 | " v_lateral_list.append(v_list_num[item]*sin_angle_num[item])\n",
1562 | " \n",
1563 | " return v_lateral_list"
1564 | ]
1565 | },
1566 | {
1567 | "cell_type": "code",
1568 | "execution_count": 24,
1569 | "id": "2284e388",
1570 | "metadata": {},
1571 | "outputs": [],
1572 | "source": [
1573 | "#给从2道换到1道用,获取片段的v_lateral\n",
1574 | "def get_cut_data21(df_dir,dir_name):\n",
1575 | " df_num = pd.read_excel(df_dir)\n",
1576 | " df1 = df_num.where(df_num['Local_X']>13).dropna(axis=0, how='any')\n",
1577 | " \n",
1578 | " last_index = df1.tail(1).index.tolist()[0]\n",
1579 | " threshold = df1.iloc[last_index]['Local_Y'] - 205\n",
1580 | " df_use1 = df1.where(df1['Local_Y'] > threshold)\n",
1581 | " df_final = df_use1.dropna(axis=0, how='any')\n",
1582 | " first_index = df_final.head(1).index.tolist()[0]\n",
1583 | "\n",
1584 | " df_final.to_excel(r'D:\\NGSIM\\preprocessed data\\cut_21\\{name}'.format(name = dir_name))\n",
1585 | " df_final_dir = r'D:\\NGSIM\\preprocessed data\\cut_21\\{name}'.format(name = dir_name)\n",
1586 | " \n",
1587 | " \n",
1588 | " return get_lateral_velocity(df_final_dir)"
1589 | ]
1590 | },
1591 | {
1592 | "cell_type": "code",
1593 | "execution_count": 187,
1594 | "id": "0d29cc2f",
1595 | "metadata": {
1596 | "scrolled": true
1597 | },
1598 | "outputs": [],
1599 | "source": [
1600 | "#获取速度字典\n",
1601 | "def get_velocity_dict_21(base_dir):\n",
1602 | " files_dir_list_num,dir_num_list_num = get_files_list(base_dir)\n",
1603 | " v_lateral_dict = {}\n",
1604 | " for item in range(len(files_dir_list_num)):\n",
1605 | " v_lateral_dict[dir_num_list_num[item]] = get_cut_data21(files_dir_list_num[item],dir_num_list_num[item])\n",
1606 | " return v_lateral_dict"
1607 | ]
1608 | },
1609 | {
1610 | "cell_type": "code",
1611 | "execution_count": 15,
1612 | "id": "ffdc8080",
1613 | "metadata": {},
1614 | "outputs": [],
1615 | "source": [
1616 | "#数据清洗copy截片\n",
1617 | "#v_lateral_dict_21 = get_velocity_dict('D:\\\\NGSIM\\\\preprocessed data\\\\2 to 1')"
1618 | ]
1619 | },
1620 | {
1621 | "cell_type": "code",
1622 | "execution_count": 194,
1623 | "id": "43a10510",
1624 | "metadata": {
1625 | "scrolled": true
1626 | },
1627 | "outputs": [],
1628 | "source": [
1629 | "#获得变道点的字典,适用2道换1道\n",
1630 | "def get_change_point_21(v_lateral_dict_num):\n",
1631 | " change_point_dict = {}\n",
1632 | " for key, value in v_lateral_dict_num.items():\n",
1633 | " v_first_list = []\n",
1634 | " for item in range(len(value)):\n",
1635 | " if value[item] < -1.0:\n",
1636 | " v_first_list.append(item)\n",
1637 | " change_point = v_first_list[0]\n",
1638 | " change_point_dict[key] = change_point\n",
1639 | " return change_point_dict"
1640 | ]
1641 | },
1642 | {
1643 | "cell_type": "code",
1644 | "execution_count": 102,
1645 | "id": "e177cbc1",
1646 | "metadata": {
1647 | "scrolled": true
1648 | },
1649 | "outputs": [],
1650 | "source": [
1651 | "#change_point_dict_21 = get_change_point(v_lateral_dict_21)"
1652 | ]
1653 | },
1654 | {
1655 | "cell_type": "code",
1656 | "execution_count": 2,
1657 | "id": "88650dab",
1658 | "metadata": {},
1659 | "outputs": [],
1660 | "source": [
1661 | "#-1.0是一个可行的point,是这个点的前面一个点作为decision点\n",
1662 | "#1854,376,1109,1267,1460,1562,1612,2111,2235,2376,2610,2745,749数据需要手工处理\n",
1663 | "# change_point_dict_21['df_376.xlsx'] = 40\n",
1664 | "# change_point_dict_21['df_1854.xlsx'] = 15\n",
1665 | "# change_point_dict_21['df_1109.xlsx'] = 66\n",
1666 | "# change_point_dict_21['df_1267.xlsx'] = 37\n",
1667 | "# change_point_dict_21['df_1460.xlsx'] = 27\n",
1668 | "# change_point_dict_21['df_1562.xlsx'] = 28\n",
1669 | "# change_point_dict_21['df_1612.xlsx'] = 15\n",
1670 | "# change_point_dict_21['df_2111.xlsx'] = 51\n",
1671 | "# change_point_dict_21['df_2235.xlsx'] = 31\n",
1672 | "# change_point_dict_21['df_2376.xlsx'] = 36\n",
1673 | "# change_point_dict_21['df_2610.xlsx'] = 65\n",
1674 | "# change_point_dict_21['df_2745.xlsx'] = 39\n",
1675 | "# change_point_dict_21['df_749.xlsx'] = 31"
1676 | ]
1677 | },
1678 | {
1679 | "cell_type": "code",
1680 | "execution_count": 54,
1681 | "id": "393362b0",
1682 | "metadata": {
1683 | "scrolled": true
1684 | },
1685 | "outputs": [],
1686 | "source": [
1687 | "#change_files_list_21 = list(change_point_dict_21.keys())"
1688 | ]
1689 | },
1690 | {
1691 | "cell_type": "code",
1692 | "execution_count": 216,
1693 | "id": "2f17d31a",
1694 | "metadata": {},
1695 | "outputs": [],
1696 | "source": [
1697 | "def get_final_change_point_21(dir_name):\n",
1698 | " base_dir = 'D:\\\\NGSIM\\\\preprocessed data\\\\cut_21\\\\'\n",
1699 | " df_cut_num = pd.read_excel(base_dir + dir_name,index_col = 'Unnamed: 0.1')\n",
1700 | " first_index = df_cut_num.head(1).index.tolist()[0]\n",
1701 | " change_point = first_index + change_point_dict_21[dir_name]\n",
1702 | " change_point_dict_21[dir_name] = change_point"
1703 | ]
1704 | },
1705 | {
1706 | "cell_type": "code",
1707 | "execution_count": 104,
1708 | "id": "3dc8a992",
1709 | "metadata": {},
1710 | "outputs": [],
1711 | "source": [
1712 | "#for item in change_files_list_21:\n",
1713 | " #get_final_change_point(item)"
1714 | ]
1715 | },
1716 | {
1717 | "cell_type": "code",
1718 | "execution_count": 106,
1719 | "id": "1a4fde29",
1720 | "metadata": {},
1721 | "outputs": [],
1722 | "source": [
1723 | "#得到换道点并存储excel\n",
1724 | "#df_change_point_21 = pd.DataFrame([change_point_dict_21])\n",
1725 | "#df_change_point_21.to_excel(r'D:\\NGSIM\\preprocessed data\\change_point\\df_change_point_21.xlsx')"
1726 | ]
1727 | },
1728 | {
1729 | "cell_type": "code",
1730 | "execution_count": 226,
1731 | "id": "f0b5be4a",
1732 | "metadata": {},
1733 | "outputs": [
1734 | {
1735 | "data": {
1736 | "image/png": "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\n",
1737 | "text/plain": [
1738 | ""
1739 | ]
1740 | },
1741 | "metadata": {
1742 | "needs_background": "light"
1743 | },
1744 | "output_type": "display_data"
1745 | }
1746 | ],
1747 | "source": [
1748 | "plot_trac(r'D:\\NGSIM\\preprocessed data\\12\\df_749.xlsx')"
1749 | ]
1750 | },
1751 | {
1752 | "cell_type": "code",
1753 | "execution_count": 17,
1754 | "id": "61ed1ba0",
1755 | "metadata": {},
1756 | "outputs": [
1757 | {
1758 | "data": {
1759 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq8AAAEhCAYAAABRM0moAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9OUlEQVR4nO3deZhcZ3Xv+++qHqrH6rlb3WrNsmzJsiw8xCMeYmJjG9uQkQfuZTpJyM0l8yWEc06AwE0IIQEyXHIODgmQJwlkcGwMNmDADjYYGw+yLEu2JGtWt7rVY3VXdXVN7/1jl1rVs3rcNfw+z1OPpL137V61Xd61etX7rtecc4iIiIiI5IOA3wGIiIiIiFwoJa8iIiIikjeUvIqIiIhI3lDyKiIiIiJ5Q8mriIiIiOQNJa8iIiIikjeUvIqIiIhI3ij1O4CVZmYGdAAjfsciIiIiIrOqBbrcPIsQFHzyipe4nvI7CBERERGZVydweq4DiiF5HQE4efIkoVDI71hEREREZIpwOMy6devgAr4pL4bkFYBQKKTkVURERCTPacKWiIiIiOQNJa8iIiIikjeUvIqIiIhI3lDyKiIiIiJ5Q8mriIiIiOQNJa8iIiIikjeKplWWiIhIKu0YHU8yEktk/kwyGksynkxRV1lOU005DVXlNFSVUVqi+o5ILlLyKiIiBWV4LMGZ4Rij4wlGYpkENZOwRuMp5l540mMG9ZVlNNYEaawqp7H6fGJbXqqkVsRPSl5FRCTvJVJpDvWMsr87zMmB6JzHlgaMmopSaoKl1FaUUltRRllJgKFonIFInP5InHgyzWA0wWA0wetTnl9bUUpTTTmbmmvY2RFShVZklSl5FRGRvOSco2s4xv6uMAd7Rogn04BXNV0TqqCusoyaTHJaEywlVFFKTUUplWUlmNmc543EUwyMxumPjDMYjdM/GmcwGicynpqo5h7ri/LcsQGu3dzEjvYQgcDs5xSR5WPuQr4/yWNmFgKGh4eHtTysiEgBGIklONA9wv6uYQajiYnt9VVl7GgPsb0jRKiibEV+diyRoj8S58xwjBdPDDISS0787Ou2NHFxW+2cibGIzCwcDlNXVwdQ55wLz3WsklcREcl5yVSaI30RXuka5nh/dGLcanlpgK2tNVzaEWJtfeWqJo6JVJq9p4Z57tgA0XgKgObaINdtbmJLS7WSWJEFUPKaRcmriEh+SqTSnBoc48jZUQ72jBJLpCb2rW2oZEd7iG1ttb5PoIon07x4YpDnTwwynvCGLqypq+D6LU2sb6xSEityAfImeTWzm4APAlcC7cDbnHMPZu1vAz4F3A7UAz8AfsM5d2gBP0PJq4hInhgeS3CsL8LRvggnB6Ik0+c/o2orStnRHmJHR4j6qnIfo5xZLJHi+eODvHhikETKi7uzoZLrtzaztr7S5+hEcttCkle/J2xVAy8B/wD8R/YO835VfRBIAPcBYeB3ge+a2Q7nXGR1QxURkeWWSju6hsY42hfhWH+E/tH4pP21FaVsaq5ma2sN6xqqcnpSVEVZCTdsbWb3unp+cmyAvaeGOTU4xr/+5CSbmqu5fksTraEKv8MUyXs5M2zAzBxZlVcz2wa8Bux0zr2S2VYC9AIfcs793SznCQLBrE21wClVXkVEckNkPDmRrB7vj050CQAImNFeX8Gm5mo2NVfTVF2et1+7h2MJnj0ywCtdYdKZz9qda+u4eVuL70MdRHJNPlVe53IuAY2d2+CcS5lZHLgRmDF5BT4MfHSFYxMRkQuUTju6wzGO90U42h+hNzw+aX9VeQkbM8nq+sYqKspKfIp0eYUqynjTjjau2tjAj4/08+qZEfadHqZraIy7LmunpTY4/0lEZJpcrryWAYeAZ4H3AxG8YQOfBL7jnLtjlvOo8ioi4rPIeHKisnq8PzppshV4E5o2NnkJa1somLfV1YU4ORDlW/vOMDqepDRg3LSthV2ddUXx2kXmUxCVV+dcwsx+DvgiMACkgO8Cj87zvHFg4td63RRERFZeOu04E45xrC/Csf4oPeHYpP0VZSVsaKpiY1M1G5qqqA7m7MfPilnXWMU7r13PY/t7OHI2wvdf7eXEQJSf2dFWMNVmkdWQ03cP59zzwG4zqwPKnXNnzewZ4DmfQxMRKXrRuLfK1LkK69TqamsoyKamajY2V7MmVJHTk61WS1V5Kfde3sGLJ4d46lAfh3tH6QnHuPOydnUkELlAOZ28nuOcGwYws4uAq4A/9DciEZHi45yjd2Tcm2zVF+FMOEb2yLNgWYANjdVsbPYqrMVYXb0QZsYV6xtYW1/JIy93MxRN8G/PneS6zU1cvbFRSb7IPHy9s5hZDbA1a9MmM9sNDDjnTpjZLwBngRPAZcBfAg86576z6sGKiBShWCLFiYEoR/siHO+PEBmfXF1tqQ2yqdmrrrarurogbaEK3nHNeh5/9SwHusP86PV+TgxEefPONdSu0PK2IoXA70UKbgEen2HXl51z7zGz38RbxKAN6Aa+AnzCORef4Tmz/QwtUiAicoGcc/RH4hzri3CkL0L3UGyizRN4y7Gub6xiU7M3dlVJ1vLY3xXm8dd6iSfTVJaXcPuONja31PgdlsiqyZsVtlaDklcRkbnFk2lODkYnVrYaiSUn7W+sLmdjczWbm6vpqK+kRNXVFTEYifPIvu6JVmJvWF/PjVubKS1RT1gpfEpesyh5FRGZzDnHYDQxMXb19NAYqaxlWEsDxrrGKq/3alM1dVWqrq6WZCrNU4f7ePHEEOBNertrZzsN1bm3HK7IclLymkXJq4iIV109Neh1BjjaFyU8lpi0v66ybGLsamdDJWWq9vnqyNlRvrO/h7F4ivLSALfvaOOitlq/wxJZMUpesyh5FZFi5JxjKJrgaH+mujo4RjKruloSMDobKieqq/VVZeqLnWNGYgke3XeG04NjAFy5oYEbtzZrUpwUJCWvWZS8ikixSKTSnBocmxi7OjyluhqqLGNTcxUbmqpZ11BFeamqq7kulXb88HAfzx8fBKCzoZK7LmtXGzIpOEpesyh5FZFCNhSNZ9pYRTk5EJ1WXe2or2RTpu9qY3W5qqt56lDPCN/Z30M8maYmWMrdu9rp0KIGUkAKYnlYERGZLpmprh7tj3C8L8JgdHJ1tbailI2ZVa3WNVYSLNWyo4XgorZammqCfGNvF/2jcf7tuVPctK2Z3evq9QuJFB1VXkVEctzwWIJjfRGO9Uc4ORAlkTp/3w6Y0VFfMTHZqknV1YIWT6Z5bH8PB3tGALhkTS23bW/TEBDJe6q8iojksVTa0TU05rWy6o/QPzp5XZaaYKk30aq5inWNVaquFpHy0gB3XbaG9voKnjzYx6tnRugbHectuzrUTkuKhiqvIiI5YHQ8OVFdPd4fJZ5MT+wLmNFeX8HGpmo2NVfTXKPqqsDpoTEe2dvN6HiS8tIAd1zaxtZWtdOS/KQJW1mUvIpILkqnHWfCMa8zQH9kYlWlc6rKS9iQSVY3NFVRUabqqkwXGU/yzZe7J9ppXbWxgRu2qJ2W5B8lr1mUvIpIrhiLpzg+EMlUWKOMxVOT9q+pO19dbQsFVV2VC6J2WlIIlLxmUfIqIn5xznF2ZHxi7Gr3cIzsW26wLMCGxmo2ZlpZKdmQpZjaTustl7fTXqd2WpIfNGFLRMQn48kUJweiHO2Lcqwvwuh4ctL+5togm5q8hLW9rpISfb0ry2RqO61/f+4Ut1+6hovXaBysFBZVXkVElsA5x0AkzrH+CEf7onQNjZHKWiigrMRY11g10coqVFHmY7RSDOLJNI/u6+bI2QgA129p4qc2NWoYiuQ0VV5FRFaQV10dm+gOMBKbXF2trypjU7M3dnVtfSWlJerBKaunvDTAPbs6ePJwHy8cH+RHr/czGE3wpu2tei9KQVDyKiIyD+ccfaNxjvdHONoXoWsoRjrrW6vSgLG2odLrvdpUrX6b4rtAwLh5WwsNVWU8/upZDnSHCccS3LOrg8pyda6Q/KbkVURkBrGEN3b1WH+U47NUV88tw9rZUEmZKlqSg3Z11lNXWcY39nrttL76kxO8dfda/YIleU1jXkVE8Kqr/ZG413d1hupqWYnR2VDFhiZv/Gp9lT78JX/0jY7z0J4uwmMJKspKeMuudtY1VvkdlsgEtcrKouRVRGYTT6Y5ORidSFinVlcbq8snktWOelVXJb9FxpM8/FIX3cMxSgLGT1/Sys61dX6HJQJowpaIyKyGovGJvqunBsZIpiePXV3XWDUxdrWuSp0BpHBUB0v5uSs7eWx/D6+dGeGx/T0MjyW4fkuTOhFIXlHyKiIFLZlKc3pozEtY+yIMRhOT9ocqy9jcrLGrUhzKSgLcuXMN9ZVlPHN0gGePDjAYjXPHpWv03pe8oeRVRArO8FhiojPAqcEx4sn0xL6AeZ0BNmVWtWqsLlfVSYqKmXH91mbqq8r57oEeDvWMMhI7xb2Xd2iVN8kLepeKSN5LpR1d56qr/RH6R+OT9tcES9nQVMXmlmrWNVYRLFWrIJEdHSFClaU8/FI3Z4Zj/MuzJ7hv91paaoN+hyYyJ03YEpG8FI4lON4X5Wh/hJMD0WnV1fa6CjY2e8uwttQEVV0VmcVgJM5De04zGE1QXhrgrsva2dRc7XdYUmTUbSCLkleRwnCuunqs3xu72jelulodLGFDk7eq1frGKirKVF0VuVCxRIqHX+ri1OAYZnDLxa3sXlfvd1hSRNRtQEQKwkgswfH+KEf7IpyYUl01w6uuZhLWllpVV0UWq6KshJ+9opPvHejhla4wj7/ay2Akzs3bWggE9P+V5BZfk1czuwn4IHAl0A68zTn3YNb+GuBPgbcCTcAx4K+cc3+72rGKyMpLpR3dw2McywwH6BsZn7S/qvx8dXVDk6qrIsupJGD8zI42GqrLeepQH3tODjE8luDOy9ZonLjkFL8rr9XAS8A/AP8xw/7PArcC/wde4no78Hkz63LOPbRaQYrIyhkdT3IsM9HqxECU8cTk6uqakDd2dVNzNa2qroqsKDPj6o2N1FeW8e1XznC0L8K//uQk9+5eS12l+h5LbsiZMa9m5pheed0HfM0594msbc8Djzjn/vACz6sxryI5JJ129IzEOHo2wtH+CL3hydXVyvISNjZ5CwVsaKymslwVHxE/9IRjPLTnNJHxFNXBEu65vIP2ukq/w5ICVUhjXp8C7jWzvwe6gFuAbcBvzfYEMwsC2X0+alcyQBGZ31g8xfGBSKbCGmUsnpq0vy1UwaZMZ4C22gqNsRPJAW2hCt7+U+v5+p4uzo6M8+/PneKOnWvY1qaPVfFXrievvwncD5wCkkAa+GXn3FNzPOfDwEdXITYRmYVzjrMj4xN9V7uHY2R/yRMsC7Ch8fzYVTVGF8lNoYoyfuGqTr617wxHzkb45t5uhrYmuHpjg4bwiG9y/RPjN4FrgXuB48BNeGNeu51z353lOZ8EPpP171q85FdEVtB4MsXJgShH+6Ic64swOp6ctL+5NsimJq+62lFXqeqqSJ4IlpZwz64OfnDoLC+eGOKHh/sYjMa57ZJWSrWkrPggZ5NXM6sE/gRvHOw3M5v3mtlu4P8BZkxenXPjwMQgOv1mKLIynHP0R+Ic6/OWYe0aipHOKq+WlwZY11jFpqZqNjRXEarQZA+RfBUIGLdc3EpDVTlPvHaW/V1hhscS3LOrQ+PSZdXlbPIKlGUe6SnbU4B+1RPxgVddHZvoDjASm1xdbagqm+gMsLa+UlUZkQJz+bp66irL+ObL3ZweHOOrP/GWlG2sLvc7NCkifvd5rQG2Zm3alKmsDjjnTpjZfwGfNrMxvGEDNwPvAn531YMVKULOOQYicY71RzjaF6VraIxU+nx1tTRgrGv0OgNsbKqivkofYCKFbmNzNb909Toe2tPFUDTBV39ygnt2dbCuscrv0KRI+Noqy8xuAR6fYdeXnXPvMbM1eGNYbwca8RLYLwCfdRcYuFpliSxMIpXm5EB0ImENjyUm7a8/V11tqmZtQyVlqq6KFKVoPMnX93TRPRwjYMZt21vZubbO77AkTy2kVVbO9HldKUpeReY3HE1wpG+UY/0RTg2MkZxSXe1srPRWtmqqpkFfD4pIRiKV5rH9Pbx2ZgSAazY1ct2WJs03kQUrpD6vIrICUmnH6cExjvZ7vVcHIvFJ+2srStncUs3Gpmo6G6ooL1V1VUSmKysJcOfONdRXlvHM0QGeOTpAOJbgTdvbNOZdVoySV5EiMRJLcKwvytH+CCcHosST5+dCBszoqD+3UEA1TdXlqpyIyAUxM67f2kyosozvHejlQPcI4ViSey/voKJMnQhk+Sl5FSlQqbSja2iMY5nqat/o5OpqdbCEjU1eZ4B1jVX6kBGRJdm5to7ailK+sdfrRPC1n5zkrbvXUlelNnmyvDTmVaSADI8lON7vLcE6tbpqBu11FWxoqmZzczUttUFVV0Vk2Z0dGeehPacZiSWpKi/h3t0dtNdV+h2W5DhN2Mqi5FUKWTKVpmsoxtH+CMf7I/TPUF3d0OSNXd3QpOqqiKyO0fEkD+05TW94nNKA8eada7iordbvsCSHKXnNouRVCk04lphY1erU4Ni0savtdRUTfVdVXRURv8STaR7d182RsxHM4I0XNXPF+gbdk2RG6jYgUkDmG7taEyxlQ5O3UMB6jV0VkRxRXhrgnl0d/NfBs+w5OcQPDvYxPJbglm2tBAJKYGXxlLyK5KDIeDKzSECE4/3Tx6521FV61dXmKlpqVF0VkdwUCBi3XNxCqLKMJw+d5aWTw4THktx52RqCpfpFWxZHyatIDkinHT0jMY72RTjWF6UnHJu0v7L8fGcAjV0VkXxiZly5oYG6ylK+te8MR/si/Ntzp7hvdwe1FepEIAunMa8iPhmLpyaGAhwfiDIWT03a3xaqYGNzFZuaq2mrrdDXbCKS97qHx/j6ni6i8RS1FaXct3stLbVBv8OSHKAJW1mUvEqucM7ROzKeqa5GOBOOkf2/X7AswPpGL1nd2FRNdVBfjIhI4RmOJnhwz2kGInHKSwPccekatrbW+B2W+GxVklczexfwNefc+JTt5cDbnXNfWdSJl5mSV/FTLJHieH80M3Y1QnRKdbW5NsimJm/santdJSWqropIEYglUjz8UhenBscAuGZzI9dtbtL4/SK2WslrCmh3zvVO2d4E9DrncmJQnpJXWU3OOc6OjHOsP8qxvghdw2OTqqvlpeerqxuaqjTeS0SKVirt+MGhs+w5MQTApuZq3rxzjcb0F6nVapVlwEyZbycwvITziuSVWCLFyYHoRGeA0fHkpP3NNeWZvqvVdNSruioiAlASMG69uJW22gq+d6CHo30R/uXZE9xzeQfNNRoHK7NbcPJqZi/iJa0O+J6ZZX9SlwCbgG8tT3giucc5R38kPrFQQNdQjHRWebW8NMC6xio2ZnqvhlRdFRGZ1Y6OEM015Ty8t5uhaIKvPnuC2y9dwzatyCWzWEzl9cHMn7uBbwOjWfviwDHgP5YSlEiuiSfTnBiIcjzTe3UkNrm62ljtVVc3NVXTUV9BaUnAp0hFRPJPa6iCd/zUeh55uZsTA1G+ubebno0xbtjSrE4rMs1Sxry+G2/CVmzeg32kMa+yGM45BqOJic4Ap4fGSKXP/79SVmJ0NlRNJKx1VaquiogsVTrt+OHrfTx3bBCA9Y1V3HVZO5XlGgdb6FatVZaZ1QM/D2wBPu2cGzCzK4Ae59zpRZ94Ga128to3Ok4y5WgLadWjfBNPpjk1GM2sbBUlPJaYtL+usoxNLV6yurahkjJVV0VEVsTBnhEe299DPJkmVFnGPbvaaQ1V+B2WrKBVmbBlZruA7+JNztoI3A8MAG8DNgDvWuy589lzxwY40D1CfVUZF6+p5eK2Wpo08DxnDUbiHM0sFHB6cIxkVnW1JGB0NlROVFfrq8r0C4mIyCrY1lZLY3U5D7/UxVA0wdd+cpLbtrexo0PfoMrShg18D3jeOff7ZjYCXO6cO2Jm1wP/7JzbuIxxLtpqV16/u7+HV8+ESaTOX9eW2iCXrKll25paTd7xUSyRYiASZyASp3ckxvH+KEPRydXVUGUZm5qr2NhUTWdDFeWlqq6KiPgllkhNLCkLsHt9PTdd1KKuLQVotfq8DgNXOOden5K8bgBec87lRH3fjzGv8WSaI32jvHZmhGN90Ukz0dfWV3LxmlouaquhqlwrKK2E8aSXpPaPxumPxBmIjNM/Gp82yQq86ura+ko2ZhLWxupyVVdFRHKIc46nj/TzzJEBANY2VHL3Ze1ahbDArFby2gO82Tn34pTk9Xbgi865dYs68TLze8LWWDzF4d5RXj0T5vTQ+Yb1ATPWN1VycVuILa3VBEs1GH0xkqk0x/q9dlUDkTh9o+MzJqnn1FaU0lhdTlNNkLX1laxrrNS1FxHJA4d7R/n2K2eIJ9PUBEu5e1c7HfWVfocly2S1ktcvAC3AL+KNdd0FpPBaaf3AOffbizrxMvM7ec02EktwsMeryPaEzzdpKA0Ym1qq2dZWy7qGKs2qnIdzjtNDY7zaPcLB3hHGE+lpx9QEzyWp5TRVB2mqKaexulwrt4iI5LGBSJxv7O2ifzROScC4eVsLuzrr9I1ZAVit5DUEPAJcCtQCXcAa4GngLudcZFEnXma5lLxmG4zEea1nhNfOjDAQiU/a11wbpLOhknUNVXQ2VCrhyhiMxDnQHebAmZFJnQBqK0rZ3FJNc02QxupymmuCumYiIgVqPJnisf09HOrx2sxvbw9x2/ZWdYDJc6vWKgvAzH4auAIIAC845767pBMus1xNXs9xznF2ZJzXekY41hehb3RyImvmTfg6l8iubSiur7mj8SQHe0Y50B3mzPD5anV5aYCLWmvY3h6is6FSv3WLiBQR5xwvnBjkyUN9OOd9Tt6zq0M9t/PYqiavAGZWAYy75TjZMsv15HWqaDzJqcExTg1GOTkwNq0qGzCjLRSks6GKdY2VtNdVFtyM+GQqzZG+CAe6w5MmvAXM2NhcxSVrQmxuqdZv2SIiRe7kQJRHXu4mGk8RLAtw5852NjVX+x2WLMJqDRsIAP8D+DWgDdiWmbD1CeCYc+6LF3COm4APAlcC7cDbnHMPZu2fLbjfd859+gLjzKvkdarR8eREIntqcHprp5KAsaGpiks76tjUXJ237UOcc3QPx9jfFZ42jrUtVMEl7bVcsqZWHRpERGSSkViCb+7tpns4hhlcs6mJazc36hu5PLNayetHgHcDH8FboGBnJnn9ReB3nHPXXcA57gRuAF4A/oPpyeuaKU+5E/gisNU5d+QC48zr5HWqcCzByYEopwbHODkQnTSzvqq8hO3tIS7tCOXNwgjhWIJXu0fY3zXMYHTyONbt7SEuWaNFHkREZG7JVJofHDrLSyeHAdjUXM2bd67R/Ic8slrJ62Hg/c65701plXUJ8LRzrmGB53NMSV5nOOZBoNY5d9sCzltQyWs25xwDkTj7u8Mc6A4TGU9N7Guvq+DSjjq2ranJuTGyiVSa18+Osr8rzImB6ET7sPLSAFtba9ihcawiIrII+7vCfO9AD8m0o66yjLdc3k5rbU60nZd5rFbyOgZc4pw7PiV53QE865yrWeD55kxezawNOAW82zn3z3OcJwhkl+pqgVOFmLxmS6Udx/ojvNIV5ujZyMQ40bISY2trLZd2+JsQZg8LeK1nhHjy/LCAzoZKdnSEuKi1tuDG74qIyOrqHYnxjZe6GR5LUBowLSubJxaSvC5lAOErwBuB41O2/wLw4hLOO5t3AyPAA/Mc92Hgoyvw83NaScDY0lLDlpYaIuNJXj0T5pWuMP2jmfZS3WHqq8rY0R5iR0eI2lVapnYkluDADMMCQpWZWNpDmh0qIiLLprW2gndcs35iWdlvv3KGM+Exbt7WmrfzQmSypVRe7wH+Efgk3rjXjwIXA+8C3uKce2yB55uv8voq8Jhz7jfmOU9RVl5n4pzjTDjGK6cnVzvNYE2ogtZQkNZa78+m6uCS/6dOpR39kXF6w+OcHR2nNxyjezg2MSwgV6rAIiJS+Jxz/PjIAM8c7cc5bzjd3bvaV614Iwuzaq2yzOwO4L/jdQsI4E28+rhz7juLONesyauZvRH4AbDbOffSAs9bsGNeFyKeTHO4d5RXuoY5NTg2bX9JwGiuCdJaG5xIaptryimdpR1VIpWmb9RLVHtHxjk7Mk7f6Dip9PT309qGSna0h7ioLffG34qISGE72hfh0X3djCfShCrLePvV66gOqnNNrlmx5NXMfhP4gnMuZmbrgZPL1dt1nuT1S3jdDK5axHmVvE4xPJbgzHCMnnCM3pFxekdiMy6xGjCjqaY8k9BWkEo7zo54zxmIxJnpv3ywLEBLjXd8a22QjrpKDQsQERFfDUcTPPDiKYaiCVpDQX7+yk4VU3LMSiavSaDDOddrZimg3TnXu9hAzawG2Jr554vA7wKPAwPOuROZY0JAN/B7zrn/tYifoeR1Hs45wmNJekdi9IS9ZLZ3ZJyxeGrO51WVl5wfelDr/RmqLNVwABERyTlD0Thf+8lJovEUG5qquG/3Wo2BzSErmbyewBvj+ghwFLgK6Jvp2HPJ5zznuwUvWZ3qy86592SO+VXgc3iJ8vAFB3v+Zyh5XQTnHCPjSW9YQDjG2dFxAma01AYnKrHV5SVKVEVEJG/0hGP8+/OniCfTbG8PccelbfocyxErmbz+KvDXzN2lwADnnMuJerySVxERETnnaF+Er+/pIu0c12xq5PqtzX6HJKxgqyzn3BfM7F+ADcBe4E1A/2IDFREREVlNm5qruW17K4/t7+GZowPUVJSyq7Pe77BkARYz3a7dObfPzN4L/NA5N77cQYmIiIislJ1r6xgdT/L06/18/9VeqspL2dq6oLWVxEeLWc7oRTM7AOzAa5ElIiIikleu2dTIZWvrcA4efbmbrqHpbSQlNy0meW0Cfj/z5wNm1mNmXzSze81MCwiLiIhIzjMzfvqSVja3VJNMO77+UhcDkbjfYckFWHDy6pyLOeceds79MtAOvA04C/wp0G9mD5nZ+8ysdZljFREREVk2gYBx58521tRVMBZP8Z8vniYynvQ7LJnHYiqvE5znR865P3DO7QB2462E9R7gpJn930sPUURERGRllJcGuG93B/VVZYTHEjy45zTjybn7nIu/lpS8TuWcO+Sc+wu8LgQdwIKXiRURERFZTVXlpbztDWupKi+hNzzOIy93z7jcueSGBSevZvaVTO/U2fZfBbzgnOt3zh1aUnQiIiIiq6C+qpz7dq+lrMQ41hfluwd6WEgvfFk9i6m87gT2m9kd2RvNrMzM/gT4EfDD5QhOREREZLWsqavgrsvaCZixvyvM06+rlX0uWkzy+lPA3wMPm9n/NrOaTLV1D/AO4G7n3PuXMUYRERGRVbG5pYbbtntzzp85OsDeU0P+BiTTLKbbQNI59xHgOuAG4CDnq62XOeceW94QRURERFbPzrV1XLu5CYDvv9rLyYGozxFJtqVM2BoHEkAdEMdbbWtkWaISERER8dG1mxvZ3h7COXjk5W5GYgm/Q5KMxUzYMjP7MPAc3lCBDrxFC/4m0+NV/V1FREQkr5kZt21vpbk2SDSe4tGXz6gDQY5YTOX1aeA3gF9wzr3XOTfsnPs8cDlQjzeZ65eWMUYRERGRVVdWEuAtl7VTXhrg9NAYTx3u8zskYXHJ6zFgp3Pu4eyNzrkjwC3AHwNfXHJkIiIiIj5rqC7njkvbAHjh+CCHejRC0m+LmbD1dufcwCz7nHPus8Abzm0zsxvMLLiEGEVERER8s7W1lis3NADwnf09DEbiPkdU3JZ1ha1zpixO8CiwdiV+joiIiMhquHFrM2sbKokn03xjbxfxZNrvkIrWiiSvU9gq/AwRERGRFRMIGHdd1k51sIS+0Tjff1UrcPllNZJXERERkbxXEyzlzp3eClwHukd4+fSw3yEVJSWvIiIiIhdoXWMVN2z1FjB44rWz9IRjPkdUfJS8ioiIiCzAlRsa2NJaQyrt+MbebsbiKb9DKiqrkbxqQIiIiIgUDDPj9h1t1FeVER5L8O1Xzmj86yrShC0RERGRBaooK+HuXe2UBoyjfRGeOTpjF1FZASuevDrnajMLGIiIiIgUjNbaCm69pBWAHx/p53h/xOeIikPpQg42sxe5wGEAzrkrFhWRiIiISJ7YubaO7uEY+04P8+i+M7zjmvWEKsr8DqugLSh5BR5ciSBERERE8tWtF7fQOxKjNzzOI3u7+YWr1lES0KjJlWJ+DjA2s5uADwJXAu3A25xzD045ZjvwKeBmvGEOrwC/6Jw7cYE/IwQMDw8PEwqFljF6EREREc9wNME/PXuc8USa3evrufXiVr9DyivhcJi6ujqAOudceK5j/W6VVQ28BHxgpp1mtgV4CngVuAW4HPgEoKZqIiIikjPqqsq449I1AOw5McTJgajPERWuRVdezawE+B3gF4H1QHn2fudc4wLP55hSeTWzrwIJ59z/uaggUeVVREREVs/3DvSw99QwzTXlvOOaDRo+cIFWq/L6UeB3gX8F6oDPAA8AaeBjSzgvAGYWAO4GDprZt82s18yeMbO3zvO8oJmFzj2A2qXGIiIiInIhbtjaTGV5CX2jcfacHPI7nIK0lOT1ncCvOOf+HEgC/+Kc+2Xg48C1yxBbK1AD/AHwLeB24D+BB8zs5jme92FgOOtxahliEREREZlXRVkJN25tBrz2WaPjSZ8jKjxLSV7XAC9n/j6KV30F+AZexXSpzsX2kHPus865Pc65P82c/9fmeN4nM7Gce3QuQywiIiIiF+TSjhDtdRXEk2mePHjW73AKzlKS11N4HQIADuNVRgGuBsaXElRGH15Fd/+U7QfwxtjOyDk37pwLn3sAI8sQi4iIiMgFMTN++pJWzODVMyOavLXMlpK8/idwW+bvfwl8wswOAV8B/n6pgTnn4sBPgIun7NoGHF/q+UVERERWSmuogss76wF4/LVeUmn/WpMWmoUuUjDBOfcHWX//dzM7CdwAHHbOff1CzmFmNcDWrE2bzGw3MJDp4/pp4Gtm9gPgceDNwD14bbNEREREctZ1W5o42DNC/2icF08MctXGBTVikln4vUjBLXhJ6VRfds69J3PM+/AmYXUCrwEfdc49tICfoVZZIiIi4otXuob5zis9lJcGeNd1G6jV0rEzWkirrKX0ef0w0OOc+/sp298HtDjnPrWoEy8zJa8iIiLiF+cc//bcKU4PjbGtrZa7d7XP/6QitFp9Xt+Pt/LVVK8wdzcAERERkaJgZtxySQtmcLBnhBP9mry1VEttldU9w/aznO9CICIiIlLUWmsruHxdPaDJW8thKcnruQlaU90AdC3hvCIiIiIF5brNTVQHSxiIxHnhxKDf4eS1pSSvfwd8zszea2YbMo/3AZ8F7l+e8ERERETyn7fyVgsAzxzpJxxL+BxR/lp0qyzgz4BG4PNAeWZbDPiUc+6TSw1MREREpJBsb69lX9cwpwfH+MHBs7xlV4ffIeWlRVdenedDQAtwLXA50Oic+/hyBSciIiJSKMyMWy9uJWDGoZ5RjvVF/A4pLy1l2AAAzrlRvIlbg8655VgWVkRERKQgtdQG2b2+HoAnXuslmUr7G1AeWnTyamYBM/uImQ3jLdd6wsyGzOwPzWzJSbGIiIhIIbp2cyPVwRIGowleODHkdzh5ZylJ5h8DHwD+AHgDcAXw34HfAD6x9NBERERECk+wtISbtnmTt5492s/wmCZvLcRSktd3A7/snPtb59xe59xLzrnPA78CvGdZohMREREpQBe31dLZUEki5fivg2f9DievLCV5bWTmFbZezewTERERkRmYGbde4k3eer13lKOavHXBlpK8voQ3bGCqDwB7l3BeERERkYLXXBPkDZnJWz84eJa0Vt66IEvp8/r7wDfN7E3A04ADrgfWAXctQ2wiIiIiBe2azY3s7w4zEImzr2uYXZ31foeU85bS5/W/gG3AfwL1eEMFHgAuBd67HMGJiIiIFLJgaQnXbm4C4MdH+okn1TprPubc8paozexy4AXnXMmynniRzCwEDA8PDxMKhfwOR0RERGSSVNrxlaePMRRNcO3mJq7b0uR3SKsuHA5TV1cHUOecC891rPqxioiIiPioJGDcsLUZgBdODBIZT/ocUW5T8ioiIiLis4taa1hTV0E8mebHR/r9DienKXkVERER8ZmZ8caLvOrrvtPeBC6Z2YK7DZjZA/McUr+4UERERESKV2dDFZtbqjlyNsJTh/u49/IOv0PKSYtplTV8Afu/sojzioiIiBS1G7c2c7Qvwuu9o5weGmNtfaXfIeWcBSevzjm1wRIRERFZAU01QXZ21PHy6WGePHiWX7p6HWbmd1g5RWNeRURERHLItVuaKCsxuodjHO4d9TucnKPkVURERCSH1ARLuWJDAwBPHe4jpWVjJ1HyKiIiIpJjrtzQQFV5CUPRBC+fnm+6UXFR8ioiIiKSY7KXjX3mSD/jyZTPEeUOJa8iIiIiOWjn2joaqsqIxlM8f2zQ73ByhpJXERERkRxUEjBuvOj8srGjWjYW8Dl5NbObzOxhM+syM2dmb52y/0uZ7dmPH/sUroiIiMiq2tJSQ0d9BYmU4+nXtWws+F95rQZeAj4wxzHfAtqzHnetQlwiIiIivvOWjW0B4JWuYfpGx32OyH+LWWFr2TjnHgUeBeZqwDvunDtzoec0syAQzNpUu+gARURERHzWUV/J1tYaDveO8sPDfdy3e63fIfnK78rrhbjFzHrN7KCZ3W9mrfMc/2G8JWrPPU6teIQiIiIiK+jGrc0EzDhyNsLJgajf4fgq15PXR4F3Aj8N/B5wNfD9THV1Np8E6rIenSsdpIiIiMhKaqgu57LOEABPHurDueJduMDXYQPzcc59Leuf+8zsOeA4cDfwwCzPGQcmBoRoPWAREREpBNdsauJA9wg94RgHe0a5eE1xjozM9crrJM65brzk9SK/YxERERFZTdXBUq7MLBv7w8N9JFNpnyPyR14lr2bWBKwDuv2ORURERGS1XbG+gZpgKcNjCV48OeR3OL7wu89rjZntNrPdmU2bMv9en9n352Z2nZltNLNbgIeBPuA/fQpZRERExDflpQFu2OotXPDs0QFGYgmfI1p9flderwJezDwAPpP5+8eBFHAZ8BBwEPhy5s/rnHMjqx+qiIiIiP+2t9eytr6SeDLNk4f6/A5n1fnd5/UJYK4ZVXesUigiIiIiecHMuOWSFv75mRO8dmaEy9bWsa6xyu+wVo3flVcRERERWaDW2gp2ddYB8MRrvaTSxdM6S8mriIiISB66fkszleUl9I3GeenUkN/hrBolryIiIiJ5qKKshBu2eJO3nn69n8h40ueIVoeSVxEREZE8dWlHiLZQBfFkmqcOF8fkLSWvIiIiInkqEDBuvaQFgP1dYbqGxnyOaOUpeRURERHJY+11lVzaEQLg8dd6SRf45C0lryIiIiJ57saLmgmWBegNj7Ova9jvcFaUklcRERGRPFdVXsp1m5sA+OHhfsbiKZ8jWjlKXkVEREQKwOWd9TTXBoklUvzo9cKdvKXkVURERKQABALGrRd7k7dePj1MTzjmc0QrQ8mriIiISIHobKjikjW1OAePv9qLc4U3eUvJq4iIiEgBeeO2FspLA3QPx9jfHfY7nGWn5FVERESkgNQES7lmUyMATx3qI5YorMlbSl5FRERECswb1jfQWF1ONJ7ix0f6/Q5nWSl5FRERESkwJQHjlszkrZdODnN2ZNzniJaPklcRERGRArShqZqL2mpIO8cTrxXO5C0lryIiIiIF6o0XtVBWYpwaHONgz6jf4SwLJa8iIiIiBaqusoyrNmYmbx3uI5lK+xzR0il5FRERESlgV25ooCZYSngswd7Tw36Hs2RKXkVEREQKWFlJgOu2NAHw7NGBvG+dpeRVREREpMDtaA/RWF3OWDzFC8cH/Q5nSZS8ioiIiBS4QMC4YatXfX3hxCCj40mfI1o8Ja8iIiIiRWBLSw3tdRUkUo5n8njhAiWvIiIiIkXAzLjxomYA9p0OMxiJ+xzR4ih5FRERESkSnQ1VbG6pJu0cP3y9z+9wFkXJq4iIiEgRuWFrM2ZwqGeUM8Mxv8NZMF+TVzO7ycweNrMuM3Nm9tY5jv3fmWN+e/UiFBERESkszTVBtreHAHjy0Nm8WzbW78prNfAS8IG5DsoktdcAXasQk4iIiEhBu25LE6UBb9nY4/1Rv8NZEF+TV+fco865/+mce2C2Y8xsLfA3wDuBxHznNLOgmYXOPYDa5YtYREREJP+FKsq4fF09AE8e7sur6qvfldc5mVkA+Efg0865Vy7waR8GhrMep1YoPBEREZG8dfXGRoJlAfpGxnn1zIjf4VywnE5egQ8BSeCvFvCcTwJ1WY/OFYhLREREJK9Vlpdw9cZGAH70ej/JVNrniC5MziavZnYl8FvAe9wCatnOuXHnXPjcA8ifXyVEREREVtHudfXUBEsJjyXYe3rY73AuSM4mr8AbgVbghJklzSwJbAD+wsyO+RqZiIiISAEoKwlw3RZv2dhnjw4QS6R8jmh+uZy8/iOwC9id9egCPg3c4VdQIiIiIoVkR3uIxupyxuIpXjg+6Hc48/K7z2uNme02s92ZTZsy/17vnOt3zu3LfuB1GzjjnHvNv6hFRERECkcgYNyw1au+vnBikNHxpM8Rzc3vyutVwIuZB8BnMn//uG8RiYiIiBSZLS01tNdVkEg5njnS73c4c/K7z+sTzjmb4fGeWY7f6Jz73OpGKSIiIlLYzIwbL2oGYN/pMIORuM8Rzc7vyquIiIiI5IDOhio2t1STdo4fvt7ndzizUvIqIiIiIgDcsLUZMzjUM0r38Jjf4cxIyauIiIiIANBcE2R7ewiApw7l5rKxSl5FREREZMJ1W5ooDRinBsc4OzLudzjTlPodgIiIiIjkjlBFGbde0kpLbZDWUIXf4Uyj5FVEREREJtm5ts7vEGalYQMiIiIikjeUvIqIiIhI3lDyKiIiIiJ5Q8mriIiIiOQNJa8iIiIikjeUvIqIiIhI3lDyKiIiIiJ5o2j6vIbDYb9DEBEREZEZLCRPs1xcs3Y5mdla4JTfcYiIiIjIvDqdc6fnOqAYklcDOoARv2PJAbV4iXwnuh7ZdF2m0zWZTtdkOl2T6XRNptM1mU7XZGa1QJebJzkt+GEDmQswZwZfLLw8HoAR55zGUWToukynazKdrsl0uibT6ZpMp2syna7JrC7oWmjCloiIiIjkDSWvIiIiIpI3lLwWl3HgjzJ/ynm6LtPpmkynazKdrsl0uibT6ZpMp2uyBAU/YUtERERECocqryIiIiKSN5S8ioiIiEjeUPIqIiIiInlDyauIiIiI5A0lr3nOzP4vM9trZuHM42kzuzNrv5vl8cGsY56YYf9X/XlFy8/MPpx5TZ/L2mZm9jEz6zKzscw1uHTK84Jm9tdm1mdmETP7upl1rvoLWAFTr4mZlZnZp8zs5cxr7TKzr5hZx5TnFex7ZZb3yZdmeL0/nvK8onmfZLYV3T0lc6+Y+nrOZO0vuvvJXNekWO8nF/A+Ker7yXJS8pr/TgF/AFyVeXwfeCjrxtk+5fE+wAH/MeU890857v0rHvkqMLOrgV8F9k7Z9fvA7wIfAK4GzgCPmVlt1jGfA94GvB24EagBvmFmJSsc9oqa5ZpUAVcAn8j8+bPANuDrM5yi4N4rc7xPAL7F5Nd715T9n6N43idQvPeUV5j8ei7L2les95PZrkkx30/mep9Akd5Plp1zTo8CewADwH+bZd+DwPembHsC+Jzfca/AdagBDgJvyn6NgAHdwIeyjg0CQ8D7M/+uA+LAL2Ud0wGkgDv8fm3LfU1mOfZqvKRkfSG/V+a6JsCXgAfneK7eJ0VwTwE+BuyZZV9R3k/muiazHF/w95P5rkmx3k9W4qHKawExsxIzeztQDTw9w/424G7gizM8/Z2ZryleMbM/n1IxyFf/H/BN59x3p2zfBKwBvnNug3NuHPgv4PrMpiuBsinHdAH7so7JR7Ndk5nU4X3YDE3ZXmjvlfmuyS1m1mtmB83sfjNrzdpX1O+TIrunXJT5+vuomX3VzDZnthfz/WS2azKTYrmfzHdNivF+suxK/Q5Als7MLsNLViuAUeBtzrn9Mxz6bmAEeGDK9n8CjuJ91bUT+CRwOfAzKxXzSssk8VfiDaWYak3mz54p23uADVnHxJ1zgzMcs4Y8NM81mXpsBfCnwD8758JZuwrqvXIB1+RR4N+A43hJyieA75vZlZkEpajfJxTPPeUZ4F141eg24H8CP8oMzyrK+wlzXBPnXH/2gcVyP2H+a1J095OVouS1MLwG7AbqgZ8DvmxmN8+QwL4P+CfnXCx7o3Pu/qx/7jOzQ8BzZnaFc+6FlQt7ZZjZOuAvgdunvtYppi4vZzNsm3b6Czgm5yzgmmBmZcBX8cbE/3r2vkJ6r1zINXHOfS3rn/vM7Dm8D567mZ6wTTo9Bf4+ySiKe4pz7tGsf75sZk8Dr+Ml7+cm3BTN/QTmvSafObejWO4nMP81Kbb7yUrSsIEC4JyLO+cOO+eec859GHgJ+K3sY8zsjcDFwN9dwClfABLARcse7Oq4EmgFnjezpJklgZuB38z8/VyFZOpvsq1Z+84A5WbWMMcx+WTOa3JuMkDmg+Zf8aoCPzOlSjKTfH6vXNA1yeac68b7sDn3eovyfQJFd0+ZxDkXAV7Gez3nZpMX0/1kminXBCi6+8k0M12TKfsL/X6yYpS8FibDmzCQ7b8BzzvnXrqA51+KN+6me7kDWyXfw5vhuTvr8RzeV1S7gSN4N4mJr6bMrBzvQ/pHmU3P491Es49px/tq69wx+WTOa+KcS2V90FwEvGnqV3+zyOf3yrzXZOoTzKwJWMf511t075OsY4vpnjKJmQWB7Xiv59zX3sV0P5lmyjWhCO8n00y9JjPsL/T7ycrxe8aYHkt7AH8CvBHYiPeh88d4MxN/JuuYEBABfm2G528BPoI3vm0jXtuOA3i/AZf4/fqW8To9weRZ5B/CmzjwNrwbwz8DXUBt1jF/C5wEbgPegPfBvqdQrguTOzCUAg9lXu/leFWkc4/yYnmvTLkmNcCfA9dlXu8teB8gp4r1fZK1rajuKZn3wc14FcRrgIeBMLAhs7/o7idzXZNivZ/Mc010P1nGh8a85r824B/x+sUN4/VkfLNz7rGsY96OV439lxmeH8f7n+S38P7nOgl8E/gjN0PlqYD8GVAJfB5owBtof7tzbiTrmN8BknjVg0q8m8h7CvS6dAL3Zv6+Z8q+W/ESmGJ7r6TwfiF8F9548m7gcbw2NsX6Pjmn2O4pnXivtRk4izfO9Vrn3PHM/mK8n8x6TcxsI8V5P5nrmlSi+8mysUymLyIiIiKS8zTmVURERETyhpJXEREREckbSl5FREREJG8oeRURERGRvKHkVURERETyhpJXEREREckbSl5FREREJG8oeRURERGRvKHkVUQkx5jZx8xszyr8jB4zc2b21pX8WSIiy0nJq4jIDMzsS2b2oN9xzMXMvmhmL5tZ+ZTtd5lZwsyuytq2wczGzSxkZtuBjwLvx1ta+tFliifnr5mI5D8lryIi+eu3gVrgj85tMLN64AvAHzvnnss69j7gCedcGNiS2faQc+6Mc258dcIVEVk6Ja8iIgtkZjeb2bOZSma3mf2pmZVm7Q+Y2YfM7HDmmBNm9j+y9n/KzA6aWdTMjpjZJ8ysbKFxOOdGgPcAv2dm12Q2fw7oBv7fKYffB3zdzD4GPJzZljYzlxXXe83sgJnFzOxVM/v1Ka97rZl9zcwGzazfzB4ys42ZfR8D3g3clxmK4MzsloW+JhGR+ZTOf4iIiJxjZmuBR4AvAe8CLgHuB2LAxzKHfRL4FeB3gKfwvpq/JOs055LOLuCyzPNHgD9baDzOuSfM7PPAl83sD4FfBK50ziWzYq4H3pj5mYPAMeAfMnGdO+ZX8Cq4HwBeBN4A3G9mEefcl82sCngceBK4CUgC/xP4lpntAv4c2A6EgPdmTjuw0NcjIjIfJa8iIgvz68BJ4APOOQe8amYdwKfM7ONANfBbmf1fzjzndbwkFgDnXHZV9JiZ/QXwSywiec34MHAH8FXg95xzB6bsvwt42Tl3EsDMhjJxnMk65g8zz30g8++jZrYDb1zsl4G3A2nglzOvGzN7LzAE3OKc+46ZjQHBKecVEVlWSl5FRBZmO/D0uQQu44dADdAJrAGCwPdmO4GZ/TzeeNWtmeeVAuHFBuScG8skwJ8F/nKGQ+4Dvj5HPC3AOuCLZnZ/1q5SYDjz9ysz8Y6YWfbTKzg/hlZEZMUpeRURWRgD3AzbyGwfm/PJZtfiVUg/CnwbLzl8O/B7S4wrCaSmJNVkxtK+GW8ow2zOzX/4FeCZKftSWcc8D7xzhuefXXC0IiKLpORVRGRh9gM/Z2aWlShejzdm9TReIjcG3Ab83QzPvwE47pz743MbzGzDCsZ7KzDknNsz2wHOuR4zOw1sds790yyHvYA3tKE307FgJnGgZCnBiojMR8mriMjs6sxs95RtX8D7yv+vzexvgIvxJjp9xjmXBmJm9ingz8wsjjekoAW41Dn3ReAwsN7M3g78BLgbeNsKvoZ7mWPIQJaPAX9lZmG8vq9B4CqgwTn3GeCfgA8CD5nZR4BTwHrgZ4FPO+dO4U0Eu8PMLgb6gWHnXGJ5X46IFDslryIis7sFb+Z9ti/jTYD6NPAS3oz6LzK5NdUn8L7G/zjQgde66n8BOOceMrPPAn+DlyB+M3P8x1boNdwLvG++g5xzf2dmUbwE9c+ACPAyXustnHNRM7sJ+BTwAF5/2dN4Y3vPVWLvx7tmz+GN5b0VeGLZXomICGBThkeJiEiBMLMrgO8DLaqAikih0CIFIiKFqxT4DSWuIlJIVHkVEclhZjY6x+47nXNPrlowIiI5QGNeRURy2+459p1erSBERHKFKq8iIiIikjc05lVERERE8oaSVxERERHJG0peRURERCRvKHkVERERkbyh5FVERERE8oaSVxERERHJG0peRURERCRv/P8CfuEHyxwQBwAAAABJRU5ErkJggg==\n",
1760 | "text/plain": [
1761 | ""
1762 | ]
1763 | },
1764 | "metadata": {
1765 | "needs_background": "light"
1766 | },
1767 | "output_type": "display_data"
1768 | }
1769 | ],
1770 | "source": [
1771 | "plot_trac(r'D:\\NGSIM\\preprocessed data\\cut_21\\df_749.xlsx')"
1772 | ]
1773 | }
1774 | ],
1775 | "metadata": {
1776 | "kernelspec": {
1777 | "display_name": "Python 3 (ipykernel)",
1778 | "language": "python",
1779 | "name": "python3"
1780 | },
1781 | "language_info": {
1782 | "codemirror_mode": {
1783 | "name": "ipython",
1784 | "version": 3
1785 | },
1786 | "file_extension": ".py",
1787 | "mimetype": "text/x-python",
1788 | "name": "python",
1789 | "nbconvert_exporter": "python",
1790 | "pygments_lexer": "ipython3",
1791 | "version": "3.9.12"
1792 | }
1793 | },
1794 | "nbformat": 4,
1795 | "nbformat_minor": 5
1796 | }
1797 |
--------------------------------------------------------------------------------