diff --git a/Data/tables/20240718/TC_IF_TOD_DAY_PLAN.csv b/Data/tables/20240718/TC_IF_TOD_DAY_PLAN.csv
new file mode 100644
index 000000000..fe3463407
--- /dev/null
+++ b/Data/tables/20240718/TC_IF_TOD_DAY_PLAN.csv
@@ -0,0 +1,5 @@
+CRSRD_ID,PLAN_NO,HOUR,MIN,CYCL,OFFSET,RINGA_PHASE1,RINGA_PHASE2,RINGA_PHASE3,RINGA_PHASE4,RINGA_PHASE5,RINGA_PHASE6,RINGA_PHASE7,RINGA_PHASE8,RINGB_PHASE1,RINGB_PHASE2,RINGB_PHASE3,RINGB_PHASE4,RINGB_PHASE5,RINGB_PHASE6,RINGB_PHASE7,RINGB_PHASE8,LAST_MDFCN_DT
+2,1,6,0,180,35,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-17 18:14:47.944000
+2,2,0,0,160,110,30,27,36,27,40,0,0,0,30,27,36,27,40,0,0,0,2024-07-17 18:14:47.944000
+2,2,6,0,180,35,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-17 18:14:47.960000
+2,1,0,0,160,110,30,27,36,27,40,0,0,0,30,27,36,27,40,0,0,0,2024-07-17 18:14:47.929000
diff --git a/Data/tables/20240718/TC_IF_TOD_HOLIDAY_PLAN.csv b/Data/tables/20240718/TC_IF_TOD_HOLIDAY_PLAN.csv
new file mode 100644
index 000000000..311d06a86
--- /dev/null
+++ b/Data/tables/20240718/TC_IF_TOD_HOLIDAY_PLAN.csv
@@ -0,0 +1,3 @@
+CRSRD_ID,MNTH,DAY,PLAN_NO,LAST_MDFCN_DT
+3,1,1,3,2024-06-27 15:22:05.531000
+3,1,2,3,2024-06-27 15:22:05.531000
diff --git a/Data/tables/20240718/TC_IF_TOD_RED_YELLO.csv b/Data/tables/20240718/TC_IF_TOD_RED_YELLO.csv
new file mode 100644
index 000000000..f1bd67764
--- /dev/null
+++ b/Data/tables/20240718/TC_IF_TOD_RED_YELLO.csv
@@ -0,0 +1,5 @@
+CRSRD_ID,PLAN_NO,PHASE,RINGA_FLOW,RINGA_RED_SEC,RINGA_YELLO_SEC,RINGA_MIN_SEC,RINGB_FLOW,RINGB_RED_SEC,RINGB_YELLO_SEC,RINGB_MIN_SEC,LAST_MDFCN_DT
+2,2,1,0,1,6,3,4,5,6,7,2024-07-17 18:14:47.960000
+2,2,2,1,2,7,4,5,6,7,8,2024-07-17 18:14:47.976000
+2,1,1,0,1,6,3,4,5,6,7,2024-07-17 18:14:47.929000
+2,1,2,1,2,7,4,5,6,7,8,2024-07-17 18:14:47.944000
diff --git a/Data/tables/20240718/TC_IF_TOD_WEEK_PLAN.csv b/Data/tables/20240718/TC_IF_TOD_WEEK_PLAN.csv
new file mode 100644
index 000000000..b7203eba9
--- /dev/null
+++ b/Data/tables/20240718/TC_IF_TOD_WEEK_PLAN.csv
@@ -0,0 +1,2 @@
+CRSRD_ID,SUN_PLAN_NO,MON_PLAN_NO,TUE_PLAN_NO,WED_PLAN_NO,THU_PLAN_NO,FRI_PLAN_NO,SAT_PLAN_NO,LAST_MDFCN_DT
+1,2,1,1,1,1,1,2,2024-06-27 15:22:01.469000
diff --git a/Data/tables/20240718/TL_IF_SIGL_CYCL.csv b/Data/tables/20240718/TL_IF_SIGL_CYCL.csv
new file mode 100644
index 000000000..29f7ae6b0
--- /dev/null
+++ b/Data/tables/20240718/TL_IF_SIGL_CYCL.csv
@@ -0,0 +1,560 @@
+OCRN_DT,CRSRD_ID,RINGA_PHASE1,RINGA_PHASE2,RINGA_PHASE3,RINGA_PHASE4,RINGA_PHASE5,RINGA_PHASE6,RINGA_PHASE7,RINGA_PHASE8,RINGB_PHASE1,RINGB_PHASE2,RINGB_PHASE3,RINGB_PHASE4,RINGB_PHASE5,RINGB_PHASE6,RINGB_PHASE7,RINGB_PHASE8,FRST_REG_DT
+2024-06-27 14:45:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:45:40.652000
+2024-06-27 14:55:00,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:55:00.187000
+2024-06-27 15:06:19,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:06:19.440000
+2024-06-27 15:09:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 15:09:40.716000
+2024-06-27 16:48:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:48:40.058000
+2024-06-27 16:51:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:51:39.307000
+2024-06-27 16:53:39,2,46,51,19,29,33,0,0,0,46,51,19,29,33,0,0,0,2024-06-27 16:53:39.034000
+2024-06-27 16:59:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:59:40.596000
+2024-06-27 17:03:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 17:03:39.169000
+2024-06-27 17:06:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:06:40.301000
+2024-06-27 17:08:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:08:40.058000
+2024-06-27 17:09:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 17:09:38.404000
+2024-06-27 17:11:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:11:40.213000
+2024-06-27 17:15:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 17:15:39.134000
+2024-06-27 17:51:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 17:51:38.248000
+2024-06-27 17:56:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:56:40.010000
+2024-06-27 17:57:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:57:40.424000
+2024-06-27 17:59:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:59:41.187000
+2024-06-27 18:00:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 18:00:39.526000
+2024-06-27 18:02:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 18:02:41.317000
+2024-06-27 18:03:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 18:03:39.683000
+2024-06-27 18:05:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 18:05:40.445000
+2024-06-27 18:06:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 18:06:39.842000
+2024-06-27 18:08:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 18:08:40.579000
+2024-06-28 09:59:39,2,40,50,18,30,42,0,0,0,40,50,18,30,42,0,0,0,2024-06-28 09:59:39.211000
+2024-06-28 10:21:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 10:21:38.466000
+2024-06-28 10:22:59,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:22:58.889000
+2024-06-28 10:42:37,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 10:42:37.441000
+2024-06-28 10:51:40,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 10:51:39.878000
+2024-06-28 10:54:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:54:41.289000
+2024-06-28 11:19:40,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:19:39.885000
+2024-06-28 11:21:38,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:21:38.694000
+2024-06-28 11:28:10,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:28:10.288000
+2024-06-28 11:30:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:30:40.329000
+2024-06-28 11:33:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 11:33:39.401000
+2024-06-28 11:33:49,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:33:49.427000
+2024-06-28 12:36:10,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:36:10.219000
+2024-06-28 12:38:59,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:38:59.202000
+2024-06-28 12:41:50,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:41:50.387000
+2024-06-28 12:45:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:45:40.903000
+2024-06-28 12:48:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 12:48:38.191000
+2024-06-28 12:50:19,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:50:19.675000
+2024-06-28 12:55:59,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:55:58.778000
+2024-06-28 12:57:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:57:40.392000
+2024-06-28 13:00:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 13:00:40.495000
+2024-06-28 13:03:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 13:03:38.712000
+2024-06-28 13:04:29,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 13:04:29.123000
+2024-07-05 14:27:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-05 14:27:47.767000
+2024-07-05 17:06:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-05 17:06:41.390000
+2024-06-27 17:00:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:00:40.497000
+2024-06-27 13:57:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 13:57:39.024000
+2024-06-27 16:12:38,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:12:38.266000
+2024-06-27 17:02:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:02:39.756000
+2024-06-27 17:14:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:14:40.768000
+2024-07-03 14:21:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-03 14:21:39.327000
+2024-06-27 13:52:39,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 13:52:39.044000
+2024-06-27 16:03:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:03:40.277000
+2024-06-27 16:03:59,2,58,66,25,38,43,0,0,0,58,66,25,38,43,0,0,0,2024-06-27 16:03:59.364000
+2024-06-27 16:07:49,2,58,66,25,38,43,0,0,0,58,66,25,38,43,0,0,0,2024-06-27 16:07:49.617000
+2024-06-27 16:11:39,2,58,66,25,38,43,0,0,0,58,66,25,38,43,0,0,0,2024-06-27 16:11:39.740000
+2024-06-27 18:09:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 18:09:39.988000
+2024-06-28 12:36:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:36:39.423000
+2024-06-28 12:39:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 12:39:38.428000
+2024-06-28 12:42:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:42:39.767000
+2024-06-28 12:44:39,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:44:39.477000
+2024-06-28 12:53:08,2,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-06-28 12:53:07.704000
+2024-06-28 12:54:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 12:54:38.252000
+2024-06-28 13:07:20,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 13:07:20.069000
+2024-07-05 16:48:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-05 16:50:15.210000
+2024-06-27 13:51:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 13:51:39.901000
+2024-06-27 13:55:29,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 13:55:29.943000
+2024-06-27 14:21:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:21:39.043000
+2024-06-27 14:52:10,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:52:10.115000
+2024-06-27 15:06:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 15:06:39.516000
+2024-06-27 17:21:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:21:39.636000
+2024-06-27 17:23:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:23:39.333000
+2024-06-27 17:30:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 17:30:38.134000
+2024-06-27 17:32:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:32:40.916000
+2024-06-27 17:33:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:33:39.340000
+2024-06-27 17:35:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:35:40.128000
+2024-06-27 17:39:38,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:39:38.526000
+2024-06-27 17:44:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:44:40.516000
+2024-06-28 10:48:30,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:48:29.715000
+2024-06-28 10:54:10,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:54:09.988000
+2024-06-28 11:02:39,2,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-06-28 11:02:39.218000
+2024-06-28 11:03:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 11:03:38.640000
+2024-06-28 11:36:40,3,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:36:39.932000
+2024-06-28 11:42:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:42:39.485000
+2024-06-28 11:48:38,1,33,26,50,29,39,0,0,0,33,26,50,29,39,0,0,0,2024-06-28 11:48:37.742000
+2024-06-28 11:56:29,2,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-06-28 11:56:28.758000
+2024-06-28 12:00:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:00:39.389000
+2024-06-28 12:02:09,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:02:08.887000
+2024-07-01 09:56:39,2,40,50,18,30,42,0,0,0,40,50,18,30,42,0,0,0,2024-07-01 09:56:39.855000
+2024-07-03 10:30:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-03 10:35:56.626000
+2024-07-05 11:09:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-05 11:09:40.102000
+2024-07-05 11:18:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-05 11:18:39.490000
+2024-07-05 16:39:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-05 16:39:40.993000
+2024-07-17 17:59:38,2,46,51,19,29,33,0,0,0,46,51,19,29,33,0,0,0,2024-07-17 17:59:38.116000
+2024-07-17 18:02:38,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 18:02:38.199000
+2024-07-17 18:11:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 18:11:39.767000
+2024-07-17 18:14:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 18:14:39.892000
+2024-06-27 15:45:37,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 15:45:37.394000
+2024-06-27 15:48:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 15:48:39.598000
+2024-06-27 15:54:30,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:54:30.882000
+2024-06-27 16:15:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:15:40.271000
+2024-06-28 11:08:19,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:08:19.527000
+2024-06-28 11:27:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:27:39.061000
+2024-06-28 11:39:30,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:39:30.338000
+2024-06-28 11:39:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 11:39:39.143000
+2024-06-28 11:45:10,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:45:10.077000
+2024-06-28 11:45:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:45:40.370000
+2024-06-28 11:54:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:54:39.036000
+2024-07-03 14:40:48,3,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-07-03 14:44:22.186000
+2024-07-03 14:40:50,2,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-07-03 14:44:22.213000
+2024-07-03 15:06:21,3,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-03 15:06:20.329000
+2024-07-17 17:05:38,2,46,51,19,29,33,0,0,0,46,51,19,29,33,0,0,0,2024-07-17 17:05:38.508000
+2024-07-17 17:17:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:17:40.122000
+2024-07-17 17:20:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:20:40.132000
+2024-07-17 17:50:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:50:39.170000
+2024-07-17 17:53:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:53:40.421000
+2024-06-27 13:58:20,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 13:58:20.107000
+2024-06-27 14:09:39,2,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-06-27 14:09:39.421000
+2024-06-27 14:15:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:15:39.635000
+2024-06-27 14:18:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 14:18:38.914000
+2024-06-27 14:26:39,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:26:39.894000
+2024-06-27 15:45:59,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:45:59.535000
+2024-06-27 15:48:49,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:48:49.645000
+2024-06-27 15:51:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 15:51:40.736000
+2024-06-27 15:54:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 15:54:38.903000
+2024-06-27 16:09:38,1,33,26,50,29,39,0,0,0,33,26,50,29,39,0,0,0,2024-06-27 16:09:37.931000
+2024-06-27 16:14:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:14:39.845000
+2024-06-28 09:44:39,2,40,50,18,30,42,0,0,0,40,50,18,30,42,0,0,0,2024-06-28 09:44:39.701000
+2024-06-28 09:45:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 09:45:39.119000
+2024-06-28 09:47:40,2,40,50,18,30,42,0,0,0,40,50,18,30,42,0,0,0,2024-06-28 09:47:40.130000
+2024-06-28 09:48:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 09:48:39.266000
+2024-06-28 09:53:39,2,42,49,17,29,41,0,0,0,42,49,17,29,41,0,0,0,2024-06-28 09:53:38.952000
+2024-06-28 09:54:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 09:54:40.353000
+2024-06-28 09:57:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 09:57:38.833000
+2024-06-28 10:02:39,2,40,50,18,30,42,0,0,0,40,50,18,30,42,0,0,0,2024-06-28 10:02:39.323000
+2024-06-28 10:03:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:03:40.710000
+2024-06-28 10:05:58,2,53,51,21,35,39,0,0,0,53,51,21,35,39,0,0,0,2024-06-28 10:05:58.597000
+2024-06-28 10:14:29,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:14:29.249000
+2024-06-28 10:39:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:39:39.157000
+2024-06-28 12:04:59,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:04:59.027000
+2024-06-28 15:51:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 15:51:38.811000
+2024-06-28 15:51:40,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 15:51:39.789000
+2024-06-28 15:54:30,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 15:54:29.864000
+2024-07-01 15:14:49,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-01 15:14:49.619000
+2024-07-03 15:03:30,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-03 15:03:30.230000
+2024-07-03 15:06:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-03 15:06:38.416000
+2024-07-03 15:54:29,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-03 15:54:29.064000
+2024-07-11 13:51:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-11 13:51:54.587000
+2024-07-17 17:56:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:56:40.301000
+2024-07-17 18:05:38,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 18:05:38.414000
+2024-07-17 18:08:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 18:08:39.765000
+2024-06-27 16:47:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:47:39.622000
+2024-06-27 16:50:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:50:39.998000
+2024-06-27 16:54:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 16:54:38.439000
+2024-06-27 16:56:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:56:39.486000
+2024-06-27 16:57:38,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:57:38.864000
+2024-06-27 17:12:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:12:39.691000
+2024-06-28 09:51:40,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 09:51:40.343000
+2024-06-28 10:00:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:00:39.594000
+2024-06-28 10:06:38,1,33,26,50,29,39,0,0,0,33,26,50,29,39,0,0,0,2024-06-28 10:06:37.833000
+2024-06-28 10:09:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:09:39.047000
+2024-06-28 10:36:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 10:36:38.067000
+2024-06-28 10:57:01,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:57:01.146000
+2024-06-28 11:00:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:00:40.520000
+2024-06-28 12:07:49,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:07:49.203000
+2024-06-28 12:10:39,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:10:39.232000
+2024-06-28 12:15:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:15:39.646000
+2024-06-28 12:24:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 12:24:37.873000
+2024-06-28 12:30:29,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:30:29.261000
+2024-06-28 12:30:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:30:40.224000
+2024-06-28 12:33:20,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:33:20.238000
+2024-06-28 12:33:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 12:33:38.301000
+2024-07-01 10:14:29,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-01 10:21:02.641000
+2024-07-01 10:48:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-01 10:48:40.477000
+2024-07-01 16:36:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-01 16:36:40.649000
+2024-07-01 16:39:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-01 16:39:38.557000
+2024-07-01 17:53:38,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-01 17:53:38.442000
+2024-07-03 11:42:19,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-03 11:43:48.665000
+2024-07-03 15:54:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-03 15:54:39.116000
+2024-07-05 14:46:28,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-05 14:46:28.893000
+2024-07-08 09:02:39,2,44,57,15,30,34,0,0,0,44,57,15,30,34,0,0,0,2024-07-08 09:02:39.680000
+2024-06-27 14:43:40,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:43:40.029000
+2024-06-27 14:46:29,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:46:29.530000
+2024-06-27 14:49:20,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:49:20.032000
+2024-06-27 14:51:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:51:39.872000
+2024-06-27 15:09:08,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:09:08.550000
+2024-06-27 15:20:30,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:20:29.932000
+2024-06-27 15:26:10,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:26:10.084000
+2024-06-27 15:30:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 15:30:40.771000
+2024-06-27 15:33:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 15:33:38.873000
+2024-06-27 15:34:39,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:34:39.264000
+2024-06-27 15:37:30,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:37:30.400000
+2024-06-27 15:39:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 15:39:39.179000
+2024-06-27 16:18:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 16:18:38.527000
+2024-06-27 16:20:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:20:40.279000
+2024-06-27 16:24:37,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 16:24:37.708000
+2024-06-27 16:32:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:32:41.067000
+2024-06-27 16:35:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:35:41.074000
+2024-06-27 16:39:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 16:39:38.554000
+2024-06-27 16:45:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 16:45:38.911000
+2024-06-27 17:17:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:17:39.916000
+2024-06-27 17:20:39,2,46,51,19,29,33,0,0,0,46,51,19,29,33,0,0,0,2024-06-27 17:20:39.497000
+2024-06-27 17:26:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:26:40.592000
+2024-06-28 09:50:41,2,40,50,18,30,42,0,0,0,40,50,18,30,42,0,0,0,2024-06-28 09:50:40.903000
+2024-06-28 10:11:40,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:11:41.594000
+2024-06-28 10:12:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:12:40.105000
+2024-06-28 10:51:20,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:51:19.766000
+2024-06-28 12:09:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:09:40.911000
+2024-06-28 12:10:40,3,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:10:40.236000
+2024-06-28 12:12:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 12:12:39.072000
+2024-06-28 12:13:29,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:13:29.368000
+2024-06-28 12:19:11,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:19:11.614000
+2024-06-28 12:22:01,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:22:01.031000
+2024-06-28 12:24:48,2,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-06-28 12:24:47.964000
+2024-07-03 11:45:40,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-03 11:45:39.470000
+2024-07-03 15:12:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-03 15:12:37.573000
+2024-06-27 14:01:10,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:01:10.150000
+2024-06-27 14:04:00,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:04:00.235000
+2024-06-27 14:06:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:06:40.205000
+2024-06-27 14:06:51,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:06:51.300000
+2024-06-27 14:12:28,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:12:28.829000
+2024-06-27 14:15:19,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:15:19.538000
+2024-06-27 14:18:09,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:18:09.691000
+2024-06-27 16:17:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:17:40.169000
+2024-06-27 16:23:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:23:41.435000
+2024-06-27 16:26:38,2,46,51,19,29,33,0,0,0,46,51,19,29,33,0,0,0,2024-06-27 16:26:38.505000
+2024-06-27 16:29:38,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:29:38.775000
+2024-06-27 16:30:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:30:41.045000
+2024-06-27 16:36:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:36:40.442000
+2024-06-27 16:38:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:38:41.169000
+2024-06-28 09:56:38,2,40,50,18,30,42,0,0,0,40,50,18,30,42,0,0,0,2024-06-28 09:56:38.116000
+2024-06-28 10:08:48,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:08:48.642000
+2024-06-28 10:15:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 10:15:38.397000
+2024-06-28 10:17:20,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:17:19.861000
+2024-06-28 10:18:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:18:40.314000
+2024-06-28 10:24:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:24:40.645000
+2024-06-28 10:25:50,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:25:50.044000
+2024-06-28 10:27:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:27:39.735000
+2024-06-28 10:28:40,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:28:40.144000
+2024-06-28 10:34:19,2,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-06-28 10:34:19.589000
+2024-06-28 11:36:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:36:41.116000
+2024-06-28 11:42:20,3,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:42:20.137000
+2024-06-28 11:48:00,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:48:00.539000
+2024-06-28 11:50:51,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:50:51.592000
+2024-06-28 11:51:38,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:51:37.898000
+2024-06-28 11:57:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 11:57:39.201000
+2024-06-28 12:03:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 12:03:38.524000
+2024-06-28 15:14:48,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 15:14:48.514000
+2024-06-28 15:54:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 15:54:50.808000
+2024-07-03 14:24:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-03 14:26:02.596000
+2024-07-05 11:19:40,3,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-05 11:21:07.889000
+2024-07-08 09:02:41,3,44,57,15,30,34,0,0,0,44,57,15,30,34,0,0,0,2024-07-08 09:02:41.285000
+2024-07-17 09:08:38,2,40,50,18,30,42,0,0,0,40,50,18,30,42,0,0,0,2024-07-17 09:08:37.806000
+2024-07-17 17:26:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:26:41.497000
+2024-07-17 17:38:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:38:39.337000
+2024-07-17 17:47:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:47:40.834000
+2024-06-26 15:48:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:48:05
+2024-06-26 15:48:34,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 15:48:34
+2024-06-26 15:48:49,2,44,50,12,30,34,0,0,0,44,50,12,30,34,0,0,0,2024-06-26 15:48:48
+2024-06-26 15:49:49,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 15:49:49
+2024-06-26 15:50:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:50:06
+2024-06-26 15:51:13,4,45,73,17,35,0,0,0,0,45,73,17,35,0,0,0,0,2024-06-26 15:51:13
+2024-06-26 15:51:36,1,68,36,18,48,0,0,0,0,68,36,18,48,0,0,0,0,2024-06-26 15:51:36
+2024-06-26 15:51:38,2,44,50,12,30,34,0,0,0,44,50,12,30,34,0,0,0,2024-06-26 15:51:38
+2024-06-26 15:51:53,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 15:51:53
+2024-06-26 15:54:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:54:05
+2024-06-26 15:54:27,1,68,36,18,48,0,0,0,0,68,36,18,48,0,0,0,0,2024-06-26 15:54:26
+2024-06-26 15:56:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:56:05
+2024-06-26 15:56:33,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 15:56:32
+2024-06-26 15:56:50,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 15:56:49
+2024-06-26 15:57:14,3,85,25,40,20,0,0,0,0,85,25,40,20,0,0,0,0,2024-06-26 15:57:13
+2024-06-26 15:57:19,2,44,50,12,30,34,0,0,0,44,50,12,30,34,0,0,0,2024-06-26 15:57:18
+2024-06-26 15:57:54,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 15:57:53
+2024-06-26 15:58:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:58:05
+2024-06-26 15:59:10,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 15:59:10
+2024-06-26 15:59:43,4,45,73,17,35,0,0,0,0,45,73,17,35,0,0,0,0,2024-06-26 15:59:43
+2024-06-26 16:00:07,1,68,36,18,48,0,0,0,0,68,36,18,48,0,0,0,0,2024-06-26 16:00:07
+2024-06-26 16:00:09,2,44,50,12,30,34,0,0,0,44,50,12,30,34,0,0,0,2024-06-26 16:00:09
+2024-06-26 16:00:14,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:00:14
+2024-06-26 16:01:13,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:01:13
+2024-06-26 16:01:29,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 16:01:29
+2024-06-26 16:02:05,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:02:05
+2024-06-26 16:02:33,4,45,73,17,35,0,0,0,0,45,73,17,35,0,0,0,0,2024-06-26 16:02:33
+2024-06-26 16:02:36,3,70,29,40,14,0,0,0,0,70,29,40,14,0,0,0,0,2024-06-26 16:02:36
+2024-06-26 16:03:49,7,117,22,0,0,0,0,0,0,117,22,0,0,0,0,0,0,2024-06-26 16:03:48
+2024-06-26 16:04:54,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:04:53
+2024-06-26 16:05:13,4,40,65,20,35,0,0,0,0,40,65,20,35,0,0,0,0,2024-06-26 16:05:12
+2024-06-26 16:05:37,3,85,35,40,20,0,0,0,0,85,35,40,20,0,0,0,0,2024-06-26 16:05:36
+2024-06-26 16:05:53,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:05:52
+2024-06-26 16:07:14,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:07:13
+2024-06-26 15:48:43,3,85,25,40,20,0,0,0,0,85,25,40,20,0,0,0,0,2024-06-26 15:48:43
+2024-06-26 16:08:37,1,70,43,22,45,0,0,0,0,70,43,22,45,0,0,0,0,2024-06-26 16:08:36
+2024-06-26 16:09:35,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:09:35
+2024-06-26 16:10:05,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:10:05
+2024-06-26 16:10:33,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:10:33
+2024-06-26 16:10:50,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 16:10:50
+2024-06-26 16:11:14,4,45,70,25,40,0,0,0,0,45,70,25,40,0,0,0,0,2024-06-26 16:11:14
+2024-06-26 16:11:54,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:11:54
+2024-06-26 16:12:05,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:12:05
+2024-06-26 16:14:13,4,45,70,25,40,0,0,0,0,45,70,25,40,0,0,0,0,2024-06-26 16:14:12
+2024-06-26 16:14:14,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:14:13
+2024-06-26 16:14:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-26 16:14:39
+2024-06-26 16:15:13,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:15:12
+2024-06-26 16:15:29,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 16:15:28
+2024-06-26 16:16:35,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:16:34
+2024-06-26 16:17:33,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:17:32
+2024-06-26 16:17:37,1,70,43,22,45,0,0,0,0,70,43,22,45,0,0,0,0,2024-06-26 16:17:36
+2024-06-26 16:17:49,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 16:17:48
+2024-06-26 16:18:54,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:18:53
+2024-06-26 16:19:54,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:19:54
+2024-06-26 16:20:14,4,45,70,25,40,0,0,0,0,45,70,25,40,0,0,0,0,2024-06-26 16:20:14
+2024-06-26 16:22:13,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:22:13
+2024-06-26 16:22:30,7,117,22,0,0,0,0,0,0,117,22,0,0,0,0,0,0,2024-06-26 16:22:29
+2024-06-26 16:23:15,4,45,70,25,40,0,0,0,0,45,70,25,40,0,0,0,0,2024-06-26 16:23:14
+2024-06-26 16:23:35,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:23:34
+2024-06-26 16:23:36,3,85,35,40,20,0,0,0,0,85,35,40,20,0,0,0,0,2024-06-26 16:23:35
+2024-06-26 16:24:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:24:05
+2024-06-26 16:24:49,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 16:24:48
+2024-06-26 16:26:36,3,85,35,40,20,0,0,0,0,85,35,40,20,0,0,0,0,2024-06-26 16:26:35
+2024-06-26 16:26:37,1,70,43,22,45,0,0,0,0,70,43,22,45,0,0,0,0,2024-06-26 16:26:36
+2024-06-26 16:27:10,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 16:27:09
+2024-06-26 16:28:05,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:28:04
+2024-06-26 16:29:13,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:29:13
+2024-06-26 16:29:14,4,45,70,25,40,0,0,0,0,45,70,25,40,0,0,0,0,2024-06-26 16:29:14
+2024-06-26 16:29:30,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 16:29:30
+2024-06-26 16:29:36,3,85,35,40,20,0,0,0,0,85,35,40,20,0,0,0,0,2024-06-26 16:29:36
+2024-06-26 16:29:37,1,70,43,22,45,0,0,0,0,70,43,22,45,0,0,0,0,2024-06-26 16:29:37
+2024-06-26 16:29:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-26 16:29:39
+2024-06-26 16:30:34,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:30:34
+2024-06-26 16:31:33,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:31:33
+2024-06-26 16:31:48,7,117,22,0,0,0,0,0,0,117,22,0,0,0,0,0,0,2024-06-26 16:31:48
+2024-06-26 16:32:14,4,45,70,25,40,0,0,0,0,45,70,25,40,0,0,0,0,2024-06-26 16:32:14
+2024-06-26 16:32:37,3,85,35,40,20,0,0,0,0,85,35,40,20,0,0,0,0,2024-06-26 16:32:36
+2024-06-27 13:54:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 13:54:38.624000
+2024-06-27 15:12:00,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:12:00.619000
+2024-06-27 15:12:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 15:12:38.906000
+2024-06-27 15:14:49,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:14:49.685000
+2024-06-27 15:21:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 15:21:40.353000
+2024-06-27 15:23:20,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:23:20.114000
+2024-06-27 15:24:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 15:24:38.524000
+2024-06-27 15:27:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 15:27:40.690000
+2024-06-27 15:29:00,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 15:29:00.248000
+2024-06-27 15:31:48,2,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-06-27 15:31:48.271000
+2024-06-27 15:36:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 15:36:41.047000
+2024-06-28 10:40:00,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:40:00.368000
+2024-06-28 10:42:49,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:42:49.460000
+2024-06-28 10:45:38,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:45:38.582000
+2024-06-28 10:48:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:48:40.782000
+2024-06-28 11:05:28,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:05:28.256000
+2024-06-28 11:06:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:06:39.806000
+2024-06-28 11:09:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:09:40.058000
+2024-06-26 15:45:34,4,45,73,17,35,0,0,0,0,45,73,17,35,0,0,0,0,2024-06-26 15:45:33
+2024-06-26 15:45:57,1,71,36,18,48,0,0,0,0,71,36,18,48,0,0,0,0,2024-06-26 15:45:56
+2024-06-26 16:30:05,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:30:05
+2024-06-26 16:32:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:32:06
+2024-06-26 16:32:38,1,70,43,22,45,0,0,0,0,70,43,22,45,0,0,0,0,2024-06-26 16:32:37
+2024-06-26 16:32:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-26 16:32:39
+2024-06-26 16:32:55,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:32:54
+2024-06-26 16:07:57,2,65,65,25,37,42,0,0,0,65,65,25,37,42,0,0,0,2024-06-26 16:07:56
+2024-06-26 16:08:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:08:06
+2024-06-26 16:08:13,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:08:13
+2024-06-26 16:08:14,4,45,70,25,40,0,0,0,0,45,70,25,40,0,0,0,0,2024-06-26 16:08:14
+2024-06-26 16:08:29,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 16:08:29
+2024-06-26 16:08:35,3,85,35,40,20,0,0,0,0,85,35,40,20,0,0,0,0,2024-06-26 16:08:35
+2024-06-26 16:11:36,3,85,35,40,20,0,0,0,0,85,35,40,20,0,0,0,0,2024-06-26 16:11:36
+2024-06-26 16:11:37,1,70,43,22,45,0,0,0,0,70,43,22,45,0,0,0,0,2024-06-26 16:11:37
+2024-06-26 16:11:39,2,62,62,24,35,39,0,0,0,62,62,24,35,39,0,0,0,2024-06-26 16:11:39
+2024-06-26 16:12:54,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:12:53
+2024-06-26 16:13:10,7,117,22,0,0,0,0,0,0,117,22,0,0,0,0,0,0,2024-06-26 16:13:09
+2024-06-26 16:14:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:14:05
+2024-06-26 16:14:37,1,70,43,22,45,0,0,0,0,70,43,22,45,0,0,0,0,2024-06-26 16:14:36
+2024-06-26 16:16:07,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:16:06
+2024-06-26 16:17:13,4,45,70,25,40,0,0,0,0,45,70,25,40,0,0,0,0,2024-06-26 16:17:12
+2024-06-26 16:17:36,3,85,35,40,20,0,0,0,0,85,35,40,20,0,0,0,0,2024-06-26 16:17:35
+2024-06-26 16:17:38,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-26 16:17:37
+2024-06-26 16:18:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:18:05
+2024-06-26 16:20:10,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 16:20:10
+2024-06-26 16:20:36,3,85,35,40,20,0,0,0,0,85,35,40,20,0,0,0,0,2024-06-26 16:20:36
+2024-06-26 16:20:37,1,70,43,22,45,0,0,0,0,70,43,22,45,0,0,0,0,2024-06-26 16:20:37
+2024-06-26 16:20:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-26 16:20:39
+2024-06-26 16:21:14,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:21:14
+2024-06-26 16:22:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:22:06
+2024-06-26 16:23:38,1,70,43,22,45,0,0,0,0,70,43,22,45,0,0,0,0,2024-06-26 16:23:37
+2024-06-26 16:23:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-26 16:23:39
+2024-06-26 16:24:33,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:24:32
+2024-06-26 16:25:55,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:25:54
+2024-06-26 16:26:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:26:05
+2024-06-26 16:26:13,4,45,70,25,40,0,0,0,0,45,70,25,40,0,0,0,0,2024-06-26 16:26:12
+2024-06-26 16:26:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-26 16:26:38
+2024-06-26 16:26:54,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:26:53
+2024-06-26 15:37:24,1,68,36,18,48,0,0,0,0,68,36,18,48,0,0,0,0,2024-06-26 15:37:23
+2024-06-26 15:37:30,2,44,50,12,30,34,0,0,0,44,50,12,30,34,0,0,0,2024-06-26 15:37:29
+2024-06-26 15:37:51,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 15:37:50
+2024-06-26 15:38:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:38:05
+2024-06-26 15:38:09,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 15:38:08
+2024-06-26 15:39:15,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 15:39:15
+2024-06-26 15:39:53,4,45,73,17,35,0,0,0,0,45,73,17,35,0,0,0,0,2024-06-26 15:39:53
+2024-06-26 15:40:07,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:40:07
+2024-06-26 15:40:11,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 15:40:11
+2024-06-26 15:40:13,3,85,25,40,20,0,0,0,0,85,25,40,20,0,0,0,0,2024-06-26 15:40:13
+2024-06-26 15:40:29,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 15:40:29
+2024-06-26 15:41:34,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 15:41:34
+2024-06-26 15:42:50,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 15:42:50
+2024-06-26 15:43:04,1,68,36,18,48,0,0,0,0,68,36,18,48,0,0,0,0,2024-06-26 15:43:04
+2024-06-26 15:43:54,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 15:43:53
+2024-06-26 15:44:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:44:05
+2024-06-26 15:45:53,3,85,25,40,20,0,0,0,0,85,25,40,20,0,0,0,0,2024-06-26 15:45:52
+2024-06-26 15:45:59,2,44,50,12,30,34,0,0,0,44,50,12,30,34,0,0,0,2024-06-26 15:45:58
+2024-06-26 15:46:05,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:46:04
+2024-06-26 15:46:14,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 15:46:13
+2024-06-26 15:47:14,9,22,55,18,18,30,0,0,0,22,55,18,18,30,0,0,0,2024-06-26 15:47:13
+2024-06-26 15:47:29,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 15:47:28
+2024-06-26 15:48:24,4,45,73,17,35,0,0,0,0,45,73,17,35,0,0,0,0,2024-06-26 15:48:23
+2024-06-26 15:48:47,1,68,36,18,48,0,0,0,0,68,36,18,48,0,0,0,0,2024-06-26 15:48:47
+2024-06-26 15:49:33,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 15:49:33
+2024-06-26 15:50:54,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 15:50:54
+2024-06-26 15:51:32,3,85,25,40,20,0,0,0,0,85,25,40,20,0,0,0,0,2024-06-26 15:51:32
+2024-06-26 15:52:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:52:06
+2024-06-26 15:52:10,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 15:52:10
+2024-06-26 15:53:15,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 15:53:14
+2024-06-26 15:54:04,4,45,73,17,35,0,0,0,0,45,73,17,35,0,0,0,0,2024-06-26 15:54:03
+2024-06-26 15:54:14,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 15:54:13
+2024-06-26 15:54:23,3,85,25,40,20,0,0,0,0,85,25,40,20,0,0,0,0,2024-06-26 15:54:22
+2024-06-26 15:54:29,2,44,50,12,30,34,0,0,0,44,50,12,30,34,0,0,0,2024-06-26 15:54:28
+2024-06-26 15:55:34,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 15:55:33
+2024-06-26 15:56:54,4,45,73,17,35,0,0,0,0,45,73,17,35,0,0,0,0,2024-06-26 15:56:53
+2024-06-26 15:57:17,1,68,36,18,48,0,0,0,0,68,36,18,48,0,0,0,0,2024-06-26 15:57:16
+2024-06-26 15:58:53,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 15:58:53
+2024-06-26 16:00:03,3,85,25,40,20,0,0,0,0,85,25,40,20,0,0,0,0,2024-06-26 16:00:03
+2024-06-26 16:00:05,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:00:05
+2024-06-26 16:02:35,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:02:35
+2024-06-26 16:02:37,1,60,35,18,37,0,0,0,0,60,35,18,37,0,0,0,0,2024-06-26 16:02:37
+2024-06-26 16:20:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:20:06
+2024-06-26 16:28:14,5,67,18,18,37,0,0,0,0,67,18,18,37,0,0,0,0,2024-06-26 16:28:13
+2024-06-26 16:03:34,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 16:03:33
+2024-06-26 16:04:04,2,65,65,25,37,42,0,0,0,65,65,25,37,42,0,0,0,2024-06-26 16:04:03
+2024-06-26 16:04:07,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:04:06
+2024-06-26 16:05:38,1,70,43,22,45,0,0,0,0,70,43,22,45,0,0,0,0,2024-06-26 16:05:37
+2024-06-26 16:06:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 16:06:05
+2024-06-26 16:06:10,7,118,22,0,0,0,0,0,0,118,22,0,0,0,0,0,0,2024-06-26 16:06:09
+2024-06-26 15:37:23,3,85,25,40,20,0,0,0,0,85,25,40,20,0,0,0,0,2024-06-26 15:37:22
+2024-06-26 15:40:14,1,68,36,18,48,0,0,0,0,68,36,18,48,0,0,0,0,2024-06-26 15:40:14
+2024-06-26 15:40:19,2,44,50,12,30,34,0,0,0,44,50,12,30,34,0,0,0,2024-06-26 15:40:19
+2024-06-26 15:42:06,8,30,30,30,30,0,0,0,0,30,30,30,30,0,0,0,0,2024-06-26 15:42:06
+2024-06-26 15:42:29,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 15:42:29
+2024-06-26 15:42:42,4,45,73,17,35,0,0,0,0,45,73,17,35,0,0,0,0,2024-06-26 15:42:42
+2024-06-26 15:43:03,3,85,25,40,20,0,0,0,0,85,25,40,20,0,0,0,0,2024-06-26 15:43:03
+2024-06-26 15:43:09,2,44,50,12,30,34,0,0,0,44,50,12,30,34,0,0,0,2024-06-26 15:43:09
+2024-06-26 15:44:51,9,20,54,18,18,30,0,0,0,20,54,18,18,30,0,0,0,2024-06-26 15:44:50
+2024-06-26 15:45:10,7,117,22,0,0,0,0,0,0,117,22,0,0,0,0,0,0,2024-06-26 15:45:09
+2024-06-27 14:00:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:00:40.971000
+2024-06-27 14:09:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:09:41.443000
+2024-06-27 14:12:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 14:12:39.852000
+2024-06-27 14:20:58,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:20:58.814000
+2024-06-27 14:20:59,3,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:20:59.800000
+2024-06-27 14:23:49,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:23:49.842000
+2024-06-27 14:27:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:27:40.251000
+2024-06-27 14:29:30,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:29:29.979000
+2024-06-27 14:30:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:30:40.488000
+2024-06-27 14:32:21,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:32:21.088000
+2024-06-27 14:48:37,1,33,26,50,29,39,0,0,0,33,26,50,29,39,0,0,0,2024-06-27 14:48:37.737000
+2024-06-27 14:54:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:54:40.080000
+2024-06-27 16:06:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:06:41.446000
+2024-06-27 16:21:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:21:40.651000
+2024-06-27 16:27:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:27:38.937000
+2024-06-27 16:33:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 16:33:39.172000
+2024-06-27 16:41:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:41:40.286000
+2024-06-27 16:42:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 16:42:39.725000
+2024-06-27 16:44:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 16:44:39.507000
+2024-06-28 11:12:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 11:12:39.200000
+2024-06-28 11:13:59,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:13:59.678000
+2024-06-28 11:15:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 11:15:39.520000
+2024-06-28 11:22:30,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:22:30.032000
+2024-06-28 11:25:20,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:25:20.051000
+2024-06-28 11:30:58,3,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-06-28 11:30:58.409000
+2024-06-28 11:30:59,2,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-06-28 11:30:59.407000
+2024-06-28 12:06:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:06:39.772000
+2024-06-28 12:16:20,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:16:19.748000
+2024-06-28 12:18:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 12:18:38.359000
+2024-06-28 12:21:38,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:21:38.659000
+2024-06-28 12:27:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:27:39.023000
+2024-06-28 12:44:41,3,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:44:41.506000
+2024-06-28 12:47:31,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:47:31.033000
+2024-06-28 12:51:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 12:51:40.155000
+2024-06-28 12:58:49,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 12:58:48.864000
+2024-06-28 13:01:39,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 13:01:38.996000
+2024-06-28 13:06:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 13:06:39.832000
+2024-06-28 15:15:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 15:15:38.788000
+2024-07-01 09:53:39,2,40,50,18,30,42,0,0,0,40,50,18,30,42,0,0,0,2024-07-01 09:53:39.673000
+2024-07-01 09:54:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-01 09:54:40.057000
+2024-07-01 16:35:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-01 16:35:39.184000
+2024-07-01 16:38:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-01 16:38:39.950000
+2024-07-03 09:53:38,2,42,49,17,29,41,0,0,0,42,49,17,29,41,0,0,0,2024-07-03 09:53:37.882000
+2024-07-03 11:53:40,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-03 11:53:39.666000
+2024-07-03 11:57:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-03 12:46:34.537000
+2024-07-03 15:00:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-03 15:00:39.132000
+2024-07-03 15:00:41,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-03 15:00:40.982000
+2024-07-05 11:21:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-05 11:21:39.618000
+2024-07-05 17:00:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-05 17:00:45.660000
+2024-07-08 09:23:39,2,40,50,18,30,42,0,0,0,40,50,18,30,42,0,0,0,2024-07-08 09:23:38.961000
+2024-07-08 09:24:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-08 09:24:39.492000
+2024-07-08 09:54:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-08 09:54:52.158000
+2024-07-12 09:24:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-12 09:24:37.999000
+2024-07-17 16:50:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 16:50:39.778000
+2024-07-17 16:53:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 16:53:40.728000
+2024-07-17 16:56:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 16:56:40.445000
+2024-07-17 16:59:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 16:59:41.120000
+2024-07-17 17:02:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:02:40.378000
+2024-07-17 17:08:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:08:39.400000
+2024-07-17 17:11:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:11:40.538000
+2024-07-17 17:14:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:14:39.789000
+2024-07-17 17:23:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:23:41.183000
+2024-07-17 17:29:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:29:41.632000
+2024-07-17 17:32:39,2,46,51,19,29,33,0,0,0,46,51,19,29,33,0,0,0,2024-07-17 17:32:39.754000
+2024-07-17 17:35:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:35:39.164000
+2024-07-17 17:41:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:41:39.459000
+2024-07-17 17:44:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-07-17 17:44:39.485000
+2024-06-27 14:35:08,2,46,43,17,29,33,0,0,0,46,43,17,29,33,0,0,0,2024-06-27 14:35:08.556000
+2024-06-27 14:36:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 14:36:40.132000
+2024-06-27 14:37:58,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-27 14:37:58.759000
+2024-06-27 17:05:41,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:05:40.939000
+2024-06-27 17:18:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:18:39.331000
+2024-06-27 17:24:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 17:24:39.759000
+2024-06-27 17:27:40,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:27:39.954000
+2024-06-27 17:29:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:29:40.672000
+2024-06-27 17:36:37,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 17:36:37.418000
+2024-06-27 17:38:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:38:40.167000
+2024-06-27 17:41:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:41:40.417000
+2024-06-27 17:42:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:42:39.747000
+2024-06-27 17:45:40,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-27 17:45:39.914000
+2024-06-27 17:47:40,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:47:40.728000
+2024-06-27 17:48:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:48:41.036000
+2024-06-27 17:50:39,2,46,51,19,29,33,0,0,0,46,51,19,29,33,0,0,0,2024-06-27 17:50:39.101000
+2024-06-27 17:53:39,2,44,52,20,30,34,0,0,0,44,52,20,30,34,0,0,0,2024-06-27 17:53:38.905000
+2024-06-27 17:54:39,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-27 17:54:39.263000
+2024-06-28 10:20:10,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:20:09.924000
+2024-06-28 10:30:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 10:30:38.933000
+2024-06-28 10:31:31,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:31:31.164000
+2024-06-28 10:33:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-06-28 10:33:41.003000
+2024-06-28 10:37:08,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:37:08.306000
+2024-06-28 10:57:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 10:57:38.383000
+2024-06-28 10:59:50,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 10:59:50.238000
+2024-06-28 11:11:08,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:11:08.593000
+2024-06-28 11:16:51,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:16:50.853000
+2024-06-28 11:18:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 11:18:38.524000
+2024-06-28 11:24:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-06-28 11:24:38.865000
+2024-06-28 11:42:19,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:42:19.131000
+2024-06-28 11:50:49,3,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:50:49.549000
+2024-06-28 11:53:39,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:53:39.621000
+2024-06-28 11:59:19,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-06-28 11:59:18.819000
+2024-07-01 15:15:41,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-01 15:15:45.970000
+2024-07-01 17:54:38,1,32,27,51,30,40,0,0,0,32,27,51,30,40,0,0,0,2024-07-01 17:54:38.813000
+2024-07-03 13:21:30,2,44,44,18,30,34,0,0,0,44,44,18,30,34,0,0,0,2024-07-03 13:21:29.838000
+2024-07-03 13:21:38,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-03 13:21:40.205000
+2024-07-03 15:51:39,1,34,26,50,29,39,0,0,0,34,26,50,29,39,0,0,0,2024-07-03 15:51:38.860000
diff --git a/Data/tables/20240718/TM_FA_CRSRD.csv b/Data/tables/20240718/TM_FA_CRSRD.csv
new file mode 100644
index 000000000..03e9a30da
--- /dev/null
+++ b/Data/tables/20240718/TM_FA_CRSRD.csv
@@ -0,0 +1,222 @@
+CRSRD_ID,CRSRD_NM,CRSRD_TYPE,CTRLER_TYPE,TRFLIG_TYPE,NODE_ID,LTTD,LGTD,PPC_TYPE,MAIN_PHASE,LOS_YN,USE_YN,FRST_REG_DT,LAST_MDFCN_DT,MAIN_CRSRD_ID,GRP_NO
+123,서현3거리,0,1,1,123,37.3784,127.12594,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+145,장안로삼거리(신동아빌라),0,1,1,145,37.36776,127.14022,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+701,정혜사,0,1,1,701,37.42803,127.09346,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+375,동안교 삼거리,0,1,1,375,37.39774,127.10967,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+378,낙생지하차도 삼거리,0,1,1,378,37.38968,127.10889,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+481,탄천 삼거리,0,1,1,481,37.43242,127.11893,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+707,탄천교차로,0,1,1,707,37.41866,127.11754,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+53,사송교3거리,0,1,1,53,37.41309,127.12079,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+57,탄천운동장4거리(탑4거리),0,1,1,57,37.40918,127.12302,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+78,이매교4거리,0,1,1,78,37.39472,127.12351,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+467,성일여중고 사거리,0,1,1,467,37.43665,127.142,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+466,성호시장 사거리,0,1,1,466,37.43844,127.14534,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+457,신구대 사거리,0,1,1,457,37.44671,127.1673,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+273,미금교3거리,0,1,1,273,37.35052,127.12005,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+247,하얀마을3거리,0,1,1,247,37.34648,127.12008,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+724,동부센트레빌,0,1,1,724,37.44804,127.12851,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+684,수성교,0,1,1,684,37.43512,127.13448,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+517,해성주유소 사거리,0,1,1,517,37.42827,127.13786,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+15,중탑3거리,0,1,1,15,37.41473,127.13905,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+24,여수동입구4거리,0,1,1,24,37.41683,127.13394,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+50,사송교4거리,0,1,1,50,37.41385,127.12257,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+72,물방아4거리,0,1,1,72,37.39919,127.12538,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+83,안말초교3거리,0,1,1,83,37.39232,127.12446,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+49,장미코오롱아파트(야탑초교),0,1,1,49,37.41677,127.12456,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+96,오일뱅크4거리,0,1,1,96,37.38735,127.12439,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+100,나우병원4거리,0,1,1,100,37.38445,127.12037,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+104,분당구청4거리,0,1,1,104,37.38398,127.11973,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+201,느티마을4거리,0,1,1,201,37.36854,127.10984,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+46,차병원3거리,0,1,1,46,37.40983,127.12602,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+27,송림4거리(구송림고4거리),0,1,1,27,37.40943,127.13386,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+18,목련4거리,0,1,1,18,37.40952,127.13801,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+14,상탑초4거리,0,1,1,14,37.40711,127.14558,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+354,구숯내교삼거리,0,1,1,354,37.39834,127.11681,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+355,보평초 4거리,0,1,1,355,37.39621,127.11682,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+361,재넘어 삼거리,0,1,1,361,37.38818,127.11537,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+131,동남프라자,0,1,1,131,37.37398,127.1364,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+134,장안동3거리,0,1,1,134,37.37155,127.133,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+169,불정3거리,0,1,1,169,37.36346,127.12315,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+183,계원삼거리(한국통신4거리),0,1,1,183,37.35994,127.11483,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+215,정자일로1사거리(청솔공업사 4거리),0,1,1,215,37.35991,127.10599,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+231,정자일로3사거리(YMCA4거리),0,1,1,231,37.35342,127.106,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+245,하얀마을4거리,0,1,1,245,37.34651,127.11607,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+254,구미교4거리,0,1,1,254,37.34219,127.11608,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+287,구미공원4거리,0,1,1,287,37.3404,127.11611,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+291,구미동대림APT4거리,0,1,1,291,37.33576,127.11771,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+293,미금로3거리,0,1,1,293,37.33406,127.11809,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+208,정자1동주민센터(연강병원4거리),0,1,1,208,37.36344,127.10596,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+178,신기4거리,0,1,1,178,37.36345,127.1148,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+191,늘푸른고등학교 교차로(백궁주유소4),0,1,1,191,37.37244,127.10592,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+220,정자일로2사거리(보성APT 4거리),0,1,1,220,37.35663,127.106,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+44,터미널4거리,0,1,1,44,37.41236,127.12605,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+270,성우스타우스(오리먹자골입구),0,1,1,270,37.33808,127.11029,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+272,오리2교 4거리(오리교 4거리),0,1,1,272,37.33811,127.1131,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+284,구미초교3거리,0,1,1,284,37.33817,127.11904,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+281,구미라이프APT,0,1,1,281,37.34156,127.12347,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+279,구미4거리,0,1,1,279,37.34342,127.126,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+259,오리공원3거리(구미동 YMCA),0,1,1,259,37.34074,127.11169,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+267,온세통신3거리,0,1,1,267,37.33589,127.11173,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+154,수내동 우리은행,0,1,1,154,37.37404,127.11995,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+155,롯데파크타운,0,1,1,155,37.37351,127.1192,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+175,한솔삼거리(한솔마을3거리),0,1,1,175,37.36856,127.11477,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+307,광암사거리,0,1,1,307,37.38825,127.09752,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+523,공단주유소 오거리,0,1,1,523,37.4346,127.17395,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+514,중부초교 사거리,0,1,1,514,37.45086,127.16587,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+492,금광1파출소 사거리,0,1,1,492,37.44513,127.16826,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+300,중산운 사거리,0,1,1,300,37.39173,127.07583,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+222,금곡4거리,0,1,1,222,37.35666,127.10849,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+9,분당테크노파크C동(분당테크노파크),0,1,1,9,37.40545,127.15525,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+226,한국가스공사,0,1,1,226,37.35467,127.11839,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+462,중앙동사무소 삼거리,0,1,1,462,37.44306,127.15573,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+91,마사회3거리,0,1,1,91,37.3873,127.11993,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+172,분당중앙고 삼거리,0,1,1,172,37.36012,127.123,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+217,불정교3거리(주택전시관4거리),0,1,1,217,37.35994,127.10985,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+40,돌마초교,0,1,1,40,37.40978,127.13081,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+456,하원초교 삼거리,0,1,1,456,37.44718,127.16961,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+752,성남서중,0,1,1,752,37.44775,127.1542,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+698,풍경채 입구,0,1,1,698,37.42563,127.1004,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+703,적푸리마을,0,1,1,703,37.4336,127.08477,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+706,청계산장,0,1,1,706,37.43052,127.07174,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+683,농협물류창고 삼거리,0,1,1,683,37.42238,127.10526,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+682,시흥동주민센터 삼거리,0,1,1,682,37.42241,127.10855,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+629,수자원공사입구,0,1,1,629,37.4145,127.11349,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+713,탄천대교 사거리,0,1,1,713,37.45774,127.1195,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+656,삼부아파트,0,1,1,656,37.4395,127.12588,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+661,구)시청,0,1,1,661,37.44308,127.13905,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+459,금광1동사무소 사거리,0,1,1,459,37.44526,127.16184,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+486,궁전아파트 사거리,0,1,1,486,37.44133,127.17911,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+583,상대원 터널,0,1,1,583,37.4279,127.1795,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+443,자이아파트 삼거리,0,1,1,443,37.43238,127.15771,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+541,도촌파출소 사거리,0,1,1,541,37.41736,127.1553,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+144,태현공원4거리,0,1,1,144,37.36941,127.14248,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+305,도서관 삼거리,0,1,1,305,37.38873,127.09389,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+151,현대오피스빌딩(APUS 3거리),0,1,1,151,37.38017,127.11437,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+482,동양공업사 사거리,0,1,1,482,37.4339,127.17893,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+645,수정경찰서,0,1,1,645,37.4418,127.12739,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2101,가구거리 앞 삼거리,0,1,1,2101,37.36299,127.10162,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2001,위례중앙초 사거리,0,1,1,2001,37.46591,127.136,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2003,위례고운초 사거리,0,1,1,2003,37.46989,127.1497,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2004,위례푸른초 사거리,0,1,1,2004,37.47015,127.1471,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2006,위례서로 진입로,0,1,1,2006,37.47086,127.137,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+727,위례부영아파트,0,1,1,727,37.46057,127.14542,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+699,토끼굴,0,1,1,699,37.42609,127.09713,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2201,서당교사거리,0,1,1,2201,37.37451,127.13714,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+650,복정지구대,0,1,1,650,37.45628,127.12629,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+648,가천대,0,1,1,648,37.45056,127.12662,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+646,태평고개,0,1,1,646,37.44395,127.12701,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+520,모란 삼거리,0,1,1,520,37.43281,127.12902,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+33,장미4거리,0,1,1,33,37.41384,127.12876,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+106,서현4거리,0,1,1,106,37.38221,127.12171,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+243,미금4거리,0,1,1,243,37.34584,127.1089,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+249,동막교삼거리,0,1,1,249,37.34358,127.1089,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+256,성남우편집중국3거리,0,1,1,256,37.34073,127.10894,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+263,오리역3거리,0,1,1,263,37.33971,127.10895,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+751,신촌동 삼거리,0,1,1,751,37.45993,127.10762,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+749,오야실마을 삼거리,0,1,1,749,37.45491,127.10684,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+747,서울공항 정문 사거리,0,1,1,747,37.44851,127.10497,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+745,우정아파트 삼거리,0,1,1,745,37.44464,127.10372,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+742,등자리마을 삼거리,0,1,1,742,37.43497,127.10356,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+743,한성대 삼거리,0,1,1,743,37.43257,127.10311,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+741,대왕주유소 삼거리,0,1,1,741,37.42994,127.10205,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+740,구)고등사거리,0,1,1,740,37.42806,127.10192,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+739,구)고등동 삼거리,0,1,1,739,37.42563,127.10233,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+738,5171부대 삼거리,0,1,1,738,37.42055,127.10216,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+624,세종연구소 삼거리,0,1,1,624,37.41631,127.1016,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+623,창조벨리 삼거리,0,1,1,623,37.4122,127.09972,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+622,금토동 삼거리,0,1,1,622,37.41091,127.09946,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+405,화랑공원 삼거리,0,1,1,405,37.39624,127.10693,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+409,성남외고 삼거리,0,1,1,409,37.37823,127.10207,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+410,은혜와진리교회 삼거리,0,1,1,410,37.37497,127.10175,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+411,궁안동 입구 3거리,0,1,1,411,37.37053,127.10174,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+412,삼다가 삼거리,0,1,1,412,37.36956,127.1017,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+414,궁내T/G 사거리,0,1,1,414,37.36372,127.10158,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+415,보바스기념병원 사거리,0,1,1,415,37.35754,127.10174,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+416,로얄냉장 사거리,0,1,1,416,37.35344,127.10169,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+417,동원동 삼거리,0,1,1,417,37.34471,127.1017,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+358,동판교로사거리(세계로사거리),0,1,1,358,37.39189,127.11682,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+89,LG분당에클라트(양현4거리),0,1,1,89,37.3901,127.12243,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+95,한신아파트3거리(서현산업은행),0,1,1,95,37.38781,127.12505,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+119,안골입구4거리,0,1,1,119,37.38284,127.1322,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+135,장안동입구4거리,0,1,1,135,37.37455,127.14237,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+364,삼평 사거리(소방서),0,1,1,364,37.39984,127.11296,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+365,봇들교 사거리,0,1,1,365,37.39832,127.11296,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+367,광장로사거리(백현마을 1단지),0,1,1,367,37.39376,127.11294,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+369,백현 사거리(신백현초),0,1,1,369,37.38794,127.11293,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+163,샛별3거리,0,1,1,163,37.36913,127.12878,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+102,서현교4거리,0,1,1,102,37.38676,127.11658,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+214,금곡주유소3거리,0,1,1,214,37.3599,127.10424,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+79,안말4거리,0,1,1,79,37.39472,127.12537,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+250,시그마3거리,0,1,1,250,37.34264,127.10451,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+260,까르프3거리,0,1,1,260,37.33967,127.10448,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+658,중앙시장,0,1,1,658,37.44092,127.1318,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+660,탄리사거리,0,1,1,660,37.44221,127.13612,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+461,해오름 사거리,0,1,1,461,37.44396,127.1579,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+320,판교로 2사거리,0,1,1,320,37.3888,127.08485,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+371,판교테크노14사거리(테크윈),0,1,1,371,37.40322,127.10968,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+350,송현초 4거리(사송사거리),0,1,1,350,37.40432,127.11616,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+503,상대원시장 삼거리,0,1,1,503,37.43639,127.15814,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+64,아름4거리,0,1,1,64,37.40544,127.1236,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+19,목련3거리,0,1,1,19,37.40776,127.13789,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+5,상탑초3거리,0,1,1,5,37.4056,127.14473,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+6,야탑3치안센터(상탑 P.B),0,1,1,6,37.40548,127.14822,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+722,태평오거리,0,1,1,722,37.4461,127.13429,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+297,운중교차로 사거리,0,1,1,297,37.39115,127.06307,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+325,두밀 사거리(국은교),0,1,1,325,37.38792,127.07503,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+321,하산운 삼거리,0,1,1,321,37.38703,127.08421,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+185,백현교4거리,0,1,1,185,37.37718,127.11033,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+156,내정4거리,0,1,1,156,37.37164,127.11659,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+167,푸른마을삼거리(연정교회3거리),0,1,1,167,37.36514,127.12457,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+476,신흥 사거리,0,1,1,476,37.43961,127.14455,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+691,한전사거리,0,1,1,691,37.44483,127.12997,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2,동원SK삼거리(아시아 주유소),0,1,1,2,37.41281,127.14381,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+180,정든마을4거리,0,1,1,180,37.36347,127.11906,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+240,까치마을4거리,0,1,1,240,37.35102,127.11522,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+298,상상운 삼거리,0,1,1,298,37.39143,127.06526,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+299,운중초교 사거리,0,1,1,299,37.39144,127.068,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+302,산운 사거리,0,1,1,302,37.39137,127.08157,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+596,신흥성당,0,1,1,596,37.4487,127.14306,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+592,희망대사거리,0,1,1,592,37.44481,127.14798,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+463,중앙동 사거리,0,1,1,463,37.44178,127.15284,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+507,도촌동입구 사거리,0,1,1,507,37.41546,127.1478,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+532,도촌남로 사거리,0,1,1,532,37.41422,127.15018,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+534,도촌중입구 사거리,0,1,1,534,37.41448,127.15507,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+536,도촌초교 삼거리,0,1,1,536,37.41361,127.15836,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+484,근로복지관 삼거리,0,1,1,484,37.43794,127.1786,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+496,래미안 삼거리,0,1,1,496,37.4502,127.17435,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+506,도촌동입구 삼거리,0,1,1,506,37.41724,127.14992,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+232,청솔마을4거리,0,1,1,232,37.35344,127.10888,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+522,탄천로변 삼거리,0,1,1,522,37.43037,127.11889,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+570,모란주차장사거리,0,1,1,570,37.42968,127.12612,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+448,검단초교 사거리,0,1,1,448,37.42828,127.14473,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+445,아튼빌정문 사거리,0,1,1,445,37.42997,127.15166,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+437,반포산업 사거리,0,1,1,437,37.43112,127.17419,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+38,야탑시그마Ⅲ 3거리,0,1,1,38,37.41383,127.13047,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+25,매화4거리,0,1,1,25,37.41339,127.13389,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+633,금광시장,0,1,1,633,37.45085,127.15952,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+634,법원,0,1,1,634,37.45199,127.16003,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+636,상원초교,0,1,1,636,37.45519,127.16179,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+638,은행시장,0,1,1,638,37.45804,127.16422,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+639,을지대 정문,0,1,1,639,37.45986,127.16576,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+676,변전소,0,1,1,676,37.46224,127.1552,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+16,중탑4거리,0,1,1,16,37.41307,127.13865,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+373,안철수연구소 사거리,0,1,1,373,37.40094,127.10967,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+376,동안 사거리,0,1,1,376,37.39622,127.10968,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+377,환승주차장 삼거리,0,1,1,377,37.39375,127.10967,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+379,낙생대공원 삼거리,0,1,1,379,37.38795,127.10841,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+103,분당소방서3거리(서현소방서3거리),0,1,1,103,37.38539,127.11812,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+193,상록마을아이파크분당1(백궁현대 ),0,1,1,193,37.37094,127.10592,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+491,중원경찰서 사거리,0,1,1,491,37.44231,127.16868,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2102,클라우드베이 사거리,0,1,1,2102,37.37049,127.0697,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2104,판교대장초 사거리,0,1,1,2104,37.36979,127.0695,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+425,대장I/C 입구,0,1,1,425,37.35943,127.0682,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2103,대장천사거리,0,1,1,2103,37.37132,127.0716,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2105,판교포레나인9단지,0,1,1,2105,37.36995,127.0687,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2002,위례보미리즌빌,0,1,1,2002,37.47118,127.1374,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2007,남위례아이파크,0,1,1,2007,37.46994,127.1464,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2008,위례한빛고 남측,0,1,1,2008,37.46687,127.14892,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+424,대장I/C 출구,0,1,1,424,37.36174,127.06778,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+637,은행지구대,0,1,1,637,37.45706,127.16339,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2005,위례터널진입부삼거리,0,1,1,2005,37.46951,127.1502,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+2010,수정구청앞,0,1,1,2010,37.44992,127.14648,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
+420,정신문화연구원,0,1,1,420,37.39141,127.0573,1,1,Y,Y,2024-07-16 17:11:22.680000,,,
diff --git a/Data/tables/20240718/TN_IF_SIGL_FLOW.csv b/Data/tables/20240718/TN_IF_SIGL_FLOW.csv
new file mode 100644
index 000000000..273471ec1
--- /dev/null
+++ b/Data/tables/20240718/TN_IF_SIGL_FLOW.csv
@@ -0,0 +1,6 @@
+CRSRD_ID,PHASE,RING,FLOW_NO,STOS_NO,SIGL_ARROW
+1,2,A,4,0,"[6, 36.1235, 127.1234, 36.1235, 127.1234, 36.1235, 127.1234]"
+1,2,B,1,0,"[[1, 36.1235, 127.1234, 36.1235, 127.1234, 36.1235, 127.1234], []]"
+1,1,A,1,0,"[3, 36.1235, 127.1234, 36.1235, 127.1234, 36.1235, 127.1234]"
+1,1,B,1,0,"[[1, 36.1235, 127.1234, 36.1235, 127.1234, 36.1235, 127.1234], []]"
+1,1,A,2,0,"[6, 36.1235, 127.1234, 36.1235, 127.1234, 36.1235, 127.1234]"
diff --git a/Documents/1127_table_definition/table_definition_v0.8.7.xlsx b/Documents/1127_table_definition/table_definition_v0.8.7.xlsx
index 7bd5a5870..89dfa78b7 100644
Binary files a/Documents/1127_table_definition/table_definition_v0.8.7.xlsx and b/Documents/1127_table_definition/table_definition_v0.8.7.xlsx differ
diff --git a/Documents/신호생성 정리(240712).pptx b/Documents/신호생성 정리(240712).pptx
index 7a5e03e85..5a56146c4 100644
Binary files a/Documents/신호생성 정리(240712).pptx and b/Documents/신호생성 정리(240712).pptx differ
diff --git a/Scripts/__pycache__/generate_signals.cpython-38.pyc b/Scripts/__pycache__/generate_signals.cpython-38.pyc
index ca854b151..209dc4980 100644
Binary files a/Scripts/__pycache__/generate_signals.cpython-38.pyc and b/Scripts/__pycache__/generate_signals.cpython-38.pyc differ
diff --git a/Scripts/__pycache__/preprocess_daily.cpython-38.pyc b/Scripts/__pycache__/preprocess_daily.cpython-38.pyc
index dbd7a488c..e5d3aa7bf 100644
Binary files a/Scripts/__pycache__/preprocess_daily.cpython-38.pyc and b/Scripts/__pycache__/preprocess_daily.cpython-38.pyc differ
diff --git a/Scripts/preprocess_daily.py b/Scripts/preprocess_daily.py
index bdd232a8f..191d33733 100644
--- a/Scripts/preprocess_daily.py
+++ b/Scripts/preprocess_daily.py
@@ -415,16 +415,6 @@ class DailyPreprocessor():
컬럼명 : inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle
'''
- if self.config_name == 'draft':
- pass
- else:
- iprsuse = list(zip(self.angle['inter_no'], self.angle['phase_no'], self.angle['ring_type'], self.angle['STOS_NO']))
- if len(iprsuse) == len(set(iprsuse)):
- self.iprs2move = dict(zip(zip(self.angle.inter_no, self.angle.phase_no, self.angle.ring_type, self.angle.STOS_NO), self.angle.move_no.dropna()))
- else:
- pass
- self.angle = self.angle.drop(columns=['phase_no', 'ring_type', 'STOS_NO']).dropna(subset='angle_code')
- self.angle['move_no'] = self.angle['move_no'].astype(int)
# helper dictionaries
im2inc_angle = dict() # a dictionary that maps (inter_no, move_no) to inc_angle
@@ -1004,9 +994,6 @@ class DailyPreprocessor():
with open(os.path.join(self.path_intermediates,'node2num_cycles.json'), 'w') as file:
json.dump(node2num_cycles, file, indent=4)
print("2-5. node2num_cycles.json를 저장했습니다.")
- if self.config_name != 'draft':
- with open(os.path.join(self.path_intermediates, 'iprs2move.pkl'), 'wb') as file:
- pickle.dump(self.iprs2move, file)
# 3. 이슈사항 저장
def write_issues(self):
diff --git a/analysis/0709_fetch_tables/fetch_tables.ipynb b/analysis/0709_fetch_tables/fetch_tables.ipynb
index 3d65cc5a0..9b5fe0d1d 100644
--- a/analysis/0709_fetch_tables/fetch_tables.ipynb
+++ b/analysis/0709_fetch_tables/fetch_tables.ipynb
@@ -17,34 +17,22 @@
"metadata": {},
"outputs": [
{
- "data": {
- "text/plain": [
- "{'connection_info': {'DSNNAME': 'Tibero6',\n",
- " 'DBUSER': 'snits',\n",
- " 'DBPWD': 'snitsUIspxmworks#PW'},\n",
- " 'paths': {'data': ['Data'],\n",
- " 'intermediates': ['Intermediates'],\n",
- " 'results': ['Results'],\n",
- " 'tables': ['Data', 'tables'],\n",
- " 'networks': ['Data', 'networks'],\n",
- " 'scripts': ['Scripts']}}"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "c:\\Github\\snits_siggen\\Data\\tables\n"
+ "ename": "FileNotFoundError",
+ "evalue": "[Errno 2] No such file or directory: 'c:\\\\Github\\\\snits_siggen\\\\configs\\\\config.json'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[1;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[1;32mIn[2], line 3\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m# 루트폴더 지정\u001b[39;00m\n\u001b[0;32m 2\u001b[0m path_root \u001b[38;5;241m=\u001b[39m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mdirname(os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mdirname(os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mabspath(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m'\u001b[39m)))\n\u001b[1;32m----> 3\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mos\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpath\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mjoin\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpath_root\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mconfigs\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mconfig.json\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mr\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m config_file:\n\u001b[0;32m 4\u001b[0m config \u001b[38;5;241m=\u001b[39m json\u001b[38;5;241m.\u001b[39mload(config_file)\n\u001b[0;32m 6\u001b[0m display(config)\n",
+ "File \u001b[1;32mc:\\Github\\snits_siggen\\siggen\\lib\\site-packages\\IPython\\core\\interactiveshell.py:284\u001b[0m, in \u001b[0;36m_modified_open\u001b[1;34m(file, *args, **kwargs)\u001b[0m\n\u001b[0;32m 277\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m file \u001b[38;5;129;01min\u001b[39;00m {\u001b[38;5;241m0\u001b[39m, \u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m2\u001b[39m}:\n\u001b[0;32m 278\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[0;32m 279\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mIPython won\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt let you open fd=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfile\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m by default \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 280\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mas it is likely to crash IPython. If you know what you are doing, \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 281\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124myou can use builtins\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m open.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 282\u001b[0m )\n\u001b[1;32m--> 284\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mio_open\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+ "\u001b[1;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'c:\\\\Github\\\\snits_siggen\\\\configs\\\\config.json'"
]
}
],
"source": [
"# 루트폴더 지정\n",
"path_root = os.path.dirname(os.path.dirname(os.path.abspath('.')))\n",
- "with open(os.path.join(path_root, 'configs', 'config.json'), 'r') as config_file:\n",
+ "with open(os.path.join(path_root, 'configs', 'config_revised.json'), 'r') as config_file:\n",
" config = json.load(config_file)\n",
"\n",
"display(config)\n",
@@ -62,7 +50,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -76,7 +64,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -100,7 +88,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -121,7 +109,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": null,
"metadata": {},
"outputs": [
{
@@ -143,6 +131,13 @@
" print(table)\n",
" fetch_table(table)"
]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
diff --git a/analysis/0712_revise_code/0717_revise_code.ipynb b/analysis/0712_revise_code/0717_revise_code.ipynb
index 36089b0be..6e6e52833 100644
--- a/analysis/0712_revise_code/0717_revise_code.ipynb
+++ b/analysis/0712_revise_code/0717_revise_code.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 18,
+ "execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
@@ -22,7 +22,7 @@
},
{
"cell_type": "code",
- "execution_count": 25,
+ "execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
@@ -31,7 +31,7 @@
},
{
"cell_type": "code",
- "execution_count": 27,
+ "execution_count": 3,
"metadata": {},
"outputs": [
{
@@ -59,7 +59,574 @@
},
{
"cell_type": "code",
- "execution_count": 46,
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "self.make_matching()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 8 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 7 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 6 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 175 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phas_A phas_B move_A move_B\n",
+ "0 175 1 1 8 4\n",
+ "1 175 2 2 7 3\n",
+ "2 175 3 3 6 1\n",
+ "3 175 3 4 6 2\n",
+ "4 175 4 4 5 2"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# 모든 inter_no(교차로번호)에 대한 A, B링 현시별 이동류정보\n",
+ "self.match1.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " B | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " A | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " B | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " A | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no\n",
+ "0 175 1 A 8\n",
+ "0 175 1 B 4\n",
+ "1 175 2 A 7\n",
+ "1 175 2 B 3\n",
+ "2 175 3 A 6"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# match1을 계층화한 테이블\n",
+ "self.match2.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ " 남 | \n",
+ " 북 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " B | \n",
+ " 4 | \n",
+ " 북 | \n",
+ " 남 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " A | \n",
+ " 7 | \n",
+ " 북 | \n",
+ " 동 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " B | \n",
+ " 3 | \n",
+ " 남 | \n",
+ " 서 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " A | \n",
+ " 6 | \n",
+ " 동 | \n",
+ " 서 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire\n",
+ "0 175 1 A 8 남 북\n",
+ "1 175 1 B 4 북 남\n",
+ "2 175 2 A 7 북 동\n",
+ "3 175 2 B 3 남 서\n",
+ "4 175 3 A 6 동 서"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# match2의 각 이동류번호에 진입방향, 진출방향을 매칭시킨 테이블\n",
+ "self.match3.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ " 남 | \n",
+ " 북 | \n",
+ " 179 | \n",
+ " 004 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " B | \n",
+ " 4 | \n",
+ " 북 | \n",
+ " 남 | \n",
+ " 003 | \n",
+ " 176 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " A | \n",
+ " 7 | \n",
+ " 북 | \n",
+ " 동 | \n",
+ " 001 | \n",
+ " 095 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " B | \n",
+ " 3 | \n",
+ " 남 | \n",
+ " 서 | \n",
+ " 179 | \n",
+ " 271 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " A | \n",
+ " 6 | \n",
+ " 동 | \n",
+ " 서 | \n",
+ " 092 | \n",
+ " 270 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle out_angle\n",
+ "0 175 1 A 8 남 북 179 004\n",
+ "1 175 1 B 4 북 남 003 176\n",
+ "2 175 2 A 7 북 동 001 095\n",
+ "3 175 2 B 3 남 서 179 271\n",
+ "4 175 3 A 6 동 서 092 270"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# match3의 각 이동류번호에 진입/진출 방위각을 매칭시킨 테이블\n",
+ "self.match4.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " node_type | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ " 남 | \n",
+ " 북 | \n",
+ " 179 | \n",
+ " 004 | \n",
+ " -571542797_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " normal | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " B | \n",
+ " 4 | \n",
+ " 북 | \n",
+ " 남 | \n",
+ " 003 | \n",
+ " 176 | \n",
+ " -571500487_01 | \n",
+ " 571542797_02 | \n",
+ " i0 | \n",
+ " normal | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " A | \n",
+ " 7 | \n",
+ " 북 | \n",
+ " 동 | \n",
+ " 001 | \n",
+ " 095 | \n",
+ " -571500487_01 | \n",
+ " 571545870_01 | \n",
+ " i0 | \n",
+ " normal | \n",
+ " left | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " B | \n",
+ " 3 | \n",
+ " 남 | \n",
+ " 서 | \n",
+ " 179 | \n",
+ " 271 | \n",
+ " -571542797_02 | \n",
+ " 571510153_01 | \n",
+ " i0 | \n",
+ " normal | \n",
+ " left | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " A | \n",
+ " 6 | \n",
+ " 동 | \n",
+ " 서 | \n",
+ " 092 | \n",
+ " 270 | \n",
+ " 571545870_02 | \n",
+ " 571510153_01 | \n",
+ " i0 | \n",
+ " normal | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "0 175 1 A 8 남 북 179 \n",
+ "1 175 1 B 4 북 남 003 \n",
+ "2 175 2 A 7 북 동 001 \n",
+ "3 175 2 B 3 남 서 179 \n",
+ "4 175 3 A 6 동 서 092 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id node_type turn_type \n",
+ "0 004 -571542797_02 571500487_01 i0 normal straight \n",
+ "1 176 -571500487_01 571542797_02 i0 normal straight \n",
+ "2 095 -571500487_01 571545870_01 i0 normal left \n",
+ "3 271 -571542797_02 571510153_01 i0 normal left \n",
+ "4 270 571545870_02 571510153_01 i0 normal straight "
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# match4의 각 행에 진입엣지id, 진출엣지id 노드id 추가한 테이블\n",
+ "self.match5.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
"metadata": {},
"outputs": [
{
@@ -179,1403 +746,182 @@
" normal | \n",
" straight | \n",
" \n",
+ " \n",
+ "\n",
+ ""
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "0 175 1 A 8 남 북 179 \n",
+ "1 175 1 B 4 북 남 003 \n",
+ "2 175 2 A 7 북 동 001 \n",
+ "3 175 2 B 3 남 서 179 \n",
+ "4 175 3 A 6 동 서 092 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id node_type turn_type \n",
+ "0 004 -571542797_02 571500487_01 i0 normal straight \n",
+ "1 176 -571500487_01 571542797_02 i0 normal straight \n",
+ "2 095 -571500487_01 571545870_01 i0 normal left \n",
+ "3 271 -571542797_02 571510153_01 i0 normal left \n",
+ "4 270 571545870_02 571510153_01 i0 normal straight "
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# match5에서 부교차로(유턴교차로, 연동교차로)에 대한 행들을 추가함\n",
+ "self.match6.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " node_id | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
+ " 0 | \n",
+ " 175 | \n",
+ " i0 | \n",
+ " 1 | \n",
+ " 동 | \n",
+ " 남 | \n",
+ " 571545870_02 | \n",
+ " 571542797_02 | \n",
+ " left | \n",
"
\n",
" \n",
- " 103 | \n",
- " 210 | \n",
- " 2 | \n",
- " B | \n",
+ " 1 | \n",
+ " 175 | \n",
+ " i0 | \n",
" 2 | \n",
" 서 | \n",
" 동 | \n",
- " 270 | \n",
- " 090 | \n",
- " NaN | \n",
- " NaN | \n",
- " u60 | \n",
- " u_turn | \n",
+ " 571510153_02 | \n",
+ " 571545870_01 | \n",
" straight | \n",
"
\n",
" \n",
- " 104 | \n",
- " 210 | \n",
+ " 2 | \n",
+ " 175 | \n",
+ " i0 | \n",
" 3 | \n",
- " A | \n",
- " 7 | \n",
- " 북 | \n",
- " 동 | \n",
- " 359 | \n",
- " 090 | \n",
- " NaN | \n",
- " NaN | \n",
- " u60 | \n",
- " u_turn | \n",
+ " 남 | \n",
+ " 서 | \n",
+ " -571542797_02 | \n",
+ " 571510153_01 | \n",
" left | \n",
"
\n",
" \n",
- " 105 | \n",
- " 210 | \n",
- " 3 | \n",
- " B | \n",
+ " 3 | \n",
+ " 175 | \n",
+ " i0 | \n",
" 4 | \n",
" 북 | \n",
" 남 | \n",
- " 000 | \n",
- " 180 | \n",
- " NaN | \n",
- " NaN | \n",
- " u60 | \n",
- " u_turn | \n",
- " straight | \n",
- "
\n",
- " \n",
- " 106 | \n",
- " 210 | \n",
- " 4 | \n",
- " A | \n",
- " 8 | \n",
- " 남 | \n",
- " 북 | \n",
- " 180 | \n",
- " 000 | \n",
- " NaN | \n",
- " NaN | \n",
- " u60 | \n",
- " u_turn | \n",
+ " -571500487_01 | \n",
+ " 571542797_02 | \n",
" straight | \n",
"
\n",
" \n",
- " 107 | \n",
- " 210 | \n",
- " 4 | \n",
- " B | \n",
- " 3 | \n",
- " 남 | \n",
+ " 4 | \n",
+ " 175 | \n",
+ " i0 | \n",
+ " 5 | \n",
" 서 | \n",
- " 180 | \n",
- " 270 | \n",
- " NaN | \n",
- " NaN | \n",
- " u60 | \n",
- " u_turn | \n",
+ " 북 | \n",
+ " 571510153_02 | \n",
+ " 571500487_01 | \n",
" left | \n",
"
\n",
" \n",
"
\n",
- "
108 rows × 13 columns
\n",
"
"
],
"text/plain": [
- " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
- "0 175 1 A 8 남 북 179 \n",
- "1 175 1 B 4 북 남 003 \n",
- "2 175 2 A 7 북 동 001 \n",
- "3 175 2 B 3 남 서 179 \n",
- "4 175 3 A 6 동 서 092 \n",
- ".. ... ... ... ... ... ... ... \n",
- "103 210 2 B 2 서 동 270 \n",
- "104 210 3 A 7 북 동 359 \n",
- "105 210 3 B 4 북 남 000 \n",
- "106 210 4 A 8 남 북 180 \n",
- "107 210 4 B 3 남 서 180 \n",
+ " inter_no node_id move_no inc_dire out_dire inc_edge_id out_edge_id \\\n",
+ "0 175 i0 1 동 남 571545870_02 571542797_02 \n",
+ "1 175 i0 2 서 동 571510153_02 571545870_01 \n",
+ "2 175 i0 3 남 서 -571542797_02 571510153_01 \n",
+ "3 175 i0 4 북 남 -571500487_01 571542797_02 \n",
+ "4 175 i0 5 서 북 571510153_02 571500487_01 \n",
"\n",
- " out_angle inc_edge_id out_edge_id node_id node_type turn_type \n",
- "0 004 -571542797_02 571500487_01 i0 normal straight \n",
- "1 176 -571500487_01 571542797_02 i0 normal straight \n",
- "2 095 -571500487_01 571545870_01 i0 normal left \n",
- "3 271 -571542797_02 571510153_01 i0 normal left \n",
- "4 270 571545870_02 571510153_01 i0 normal straight \n",
- ".. ... ... ... ... ... ... \n",
- "103 090 NaN NaN u60 u_turn straight \n",
- "104 090 NaN NaN u60 u_turn left \n",
- "105 180 NaN NaN u60 u_turn straight \n",
- "106 000 NaN NaN u60 u_turn straight \n",
- "107 270 NaN NaN u60 u_turn left \n",
- "\n",
- "[108 rows x 13 columns]"
- ]
- },
- "execution_count": 46,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "self.match6"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 28,
- "metadata": {},
- "outputs": [],
- "source": [
- "self.match7 = self.match6.copy()\n",
- "self.match7 = self.match7[['inter_no', 'node_id', 'move_no', 'inc_angle', 'out_angle', 'inc_dire', 'out_dire', 'inc_edge_id', 'out_edge_id', 'node_type', 'turn_type']]\n",
- "\n",
- "# (1) 각 교차로별 방향 목록 : pdires (possible directions)\n",
- "p2dires = {} # parent_id to directions\n",
- "for parent_id in self.parent_ids:\n",
- " dires = self.match7[self.match7.node_id == parent_id][['inc_dire','out_dire']].values.flatten()\n",
- " dires = {dire for dire in dires if type(dire)==str}\n",
- " p2dires[parent_id] = dires\n",
- "\n",
- "# (2) 각 (교차로, 진입방향) 별 진입id 목록 : inc2id (incoming direction to incoming edge_id)\n",
- "inc2id = {}\n",
- "for parent_id in self.parent_ids:\n",
- " for inc_dire in p2dires[parent_id]:\n",
- " df = self.match7[(self.match7.node_id==parent_id) & (self.match7.inc_dire==inc_dire)]\n",
- " inc2id[(parent_id, inc_dire)] = df.inc_edge_id.iloc[0]\n",
- "\n",
- "# (3) 각 (교차로, 진출방향) 별 진출id 목록 : out2id (outgoing direction to outgoing edge_id)\n",
- "out2id = {}\n",
- "for parent_id in self.parent_ids:\n",
- " for out_dire in p2dires[parent_id]:\n",
- " df = self.match7[(self.match7.node_id==parent_id) & (self.match7.out_dire==out_dire)]\n",
- " out2id[(parent_id, out_dire)] = df.out_edge_id.iloc[0]\n",
- "\n",
- "# (4) 각 parent_id별 이동류번호 목록\n",
- "p2move = dict() # parent id to a list of aligned movement numbers\n",
- "for parent_id in self.parent_ids:\n",
- " pnema = self.nema[self.nema.inc_dire.isin(p2dires[parent_id]) & self.nema.out_dire.isin(p2dires[parent_id])]\n",
- " p2move[parent_id] = list(pnema.move_no)\n",
- "\n",
- "# (5) 방위별 방향벡터\n",
- "dire2vec = dict() # direction to unit vector\n",
- "theta = np.pi/2\n",
- "for dire in self.dires:\n",
- " dire2vec[dire] = np.array([np.cos(theta), np.sin(theta)])\n",
- " theta -= np.pi/4\n",
- "\n",
- "# (6) 각 parent_id별 : 각 이동류별 진입/진출 엣지 id\n",
- "p2move2inc_edge_id = dict() # parent id to move2inc_edge_id\n",
- "p2move2out_edge_id = dict() # parent id to move2out_edge_id\n",
- "for parent_id in self.parent_ids:\n",
- " move2inc_edge_id = dict() # plain movement to incoming edge id\n",
- " move2out_edge_id = dict() # plain movement to outgoing edge id\n",
- " for move_no in range(1,17):\n",
- " row = self.nema[self.nema.move_no==move_no].iloc[0]\n",
- " inc_dire = row.inc_dire\n",
- " out_dire = row.out_dire\n",
- " inc_vec_true = dire2vec[inc_dire]\n",
- " out_vec_true = dire2vec[out_dire]\n",
- "\n",
- " node = self.net.getNode(parent_id)\n",
- " # 교차로의 모든 (from / to) edges\n",
- " inc_edges = [edge for edge in node.getIncoming() if edge.getFunction() == ''] # incoming edges\n",
- " out_edges = [edge for edge in node.getOutgoing() if edge.getFunction() == ''] # outgoing edges\n",
- " # 교차로의 모든 (from / to) unit vector\n",
- " inc_vecs = []\n",
- " for inc_edge in inc_edges:\n",
- " start = inc_edge.getShape()[-1]\n",
- " end = inc_edge.getShape()[-2]\n",
- " inc_vec = np.array(end) - np.array(start)\n",
- " inc_vec = inc_vec / (inc_vec ** 2).sum() ** 0.5\n",
- " inc_vecs.append(inc_vec)\n",
- " out_vecs = []\n",
- " for out_edge in out_edges:\n",
- " start = out_edge.getShape()[0]\n",
- " end = out_edge.getShape()[1]\n",
- " out_vec = np.array(end) - np.array(start)\n",
- " out_vec = out_vec / (out_vec ** 2).sum() ** 0.5\n",
- " out_vecs.append(out_vec)\n",
- " # 매칭 엣지 반환\n",
- " inc_index = np.array([np.dot(inc_vec, inc_vec_true) for inc_vec in inc_vecs]).argmax()\n",
- " out_index = np.array([np.dot(out_vec, out_vec_true) for out_vec in out_vecs]).argmax()\n",
- " inc_edge_id = inc_edges[inc_index].getID()\n",
- " out_edge_id = out_edges[out_index].getID()\n",
- " move2inc_edge_id[move_no] = inc_edge_id\n",
- " move2out_edge_id[move_no] = out_edge_id\n",
- " p2move2inc_edge_id[parent_id] = move2inc_edge_id\n",
- " p2move2out_edge_id[parent_id] = move2out_edge_id\n",
- "\n",
- "# (7) 각 이동류별 진입/진출 방위\n",
- "m2inc_dire = dict()\n",
- "m2out_dire = dict()\n",
- "for move_no in range(1,17):\n",
- " row = self.nema[self.nema.move_no==move_no].iloc[0]\n",
- " m2inc_dire[move_no] = row.inc_dire\n",
- " m2out_dire[move_no] = row.out_dire\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 45,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'i0': [1, 2, 3, 4, 5, 6, 7, 8],\n",
- " 'i1': [3, 4, 5, 8],\n",
- " 'i2': [4, 8],\n",
- " 'i3': [1, 2, 3, 4, 5, 6, 7, 8],\n",
- " 'i6': [1, 2, 3, 4, 5, 6, 7, 8],\n",
- " 'i7': [4, 8],\n",
- " 'i8': [1, 2, 3, 4, 5, 6, 7, 8],\n",
- " 'i9': [2, 6]}"
+ " turn_type \n",
+ "0 left \n",
+ "1 straight \n",
+ "2 left \n",
+ "3 straight \n",
+ "4 left "
]
},
- "execution_count": 45,
+ "execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "p2move"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 37,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "i0\n",
- "1\n",
- "571545870_02\n",
- "571545870_02\n",
- "2\n",
- "571510153_02\n",
- "571510153_02\n",
- "3\n",
- "-571542797_02\n",
- "-571542797_02\n",
- "4\n",
- "-571500487_01\n",
- "-571500487_01\n",
- "5\n",
- "571510153_02\n",
- "571510153_02\n",
- "6\n",
- "571545870_02\n",
- "571545870_02\n",
- "7\n",
- "-571500487_01\n",
- "-571500487_01\n",
- "8\n",
- "-571542797_02\n",
- "-571542797_02\n",
- "9\n",
- "-571500487_01\n",
- "-571500487_01\n",
- "10\n",
- "571510153_02\n",
- "571510153_02\n",
- "11\n",
- "571545870_02\n",
- "571545870_02\n",
- "12\n",
- "-571500487_01\n",
- "-571500487_01\n",
- "13\n",
- "571510153_02\n",
- "571510153_02\n",
- "14\n",
- "-571500487_01\n",
- "-571500487_01\n",
- "15\n",
- "-571500487_01\n",
- "-571500487_01\n",
- "16\n",
- "571545870_02\n",
- "571545870_02\n",
- "i1\n",
- "1\n",
- "571542797_02.99\n",
- "571542797_02.99\n",
- "2\n",
- "571543469_02\n",
- "571543469_02\n",
- "3\n",
- "-571542810_01\n",
- "-571542810_01\n",
- "4\n",
- "571542797_02.99\n",
- "571542797_02.99\n",
- "5\n",
- "571543469_02\n",
- "571543469_02\n",
- "6\n",
- "571542797_02.99\n",
- "571542797_02.99\n",
- "7\n",
- "571542797_02.99\n",
- "571542797_02.99\n",
- "8\n",
- "-571542810_01\n",
- "-571542810_01\n",
- "9\n",
- "571542797_02.99\n",
- "571542797_02.99\n",
- "10\n",
- "-571542810_01\n",
- "-571542810_01\n",
- "11\n",
- "-571542810_01\n",
- "-571542810_01\n",
- "12\n",
- "571543469_02\n",
- "571543469_02\n",
- "13\n",
- "-571542810_01\n",
- "-571542810_01\n",
- "14\n",
- "571542797_02.99\n",
- "571542797_02.99\n",
- "15\n",
- "571543469_02\n",
- "571543469_02\n",
- "16\n",
- "-571542810_01\n",
- "-571542810_01\n",
- "i2\n",
- "1\n",
- "571542107_02\n",
- "571542107_02\n",
- "2\n",
- "-571542809_01\n",
- "-571542809_01\n",
- "3\n",
- "-571542809_01\n",
- "-571542809_01\n",
- "4\n",
- "571542811_02\n",
- "571542811_02\n",
- "5\n",
- "-571542809_01\n",
- "-571542809_01\n",
- "6\n",
- "571542107_02\n",
- "571542107_02\n",
- "7\n",
- "571542811_02\n",
- "571542811_02\n",
- "8\n",
- "-571542809_01\n",
- "-571542809_01\n",
- "9\n",
- "571542107_02\n",
- "571542107_02\n",
- "10\n",
- "-571542809_01\n",
- "-571542809_01\n",
- "11\n",
- "-571542809_01\n",
- "-571542809_01\n",
- "12\n",
- "571542811_02\n",
- "571542811_02\n",
- "13\n",
- "-571542809_01\n",
- "-571542809_01\n",
- "14\n",
- "571542107_02\n",
- "571542107_02\n",
- "15\n",
- "571542811_02\n",
- "571542811_02\n",
- "16\n",
- "-571542809_01\n",
- "-571542809_01\n",
- "i3\n",
- "1\n",
- "-571500475_01\n",
- "-571500475_01\n",
- "2\n",
- "571540303_02.21\n",
- "571540303_02.21\n",
- "3\n",
- "571540304_02\n",
- "571540304_02\n",
- "4\n",
- "571556450_02\n",
- "571556450_02\n",
- "5\n",
- "571540303_02.21\n",
- "571540303_02.21\n",
- "6\n",
- "-571500475_01\n",
- "-571500475_01\n",
- "7\n",
- "571556450_02\n",
- "571556450_02\n",
- "8\n",
- "571540304_02\n",
- "571540304_02\n",
- "9\n",
- "571556450_02\n",
- "571556450_02\n",
- "10\n",
- "571540304_02\n",
- "571540304_02\n",
- "11\n",
- "-571500475_01\n",
- "-571500475_01\n",
- "12\n",
- "571540303_02.21\n",
- "571540303_02.21\n",
- "13\n",
- "571540304_02\n",
- "571540304_02\n",
- "14\n",
- "571556450_02\n",
- "571556450_02\n",
- "15\n",
- "571540303_02.21\n",
- "571540303_02.21\n",
- "16\n",
- "-571500475_01\n",
- "-571500475_01\n",
- "i6\n",
- "1\n",
- "-571542115_01\n",
- "-571542115_01\n",
- "2\n",
- "571500535_02.18\n",
- "571500535_02.18\n",
- "3\n",
- "571500585_02\n",
- "571500585_02\n",
- "4\n",
- "571511538_02.121\n",
- "571511538_02.121\n",
- "5\n",
- "571500535_02.18\n",
- "571500535_02.18\n",
- "6\n",
- "-571542115_01\n",
- "-571542115_01\n",
- "7\n",
- "571511538_02.121\n",
- "571511538_02.121\n",
- "8\n",
- "571500585_02\n",
- "571500585_02\n",
- "9\n",
- "571511538_02.121\n",
- "571511538_02.121\n",
- "10\n",
- "571500585_02\n",
- "571500585_02\n",
- "11\n",
- "-571542115_01\n",
- "-571542115_01\n",
- "12\n",
- "571500535_02.18\n",
- "571500535_02.18\n",
- "13\n",
- "571500585_02\n",
- "571500585_02\n",
- "14\n",
- "571511538_02.121\n",
- "571511538_02.121\n",
- "15\n",
- "571500535_02.18\n",
- "571500535_02.18\n",
- "16\n",
- "-571542115_01\n",
- "-571542115_01\n",
- "i7\n",
- "1\n",
- "571542071_02\n",
- "571542071_02\n",
- "2\n",
- "-571511538_02\n",
- "-571511538_02\n",
- "3\n",
- "-571511538_02\n",
- "-571511538_02\n",
- "4\n",
- "571542073_01\n",
- "571542073_01\n",
- "5\n",
- "-571511538_02\n",
- "-571511538_02\n",
- "6\n",
- "571542071_02\n",
- "571542071_02\n",
- "7\n",
- "571542073_01\n",
- "571542073_01\n",
- "8\n",
- "-571511538_02\n",
- "-571511538_02\n",
- "9\n",
- "571542073_01\n",
- "571542073_01\n",
- "10\n",
- "-571511538_02\n",
- "-571511538_02\n",
- "11\n",
- "571542071_02\n",
- "571542071_02\n",
- "12\n",
- "571542073_01\n",
- "571542073_01\n",
- "13\n",
- "-571511538_02\n",
- "-571511538_02\n",
- "14\n",
- "571542073_01\n",
- "571542073_01\n",
- "15\n",
- "571542073_01\n",
- "571542073_01\n",
- "16\n",
- "571542071_02\n",
- "571542071_02\n",
- "i8\n",
- "1\n",
- "571500617_02\n",
- "571500617_02\n",
- "2\n",
- "571500618_02\n",
- "571500618_02\n",
- "3\n",
- "-571500569_01\n",
- "-571500569_01\n",
- "4\n",
- "571500583_01\n",
- "571500583_01\n",
- "5\n",
- "571500618_02\n",
- "571500618_02\n",
- "6\n",
- "571500617_02\n",
- "571500617_02\n",
- "7\n",
- "571500583_01\n",
- "571500583_01\n",
- "8\n",
- "-571500569_01\n",
- "-571500569_01\n",
- "9\n",
- "571500583_01\n",
- "571500583_01\n",
- "10\n",
- "-571500569_01\n",
- "-571500569_01\n",
- "11\n",
- "571500617_02\n",
- "571500617_02\n",
- "12\n",
- "571500618_02\n",
- "571500618_02\n",
- "13\n",
- "-571500569_01\n",
- "-571500569_01\n",
- "14\n",
- "571500583_01\n",
- "571500583_01\n",
- "15\n",
- "571500618_02\n",
- "571500618_02\n",
- "16\n",
- "571500617_02\n",
- "571500617_02\n",
- "i9\n",
- "1\n",
- "571510152_02\n",
- "571510152_02\n",
- "2\n",
- "571510152_01\n",
- "571510152_01\n",
- "3\n",
- "571510152_02\n",
- "571510152_02\n",
- "4\n",
- "571510152_01\n",
- "571510152_01\n",
- "5\n",
- "571510152_01\n",
- "571510152_01\n",
- "6\n",
- "571510152_02\n",
- "571510152_02\n",
- "7\n",
- "571510152_01\n",
- "571510152_01\n",
- "8\n",
- "571510152_02\n",
- "571510152_02\n",
- "9\n",
- "571510152_02\n",
- "571510152_02\n",
- "10\n",
- "571510152_01\n",
- "571510152_01\n",
- "11\n",
- "571510152_02\n",
- "571510152_02\n",
- "12\n",
- "571510152_01\n",
- "571510152_01\n",
- "13\n",
- "571510152_01\n",
- "571510152_01\n",
- "14\n",
- "571510152_02\n",
- "571510152_02\n",
- "15\n",
- "571510152_01\n",
- "571510152_01\n",
- "16\n",
- "571510152_02\n",
- "571510152_02\n"
- ]
- }
- ],
- "source": [
- "for parent_id in self.parent_ids:\n",
- " print(parent_id)\n",
- " for move_no in range(1,17):\n",
- " print(move_no)\n",
- " print(p2move2inc_edge_id[parent_id][move_no])\n",
- " print(p2move2inc_edge_id[parent_id][move_no])"
+ "# 각 교차로에 대하여, 가능한 모든 이동류 (1~16)에 대한 진입·진출엣지ID를 지정한 테이블\n",
+ "self.matching.head()"
]
},
{
"cell_type": "code",
- "execution_count": 43,
+ "execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
- "output_type": "stream",
- "text": [
- "move_no 1\n",
- "inc_dire 동\n",
- "out_dire 남\n",
- "Name: 0, dtype: object\n",
- "571545870_02 571542797_02\n",
- "move_no 2\n",
- "inc_dire 서\n",
- "out_dire 동\n",
- "Name: 1, dtype: object\n",
- "571510153_02 571545870_01\n",
- "move_no 3\n",
- "inc_dire 남\n",
- "out_dire 서\n",
- "Name: 2, dtype: object\n",
- "-571542797_02 571510153_01\n",
- "move_no 4\n",
- "inc_dire 북\n",
- "out_dire 남\n",
- "Name: 3, dtype: object\n",
- "-571500487_01 571542797_02\n",
- "move_no 5\n",
- "inc_dire 서\n",
- "out_dire 북\n",
- "Name: 4, dtype: object\n",
- "571510153_02 571500487_01\n",
- "move_no 6\n",
- "inc_dire 동\n",
- "out_dire 서\n",
- "Name: 5, dtype: object\n",
- "571545870_02 571510153_01\n",
- "move_no 7\n",
- "inc_dire 북\n",
- "out_dire 동\n",
- "Name: 6, dtype: object\n",
- "-571500487_01 571545870_01\n",
- "move_no 8\n",
- "inc_dire 남\n",
- "out_dire 북\n",
- "Name: 7, dtype: object\n",
- "-571542797_02 571500487_01\n",
- "move_no 9\n",
- "inc_dire 북동\n",
- "out_dire 남동\n",
- "Name: 8, dtype: object\n",
- "-571500487_01 571545870_01\n",
- "move_no 10\n",
- "inc_dire 남서\n",
- "out_dire 북동\n",
- "Name: 9, dtype: object\n",
- "571510153_02 571500487_01\n",
- "move_no 11\n",
- "inc_dire 남동\n",
- "out_dire 남서\n",
- "Name: 10, dtype: object\n",
- "571545870_02 571510153_01\n",
- "move_no 12\n",
- "inc_dire 북서\n",
- "out_dire 남동\n",
- "Name: 11, dtype: object\n",
- "-571500487_01 571545870_01\n",
- "move_no 13\n",
- "inc_dire 남서\n",
- "out_dire 북서\n",
- "Name: 12, dtype: object\n",
- "571510153_02 571500487_01\n",
- "move_no 14\n",
- "inc_dire 북동\n",
- "out_dire 남서\n",
- "Name: 13, dtype: object\n",
- "-571500487_01 571510153_01\n",
- "move_no 15\n",
- "inc_dire 북서\n",
- "out_dire 북동\n",
- "Name: 14, dtype: object\n",
- "-571500487_01 571500487_01\n",
- "move_no 16\n",
- "inc_dire 남동\n",
- "out_dire 북서\n",
- "Name: 15, dtype: object\n",
- "571545870_02 571500487_01\n",
- "move_no 1\n",
- "inc_dire 동\n",
- "out_dire 남\n",
- "Name: 0, dtype: object\n",
- "571542797_02.99 571542810_01\n",
- "move_no 2\n",
- "inc_dire 서\n",
- "out_dire 동\n",
- "Name: 1, dtype: object\n",
- "571543469_02 -571542797_02.99\n",
- "move_no 3\n",
- "inc_dire 남\n",
- "out_dire 서\n",
- "Name: 2, dtype: object\n",
- "-571542810_01 571543469_01\n",
- "move_no 4\n",
- "inc_dire 북\n",
- "out_dire 남\n",
- "Name: 3, dtype: object\n",
- "571542797_02.99 571542810_01\n",
- "move_no 5\n",
- "inc_dire 서\n",
- "out_dire 북\n",
- "Name: 4, dtype: object\n",
- "571543469_02 -571542797_02.99\n",
- "move_no 6\n",
- "inc_dire 동\n",
- "out_dire 서\n",
- "Name: 5, dtype: object\n",
- "571542797_02.99 571543469_01\n",
- "move_no 7\n",
- "inc_dire 북\n",
- "out_dire 동\n",
- "Name: 6, dtype: object\n",
- "571542797_02.99 -571542797_02.99\n",
- "move_no 8\n",
- "inc_dire 남\n",
- "out_dire 북\n",
- "Name: 7, dtype: object\n",
- "-571542810_01 -571542797_02.99\n",
- "move_no 9\n",
- "inc_dire 북동\n",
- "out_dire 남동\n",
- "Name: 8, dtype: object\n",
- "571542797_02.99 571542810_01\n",
- "move_no 10\n",
- "inc_dire 남서\n",
- "out_dire 북동\n",
- "Name: 9, dtype: object\n",
- "-571542810_01 -571542797_02.99\n",
- "move_no 11\n",
- "inc_dire 남동\n",
- "out_dire 남서\n",
- "Name: 10, dtype: object\n",
- "-571542810_01 571542810_01\n",
- "move_no 12\n",
- "inc_dire 북서\n",
- "out_dire 남동\n",
- "Name: 11, dtype: object\n",
- "571543469_02 571542810_01\n",
- "move_no 13\n",
- "inc_dire 남서\n",
- "out_dire 북서\n",
- "Name: 12, dtype: object\n",
- "-571542810_01 571543469_01\n",
- "move_no 14\n",
- "inc_dire 북동\n",
- "out_dire 남서\n",
- "Name: 13, dtype: object\n",
- "571542797_02.99 571542810_01\n",
- "move_no 15\n",
- "inc_dire 북서\n",
- "out_dire 북동\n",
- "Name: 14, dtype: object\n",
- "571543469_02 -571542797_02.99\n",
- "move_no 16\n",
- "inc_dire 남동\n",
- "out_dire 북서\n",
- "Name: 15, dtype: object\n",
- "-571542810_01 571543469_01\n",
- "move_no 1\n",
- "inc_dire 동\n",
- "out_dire 남\n",
- "Name: 0, dtype: object\n",
- "571542107_02 571542809_01\n",
- "move_no 2\n",
- "inc_dire 서\n",
- "out_dire 동\n",
- "Name: 1, dtype: object\n",
- "-571542809_01 571542107_01\n",
- "move_no 3\n",
- "inc_dire 남\n",
- "out_dire 서\n",
- "Name: 2, dtype: object\n",
- "-571542809_01 571542809_01\n",
- "move_no 4\n",
- "inc_dire 북\n",
- "out_dire 남\n",
- "Name: 3, dtype: object\n",
- "571542811_02 571542809_01\n",
- "move_no 5\n",
- "inc_dire 서\n",
- "out_dire 북\n",
- "Name: 4, dtype: object\n",
- "-571542809_01 571542811_01\n",
- "move_no 6\n",
- "inc_dire 동\n",
- "out_dire 서\n",
- "Name: 5, dtype: object\n",
- "571542107_02 571542809_01\n",
- "move_no 7\n",
- "inc_dire 북\n",
- "out_dire 동\n",
- "Name: 6, dtype: object\n",
- "571542811_02 571542107_01\n",
- "move_no 8\n",
- "inc_dire 남\n",
- "out_dire 북\n",
- "Name: 7, dtype: object\n",
- "-571542809_01 571542811_01\n",
- "move_no 9\n",
- "inc_dire 북동\n",
- "out_dire 남동\n",
- "Name: 8, dtype: object\n",
- "571542107_02 571542809_01\n",
- "move_no 10\n",
- "inc_dire 남서\n",
- "out_dire 북동\n",
- "Name: 9, dtype: object\n",
- "-571542809_01 571542107_01\n",
- "move_no 11\n",
- "inc_dire 남동\n",
- "out_dire 남서\n",
- "Name: 10, dtype: object\n",
- "-571542809_01 571542809_01\n",
- "move_no 12\n",
- "inc_dire 북서\n",
- "out_dire 남동\n",
- "Name: 11, dtype: object\n",
- "571542811_02 571542809_01\n",
- "move_no 13\n",
- "inc_dire 남서\n",
- "out_dire 북서\n",
- "Name: 12, dtype: object\n",
- "-571542809_01 571542811_01\n",
- "move_no 14\n",
- "inc_dire 북동\n",
- "out_dire 남서\n",
- "Name: 13, dtype: object\n",
- "571542107_02 571542809_01\n",
- "move_no 15\n",
- "inc_dire 북서\n",
- "out_dire 북동\n",
- "Name: 14, dtype: object\n",
- "571542811_02 571542107_01\n",
- "move_no 16\n",
- "inc_dire 남동\n",
- "out_dire 북서\n",
- "Name: 15, dtype: object\n",
- "-571542809_01 571542811_01\n",
- "move_no 1\n",
- "inc_dire 동\n",
- "out_dire 남\n",
- "Name: 0, dtype: object\n",
- "-571500475_01 571540304_01\n",
- "move_no 2\n",
- "inc_dire 서\n",
- "out_dire 동\n",
- "Name: 1, dtype: object\n",
- "571540303_02.21 571500475_01\n",
- "move_no 3\n",
- "inc_dire 남\n",
- "out_dire 서\n",
- "Name: 2, dtype: object\n",
- "571540304_02 571540303_01\n",
- "move_no 4\n",
- "inc_dire 북\n",
- "out_dire 남\n",
- "Name: 3, dtype: object\n",
- "571556450_02 571540304_01\n",
- "move_no 5\n",
- "inc_dire 서\n",
- "out_dire 북\n",
- "Name: 4, dtype: object\n",
- "571540303_02.21 571556450_01\n",
- "move_no 6\n",
- "inc_dire 동\n",
- "out_dire 서\n",
- "Name: 5, dtype: object\n",
- "-571500475_01 571540303_01\n",
- "move_no 7\n",
- "inc_dire 북\n",
- "out_dire 동\n",
- "Name: 6, dtype: object\n",
- "571556450_02 571500475_01\n",
- "move_no 8\n",
- "inc_dire 남\n",
- "out_dire 북\n",
- "Name: 7, dtype: object\n",
- "571540304_02 571556450_01\n",
- "move_no 9\n",
- "inc_dire 북동\n",
- "out_dire 남동\n",
- "Name: 8, dtype: object\n",
- "571556450_02 571500475_01\n",
- "move_no 10\n",
- "inc_dire 남서\n",
- "out_dire 북동\n",
- "Name: 9, dtype: object\n",
- "571540304_02 571556450_01\n",
- "move_no 11\n",
- "inc_dire 남동\n",
- "out_dire 남서\n",
- "Name: 10, dtype: object\n",
- "-571500475_01 571540304_01\n",
- "move_no 12\n",
- "inc_dire 북서\n",
- "out_dire 남동\n",
- "Name: 11, dtype: object\n",
- "571540303_02.21 571500475_01\n",
- "move_no 13\n",
- "inc_dire 남서\n",
- "out_dire 북서\n",
- "Name: 12, dtype: object\n",
- "571540304_02 571540303_01\n",
- "move_no 14\n",
- "inc_dire 북동\n",
- "out_dire 남서\n",
- "Name: 13, dtype: object\n",
- "571556450_02 571540304_01\n",
- "move_no 15\n",
- "inc_dire 북서\n",
- "out_dire 북동\n",
- "Name: 14, dtype: object\n",
- "571540303_02.21 571556450_01\n",
- "move_no 16\n",
- "inc_dire 남동\n",
- "out_dire 북서\n",
- "Name: 15, dtype: object\n",
- "-571500475_01 571540303_01\n",
- "move_no 1\n",
- "inc_dire 동\n",
- "out_dire 남\n",
- "Name: 0, dtype: object\n",
- "-571542115_01 571500585_01\n",
- "move_no 2\n",
- "inc_dire 서\n",
- "out_dire 동\n",
- "Name: 1, dtype: object\n",
- "571500535_02.18 571542115_01\n",
- "move_no 3\n",
- "inc_dire 남\n",
- "out_dire 서\n",
- "Name: 2, dtype: object\n",
- "571500585_02 571500535_01\n",
- "move_no 4\n",
- "inc_dire 북\n",
- "out_dire 남\n",
- "Name: 3, dtype: object\n",
- "571511538_02.121 571500585_01\n",
- "move_no 5\n",
- "inc_dire 서\n",
- "out_dire 북\n",
- "Name: 4, dtype: object\n",
- "571500535_02.18 571511538_01\n",
- "move_no 6\n",
- "inc_dire 동\n",
- "out_dire 서\n",
- "Name: 5, dtype: object\n",
- "-571542115_01 571500535_01\n",
- "move_no 7\n",
- "inc_dire 북\n",
- "out_dire 동\n",
- "Name: 6, dtype: object\n",
- "571511538_02.121 571542115_01\n",
- "move_no 8\n",
- "inc_dire 남\n",
- "out_dire 북\n",
- "Name: 7, dtype: object\n",
- "571500585_02 571511538_01\n",
- "move_no 9\n",
- "inc_dire 북동\n",
- "out_dire 남동\n",
- "Name: 8, dtype: object\n",
- "571511538_02.121 571542115_01\n",
- "move_no 10\n",
- "inc_dire 남서\n",
- "out_dire 북동\n",
- "Name: 9, dtype: object\n",
- "571500585_02 571511538_01\n",
- "move_no 11\n",
- "inc_dire 남동\n",
- "out_dire 남서\n",
- "Name: 10, dtype: object\n",
- "-571542115_01 571500585_01\n",
- "move_no 12\n",
- "inc_dire 북서\n",
- "out_dire 남동\n",
- "Name: 11, dtype: object\n",
- "571500535_02.18 571542115_01\n",
- "move_no 13\n",
- "inc_dire 남서\n",
- "out_dire 북서\n",
- "Name: 12, dtype: object\n",
- "571500585_02 571500535_01\n",
- "move_no 14\n",
- "inc_dire 북동\n",
- "out_dire 남서\n",
- "Name: 13, dtype: object\n",
- "571511538_02.121 571500585_01\n",
- "move_no 15\n",
- "inc_dire 북서\n",
- "out_dire 북동\n",
- "Name: 14, dtype: object\n",
- "571500535_02.18 571511538_01\n",
- "move_no 16\n",
- "inc_dire 남동\n",
- "out_dire 북서\n",
- "Name: 15, dtype: object\n",
- "-571542115_01 571500535_01\n",
- "move_no 1\n",
- "inc_dire 동\n",
- "out_dire 남\n",
- "Name: 0, dtype: object\n",
- "571542071_02 571511538_02\n",
- "move_no 2\n",
- "inc_dire 서\n",
- "out_dire 동\n",
- "Name: 1, dtype: object\n",
- "-571511538_02 571542071_01\n",
- "move_no 3\n",
- "inc_dire 남\n",
- "out_dire 서\n",
- "Name: 2, dtype: object\n",
- "-571511538_02 571511538_02\n",
- "move_no 4\n",
- "inc_dire 북\n",
- "out_dire 남\n",
- "Name: 3, dtype: object\n",
- "571542073_01 571511538_02\n",
- "move_no 5\n",
- "inc_dire 서\n",
- "out_dire 북\n",
- "Name: 4, dtype: object\n",
- "-571511538_02 571542073_02\n",
- "move_no 6\n",
- "inc_dire 동\n",
- "out_dire 서\n",
- "Name: 5, dtype: object\n",
- "571542071_02 571511538_02\n",
- "move_no 7\n",
- "inc_dire 북\n",
- "out_dire 동\n",
- "Name: 6, dtype: object\n",
- "571542073_01 571542071_01\n",
- "move_no 8\n",
- "inc_dire 남\n",
- "out_dire 북\n",
- "Name: 7, dtype: object\n",
- "-571511538_02 571542073_02\n",
- "move_no 9\n",
- "inc_dire 북동\n",
- "out_dire 남동\n",
- "Name: 8, dtype: object\n",
- "571542073_01 571542071_01\n",
- "move_no 10\n",
- "inc_dire 남서\n",
- "out_dire 북동\n",
- "Name: 9, dtype: object\n",
- "-571511538_02 571542073_02\n",
- "move_no 11\n",
- "inc_dire 남동\n",
- "out_dire 남서\n",
- "Name: 10, dtype: object\n",
- "571542071_02 571511538_02\n",
- "move_no 12\n",
- "inc_dire 북서\n",
- "out_dire 남동\n",
- "Name: 11, dtype: object\n",
- "571542073_01 571542071_01\n",
- "move_no 13\n",
- "inc_dire 남서\n",
- "out_dire 북서\n",
- "Name: 12, dtype: object\n",
- "-571511538_02 571542073_02\n",
- "move_no 14\n",
- "inc_dire 북동\n",
- "out_dire 남서\n",
- "Name: 13, dtype: object\n",
- "571542073_01 571511538_02\n",
- "move_no 15\n",
- "inc_dire 북서\n",
- "out_dire 북동\n",
- "Name: 14, dtype: object\n",
- "571542073_01 571542073_02\n",
- "move_no 16\n",
- "inc_dire 남동\n",
- "out_dire 북서\n",
- "Name: 15, dtype: object\n",
- "571542071_02 571542073_02\n",
- "move_no 1\n",
- "inc_dire 동\n",
- "out_dire 남\n",
- "Name: 0, dtype: object\n",
- "571500617_02 571500569_01\n",
- "move_no 2\n",
- "inc_dire 서\n",
- "out_dire 동\n",
- "Name: 1, dtype: object\n",
- "571500618_02 571500617_01\n",
- "move_no 3\n",
- "inc_dire 남\n",
- "out_dire 서\n",
- "Name: 2, dtype: object\n",
- "-571500569_01 571500618_01\n",
- "move_no 4\n",
- "inc_dire 북\n",
- "out_dire 남\n",
- "Name: 3, dtype: object\n",
- "571500583_01 571500569_01\n",
- "move_no 5\n",
- "inc_dire 서\n",
- "out_dire 북\n",
- "Name: 4, dtype: object\n",
- "571500618_02 571500583_02\n",
- "move_no 6\n",
- "inc_dire 동\n",
- "out_dire 서\n",
- "Name: 5, dtype: object\n",
- "571500617_02 571500618_01\n",
- "move_no 7\n",
- "inc_dire 북\n",
- "out_dire 동\n",
- "Name: 6, dtype: object\n",
- "571500583_01 571500617_01\n",
- "move_no 8\n",
- "inc_dire 남\n",
- "out_dire 북\n",
- "Name: 7, dtype: object\n",
- "-571500569_01 571500583_02\n",
- "move_no 9\n",
- "inc_dire 북동\n",
- "out_dire 남동\n",
- "Name: 8, dtype: object\n",
- "571500583_01 571500617_01\n",
- "move_no 10\n",
- "inc_dire 남서\n",
- "out_dire 북동\n",
- "Name: 9, dtype: object\n",
- "-571500569_01 571500583_02\n",
- "move_no 11\n",
- "inc_dire 남동\n",
- "out_dire 남서\n",
- "Name: 10, dtype: object\n",
- "571500617_02 571500569_01\n",
- "move_no 12\n",
- "inc_dire 북서\n",
- "out_dire 남동\n",
- "Name: 11, dtype: object\n",
- "571500618_02 571500617_01\n",
- "move_no 13\n",
- "inc_dire 남서\n",
- "out_dire 북서\n",
- "Name: 12, dtype: object\n",
- "-571500569_01 571500618_01\n",
- "move_no 14\n",
- "inc_dire 북동\n",
- "out_dire 남서\n",
- "Name: 13, dtype: object\n",
- "571500583_01 571500569_01\n",
- "move_no 15\n",
- "inc_dire 북서\n",
- "out_dire 북동\n",
- "Name: 14, dtype: object\n",
- "571500618_02 571500583_02\n",
- "move_no 16\n",
- "inc_dire 남동\n",
- "out_dire 북서\n",
- "Name: 15, dtype: object\n",
- "571500617_02 571500618_01\n",
- "move_no 1\n",
- "inc_dire 동\n",
- "out_dire 남\n",
- "Name: 0, dtype: object\n",
- "571510152_02 571510152_01.65\n",
- "move_no 2\n",
- "inc_dire 서\n",
- "out_dire 동\n",
- "Name: 1, dtype: object\n",
- "571510152_01 571510152_01.65\n",
- "move_no 3\n",
- "inc_dire 남\n",
- "out_dire 서\n",
- "Name: 2, dtype: object\n",
- "571510152_02 -571510152_01\n",
- "move_no 4\n",
- "inc_dire 북\n",
- "out_dire 남\n",
- "Name: 3, dtype: object\n",
- "571510152_01 571510152_01.65\n",
- "move_no 5\n",
- "inc_dire 서\n",
- "out_dire 북\n",
- "Name: 4, dtype: object\n",
- "571510152_01 -571510152_01\n",
- "move_no 6\n",
- "inc_dire 동\n",
- "out_dire 서\n",
- "Name: 5, dtype: object\n",
- "571510152_02 -571510152_01\n",
- "move_no 7\n",
- "inc_dire 북\n",
- "out_dire 동\n",
- "Name: 6, dtype: object\n",
- "571510152_01 571510152_01.65\n",
- "move_no 8\n",
- "inc_dire 남\n",
- "out_dire 북\n",
- "Name: 7, dtype: object\n",
- "571510152_02 -571510152_01\n",
- "move_no 9\n",
- "inc_dire 북동\n",
- "out_dire 남동\n",
- "Name: 8, dtype: object\n",
- "571510152_02 571510152_01.65\n",
- "move_no 10\n",
- "inc_dire 남서\n",
- "out_dire 북동\n",
- "Name: 9, dtype: object\n",
- "571510152_01 571510152_01.65\n",
- "move_no 11\n",
- "inc_dire 남동\n",
- "out_dire 남서\n",
- "Name: 10, dtype: object\n",
- "571510152_02 -571510152_01\n",
- "move_no 12\n",
- "inc_dire 북서\n",
- "out_dire 남동\n",
- "Name: 11, dtype: object\n",
- "571510152_01 571510152_01.65\n",
- "move_no 13\n",
- "inc_dire 남서\n",
- "out_dire 북서\n",
- "Name: 12, dtype: object\n",
- "571510152_01 -571510152_01\n",
- "move_no 14\n",
- "inc_dire 북동\n",
- "out_dire 남서\n",
- "Name: 13, dtype: object\n",
- "571510152_02 -571510152_01\n",
- "move_no 15\n",
- "inc_dire 북서\n",
- "out_dire 북동\n",
- "Name: 14, dtype: object\n",
- "571510152_01 571510152_01.65\n",
- "move_no 16\n",
- "inc_dire 남동\n",
- "out_dire 북서\n",
- "Name: 15, dtype: object\n",
- "571510152_02 -571510152_01\n"
- ]
- }
- ],
- "source": [
- "for parent_id in self.parent_ids:\n",
- " for move_no in range(1,17):\n",
- " row = self.nema[self.nema.move_no==move_no].iloc[0]\n",
- " inc_dire = row.inc_dire\n",
- " out_dire = row.out_dire\n",
- " inc_vec_true = dire2vec[inc_dire]\n",
- " out_vec_true = dire2vec[out_dire]\n",
- "\n",
- " node = self.net.getNode(parent_id)\n",
- " # 교차로의 모든 (from / to) edges\n",
- " inc_edges = [edge for edge in node.getIncoming() if edge.getFunction() == ''] # incoming edges\n",
- " out_edges = [edge for edge in node.getOutgoing() if edge.getFunction() == ''] # outgoing edges\n",
- " # 교차로의 모든 (from / to) unit vector\n",
- " inc_vecs = []\n",
- " for inc_edge in inc_edges:\n",
- " start = inc_edge.getShape()[-1]\n",
- " end = inc_edge.getShape()[-2]\n",
- " inc_vec = np.array(end) - np.array(start)\n",
- " inc_vec = inc_vec / (inc_vec ** 2).sum() ** 0.5\n",
- " inc_vecs.append(inc_vec)\n",
- " out_vecs = []\n",
- " for out_edge in out_edges:\n",
- " start = out_edge.getShape()[0]\n",
- " end = out_edge.getShape()[1]\n",
- " out_vec = np.array(end) - np.array(start)\n",
- " out_vec = out_vec / (out_vec ** 2).sum() ** 0.5\n",
- " out_vecs.append(out_vec)\n",
- " # 매칭 엣지 반환\n",
- " inc_index = np.array([np.dot(inc_vec, inc_vec_true) for inc_vec in inc_vecs]).argmax()\n",
- " out_index = np.array([np.dot(out_vec, out_vec_true) for out_vec in out_vecs]).argmax()\n",
- " inc_edge_id = inc_edges[inc_index].getID()\n",
- " out_edge_id = out_edges[out_index].getID()\n",
- " print(row)\n",
- " print(inc_edge_id, out_edge_id)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
+ "output_type": "stream",
+ "text": [
+ "2-2. 초기화 신호가 지정되었습니다. (우회전 : g)\n",
+ "2-3. 유턴 인덱스 / 비보호좌회전 인덱스를 지정했습니다.\n",
+ "2-4. 직진 및 좌회전(G)을 배정했습니다.\n"
+ ]
+ }
+ ],
"source": [
- "# (8) 가능한 모든 이동류에 대하여 진입id, 진출id 배정 : matching\n",
- "self.matching = []\n",
- "for parent_id in self.parent_ids:\n",
- " inter_no = self.node2inter[parent_id]\n",
- " # 좌회전과 직진(1 ~ 16)\n",
- " for move_no in range(1,17):\n",
- " inc_dire = m2inc_dire[move_no]\n",
- " out_dire = m2out_dire[move_no]\n",
- " if move_no in p2move[parent_id]:\n",
- " inc_edge_id = inc2id[(parent_id, inc_dire)]\n",
- " out_edge_id = out2id[(parent_id, out_dire)]\n",
- " else:\n",
- " inc_edge_id = p2move2inc_edge_id[parent_id][move_no]\n",
- " out_edge_id = p2move2out_edge_id[parent_id][move_no]\n",
- " if (inc_edge_id, out_edge_id) in self.n2io2turn[parent_id]:\n",
- " turn_type = self.n2io2turn[parent_id][inc_edge_id, out_edge_id]\n",
- " else:\n",
- " turn_type = 'left' if move_no % 2 else 'straight'\n",
- " new_row = pd.DataFrame({'inter_no':[inter_no], 'node_id':[parent_id], 'move_no':[move_no],\n",
- " 'inc_dire':[inc_dire], 'out_dire':[out_dire],\n",
- " 'inc_edge_id':[inc_edge_id], 'out_edge_id':[out_edge_id],\n",
- " 'turn_type': turn_type})\n",
- " self.matching.append(new_row)\n"
+ "self.initialize_state()\n",
+ "self.assign_indices()\n",
+ "self.assign_signals()"
]
},
{
"cell_type": "code",
- "execution_count": 24,
+ "execution_count": 14,
"metadata": {},
"outputs": [
{
@@ -1601,6 +947,8 @@
" | \n",
" inter_no | \n",
" node_id | \n",
+ " phase_no | \n",
+ " ring_type | \n",
" move_no | \n",
" inc_edge_id | \n",
" out_edge_id | \n",
@@ -1614,35 +962,19 @@
" 175 | \n",
" i0 | \n",
" 1 | \n",
- " 571545870_02 | \n",
- " 571542797_02 | \n",
- " grrrgrrGgrrrrrgrr | \n",
- " left | \n",
- " \n",
- " \n",
- " 1 | \n",
- " 175 | \n",
- " i0 | \n",
- " 2 | \n",
- " 571510153_02 | \n",
- " 571545870_01 | \n",
- " grrrgrrrgrrrrrgGr | \n",
- " straight | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " 175 | \n",
- " i0 | \n",
- " 3 | \n",
+ " A | \n",
+ " 8 | \n",
" -571542797_02 | \n",
- " 571510153_01 | \n",
- " grrrgrrrgrrrrGgrr | \n",
- " left | \n",
+ " 571500487_01 | \n",
+ " grrrgrrrgGGGGrgrr | \n",
+ " straight | \n",
"
\n",
" \n",
- " 3 | \n",
+ " 1 | \n",
" 175 | \n",
" i0 | \n",
+ " 1 | \n",
+ " B | \n",
" 4 | \n",
" -571500487_01 | \n",
" 571542797_02 | \n",
@@ -1650,29 +982,11 @@
" straight | \n",
"
\n",
" \n",
- " 4 | \n",
- " 175 | \n",
- " i0 | \n",
- " 5 | \n",
- " 571510153_02 | \n",
- " 571500487_01 | \n",
- " grrrgrrrgrrrrrgrG | \n",
- " left | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " 175 | \n",
- " i0 | \n",
- " 6 | \n",
- " 571545870_02 | \n",
- " 571510153_01 | \n",
- " grrrgGGrgrrrrrgrr | \n",
- " straight | \n",
- "
\n",
- " \n",
- " 6 | \n",
+ " 2 | \n",
" 175 | \n",
" i0 | \n",
+ " 2 | \n",
+ " A | \n",
" 7 | \n",
" -571500487_01 | \n",
" 571545870_01 | \n",
@@ -1680,195 +994,62 @@
" left | \n",
"
\n",
" \n",
- " 7 | \n",
+ " 3 | \n",
" 175 | \n",
" i0 | \n",
- " 8 | \n",
+ " 2 | \n",
+ " B | \n",
+ " 3 | \n",
" -571542797_02 | \n",
- " 571500487_01 | \n",
- " grrrgrrrgGGGGrgrr | \n",
- " straight | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " 175 | \n",
- " i0 | \n",
- " 9 | \n",
- " -571500487_01 | \n",
- " 571545870_01 | \n",
- " grrGgrrrgrrrrrgrr | \n",
- " left | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " 175 | \n",
- " i0 | \n",
- " 10 | \n",
- " 571510153_02 | \n",
- " 571500487_01 | \n",
- " grrrgrrrgrrrrrgrG | \n",
+ " 571510153_01 | \n",
+ " grrrgrrrgrrrrGgrr | \n",
" left | \n",
"
\n",
" \n",
- " 10 | \n",
+ " 4 | \n",
" 175 | \n",
" i0 | \n",
- " 11 | \n",
+ " 3 | \n",
+ " A | \n",
+ " 6 | \n",
" 571545870_02 | \n",
" 571510153_01 | \n",
" grrrgGGrgrrrrrgrr | \n",
" straight | \n",
"
\n",
- " \n",
- " 11 | \n",
- " 175 | \n",
- " i0 | \n",
- " 12 | \n",
- " -571500487_01 | \n",
- " 571545870_01 | \n",
- " grrGgrrrgrrrrrgrr | \n",
- " left | \n",
- "
\n",
- " \n",
- " 12 | \n",
- " 175 | \n",
- " i0 | \n",
- " 13 | \n",
- " 571510153_02 | \n",
- " 571500487_01 | \n",
- " grrrgrrrgrrrrrgrG | \n",
- " left | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " 175 | \n",
- " i0 | \n",
- " 14 | \n",
- " -571500487_01 | \n",
- " 571510153_01 | \n",
- " Grrrgrrrgrrrrrgrr | \n",
- " straight | \n",
- "
\n",
- " \n",
- " 14 | \n",
- " 175 | \n",
- " i0 | \n",
- " 15 | \n",
- " -571500487_01 | \n",
- " 571500487_01 | \n",
- " grrrgrrrgrrrrrgrr | \n",
- " left | \n",
- "
\n",
- " \n",
- " 15 | \n",
- " 175 | \n",
- " i0 | \n",
- " 16 | \n",
- " 571545870_02 | \n",
- " 571500487_01 | \n",
- " grrrGrrrgrrrrrgrr | \n",
- " straight | \n",
- "
\n",
" \n",
"\n",
""
],
"text/plain": [
- " inter_no node_id move_no inc_edge_id out_edge_id state \\\n",
- "0 175 i0 1 571545870_02 571542797_02 grrrgrrGgrrrrrgrr \n",
- "1 175 i0 2 571510153_02 571545870_01 grrrgrrrgrrrrrgGr \n",
- "2 175 i0 3 -571542797_02 571510153_01 grrrgrrrgrrrrGgrr \n",
- "3 175 i0 4 -571500487_01 571542797_02 gGGrgrrrgrrrrrgrr \n",
- "4 175 i0 5 571510153_02 571500487_01 grrrgrrrgrrrrrgrG \n",
- "5 175 i0 6 571545870_02 571510153_01 grrrgGGrgrrrrrgrr \n",
- "6 175 i0 7 -571500487_01 571545870_01 grrGgrrrgrrrrrgrr \n",
- "7 175 i0 8 -571542797_02 571500487_01 grrrgrrrgGGGGrgrr \n",
- "8 175 i0 9 -571500487_01 571545870_01 grrGgrrrgrrrrrgrr \n",
- "9 175 i0 10 571510153_02 571500487_01 grrrgrrrgrrrrrgrG \n",
- "10 175 i0 11 571545870_02 571510153_01 grrrgGGrgrrrrrgrr \n",
- "11 175 i0 12 -571500487_01 571545870_01 grrGgrrrgrrrrrgrr \n",
- "12 175 i0 13 571510153_02 571500487_01 grrrgrrrgrrrrrgrG \n",
- "13 175 i0 14 -571500487_01 571510153_01 Grrrgrrrgrrrrrgrr \n",
- "14 175 i0 15 -571500487_01 571500487_01 grrrgrrrgrrrrrgrr \n",
- "15 175 i0 16 571545870_02 571500487_01 grrrGrrrgrrrrrgrr \n",
+ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n",
+ "0 175 i0 1 A 8 -571542797_02 571500487_01 \n",
+ "1 175 i0 1 B 4 -571500487_01 571542797_02 \n",
+ "2 175 i0 2 A 7 -571500487_01 571545870_01 \n",
+ "3 175 i0 2 B 3 -571542797_02 571510153_01 \n",
+ "4 175 i0 3 A 6 571545870_02 571510153_01 \n",
"\n",
- " turn_type \n",
- "0 left \n",
- "1 straight \n",
- "2 left \n",
- "3 straight \n",
- "4 left \n",
- "5 straight \n",
- "6 left \n",
- "7 straight \n",
- "8 left \n",
- "9 left \n",
- "10 straight \n",
- "11 left \n",
- "12 left \n",
- "13 straight \n",
- "14 left \n",
- "15 straight "
+ " state turn_type \n",
+ "0 grrrgrrrgGGGGrgrr straight \n",
+ "1 gGGrgrrrgrrrrrgrr straight \n",
+ "2 grrGgrrrgrrrrrgrr left \n",
+ "3 grrrgrrrgrrrrGgrr left \n",
+ "4 grrrgGGrgrrrrrgrr straight "
]
},
- "execution_count": 24,
+ "execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "self.matching[self.matching.inter_no==175]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {},
- "outputs": [],
- "source": [
- "self = SignalGenerator()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "1. 데이터를 준비합니다.\n",
- "1-1. 네트워크가 로드되었습니다.\n",
- "1-2. 테이블들이 로드되었습니다.\n",
- "1-5. 필요한 보조 객체들이 모두 준비되었습니다.\n"
- ]
- }
- ],
- "source": [
- "self.prepare_data()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2. 신호이력 테이블을 변환합니다.\n"
- ]
- }
- ],
- "source": [
- "self.process_history()"
+ "# 신호배정\n",
+ "self.match6.head()"
]
},
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": 15,
"metadata": {},
"outputs": [
{
@@ -1893,102 +1074,93 @@
" \n",
" | \n",
" inter_no | \n",
- " phas_A | \n",
- " phas_B | \n",
- " move_A | \n",
- " move_B | \n",
+ " node_id | \n",
+ " move_no | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " state | \n",
+ " turn_type | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
- " 2 | \n",
- " 2 | \n",
- " 7 | \n",
- " 3 | \n",
- "
\n",
- " \n",
- " 0 | \n",
- " 176 | \n",
- " 1 | \n",
- " 1 | \n",
- " 8 | \n",
- " 4 | \n",
- "
\n",
- " \n",
- " 0 | \n",
- " 177 | \n",
- " 1 | \n",
+ " i0 | \n",
" 1 | \n",
- " 8 | \n",
- " 4 | \n",
+ " 571545870_02 | \n",
+ " 571542797_02 | \n",
+ " grrrgrrGgrrrrrgrr | \n",
+ " left | \n",
"
\n",
" \n",
- " 0 | \n",
- " 178 | \n",
- " 1 | \n",
- " 1 | \n",
- " 8 | \n",
- " 4 | \n",
+ " 1 | \n",
+ " 175 | \n",
+ " i0 | \n",
+ " 2 | \n",
+ " 571510153_02 | \n",
+ " 571545870_01 | \n",
+ " grrrgrrrgrrrrrgGr | \n",
+ " straight | \n",
"
\n",
" \n",
- " 0 | \n",
- " 201 | \n",
- " 1 | \n",
- " 1 | \n",
- " 8 | \n",
+ " 2 | \n",
+ " 175 | \n",
+ " i0 | \n",
" 3 | \n",
+ " -571542797_02 | \n",
+ " 571510153_01 | \n",
+ " grrrgrrrgrrrrGgrr | \n",
+ " left | \n",
"
\n",
" \n",
- " 0 | \n",
- " 202 | \n",
- " 1 | \n",
- " 1 | \n",
- " 6 | \n",
- " 2 | \n",
- "
\n",
- " \n",
- " 0 | \n",
- " 206 | \n",
- " 1 | \n",
- " 1 | \n",
- " 8 | \n",
+ " 3 | \n",
+ " 175 | \n",
+ " i0 | \n",
" 4 | \n",
+ " -571500487_01 | \n",
+ " 571542797_02 | \n",
+ " gGGrgrrrgrrrrrgrr | \n",
+ " straight | \n",
"
\n",
" \n",
- " 0 | \n",
- " 210 | \n",
- " 1 | \n",
- " 1 | \n",
- " 6 | \n",
- " 18 | \n",
+ " 4 | \n",
+ " 175 | \n",
+ " i0 | \n",
+ " 5 | \n",
+ " 571510153_02 | \n",
+ " 571500487_01 | \n",
+ " grrrgrrrgrrrrrgrG | \n",
+ " left | \n",
"
\n",
" \n",
"\n",
""
],
"text/plain": [
- " inter_no phas_A phas_B move_A move_B\n",
- "0 175 2 2 7 3\n",
- "0 176 1 1 8 4\n",
- "0 177 1 1 8 4\n",
- "0 178 1 1 8 4\n",
- "0 201 1 1 8 3\n",
- "0 202 1 1 6 2\n",
- "0 206 1 1 8 4\n",
- "0 210 1 1 6 18"
+ " inter_no node_id move_no inc_edge_id out_edge_id state \\\n",
+ "0 175 i0 1 571545870_02 571542797_02 grrrgrrGgrrrrrgrr \n",
+ "1 175 i0 2 571510153_02 571545870_01 grrrgrrrgrrrrrgGr \n",
+ "2 175 i0 3 -571542797_02 571510153_01 grrrgrrrgrrrrGgrr \n",
+ "3 175 i0 4 -571500487_01 571542797_02 gGGrgrrrgrrrrrgrr \n",
+ "4 175 i0 5 571510153_02 571500487_01 grrrgrrrgrrrrrgrG \n",
+ "\n",
+ " turn_type \n",
+ "0 left \n",
+ "1 straight \n",
+ "2 left \n",
+ "3 straight \n",
+ "4 left "
]
},
- "execution_count": 17,
+ "execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "fsec = self.present_time - 300\n",
- "move = pd.read_csv(os.path.join(self.path_tables, 'move', f'move_{fsec}.csv'), index_col=0)\n",
- "move"
+ "# 신호배정\n",
+ "self.matching.head()"
]
}
],