{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## View tables"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import pandas as pd\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"path_root = os.path.dirname(os.path.dirname(os.path.abspath('.')))\n",
"path_tables = os.path.join(path_root, 'analysis', '0730_fetch_tables')"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['TC_IF_TOD_DAY_PLAN',\n",
" 'TC_IF_TOD_HOLIDAY_PLAN',\n",
" 'TC_IF_TOD_RED_YELLO',\n",
" 'TC_IF_TOD_WEEK_PLAN',\n",
" 'TL_IF_SIGL',\n",
" 'TL_IF_SIGL_CYCL',\n",
" 'TM_FA_CRSRD',\n",
" 'TN_IF_SIGL_FLOW']"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"filenames = [filename[:-4] for filename in os.listdir(path_tables) if filename.endswith('csv')]\n",
"filenames"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"dfs = {filename:pd.read_csv(os.path.join(path_tables, filename)+'.csv') for filename in filenames}"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TC_IF_TOD_DAY_PLAN\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" CRSRD_ID | \n",
" PLAN_NO | \n",
" HOUR | \n",
" MIN | \n",
" CYCL | \n",
" OFFSET | \n",
" RINGA_PHASE1 | \n",
" RINGA_PHASE2 | \n",
" RINGA_PHASE3 | \n",
" RINGA_PHASE4 | \n",
" ... | \n",
" RINGA_PHASE8 | \n",
" RINGB_PHASE1 | \n",
" RINGB_PHASE2 | \n",
" RINGB_PHASE3 | \n",
" RINGB_PHASE4 | \n",
" RINGB_PHASE5 | \n",
" RINGB_PHASE6 | \n",
" RINGB_PHASE7 | \n",
" RINGB_PHASE8 | \n",
" LAST_MDFCN_DT | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 436 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 200 | \n",
" 35 | \n",
" 40 | \n",
" 90 | \n",
" 40 | \n",
" 30 | \n",
" ... | \n",
" 0 | \n",
" 40 | \n",
" 90 | \n",
" 40 | \n",
" 30 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2024-07-25 15:54:37.318000 | \n",
"
\n",
" \n",
" 1 | \n",
" 436 | \n",
" 1 | \n",
" 7 | \n",
" 0 | \n",
" 200 | \n",
" 35 | \n",
" 30 | \n",
" 100 | \n",
" 40 | \n",
" 30 | \n",
" ... | \n",
" 0 | \n",
" 30 | \n",
" 100 | \n",
" 40 | \n",
" 30 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2024-07-25 15:54:37.318000 | \n",
"
\n",
" \n",
" 2 | \n",
" 436 | \n",
" 1 | \n",
" 9 | \n",
" 0 | \n",
" 200 | \n",
" 35 | \n",
" 50 | \n",
" 85 | \n",
" 35 | \n",
" 30 | \n",
" ... | \n",
" 0 | \n",
" 50 | \n",
" 85 | \n",
" 35 | \n",
" 30 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2024-07-25 15:54:37.318000 | \n",
"
\n",
" \n",
" 3 | \n",
" 436 | \n",
" 1 | \n",
" 18 | \n",
" 0 | \n",
" 200 | \n",
" 35 | \n",
" 55 | \n",
" 65 | \n",
" 50 | \n",
" 30 | \n",
" ... | \n",
" 0 | \n",
" 55 | \n",
" 65 | \n",
" 50 | \n",
" 30 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2024-07-25 15:54:37.318000 | \n",
"
\n",
" \n",
" 4 | \n",
" 437 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 200 | \n",
" 5 | \n",
" 77 | \n",
" 28 | \n",
" 46 | \n",
" 49 | \n",
" ... | \n",
" 0 | \n",
" 77 | \n",
" 28 | \n",
" 46 | \n",
" 49 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2024-07-25 15:54:37.318000 | \n",
"
\n",
" \n",
"
\n",
"
5 rows × 23 columns
\n",
"
"
],
"text/plain": [
" CRSRD_ID PLAN_NO HOUR MIN CYCL OFFSET RINGA_PHASE1 RINGA_PHASE2 \\\n",
"0 436 1 0 0 200 35 40 90 \n",
"1 436 1 7 0 200 35 30 100 \n",
"2 436 1 9 0 200 35 50 85 \n",
"3 436 1 18 0 200 35 55 65 \n",
"4 437 1 0 0 200 5 77 28 \n",
"\n",
" RINGA_PHASE3 RINGA_PHASE4 ... RINGA_PHASE8 RINGB_PHASE1 RINGB_PHASE2 \\\n",
"0 40 30 ... 0 40 90 \n",
"1 40 30 ... 0 30 100 \n",
"2 35 30 ... 0 50 85 \n",
"3 50 30 ... 0 55 65 \n",
"4 46 49 ... 0 77 28 \n",
"\n",
" RINGB_PHASE3 RINGB_PHASE4 RINGB_PHASE5 RINGB_PHASE6 RINGB_PHASE7 \\\n",
"0 40 30 0 0 0 \n",
"1 40 30 0 0 0 \n",
"2 35 30 0 0 0 \n",
"3 50 30 0 0 0 \n",
"4 46 49 0 0 0 \n",
"\n",
" RINGB_PHASE8 LAST_MDFCN_DT \n",
"0 0 2024-07-25 15:54:37.318000 \n",
"1 0 2024-07-25 15:54:37.318000 \n",
"2 0 2024-07-25 15:54:37.318000 \n",
"3 0 2024-07-25 15:54:37.318000 \n",
"4 0 2024-07-25 15:54:37.318000 \n",
"\n",
"[5 rows x 23 columns]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"array([ 2, 436, 437, 438, 442, 443, 444, 455, 456, 457, 458, 459, 460,\n",
" 461, 462, 463, 464, 472, 474, 482, 483, 484, 485, 486, 488, 490,\n",
" 491, 492, 493, 494, 498, 499, 500, 502, 503, 504, 514, 515, 523,\n",
" 524, 527, 551, 561, 565, 575, 576, 581, 582, 583, 611, 615, 631,\n",
" 632, 633, 634, 635, 636, 637, 638, 639, 640])"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"i = 0\n",
"filename = filenames[i]\n",
"print(filename)\n",
"display(dfs[filename].head())\n",
"display(np.sort(dfs[filename].CRSRD_ID.unique()))"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TC_IF_TOD_HOLIDAY_PLAN\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" CRSRD_ID | \n",
" MNTH | \n",
" DAY | \n",
" PLAN_NO | \n",
" LAST_MDFCN_DT | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 3 | \n",
" 1 | \n",
" 1 | \n",
" 3 | \n",
" 2024-08-05 10:44:40.682000 | \n",
"
\n",
" \n",
" 1 | \n",
" 3 | \n",
" 1 | \n",
" 2 | \n",
" 3 | \n",
" 2024-08-05 10:44:40.698000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" CRSRD_ID MNTH DAY PLAN_NO LAST_MDFCN_DT\n",
"0 3 1 1 3 2024-08-05 10:44:40.682000\n",
"1 3 1 2 3 2024-08-05 10:44:40.698000"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"array([3])"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"i = 1\n",
"filename = filenames[i]\n",
"print(filename)\n",
"display(dfs[filename].head())\n",
"display(np.sort(dfs[filename].CRSRD_ID.unique()))"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TC_IF_TOD_RED_YELLO\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" CRSRD_ID | \n",
" PLAN_NO | \n",
" PHASE | \n",
" RINGA_FLOW | \n",
" RINGA_RED_SEC | \n",
" RINGA_YELLO_SEC | \n",
" RINGA_MIN_SEC | \n",
" RINGB_FLOW | \n",
" RINGB_RED_SEC | \n",
" RINGB_YELLO_SEC | \n",
" RINGB_MIN_SEC | \n",
" LAST_MDFCN_DT | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 436 | \n",
" 1 | \n",
" 1 | \n",
" 5 | \n",
" 0 | \n",
" 4 | \n",
" 10 | \n",
" 2 | \n",
" 0 | \n",
" 4 | \n",
" 10 | \n",
" NaN | \n",
"
\n",
" \n",
" 1 | \n",
" 436 | \n",
" 1 | \n",
" 2 | \n",
" 8 | \n",
" 0 | \n",
" 4 | \n",
" 30 | \n",
" 3 | \n",
" 0 | \n",
" 4 | \n",
" 30 | \n",
" NaN | \n",
"
\n",
" \n",
" 2 | \n",
" 436 | \n",
" 1 | \n",
" 3 | \n",
" 7 | \n",
" 0 | \n",
" 4 | \n",
" 32 | \n",
" 4 | \n",
" 0 | \n",
" 4 | \n",
" 32 | \n",
" NaN | \n",
"
\n",
" \n",
" 3 | \n",
" 436 | \n",
" 1 | \n",
" 4 | \n",
" 6 | \n",
" 0 | \n",
" 4 | \n",
" 27 | \n",
" 1 | \n",
" 0 | \n",
" 4 | \n",
" 27 | \n",
" NaN | \n",
"
\n",
" \n",
" 4 | \n",
" 437 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 0 | \n",
" 4 | \n",
" 31 | \n",
" 2 | \n",
" 0 | \n",
" 4 | \n",
" 31 | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" CRSRD_ID PLAN_NO PHASE RINGA_FLOW RINGA_RED_SEC RINGA_YELLO_SEC \\\n",
"0 436 1 1 5 0 4 \n",
"1 436 1 2 8 0 4 \n",
"2 436 1 3 7 0 4 \n",
"3 436 1 4 6 0 4 \n",
"4 437 1 1 6 0 4 \n",
"\n",
" RINGA_MIN_SEC RINGB_FLOW RINGB_RED_SEC RINGB_YELLO_SEC RINGB_MIN_SEC \\\n",
"0 10 2 0 4 10 \n",
"1 30 3 0 4 30 \n",
"2 32 4 0 4 32 \n",
"3 27 1 0 4 27 \n",
"4 31 2 0 4 31 \n",
"\n",
" LAST_MDFCN_DT \n",
"0 NaN \n",
"1 NaN \n",
"2 NaN \n",
"3 NaN \n",
"4 NaN "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"array([ 2, 436, 437, 438, 442, 443, 444, 455, 456, 457, 458, 459, 460,\n",
" 461, 462, 463, 464, 472, 474, 482, 483, 484, 485, 486, 488, 490,\n",
" 491, 492, 493, 494, 498, 499, 500, 502, 503, 504, 514, 515, 523,\n",
" 524, 527, 565, 575, 576, 581, 582, 583, 611, 615, 631, 632, 633,\n",
" 634, 635, 636, 637, 638, 639, 640])"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"i = 2\n",
"filename = filenames[i]\n",
"print(filename)\n",
"display(dfs[filename].head())\n",
"display(np.sort(dfs[filename].CRSRD_ID.unique()))"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TC_IF_TOD_WEEK_PLAN\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" CRSRD_ID | \n",
" SUN_PLAN_NO | \n",
" MON_PLAN_NO | \n",
" TUE_PLAN_NO | \n",
" WED_PLAN_NO | \n",
" THU_PLAN_NO | \n",
" FRI_PLAN_NO | \n",
" SAT_PLAN_NO | \n",
" LAST_MDFCN_DT | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" 2 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 2 | \n",
" 2024-08-05 10:44:38.679000 | \n",
"
\n",
" \n",
" 1 | \n",
" 436 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 2024-07-25 16:01:06 | \n",
"
\n",
" \n",
" 2 | \n",
" 437 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 2024-07-25 16:01:06 | \n",
"
\n",
" \n",
" 3 | \n",
" 438 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 2024-07-25 16:01:06 | \n",
"
\n",
" \n",
" 4 | \n",
" 442 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 2024-07-25 16:01:06 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" CRSRD_ID SUN_PLAN_NO MON_PLAN_NO TUE_PLAN_NO WED_PLAN_NO THU_PLAN_NO \\\n",
"0 1 2 1 1 1 1 \n",
"1 436 1 1 1 1 1 \n",
"2 437 1 1 1 1 1 \n",
"3 438 1 1 1 1 1 \n",
"4 442 1 1 1 1 1 \n",
"\n",
" FRI_PLAN_NO SAT_PLAN_NO LAST_MDFCN_DT \n",
"0 1 2 2024-08-05 10:44:38.679000 \n",
"1 1 1 2024-07-25 16:01:06 \n",
"2 1 1 2024-07-25 16:01:06 \n",
"3 1 1 2024-07-25 16:01:06 \n",
"4 1 1 2024-07-25 16:01:06 "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"array([ 1, 436, 437, 438, 442, 443, 444, 455, 456, 457, 458, 459, 460,\n",
" 461, 462, 463, 464, 472, 474, 482, 483, 484, 485, 486, 488, 490,\n",
" 491, 492, 493, 494, 498, 499, 500, 502, 503, 504, 514, 515, 523,\n",
" 524, 527, 551, 561, 565, 575, 576, 581, 582, 583, 611, 615, 631,\n",
" 632, 633, 634, 635, 636, 637, 638, 639, 640])"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"i = 3\n",
"filename = filenames[i]\n",
"print(filename)\n",
"display(dfs[filename].head())\n",
"display(np.sort(dfs[filename].CRSRD_ID.unique()))"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TL_IF_SIGL\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" PHASE_DT | \n",
" CRSRD_ID | \n",
" RINGA_PHASE | \n",
" RINGA_FLOW | \n",
" RINGB_PHASE | \n",
" RINGB_FLOW | \n",
" MAP_MODE | \n",
" FRST_REG_DT | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 2024-07-31 08:58:46 | \n",
" 436 | \n",
" 2 | \n",
" 8 | \n",
" 2 | \n",
" 3 | \n",
" 0 | \n",
" 2024-07-31 08:58:46.799000 | \n",
"
\n",
" \n",
" 1 | \n",
" 2024-07-31 08:58:46 | \n",
" 437 | \n",
" 3 | \n",
" 8 | \n",
" 3 | \n",
" 3 | \n",
" 0 | \n",
" 2024-07-31 08:58:46.799000 | \n",
"
\n",
" \n",
" 2 | \n",
" 2024-07-31 08:58:46 | \n",
" 438 | \n",
" 1 | \n",
" 6 | \n",
" 1 | \n",
" 2 | \n",
" 0 | \n",
" 2024-07-31 08:58:46.799000 | \n",
"
\n",
" \n",
" 3 | \n",
" 2024-07-31 08:58:46 | \n",
" 442 | \n",
" 1 | \n",
" 6 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 2024-07-31 08:58:46.799000 | \n",
"
\n",
" \n",
" 4 | \n",
" 2024-07-31 08:58:46 | \n",
" 443 | \n",
" 1 | \n",
" 6 | \n",
" 1 | \n",
" 2 | \n",
" 0 | \n",
" 2024-07-31 08:58:46.799000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" PHASE_DT CRSRD_ID RINGA_PHASE RINGA_FLOW RINGB_PHASE \\\n",
"0 2024-07-31 08:58:46 436 2 8 2 \n",
"1 2024-07-31 08:58:46 437 3 8 3 \n",
"2 2024-07-31 08:58:46 438 1 6 1 \n",
"3 2024-07-31 08:58:46 442 1 6 1 \n",
"4 2024-07-31 08:58:46 443 1 6 1 \n",
"\n",
" RINGB_FLOW MAP_MODE FRST_REG_DT \n",
"0 3 0 2024-07-31 08:58:46.799000 \n",
"1 3 0 2024-07-31 08:58:46.799000 \n",
"2 2 0 2024-07-31 08:58:46.799000 \n",
"3 1 0 2024-07-31 08:58:46.799000 \n",
"4 2 0 2024-07-31 08:58:46.799000 "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"array([436, 437, 438, 442, 443, 444, 455, 456, 457, 458])"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"i = 4\n",
"filename = filenames[i]\n",
"print(filename)\n",
"display(dfs[filename].head())\n",
"display(np.sort(dfs[filename].CRSRD_ID.unique()))"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TL_IF_SIGL_CYCL\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" OCRN_DT | \n",
" CRSRD_ID | \n",
" RINGA_PHASE1 | \n",
" RINGA_PHASE2 | \n",
" RINGA_PHASE3 | \n",
" RINGA_PHASE4 | \n",
" RINGA_PHASE5 | \n",
" RINGA_PHASE6 | \n",
" RINGA_PHASE7 | \n",
" RINGA_PHASE8 | \n",
" RINGB_PHASE1 | \n",
" RINGB_PHASE2 | \n",
" RINGB_PHASE3 | \n",
" RINGB_PHASE4 | \n",
" RINGB_PHASE5 | \n",
" RINGB_PHASE6 | \n",
" RINGB_PHASE7 | \n",
" RINGB_PHASE8 | \n",
" FRST_REG_DT | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 2024-07-31 14:28:22 | \n",
" 443 | \n",
" 125 | \n",
" 25 | \n",
" 50 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 125 | \n",
" 25 | \n",
" 50 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2024-07-31 14:28:22.253000 | \n",
"
\n",
" \n",
" 1 | \n",
" 2024-07-31 14:30:52 | \n",
" 457 | \n",
" 45 | \n",
" 20 | \n",
" 40 | \n",
" 40 | \n",
" 35 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 45 | \n",
" 20 | \n",
" 40 | \n",
" 40 | \n",
" 35 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2024-07-31 14:48:11.515000 | \n",
"
\n",
" \n",
" 2 | \n",
" 2024-07-31 15:50:07 | \n",
" 437 | \n",
" 77 | \n",
" 28 | \n",
" 46 | \n",
" 49 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 77 | \n",
" 28 | \n",
" 46 | \n",
" 49 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2024-07-31 15:51:34.345000 | \n",
"
\n",
" \n",
" 3 | \n",
" 2024-07-31 15:51:43 | \n",
" 443 | \n",
" 125 | \n",
" 25 | \n",
" 50 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 125 | \n",
" 25 | \n",
" 50 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2024-07-31 15:51:48.566000 | \n",
"
\n",
" \n",
" 4 | \n",
" 2024-07-31 14:57:54 | \n",
" 457 | \n",
" 45 | \n",
" 20 | \n",
" 40 | \n",
" 40 | \n",
" 35 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 45 | \n",
" 20 | \n",
" 40 | \n",
" 40 | \n",
" 35 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 2024-07-31 15:00:36.599000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" OCRN_DT CRSRD_ID RINGA_PHASE1 RINGA_PHASE2 RINGA_PHASE3 \\\n",
"0 2024-07-31 14:28:22 443 125 25 50 \n",
"1 2024-07-31 14:30:52 457 45 20 40 \n",
"2 2024-07-31 15:50:07 437 77 28 46 \n",
"3 2024-07-31 15:51:43 443 125 25 50 \n",
"4 2024-07-31 14:57:54 457 45 20 40 \n",
"\n",
" RINGA_PHASE4 RINGA_PHASE5 RINGA_PHASE6 RINGA_PHASE7 RINGA_PHASE8 \\\n",
"0 0 0 0 0 0 \n",
"1 40 35 0 0 0 \n",
"2 49 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 40 35 0 0 0 \n",
"\n",
" RINGB_PHASE1 RINGB_PHASE2 RINGB_PHASE3 RINGB_PHASE4 RINGB_PHASE5 \\\n",
"0 125 25 50 0 0 \n",
"1 45 20 40 40 35 \n",
"2 77 28 46 49 0 \n",
"3 125 25 50 0 0 \n",
"4 45 20 40 40 35 \n",
"\n",
" RINGB_PHASE6 RINGB_PHASE7 RINGB_PHASE8 FRST_REG_DT \n",
"0 0 0 0 2024-07-31 14:28:22.253000 \n",
"1 0 0 0 2024-07-31 14:48:11.515000 \n",
"2 0 0 0 2024-07-31 15:51:34.345000 \n",
"3 0 0 0 2024-07-31 15:51:48.566000 \n",
"4 0 0 0 2024-07-31 15:00:36.599000 "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"array([436, 437, 438, 442, 443, 444, 455, 456, 457, 458])"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"i = 5\n",
"filename = filenames[i]\n",
"print(filename)\n",
"display(dfs[filename].head())\n",
"display(np.sort(dfs[filename].CRSRD_ID.unique()))"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TM_FA_CRSRD\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" CRSRD_ID | \n",
" CRSRD_NM | \n",
" CRSRD_TYPE | \n",
" CTRLER_TYPE | \n",
" TRFLIG_TYPE | \n",
" NODE_ID | \n",
" LTTD | \n",
" LGTD | \n",
" PPC_TYPE | \n",
" MAIN_PHASE | \n",
" LOS_YN | \n",
" USE_YN | \n",
" FRST_REG_DT | \n",
" LAST_MDFCN_DT | \n",
" MAIN_CRSRD_ID | \n",
" GRP_NO | \n",
" ZONE_ID | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 123 | \n",
" 서현3거리 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 123 | \n",
" 37.37840 | \n",
" 127.12594 | \n",
" 1 | \n",
" 1 | \n",
" Y | \n",
" Y | \n",
" 2024-07-16 17:11:22.680000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" 1 | \n",
" 145 | \n",
" 장안로삼거리(신동아빌라) | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 145 | \n",
" 37.36776 | \n",
" 127.14022 | \n",
" 1 | \n",
" 1 | \n",
" Y | \n",
" Y | \n",
" 2024-07-16 17:11:22.680000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" 2 | \n",
" 701 | \n",
" 정혜사 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 701 | \n",
" 37.42803 | \n",
" 127.09346 | \n",
" 1 | \n",
" 1 | \n",
" Y | \n",
" Y | \n",
" 2024-07-16 17:11:22.680000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" 3 | \n",
" 375 | \n",
" 동안교 삼거리 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 375 | \n",
" 37.39774 | \n",
" 127.10967 | \n",
" 1 | \n",
" 1 | \n",
" Y | \n",
" Y | \n",
" 2024-07-16 17:11:22.680000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" 4 | \n",
" 378 | \n",
" 낙생지하차도 삼거리 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 378 | \n",
" 37.38968 | \n",
" 127.10889 | \n",
" 1 | \n",
" 1 | \n",
" Y | \n",
" Y | \n",
" 2024-07-16 17:11:22.680000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" CRSRD_ID CRSRD_NM CRSRD_TYPE CTRLER_TYPE TRFLIG_TYPE NODE_ID \\\n",
"0 123 서현3거리 0 1 1 123 \n",
"1 145 장안로삼거리(신동아빌라) 0 1 1 145 \n",
"2 701 정혜사 0 1 1 701 \n",
"3 375 동안교 삼거리 0 1 1 375 \n",
"4 378 낙생지하차도 삼거리 0 1 1 378 \n",
"\n",
" LTTD LGTD PPC_TYPE MAIN_PHASE LOS_YN USE_YN \\\n",
"0 37.37840 127.12594 1 1 Y Y \n",
"1 37.36776 127.14022 1 1 Y Y \n",
"2 37.42803 127.09346 1 1 Y Y \n",
"3 37.39774 127.10967 1 1 Y Y \n",
"4 37.38968 127.10889 1 1 Y Y \n",
"\n",
" FRST_REG_DT LAST_MDFCN_DT MAIN_CRSRD_ID GRP_NO ZONE_ID \n",
"0 2024-07-16 17:11:22.680000 NaN NaN NaN NaN \n",
"1 2024-07-16 17:11:22.680000 NaN NaN NaN NaN \n",
"2 2024-07-16 17:11:22.680000 NaN NaN NaN NaN \n",
"3 2024-07-16 17:11:22.680000 NaN NaN NaN NaN \n",
"4 2024-07-16 17:11:22.680000 NaN NaN NaN NaN "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"array([ 1, 2, 5, 6, 9, 14, 15, 16, 18, 19, 24,\n",
" 25, 27, 33, 38, 40, 44, 46, 49, 50, 53, 57,\n",
" 64, 72, 78, 79, 83, 89, 91, 95, 96, 100, 102,\n",
" 103, 104, 106, 119, 123, 131, 134, 135, 144, 145, 151,\n",
" 154, 155, 156, 163, 167, 169, 172, 175, 178, 180, 183,\n",
" 185, 191, 193, 201, 208, 214, 215, 217, 220, 222, 226,\n",
" 231, 232, 240, 243, 245, 247, 249, 250, 254, 256, 259,\n",
" 260, 263, 267, 270, 272, 273, 279, 281, 284, 287, 291,\n",
" 293, 297, 298, 299, 300, 302, 305, 307, 320, 321, 325,\n",
" 350, 354, 355, 358, 361, 364, 365, 367, 369, 371, 373,\n",
" 375, 376, 377, 378, 379, 405, 409, 410, 411, 412, 414,\n",
" 415, 416, 417, 420, 424, 425, 437, 443, 445, 448, 456,\n",
" 457, 459, 461, 462, 463, 466, 467, 476, 481, 482, 484,\n",
" 486, 491, 492, 496, 503, 506, 507, 514, 517, 520, 522,\n",
" 523, 532, 534, 536, 541, 570, 583, 592, 596, 622, 623,\n",
" 624, 629, 633, 634, 636, 637, 638, 639, 645, 646, 648,\n",
" 650, 656, 658, 660, 661, 676, 682, 683, 684, 691, 698,\n",
" 699, 701, 703, 706, 707, 713, 722, 724, 727, 738, 739,\n",
" 740, 741, 742, 743, 745, 747, 749, 751, 752, 2001, 2002,\n",
" 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2101, 2102, 2103, 2104,\n",
" 2105, 2201])"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"i = 6\n",
"filename = filenames[i]\n",
"print(filename)\n",
"display(dfs[filename].head())\n",
"display(np.sort(dfs[filename].CRSRD_ID.unique()))"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"TN_IF_SIGL_FLOW\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" CRSRD_ID | \n",
" PHASE | \n",
" RING | \n",
" FLOW_NO | \n",
" STOS_NO | \n",
" SIGL_ARROW | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 436 | \n",
" 1 | \n",
" A | \n",
" 5 | \n",
" 0 | \n",
" [37.4315610499752, 127.17826533029], [37.43166... | \n",
"
\n",
" \n",
" 1 | \n",
" 436 | \n",
" 2 | \n",
" A | \n",
" 8 | \n",
" 0 | \n",
" [37.4312458258359, 127.179155823683], [37.4316... | \n",
"
\n",
" \n",
" 2 | \n",
" 436 | \n",
" 3 | \n",
" A | \n",
" 7 | \n",
" 0 | \n",
" [37.4321701955642, 127.179037806486], [37.4316... | \n",
"
\n",
" \n",
" 3 | \n",
" 436 | \n",
" 4 | \n",
" A | \n",
" 6 | \n",
" 0 | \n",
" [37.4317995970901, 127.179584977125], [37.4316... | \n",
"
\n",
" \n",
" 4 | \n",
" 437 | \n",
" 1 | \n",
" A | \n",
" 6 | \n",
" 0 | \n",
" [37.4311100357524, 127.174848032385], [37.4311... | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" CRSRD_ID PHASE RING FLOW_NO STOS_NO \\\n",
"0 436 1 A 5 0 \n",
"1 436 2 A 8 0 \n",
"2 436 3 A 7 0 \n",
"3 436 4 A 6 0 \n",
"4 437 1 A 6 0 \n",
"\n",
" SIGL_ARROW \n",
"0 [37.4315610499752, 127.17826533029], [37.43166... \n",
"1 [37.4312458258359, 127.179155823683], [37.4316... \n",
"2 [37.4321701955642, 127.179037806486], [37.4316... \n",
"3 [37.4317995970901, 127.179584977125], [37.4316... \n",
"4 [37.4311100357524, 127.174848032385], [37.4311... "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"array([ 1, 436, 437, 438, 442, 443, 444, 455, 456, 457, 458, 459, 460,\n",
" 461, 462, 463, 464, 472, 474, 482, 483, 484, 485, 486, 488, 490,\n",
" 491, 492, 493, 494, 498, 499, 500, 502, 503, 504, 514, 515, 523,\n",
" 524, 527, 565, 575, 576, 581, 582, 583, 611, 615, 631, 632, 633,\n",
" 634, 635, 636, 637, 638, 639, 640])"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"i = 7\n",
"filename = filenames[i]\n",
"print(filename)\n",
"display(dfs[filename].head())\n",
"display(np.sort(dfs[filename].CRSRD_ID.unique()))"
]
},
{
"cell_type": "code",
"execution_count": 104,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" signal_id | \n",
" node_id | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 436 | \n",
" 109836 | \n",
"
\n",
" \n",
" 1 | \n",
" 437 | \n",
" 109986 | \n",
"
\n",
" \n",
" 2 | \n",
" 438 | \n",
" 106350 | \n",
"
\n",
" \n",
" 3 | \n",
" 442 | \n",
" 106332 | \n",
"
\n",
" \n",
" 4 | \n",
" 443 | \n",
" 108769 | \n",
"
\n",
" \n",
" 5 | \n",
" 444 | \n",
" 109842 | \n",
"
\n",
" \n",
" 6 | \n",
" 455 | \n",
" 109901 | \n",
"
\n",
" \n",
" 7 | \n",
" 456 | \n",
" 106231 | \n",
"
\n",
" \n",
" 8 | \n",
" 457 | \n",
" 106234 | \n",
"
\n",
" \n",
" 9 | \n",
" 458 | \n",
" 106238 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" signal_id node_id\n",
"0 436 109836\n",
"1 437 109986\n",
"2 438 106350\n",
"3 442 106332\n",
"4 443 108769\n",
"5 444 109842\n",
"6 455 109901\n",
"7 456 106231\n",
"8 457 106234\n",
"9 458 106238"
]
},
"execution_count": 104,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"signal_node_matching = pd.read_csv(os.path.join(path_root, 'data', 'tables', '20240729', 'signal_node_matching.csv'))\n",
"signal_node_matching[:10]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## View the network"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [],
"source": [
"import sumolib"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {},
"outputs": [],
"source": [
"net = sumolib.net.readNet(os.path.join(path_root, 'test_0731', 'data', 'networks', 'new_sungnam_network_internal_target_0721.net.xml'))\n",
"tnode_ids = sorted(node.getID() for node in net.getNodes() if node.getType()=='traffic_light')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Add data to `TN_IF_SIGL_FLOW`"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" CRSRD_ID PHASE RING FLOW_NO STOS_NO \\\n",
"0 436 1 A 5 0 \n",
"\n",
" SIGL_ARROW \n",
"0 [37.4315610499752, 127.17826533029], [37.43166... \n"
]
}
],
"source": [
"TN_IF_SIGL_FLOW = dfs[filenames[7]]\n",
"print(TN_IF_SIGL_FLOW[0:1])"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'[37.4315610499752, 127.17826533029], [37.4316611546606, 127.179091450666], [37.4322937279812, 127.179048535322]'"
]
},
"execution_count": 110,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"TN_IF_SIGL_FLOW.iloc[0].SIGL_ARROW"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [],
"source": [
"# TN_IF_SIGL_FLOW[:50]"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "siggen_env",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}