{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import sumolib, math\n",
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"import os, glob\n",
|
|
"from datetime import datetime\n",
|
|
"\n",
|
|
"### intersections\n",
|
|
"intersections_path = os.path.join('daily/S_INT_CONFIG.csv')\n",
|
|
"intersections = pd.read_csv(intersections_path)\n",
|
|
"intersections_original = intersections.copy()\n",
|
|
"\n",
|
|
"# demo names\n",
|
|
"demo_names = \\\n",
|
|
"[\"한솔삼거리(한솔마을3거리)\",\n",
|
|
"\"느티마을4단지\",\n",
|
|
"\"한솔6단지(정자동사무소)\",\n",
|
|
"\"신기4거리\",\n",
|
|
"\"느티마을4거리\",\n",
|
|
"\"느티마을 안촌유치원\",\n",
|
|
"\"상록마을 321동\",\n",
|
|
"\"상록4거리(상록마을입구4거리)\",\n",
|
|
"\"상록마을단일로\",\n",
|
|
"\"상록마을302동 단일로\"]\n",
|
|
"intersections = intersections[intersections['INT_NAME'].isin(demo_names)]\n",
|
|
"demo_node_ids = [\"n0\", \"n1\", \"n2\", \"n3\", \"n4\", \"n5\", \"n6\", \"n7\", \"n8\", \"n9\"]\n",
|
|
"demo_int_nos = list(intersections['INT_NO'])\n",
|
|
"\n",
|
|
"# SUMO node_id 정보 추가\n",
|
|
"name2node_id = dict(zip(demo_names, demo_node_ids))\n",
|
|
"intersections['node_ids'] = intersections['INT_NAME'].map(name2node_id)\n",
|
|
"\n",
|
|
"# SUMO X, Y 좌표 정보 추가\n",
|
|
"origin_name = '상록4거리(상록마을입구4거리)'\n",
|
|
"ref_lng = intersections[intersections['INT_NAME'] == origin_name]['INT_LNG'].values[0]\n",
|
|
"ref_lat = intersections[intersections['INT_NAME'] == origin_name]['INT_LAT'].values[0]\n",
|
|
"intersections['X'] = (intersections['INT_LNG'] - ref_lng) * 111000 * math.cos(math.radians(ref_lat))\n",
|
|
"intersections['Y'] = (intersections['INT_LAT'] - ref_lat) * 111000\n",
|
|
"intersections.reset_index(drop=True, inplace=True)\n",
|
|
"\n",
|
|
"# n=ways 정보 추가 where \"n지교차로\"\n",
|
|
"name2way = \\\n",
|
|
"{\"한솔삼거리(한솔마을3거리)\":3,\n",
|
|
"\"느티마을4단지\":3,\n",
|
|
"\"한솔6단지(정자동사무소)\":4,\n",
|
|
"\"신기4거리\":4,\n",
|
|
"\"느티마을4거리\":4,\n",
|
|
"\"느티마을 안촌유치원\":2,\n",
|
|
"\"상록마을 321동\":2,\n",
|
|
"\"상록4거리(상록마을입구4거리)\":4,\n",
|
|
"\"상록마을단일로\":2,\n",
|
|
"\"상록마을302동 단일로\":2}\n",
|
|
"intersections['ways'] = intersections['INT_NAME'].map(name2way)\n",
|
|
"\n",
|
|
"### phase_config\n",
|
|
"phase_config_path = os.path.join('daily/S_INT_PHASE_CONFIG.csv')\n",
|
|
"phase_config = pd.read_csv(phase_config_path)\n",
|
|
"phase_config_original = phase_config.copy()\n",
|
|
"phase_config = phase_config[phase_config['INT_NO'].isin(demo_int_nos)]\n",
|
|
"\n",
|
|
"# INT_NO, ways 가져옴\n",
|
|
"phase_config = pd.merge(phase_config, intersections[['INT_NO', 'ways']], on='INT_NO', how='left')\n",
|
|
"cols = phase_config.columns.tolist()\n",
|
|
"cols.remove('ways')\n",
|
|
"cols.insert(1, 'ways')\n",
|
|
"phase_config = phase_config[cols]\n",
|
|
"\n",
|
|
"# 링번호 변경, 주현시여부, 황색시간, 최소녹색시간, 최대녹색시간 임의 지정\n",
|
|
"phase_config['INT_RING'] = phase_config['INT_RING'].replace({0: 'A', 1: 'B'})\n",
|
|
"phase_config['INT_MAIN_PHASE'] = np.where(phase_config['INT_PHASE_NO'] == 1, 20, 10)\n",
|
|
"null_condition = phase_config['INT_FLOW_NO'] == 17\n",
|
|
"phase_config['INT_YELLOW'] = np.where(null_condition, 0, 4)\n",
|
|
"np.random.seed(0)\n",
|
|
"phase_config['INT_MIN_SPLIT'] = np.where(~null_condition, np.random.randint(12, 41, size=len(phase_config)), phase_config['INT_MIN_SPLIT'])\n",
|
|
"phase_config['INT_MAX_SPLIT'] = np.where(~null_condition, phase_config['INT_MIN_SPLIT'] + np.random.randint(5, 20, size=len(phase_config)) ,phase_config['INT_MAX_SPLIT'])\n",
|
|
"phase_config.sort_values(by=['INT_NO', 'INT_PHASE_NO','INT_RING'], inplace=True)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>INT_NO</th>\n",
|
|
" <th>INT_NAME</th>\n",
|
|
" <th>SA_NO</th>\n",
|
|
" <th>INT_LAT</th>\n",
|
|
" <th>INT_LNG</th>\n",
|
|
" <th>IS_SMART</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>도촌4거리</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>37.41405</td>\n",
|
|
" <td>127.14385</td>\n",
|
|
" <td>1.0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>2</td>\n",
|
|
" <td>동원SK삼거리(아시아 주유소)</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>37.41282</td>\n",
|
|
" <td>127.14382</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>상탑4거리</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.40809</td>\n",
|
|
" <td>127.14296</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>4</td>\n",
|
|
" <td>돌마4거리(상탑3거리)</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.40683</td>\n",
|
|
" <td>127.14201</td>\n",
|
|
" <td>1.0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>상탑초3거리</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.40561</td>\n",
|
|
" <td>127.14473</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>6</td>\n",
|
|
" <td>야탑3치안센터(상탑 P.B)</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.40549</td>\n",
|
|
" <td>127.14823</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>7</td>\n",
|
|
" <td>테크노 단일로</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.40486</td>\n",
|
|
" <td>127.15121</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>8</td>\n",
|
|
" <td>분당테크노파크A동</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.40499</td>\n",
|
|
" <td>127.15034</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>9</td>\n",
|
|
" <td>분당테크노파크C동(분당테크노파크)</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.40545</td>\n",
|
|
" <td>127.15526</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>10</td>\n",
|
|
" <td>야탑차량등록사업소</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.40682</td>\n",
|
|
" <td>127.15470</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" INT_NO INT_NAME SA_NO INT_LAT INT_LNG IS_SMART\n",
|
|
"0 1 도촌4거리 1 37.41405 127.14385 1.0\n",
|
|
"1 2 동원SK삼거리(아시아 주유소) 1 37.41282 127.14382 NaN\n",
|
|
"2 3 상탑4거리 0 37.40809 127.14296 NaN\n",
|
|
"3 4 돌마4거리(상탑3거리) 0 37.40683 127.14201 1.0\n",
|
|
"4 5 상탑초3거리 0 37.40561 127.14473 NaN\n",
|
|
"5 6 야탑3치안센터(상탑 P.B) 0 37.40549 127.14823 NaN\n",
|
|
"6 7 테크노 단일로 0 37.40486 127.15121 NaN\n",
|
|
"7 8 분당테크노파크A동 0 37.40499 127.15034 NaN\n",
|
|
"8 9 분당테크노파크C동(분당테크노파크) 0 37.40545 127.15526 NaN\n",
|
|
"9 10 야탑차량등록사업소 0 37.40682 127.15470 NaN"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 1. 교차로정보 (intersections, 테이블명 : S_INT_CONFIG)\n",
|
|
"intersections_original[:10]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>INT_NO</th>\n",
|
|
" <th>INT_NAME</th>\n",
|
|
" <th>SA_NO</th>\n",
|
|
" <th>INT_LAT</th>\n",
|
|
" <th>INT_LNG</th>\n",
|
|
" <th>IS_SMART</th>\n",
|
|
" <th>node_ids</th>\n",
|
|
" <th>X</th>\n",
|
|
" <th>Y</th>\n",
|
|
" <th>ways</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>한솔삼거리(한솔마을3거리)</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36857</td>\n",
|
|
" <td>127.11478</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>n0</td>\n",
|
|
" <td>437.586026</td>\n",
|
|
" <td>566.10</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>느티마을4단지</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36724</td>\n",
|
|
" <td>127.11480</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>n1</td>\n",
|
|
" <td>439.350485</td>\n",
|
|
" <td>418.47</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>한솔6단지(정자동사무소)</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36619</td>\n",
|
|
" <td>127.11480</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>n2</td>\n",
|
|
" <td>439.350485</td>\n",
|
|
" <td>301.92</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>신기4거리</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36346</td>\n",
|
|
" <td>127.11480</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>n3</td>\n",
|
|
" <td>439.350485</td>\n",
|
|
" <td>-1.11</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>느티마을4거리</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36854</td>\n",
|
|
" <td>127.10984</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>n4</td>\n",
|
|
" <td>1.764460</td>\n",
|
|
" <td>562.77</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>느티마을 안촌유치원</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36855</td>\n",
|
|
" <td>127.11241</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>n5</td>\n",
|
|
" <td>228.497542</td>\n",
|
|
" <td>563.88</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>상록마을 321동</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36483</td>\n",
|
|
" <td>127.10981</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>n6</td>\n",
|
|
" <td>-0.882230</td>\n",
|
|
" <td>150.96</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>상록4거리(상록마을입구4거리)</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36347</td>\n",
|
|
" <td>127.10982</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>n7</td>\n",
|
|
" <td>0.000000</td>\n",
|
|
" <td>0.00</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>상록마을단일로</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36346</td>\n",
|
|
" <td>127.11237</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>n8</td>\n",
|
|
" <td>224.968622</td>\n",
|
|
" <td>-1.11</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>상록마을302동 단일로</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36347</td>\n",
|
|
" <td>127.11306</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>n9</td>\n",
|
|
" <td>285.842484</td>\n",
|
|
" <td>0.00</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" INT_NO INT_NAME SA_NO INT_LAT INT_LNG IS_SMART node_ids \\\n",
|
|
"0 175 한솔삼거리(한솔마을3거리) 0 37.36857 127.11478 NaN n0 \n",
|
|
"1 176 느티마을4단지 0 37.36724 127.11480 NaN n1 \n",
|
|
"2 177 한솔6단지(정자동사무소) 0 37.36619 127.11480 NaN n2 \n",
|
|
"3 178 신기4거리 0 37.36346 127.11480 NaN n3 \n",
|
|
"4 201 느티마을4거리 0 37.36854 127.10984 0.0 n4 \n",
|
|
"5 202 느티마을 안촌유치원 0 37.36855 127.11241 NaN n5 \n",
|
|
"6 206 상록마을 321동 0 37.36483 127.10981 NaN n6 \n",
|
|
"7 210 상록4거리(상록마을입구4거리) 0 37.36347 127.10982 0.0 n7 \n",
|
|
"8 211 상록마을단일로 0 37.36346 127.11237 NaN n8 \n",
|
|
"9 212 상록마을302동 단일로 0 37.36347 127.11306 NaN n9 \n",
|
|
"\n",
|
|
" X Y ways \n",
|
|
"0 437.586026 566.10 3 \n",
|
|
"1 439.350485 418.47 3 \n",
|
|
"2 439.350485 301.92 4 \n",
|
|
"3 439.350485 -1.11 4 \n",
|
|
"4 1.764460 562.77 4 \n",
|
|
"5 228.497542 563.88 2 \n",
|
|
"6 -0.882230 150.96 2 \n",
|
|
"7 0.000000 0.00 4 \n",
|
|
"8 224.968622 -1.11 2 \n",
|
|
"9 285.842484 0.00 2 "
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 1*. 교차로정보 수정 (데모버전)\n",
|
|
"intersections[:10]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>INT_NO</th>\n",
|
|
" <th>INT_PHASE_NO</th>\n",
|
|
" <th>INT_PLAN_CLSS</th>\n",
|
|
" <th>INT_RING</th>\n",
|
|
" <th>INT_FLOW_NO</th>\n",
|
|
" <th>INT_MIN_SPLIT</th>\n",
|
|
" <th>INT_MAX_SPLIT</th>\n",
|
|
" <th>INT_YELLOW</th>\n",
|
|
" <th>INT_MAIN_PHASE</th>\n",
|
|
" <th>INT_LANE</th>\n",
|
|
" <th>INT_PHASE_LAT1</th>\n",
|
|
" <th>INT_PHASE_LNG1</th>\n",
|
|
" <th>INT_PHASE_LAT2</th>\n",
|
|
" <th>INT_PHASE_LNG2</th>\n",
|
|
" <th>INT_PHASE_LAT3</th>\n",
|
|
" <th>INT_PHASE_LNG3</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>204</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36581</td>\n",
|
|
" <td>127.10822</td>\n",
|
|
" <td>37.36614</td>\n",
|
|
" <td>127.10822</td>\n",
|
|
" <td>37.36626</td>\n",
|
|
" <td>127.10822</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>204</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36646</td>\n",
|
|
" <td>127.10797</td>\n",
|
|
" <td>37.36614</td>\n",
|
|
" <td>127.10797</td>\n",
|
|
" <td>37.36602</td>\n",
|
|
" <td>127.10797</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>204</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>19.69448</td>\n",
|
|
" <td>117.99260</td>\n",
|
|
" <td>19.69448</td>\n",
|
|
" <td>117.99260</td>\n",
|
|
" <td>19.69448</td>\n",
|
|
" <td>117.99260</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>205</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36595</td>\n",
|
|
" <td>127.10607</td>\n",
|
|
" <td>37.36563</td>\n",
|
|
" <td>127.10608</td>\n",
|
|
" <td>37.36563</td>\n",
|
|
" <td>127.10622</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>205</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36595</td>\n",
|
|
" <td>127.10582</td>\n",
|
|
" <td>37.36563</td>\n",
|
|
" <td>127.10583</td>\n",
|
|
" <td>37.36551</td>\n",
|
|
" <td>127.10583</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>205</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36530</td>\n",
|
|
" <td>127.10583</td>\n",
|
|
" <td>37.36563</td>\n",
|
|
" <td>127.10583</td>\n",
|
|
" <td>37.36563</td>\n",
|
|
" <td>127.10568</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>205</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36530</td>\n",
|
|
" <td>127.10608</td>\n",
|
|
" <td>37.36563</td>\n",
|
|
" <td>127.10608</td>\n",
|
|
" <td>37.36575</td>\n",
|
|
" <td>127.10607</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>205</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>19.69448</td>\n",
|
|
" <td>117.99260</td>\n",
|
|
" <td>19.69448</td>\n",
|
|
" <td>117.99260</td>\n",
|
|
" <td>19.69448</td>\n",
|
|
" <td>117.99260</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>205</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36573</td>\n",
|
|
" <td>127.10636</td>\n",
|
|
" <td>37.36573</td>\n",
|
|
" <td>127.10595</td>\n",
|
|
" <td>37.36573</td>\n",
|
|
" <td>127.10580</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>205</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36553</td>\n",
|
|
" <td>127.10636</td>\n",
|
|
" <td>37.36553</td>\n",
|
|
" <td>127.10595</td>\n",
|
|
" <td>37.36541</td>\n",
|
|
" <td>127.10595</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" INT_NO INT_PHASE_NO INT_PLAN_CLSS INT_RING INT_FLOW_NO INT_MIN_SPLIT \\\n",
|
|
"0 204 1 0 0 8 0 \n",
|
|
"1 204 1 0 1 4 0 \n",
|
|
"2 204 2 0 0 17 0 \n",
|
|
"3 205 1 0 0 7 0 \n",
|
|
"4 205 1 0 1 4 0 \n",
|
|
"5 205 2 0 1 3 0 \n",
|
|
"6 205 2 0 0 8 0 \n",
|
|
"7 205 3 0 0 17 0 \n",
|
|
"8 205 4 0 0 6 0 \n",
|
|
"9 205 4 0 1 1 0 \n",
|
|
"\n",
|
|
" INT_MAX_SPLIT INT_YELLOW INT_MAIN_PHASE INT_LANE INT_PHASE_LAT1 \\\n",
|
|
"0 0 0 0 0 37.36581 \n",
|
|
"1 0 0 0 0 37.36646 \n",
|
|
"2 0 0 0 0 19.69448 \n",
|
|
"3 0 0 0 0 37.36595 \n",
|
|
"4 0 0 0 0 37.36595 \n",
|
|
"5 0 0 0 0 37.36530 \n",
|
|
"6 0 0 0 0 37.36530 \n",
|
|
"7 0 0 0 0 19.69448 \n",
|
|
"8 0 0 0 0 37.36573 \n",
|
|
"9 0 0 0 0 37.36553 \n",
|
|
"\n",
|
|
" INT_PHASE_LNG1 INT_PHASE_LAT2 INT_PHASE_LNG2 INT_PHASE_LAT3 \\\n",
|
|
"0 127.10822 37.36614 127.10822 37.36626 \n",
|
|
"1 127.10797 37.36614 127.10797 37.36602 \n",
|
|
"2 117.99260 19.69448 117.99260 19.69448 \n",
|
|
"3 127.10607 37.36563 127.10608 37.36563 \n",
|
|
"4 127.10582 37.36563 127.10583 37.36551 \n",
|
|
"5 127.10583 37.36563 127.10583 37.36563 \n",
|
|
"6 127.10608 37.36563 127.10608 37.36575 \n",
|
|
"7 117.99260 19.69448 117.99260 19.69448 \n",
|
|
"8 127.10636 37.36573 127.10595 37.36573 \n",
|
|
"9 127.10636 37.36553 127.10595 37.36541 \n",
|
|
"\n",
|
|
" INT_PHASE_LNG3 \n",
|
|
"0 127.10822 \n",
|
|
"1 127.10797 \n",
|
|
"2 117.99260 \n",
|
|
"3 127.10622 \n",
|
|
"4 127.10583 \n",
|
|
"5 127.10568 \n",
|
|
"6 127.10607 \n",
|
|
"7 117.99260 \n",
|
|
"8 127.10580 \n",
|
|
"9 127.10595 "
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 2. 현시정보 (phase_config, 테이블명 : S_INT_PHASE_CONFIG)\n",
|
|
"phase_config_original[:10]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>INT_NO</th>\n",
|
|
" <th>ways</th>\n",
|
|
" <th>INT_PHASE_NO</th>\n",
|
|
" <th>INT_PLAN_CLSS</th>\n",
|
|
" <th>INT_RING</th>\n",
|
|
" <th>INT_FLOW_NO</th>\n",
|
|
" <th>INT_MIN_SPLIT</th>\n",
|
|
" <th>INT_MAX_SPLIT</th>\n",
|
|
" <th>INT_YELLOW</th>\n",
|
|
" <th>INT_MAIN_PHASE</th>\n",
|
|
" <th>INT_LANE</th>\n",
|
|
" <th>INT_PHASE_LAT1</th>\n",
|
|
" <th>INT_PHASE_LNG1</th>\n",
|
|
" <th>INT_PHASE_LAT2</th>\n",
|
|
" <th>INT_PHASE_LNG2</th>\n",
|
|
" <th>INT_PHASE_LAT3</th>\n",
|
|
" <th>INT_PHASE_LNG3</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>20</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>32</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36825</td>\n",
|
|
" <td>127.11491</td>\n",
|
|
" <td>37.36857</td>\n",
|
|
" <td>127.11490</td>\n",
|
|
" <td>37.36869</td>\n",
|
|
" <td>127.11491</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>19</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>13</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36890</td>\n",
|
|
" <td>127.11467</td>\n",
|
|
" <td>37.36857</td>\n",
|
|
" <td>127.11465</td>\n",
|
|
" <td>37.36845</td>\n",
|
|
" <td>127.11466</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>21</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>10</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36889</td>\n",
|
|
" <td>127.11491</td>\n",
|
|
" <td>37.36857</td>\n",
|
|
" <td>127.11490</td>\n",
|
|
" <td>37.36856</td>\n",
|
|
" <td>127.11505</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>22</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>35</td>\n",
|
|
" <td>46</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>10</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36824</td>\n",
|
|
" <td>127.11466</td>\n",
|
|
" <td>37.36857</td>\n",
|
|
" <td>127.11465</td>\n",
|
|
" <td>37.36857</td>\n",
|
|
" <td>127.11451</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>23</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>38</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>10</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36867</td>\n",
|
|
" <td>127.11519</td>\n",
|
|
" <td>37.36867</td>\n",
|
|
" <td>127.11478</td>\n",
|
|
" <td>37.36867</td>\n",
|
|
" <td>127.11463</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>24</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>52</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>10</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36847</td>\n",
|
|
" <td>127.11518</td>\n",
|
|
" <td>37.36847</td>\n",
|
|
" <td>127.11478</td>\n",
|
|
" <td>37.36835</td>\n",
|
|
" <td>127.11478</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>25</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>48</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>10</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36866</td>\n",
|
|
" <td>127.11437</td>\n",
|
|
" <td>37.36867</td>\n",
|
|
" <td>127.11478</td>\n",
|
|
" <td>37.36878</td>\n",
|
|
" <td>127.11478</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>26</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>10</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36847</td>\n",
|
|
" <td>127.11437</td>\n",
|
|
" <td>37.36847</td>\n",
|
|
" <td>127.11478</td>\n",
|
|
" <td>37.36847</td>\n",
|
|
" <td>127.11493</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>27</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>53</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36691</td>\n",
|
|
" <td>127.11493</td>\n",
|
|
" <td>37.36724</td>\n",
|
|
" <td>127.11493</td>\n",
|
|
" <td>37.36735</td>\n",
|
|
" <td>127.11493</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>28</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>37.36756</td>\n",
|
|
" <td>127.11467</td>\n",
|
|
" <td>37.36723</td>\n",
|
|
" <td>127.11468</td>\n",
|
|
" <td>37.36712</td>\n",
|
|
" <td>127.11468</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" INT_NO ways INT_PHASE_NO INT_PLAN_CLSS INT_RING INT_FLOW_NO \\\n",
|
|
"20 175 3 1 0 A 8 \n",
|
|
"19 175 3 1 0 B 4 \n",
|
|
"21 175 3 2 0 A 7 \n",
|
|
"22 175 3 2 0 B 3 \n",
|
|
"23 175 3 3 0 A 6 \n",
|
|
"24 175 3 3 0 B 1 \n",
|
|
"25 175 3 4 0 A 5 \n",
|
|
"26 175 3 4 0 B 2 \n",
|
|
"27 176 3 1 0 A 8 \n",
|
|
"28 176 3 1 0 B 4 \n",
|
|
"\n",
|
|
" INT_MIN_SPLIT INT_MAX_SPLIT INT_YELLOW INT_MAIN_PHASE INT_LANE \\\n",
|
|
"20 18 32 4 20 0 \n",
|
|
"19 13 27 4 20 0 \n",
|
|
"21 19 27 4 10 0 \n",
|
|
"22 35 46 4 10 0 \n",
|
|
"23 26 38 4 10 0 \n",
|
|
"24 36 52 4 10 0 \n",
|
|
"25 29 48 4 10 0 \n",
|
|
"26 17 24 4 10 0 \n",
|
|
"27 37 53 4 20 0 \n",
|
|
"28 25 30 4 20 0 \n",
|
|
"\n",
|
|
" INT_PHASE_LAT1 INT_PHASE_LNG1 INT_PHASE_LAT2 INT_PHASE_LNG2 \\\n",
|
|
"20 37.36825 127.11491 37.36857 127.11490 \n",
|
|
"19 37.36890 127.11467 37.36857 127.11465 \n",
|
|
"21 37.36889 127.11491 37.36857 127.11490 \n",
|
|
"22 37.36824 127.11466 37.36857 127.11465 \n",
|
|
"23 37.36867 127.11519 37.36867 127.11478 \n",
|
|
"24 37.36847 127.11518 37.36847 127.11478 \n",
|
|
"25 37.36866 127.11437 37.36867 127.11478 \n",
|
|
"26 37.36847 127.11437 37.36847 127.11478 \n",
|
|
"27 37.36691 127.11493 37.36724 127.11493 \n",
|
|
"28 37.36756 127.11467 37.36723 127.11468 \n",
|
|
"\n",
|
|
" INT_PHASE_LAT3 INT_PHASE_LNG3 \n",
|
|
"20 37.36869 127.11491 \n",
|
|
"19 37.36845 127.11466 \n",
|
|
"21 37.36856 127.11505 \n",
|
|
"22 37.36857 127.11451 \n",
|
|
"23 37.36867 127.11463 \n",
|
|
"24 37.36835 127.11478 \n",
|
|
"25 37.36878 127.11478 \n",
|
|
"26 37.36847 127.11493 \n",
|
|
"27 37.36735 127.11493 \n",
|
|
"28 37.36712 127.11468 "
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 2*. 현시정보 수정 (데모버전)\n",
|
|
"phase_config[:10]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"### tplan\n",
|
|
"tplan_path = os.path.join('daily/S_INT_TPLAN.csv')\n",
|
|
"tplan = pd.read_csv(tplan_path)\n",
|
|
"# cycleplan\n",
|
|
"cycleplan_path = os.path.join(recent_folder, 'daily/S_SA_CYCLE_PLAN.csv')\n",
|
|
"cycleplan = pd.read_csv(cycleplan_path)\n",
|
|
"# wplan\n",
|
|
"wplan_path = os.path.join(recent_folder, 'daily/S_SA_WPLAN.csv')\n",
|
|
"wplan = pd.read_csv(wplan_path)\n",
|
|
"# dplan\n",
|
|
"dplan_path = os.path.join(recent_folder, 'daily/S_SA_DPLAN.csv')\n",
|
|
"dplan = pd.read_csv(dplan_path)\n",
|
|
"# history\n",
|
|
"history_path = os.path.join(recent_folder, 'realtime/S_TOD_HIS.csv')\n",
|
|
"history= pd.read_csv(history_path)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>INT_NO</th>\n",
|
|
" <th>INT_PLAN_NO</th>\n",
|
|
" <th>INT_PLAN_INDEX</th>\n",
|
|
" <th>INT_ASPLIT1</th>\n",
|
|
" <th>INT_ASPLIT2</th>\n",
|
|
" <th>INT_ASPLIT3</th>\n",
|
|
" <th>INT_ASPLIT4</th>\n",
|
|
" <th>INT_ASPLIT5</th>\n",
|
|
" <th>INT_ASPLIT6</th>\n",
|
|
" <th>INT_ASPLIT7</th>\n",
|
|
" <th>INT_ASPLIT8</th>\n",
|
|
" <th>INT_BSPLIT1</th>\n",
|
|
" <th>INT_BSPLIT2</th>\n",
|
|
" <th>INT_BSPLIT3</th>\n",
|
|
" <th>INT_BSPLIT4</th>\n",
|
|
" <th>INT_BSPLIT5</th>\n",
|
|
" <th>INT_BSPLIT6</th>\n",
|
|
" <th>INT_BSPLIT7</th>\n",
|
|
" <th>INT_BSPLIT8</th>\n",
|
|
" <th>INT_OFFSET</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>806</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>60</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>60</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>808</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>60</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>60</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>809</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>60</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>60</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>810</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>60</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>60</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" INT_NO INT_PLAN_NO INT_PLAN_INDEX INT_ASPLIT1 INT_ASPLIT2 INT_ASPLIT3 \\\n",
|
|
"0 806 1 1 60 50 30 \n",
|
|
"1 808 1 1 60 50 30 \n",
|
|
"2 809 1 1 60 50 30 \n",
|
|
"3 810 1 1 60 50 30 \n",
|
|
"\n",
|
|
" INT_ASPLIT4 INT_ASPLIT5 INT_ASPLIT6 INT_ASPLIT7 INT_ASPLIT8 \\\n",
|
|
"0 20 NaN NaN NaN NaN \n",
|
|
"1 20 NaN NaN NaN NaN \n",
|
|
"2 20 NaN NaN NaN NaN \n",
|
|
"3 20 NaN NaN NaN NaN \n",
|
|
"\n",
|
|
" INT_BSPLIT1 INT_BSPLIT2 INT_BSPLIT3 INT_BSPLIT4 INT_BSPLIT5 \\\n",
|
|
"0 60 50 30 20 NaN \n",
|
|
"1 60 50 30 20 NaN \n",
|
|
"2 60 50 30 20 NaN \n",
|
|
"3 60 50 30 20 NaN \n",
|
|
"\n",
|
|
" INT_BSPLIT6 INT_BSPLIT7 INT_BSPLIT8 INT_OFFSET \n",
|
|
"0 NaN NaN NaN NaN \n",
|
|
"1 NaN NaN NaN NaN \n",
|
|
"2 NaN NaN NaN NaN \n",
|
|
"3 NaN NaN NaN NaN "
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>SA_NO</th>\n",
|
|
" <th>SA_WEEK</th>\n",
|
|
" <th>SA_DPLAN</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>30</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>30</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>30</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>30</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>30</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>30</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>30</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" SA_NO SA_WEEK SA_DPLAN\n",
|
|
"0 30 1 1\n",
|
|
"1 30 2 1\n",
|
|
"2 30 3 1\n",
|
|
"3 30 4 1\n",
|
|
"4 30 5 1\n",
|
|
"5 30 6 1\n",
|
|
"6 30 7 1\n",
|
|
"7 1 2 1\n",
|
|
"8 1 3 1\n",
|
|
"9 1 1 1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>SA_NO</th>\n",
|
|
" <th>SA_DPLAN_NO</th>\n",
|
|
" <th>SA_DPLAN_INDEX</th>\n",
|
|
" <th>SA_START_HOUR</th>\n",
|
|
" <th>SA_START_MIN</th>\n",
|
|
" <th>SA_CYCLE_INDEX</th>\n",
|
|
" <th>SA_OFFSET</th>\n",
|
|
" <th>SA_SPLIT</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>10</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>5</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>16</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>9</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>10</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" SA_NO SA_DPLAN_NO SA_DPLAN_INDEX SA_START_HOUR SA_START_MIN \\\n",
|
|
"0 1 1 1 0 0 \n",
|
|
"1 1 1 2 6 0 \n",
|
|
"2 1 1 3 10 0 \n",
|
|
"3 1 1 4 16 0 \n",
|
|
"4 1 1 5 0 0 \n",
|
|
"5 1 1 6 0 0 \n",
|
|
"6 1 1 7 0 0 \n",
|
|
"7 1 1 8 0 0 \n",
|
|
"8 1 1 9 0 0 \n",
|
|
"9 1 1 10 0 0 \n",
|
|
"\n",
|
|
" SA_CYCLE_INDEX SA_OFFSET SA_SPLIT \n",
|
|
"0 1 1 1 \n",
|
|
"1 2 2 2 \n",
|
|
"2 3 5 5 \n",
|
|
"3 2 2 2 \n",
|
|
"4 0 0 0 \n",
|
|
"5 0 0 0 \n",
|
|
"6 0 0 0 \n",
|
|
"7 0 0 0 \n",
|
|
"8 0 0 0 \n",
|
|
"9 0 0 0 "
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 3. 신호계획정보 (tplan, wplan, dplan, 테이블명 : S_INT_TPLAN, S_INT_WPLAN, S_INT_DPLAN)\n",
|
|
"display(tplan[:10])\n",
|
|
"display(wplan[:10])\n",
|
|
"display(dplan[:10])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>INT_NO</th>\n",
|
|
" <th>INT_CREATE_DATE</th>\n",
|
|
" <th>INT_SPLIT1</th>\n",
|
|
" <th>INT_SPLIT2</th>\n",
|
|
" <th>INT_SPLIT3</th>\n",
|
|
" <th>INT_SPLIT4</th>\n",
|
|
" <th>INT_SPLIT5</th>\n",
|
|
" <th>INT_SPLIT6</th>\n",
|
|
" <th>INT_SPLIT7</th>\n",
|
|
" <th>INT_SPLIT8</th>\n",
|
|
" <th>INT_OFFSET</th>\n",
|
|
" <th>INT_CYCLE</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>743</td>\n",
|
|
" <td>2023-10-18 08:10:00</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>743</td>\n",
|
|
" <td>2023-10-18 08:13:00</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>743</td>\n",
|
|
" <td>2023-10-18 08:14:00</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>743</td>\n",
|
|
" <td>2023-10-18 08:16:00</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>743</td>\n",
|
|
" <td>2023-10-18 08:17:00</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>...</th>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11093</th>\n",
|
|
" <td>477</td>\n",
|
|
" <td>2023-10-18 08:05:00</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11094</th>\n",
|
|
" <td>477</td>\n",
|
|
" <td>2023-10-18 08:06:00</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11095</th>\n",
|
|
" <td>477</td>\n",
|
|
" <td>2023-10-18 08:07:00</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11096</th>\n",
|
|
" <td>477</td>\n",
|
|
" <td>2023-10-18 08:08:00</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11097</th>\n",
|
|
" <td>477</td>\n",
|
|
" <td>2023-10-18 08:09:00</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"<p>11098 rows × 12 columns</p>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" INT_NO INT_CREATE_DATE INT_SPLIT1 INT_SPLIT2 INT_SPLIT3 \\\n",
|
|
"0 743 2023-10-18 08:10:00 0 0 0 \n",
|
|
"1 743 2023-10-18 08:13:00 0 0 0 \n",
|
|
"2 743 2023-10-18 08:14:00 0 0 0 \n",
|
|
"3 743 2023-10-18 08:16:00 0 0 0 \n",
|
|
"4 743 2023-10-18 08:17:00 0 0 0 \n",
|
|
"... ... ... ... ... ... \n",
|
|
"11093 477 2023-10-18 08:05:00 0 0 0 \n",
|
|
"11094 477 2023-10-18 08:06:00 0 0 0 \n",
|
|
"11095 477 2023-10-18 08:07:00 0 0 0 \n",
|
|
"11096 477 2023-10-18 08:08:00 0 0 0 \n",
|
|
"11097 477 2023-10-18 08:09:00 0 0 0 \n",
|
|
"\n",
|
|
" INT_SPLIT4 INT_SPLIT5 INT_SPLIT6 INT_SPLIT7 INT_SPLIT8 INT_OFFSET \\\n",
|
|
"0 0 0 0 NaN NaN 0 \n",
|
|
"1 0 0 0 NaN NaN 0 \n",
|
|
"2 0 0 0 NaN NaN 0 \n",
|
|
"3 0 0 0 NaN NaN 0 \n",
|
|
"4 0 0 0 NaN NaN 0 \n",
|
|
"... ... ... ... ... ... ... \n",
|
|
"11093 0 0 0 NaN NaN 0 \n",
|
|
"11094 0 0 0 NaN NaN 0 \n",
|
|
"11095 0 0 0 NaN NaN 0 \n",
|
|
"11096 0 0 0 NaN NaN 0 \n",
|
|
"11097 0 0 0 NaN NaN 0 \n",
|
|
"\n",
|
|
" INT_CYCLE \n",
|
|
"0 0 \n",
|
|
"1 0 \n",
|
|
"2 0 \n",
|
|
"3 0 \n",
|
|
"4 0 \n",
|
|
"... ... \n",
|
|
"11093 0 \n",
|
|
"11094 0 \n",
|
|
"11095 0 \n",
|
|
"11096 0 \n",
|
|
"11097 0 \n",
|
|
"\n",
|
|
"[11098 rows x 12 columns]"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 4. 신호이력정보 (history, 테이블명 : S_TOD_HIS)\n",
|
|
"history"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "rts",
|
|
"language": "python",
|
|
"name": "rts"
|
|
},
|
|
"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.8.10"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|