{ "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
INT_NOINT_NAMESA_NOINT_LATINT_LNGIS_SMART
01도촌4거리137.41405127.143851.0
12동원SK삼거리(아시아 주유소)137.41282127.14382NaN
23상탑4거리037.40809127.14296NaN
34돌마4거리(상탑3거리)037.40683127.142011.0
45상탑초3거리037.40561127.14473NaN
56야탑3치안센터(상탑 P.B)037.40549127.14823NaN
67테크노 단일로037.40486127.15121NaN
78분당테크노파크A동037.40499127.15034NaN
89분당테크노파크C동(분당테크노파크)037.40545127.15526NaN
910야탑차량등록사업소037.40682127.15470NaN
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
INT_NOINT_NAMESA_NOINT_LATINT_LNGIS_SMARTnode_idsXYways
0175한솔삼거리(한솔마을3거리)037.36857127.11478NaNn0437.586026566.103
1176느티마을4단지037.36724127.11480NaNn1439.350485418.473
2177한솔6단지(정자동사무소)037.36619127.11480NaNn2439.350485301.924
3178신기4거리037.36346127.11480NaNn3439.350485-1.114
4201느티마을4거리037.36854127.109840.0n41.764460562.774
5202느티마을 안촌유치원037.36855127.11241NaNn5228.497542563.882
6206상록마을 321동037.36483127.10981NaNn6-0.882230150.962
7210상록4거리(상록마을입구4거리)037.36347127.109820.0n70.0000000.004
8211상록마을단일로037.36346127.11237NaNn8224.968622-1.112
9212상록마을302동 단일로037.36347127.11306NaNn9285.8424840.002
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
INT_NOINT_PHASE_NOINT_PLAN_CLSSINT_RINGINT_FLOW_NOINT_MIN_SPLITINT_MAX_SPLITINT_YELLOWINT_MAIN_PHASEINT_LANEINT_PHASE_LAT1INT_PHASE_LNG1INT_PHASE_LAT2INT_PHASE_LNG2INT_PHASE_LAT3INT_PHASE_LNG3
020410080000037.36581127.1082237.36614127.1082237.36626127.10822
120410140000037.36646127.1079737.36614127.1079737.36602127.10797
2204200170000019.69448117.9926019.69448117.9926019.69448117.99260
320510070000037.36595127.1060737.36563127.1060837.36563127.10622
420510140000037.36595127.1058237.36563127.1058337.36551127.10583
520520130000037.36530127.1058337.36563127.1058337.36563127.10568
620520080000037.36530127.1060837.36563127.1060837.36575127.10607
7205300170000019.69448117.9926019.69448117.9926019.69448117.99260
820540060000037.36573127.1063637.36573127.1059537.36573127.10580
920540110000037.36553127.1063637.36553127.1059537.36541127.10595
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
INT_NOwaysINT_PHASE_NOINT_PLAN_CLSSINT_RINGINT_FLOW_NOINT_MIN_SPLITINT_MAX_SPLITINT_YELLOWINT_MAIN_PHASEINT_LANEINT_PHASE_LAT1INT_PHASE_LNG1INT_PHASE_LAT2INT_PHASE_LNG2INT_PHASE_LAT3INT_PHASE_LNG3
20175310A81832420037.36825127.1149137.36857127.1149037.36869127.11491
19175310B41327420037.36890127.1146737.36857127.1146537.36845127.11466
21175320A71927410037.36889127.1149137.36857127.1149037.36856127.11505
22175320B33546410037.36824127.1146637.36857127.1146537.36857127.11451
23175330A62638410037.36867127.1151937.36867127.1147837.36867127.11463
24175330B13652410037.36847127.1151837.36847127.1147837.36835127.11478
25175340A52948410037.36866127.1143737.36867127.1147837.36878127.11478
26175340B21724410037.36847127.1143737.36847127.1147837.36847127.11493
27176310A83753420037.36691127.1149337.36724127.1149337.36735127.11493
28176310B42530420037.36756127.1146737.36723127.1146837.36712127.11468
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
INT_NOINT_PLAN_NOINT_PLAN_INDEXINT_ASPLIT1INT_ASPLIT2INT_ASPLIT3INT_ASPLIT4INT_ASPLIT5INT_ASPLIT6INT_ASPLIT7INT_ASPLIT8INT_BSPLIT1INT_BSPLIT2INT_BSPLIT3INT_BSPLIT4INT_BSPLIT5INT_BSPLIT6INT_BSPLIT7INT_BSPLIT8INT_OFFSET
08061160503020NaNNaNNaNNaN60503020NaNNaNNaNNaNNaN
18081160503020NaNNaNNaNNaN60503020NaNNaNNaNNaNNaN
28091160503020NaNNaNNaNNaN60503020NaNNaNNaNNaNNaN
38101160503020NaNNaNNaNNaN60503020NaNNaNNaNNaNNaN
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SA_NOSA_WEEKSA_DPLAN
03011
13021
23031
33041
43051
53061
63071
7121
8131
9111
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SA_NOSA_DPLAN_NOSA_DPLAN_INDEXSA_START_HOURSA_START_MINSA_CYCLE_INDEXSA_OFFSETSA_SPLIT
011100111
111260222
2113100355
3114160222
411500000
511600000
611700000
711800000
811900000
9111000000
\n", "
" ], "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
INT_NOINT_CREATE_DATEINT_SPLIT1INT_SPLIT2INT_SPLIT3INT_SPLIT4INT_SPLIT5INT_SPLIT6INT_SPLIT7INT_SPLIT8INT_OFFSETINT_CYCLE
07432023-10-18 08:10:00000000NaNNaN00
17432023-10-18 08:13:00000000NaNNaN00
27432023-10-18 08:14:00000000NaNNaN00
37432023-10-18 08:16:00000000NaNNaN00
47432023-10-18 08:17:00000000NaNNaN00
.......................................
110934772023-10-18 08:05:00000000NaNNaN00
110944772023-10-18 08:06:00000000NaNNaN00
110954772023-10-18 08:07:00000000NaNNaN00
110964772023-10-18 08:08:00000000NaNNaN00
110974772023-10-18 08:09:00000000NaNNaN00
\n", "

11098 rows × 12 columns

\n", "
" ], "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 }