{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import os\n",
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"import sys\n",
|
|
"sys.path.append('../../Scripts')\n",
|
|
"from preprocess_daily import DailyPreprocessor\n",
|
|
"from generate_signals import SignalGenerator"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"비보호좌회전, 신호우회전, 유턴\n",
|
|
"\n",
|
|
"줄임말 목록\n",
|
|
"- `i` : 교차로번호, `inter_no`\n",
|
|
"- `f` : 진입, from, `inc_edge_id`\n",
|
|
"- `t` : 진출, to, `out_edge_id`\n",
|
|
"- `vec` : 방향벡터, unit vector (`np.array([0.6, 0.8])`)\n",
|
|
"- `dire` : 방위, direction (동, 서, 남, 북, 북동, 북서, 남동, 남서)\n",
|
|
"- `rvec` : 정방향 방향벡터, unit vector to the right direction (`np.array([0,1])`)\n",
|
|
"\n",
|
|
"필요한 객체들 목록\n",
|
|
"\n",
|
|
"- `inter2dire2rvec` : `inter_no` $\\mapsto$ `dire2rvec`\n",
|
|
" - `dire2rvec` : `dire` $\\mapsto$ `rvec`\n",
|
|
"- `inter2incs` : `inter_no` $\\mapsto$ `inc_edge_ids`\n",
|
|
"- `inter2outs` : `inter_no` $\\mapsto$ `out_edge_ids`\n",
|
|
"- `inter2inc2dire` : `inter_no` $\\mapsto$ `int2dire`\n",
|
|
" - `inc2dire` : `out_edge_id` $\\mapsto$ `dire`\n",
|
|
"- `inter2out2dire` : `inter_no` $\\mapsto$ `out2dire`\n",
|
|
" - `out2dire` : `inc_edge_id` $\\mapsto$ `dire`\n",
|
|
"- `inter2inc2vec` : `inter_no` $\\mapsto$ `int2vec`\n",
|
|
" - `inc2vec` : `out_edge_id` $\\mapsto$ `vec`\n",
|
|
"- `inter2out2vec` : `inter_no` $\\mapsto$ `out2vec`\n",
|
|
" - `out2vec` : `inc_edge_id` $\\mapsto$ `vec`\n",
|
|
"\n",
|
|
"좌회전 판단\n",
|
|
"\n",
|
|
"Given `inter_no`, `inc_edge_id` and `out_edge_id`, we have `inc_vec = inter2inc2vec[inter_no][inc_edge_id]` and `out_vec = inter2out2vec[inter_no][out_edge_id]`.\n",
|
|
"Rotate `inc_vec` by 90, 180 and 270 degrees clockwise, to define \n",
|
|
"`out_vec_left`, `out_vec_straight` and `out_vec_right`.\n",
|
|
"Define `out_vecs={'right':out_vec_left, 'straight':out_vec_straight, 'right':out_vec_right}`.\n",
|
|
"Select the key that maximize the similarity of the corresponding value of the key and `inc_vec`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1. 데이터를 로드합니다.\n",
|
|
"1-1. 네트워크가 로드되었습니다.\n",
|
|
"1-2. 테이블들이 로드되었습니다.\n",
|
|
"1-3. 네트워크의 모든 clean state requirement들을 체크했습니다.\n",
|
|
"1-4. 테이블들의 무결성 검사를 완료했습니다.\n",
|
|
"1-5. 주요 객체 (리스트, 딕셔너리)들을 저장했습니다.\n"
|
|
]
|
|
},
|
|
{
|
|
"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>parent_id</th>\n",
|
|
" <th>child_id</th>\n",
|
|
" <th>adj_from_edge_id</th>\n",
|
|
" <th>adj_to_edge_id</th>\n",
|
|
" <th>from_edge_id</th>\n",
|
|
" <th>to_edge_id</th>\n",
|
|
" <th>condition</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>u00</td>\n",
|
|
" <td>-571500487_01</td>\n",
|
|
" <td>571500487_01</td>\n",
|
|
" <td>571500487_02</td>\n",
|
|
" <td>571500487_01.32</td>\n",
|
|
" <td>좌회전시</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>571542811_02</td>\n",
|
|
" <td>571542811_01</td>\n",
|
|
" <td>571542810_01.51</td>\n",
|
|
" <td>571542810_02</td>\n",
|
|
" <td>보행신호시</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>u30</td>\n",
|
|
" <td>571556450_02</td>\n",
|
|
" <td>571556450_01</td>\n",
|
|
" <td>571556452_01</td>\n",
|
|
" <td>571556452_02</td>\n",
|
|
" <td>보행신호시</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>u31</td>\n",
|
|
" <td>-571500475_01</td>\n",
|
|
" <td>571500475_01</td>\n",
|
|
" <td>571500475_02</td>\n",
|
|
" <td>571500475_01.26</td>\n",
|
|
" <td>보행신호시</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>u32</td>\n",
|
|
" <td>571540303_02.21</td>\n",
|
|
" <td>571540303_01</td>\n",
|
|
" <td>571540303_02</td>\n",
|
|
" <td>-571540303_02</td>\n",
|
|
" <td>보행신호시</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>u60</td>\n",
|
|
" <td>571500535_02.18</td>\n",
|
|
" <td>571500535_01</td>\n",
|
|
" <td>571500535_02</td>\n",
|
|
" <td>-571500535_02</td>\n",
|
|
" <td>좌회전시</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" parent_id child_id adj_from_edge_id adj_to_edge_id from_edge_id \\\n",
|
|
"0 i0 u00 -571500487_01 571500487_01 571500487_02 \n",
|
|
"1 i2 u20 571542811_02 571542811_01 571542810_01.51 \n",
|
|
"2 i3 u30 571556450_02 571556450_01 571556452_01 \n",
|
|
"3 i3 u31 -571500475_01 571500475_01 571500475_02 \n",
|
|
"4 i3 u32 571540303_02.21 571540303_01 571540303_02 \n",
|
|
"5 i6 u60 571500535_02.18 571500535_01 571500535_02 \n",
|
|
"\n",
|
|
" to_edge_id condition \n",
|
|
"0 571500487_01.32 좌회전시 \n",
|
|
"1 571542810_02 보행신호시 \n",
|
|
"2 571556452_02 보행신호시 \n",
|
|
"3 571500475_01.26 보행신호시 \n",
|
|
"4 -571540303_02 보행신호시 \n",
|
|
"5 -571500535_02 좌회전시 "
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"self = DailyPreprocessor()\n",
|
|
"self.load_data()\n",
|
|
"self.make_match1()\n",
|
|
"self.make_match2()\n",
|
|
"self.make_match3()\n",
|
|
"self.make_match4()\n",
|
|
"self.make_match5()\n",
|
|
"self.u_turn = pd.merge(self.u_turn, self.u_condition, on='child_id')\n",
|
|
"display(self.u_turn)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# p2inc_edge2angle : node_id to inc_edge2angle\n",
|
|
"p2inc_edge2angle = dict()\n",
|
|
"# p2out_edge2angle : node_id to out_edge2angle\n",
|
|
"p2out_edge2angle = dict()\n",
|
|
"# p2inc_angle2edge : node_id to inc_angle2edge\n",
|
|
"p2inc_angle2edge = dict()\n",
|
|
"# p2out_angle2edge : node_id to out_angle2edge\n",
|
|
"p2out_angle2edge = dict()\n",
|
|
"for node_id in self.parent_ids:\n",
|
|
" m5 = self.match5[self.match5.node_id==node_id]\n",
|
|
" m5 = m5.dropna(subset=['inc_edge_id', 'out_edge_id'])\n",
|
|
" # inc_edge2angle : inc_edge_id to inc_angle\n",
|
|
" inc_edge2angle = dict(zip(m5.inc_edge_id, m5.inc_angle.astype(int)))\n",
|
|
" p2inc_edge2angle[node_id] = inc_edge2angle\n",
|
|
" # out_edge2angle : out_edge_id to out_angle\n",
|
|
" out_edge2angle = dict(zip(m5.out_edge_id, m5.out_angle.astype(int)))\n",
|
|
" p2out_edge2angle[node_id] = out_edge2angle\n",
|
|
" # inc_angle2edge : inc_angle to inc_edge_id\n",
|
|
" inc_angle2edge = dict(zip(m5.inc_angle.astype(int), m5.inc_edge_id))\n",
|
|
" p2inc_angle2edge[node_id] = inc_angle2edge\n",
|
|
" # out_angle2edge : out_angle to out_edge_id\n",
|
|
" out_angle2edge = dict(zip(m5.out_angle.astype(int), m5.out_edge_id))\n",
|
|
" p2out_angle2edge[node_id] = out_angle2edge"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"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>inter_no</th>\n",
|
|
" <th>phase_no</th>\n",
|
|
" <th>ring_type</th>\n",
|
|
" <th>move_no</th>\n",
|
|
" <th>inc_dire</th>\n",
|
|
" <th>out_dire</th>\n",
|
|
" <th>inc_angle</th>\n",
|
|
" <th>out_angle</th>\n",
|
|
" <th>inc_edge_id</th>\n",
|
|
" <th>out_edge_id</th>\n",
|
|
" <th>node_id</th>\n",
|
|
" <th>turn_type</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571542797_02</td>\n",
|
|
" <td>571500487_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>001</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>-571500487_01</td>\n",
|
|
" <td>571542797_02</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>001</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>-571500487_01</td>\n",
|
|
" <td>571545870_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571542797_02</td>\n",
|
|
" <td>571510153_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571545870_02</td>\n",
|
|
" <td>571510153_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571545870_02</td>\n",
|
|
" <td>571542797_02</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571510153_02</td>\n",
|
|
" <td>571500487_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571510153_02</td>\n",
|
|
" <td>571545870_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>356</td>\n",
|
|
" <td>-571542810_01</td>\n",
|
|
" <td>-571542797_02.99</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>359</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542797_02.99</td>\n",
|
|
" <td>571542810_01</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>356</td>\n",
|
|
" <td>-571542810_01</td>\n",
|
|
" <td>-571542797_02.99</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571542810_01</td>\n",
|
|
" <td>571543469_01</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>12</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>356</td>\n",
|
|
" <td>571543469_02</td>\n",
|
|
" <td>-571542797_02.99</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>13</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>14</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571542809_01</td>\n",
|
|
" <td>571542811_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>15</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542811_02</td>\n",
|
|
" <td>571542809_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>16</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571542811_02</td>\n",
|
|
" <td>571542107_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>17</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571542809_01</td>\n",
|
|
" <td>571542809_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>18</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>19</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>20</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>268</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571542809_01</td>\n",
|
|
" <td>571542811_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>21</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542107_02</td>\n",
|
|
" <td>571542809_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>22</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571540304_02</td>\n",
|
|
" <td>571556450_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>23</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571556450_02</td>\n",
|
|
" <td>571540304_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>24</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571556450_02</td>\n",
|
|
" <td>571500475_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>25</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571540304_02</td>\n",
|
|
" <td>571540303_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>26</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571540303_02.21</td>\n",
|
|
" <td>571556450_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>27</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571540303_02.21</td>\n",
|
|
" <td>571500475_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>28</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571500475_01</td>\n",
|
|
" <td>571540303_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>29</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>-571500475_01</td>\n",
|
|
" <td>571540304_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>30</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571500569_01</td>\n",
|
|
" <td>571500583_02</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>31</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571500569_01</td>\n",
|
|
" <td>571500618_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>32</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571500618_02</td>\n",
|
|
" <td>571500583_02</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>33</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571500618_02</td>\n",
|
|
" <td>571500617_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>34</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571500617_02</td>\n",
|
|
" <td>571500618_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>35</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571500618_02</td>\n",
|
|
" <td>571500617_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>36</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571500617_02</td>\n",
|
|
" <td>571500618_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>37</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571500617_02</td>\n",
|
|
" <td>571500569_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>38</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571500583_01</td>\n",
|
|
" <td>571500617_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>39</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571500583_01</td>\n",
|
|
" <td>571500569_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>40</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571510152_02</td>\n",
|
|
" <td>-571510152_01</td>\n",
|
|
" <td>i9</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>41</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571510152_01</td>\n",
|
|
" <td>571510152_01.65</td>\n",
|
|
" <td>i9</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>42</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i9</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>43</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i9</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>44</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571511538_02</td>\n",
|
|
" <td>571542073_02</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>45</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542073_01</td>\n",
|
|
" <td>571511538_02</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>46</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>47</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>48</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571511538_02</td>\n",
|
|
" <td>571542073_02</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>49</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542073_01</td>\n",
|
|
" <td>571511538_02</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>50</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>51</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>52</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571542115_01</td>\n",
|
|
" <td>571500535_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>53</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>54</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571500535_02.18</td>\n",
|
|
" <td>571511538_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>55</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571500535_02.18</td>\n",
|
|
" <td>571542115_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>56</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571511538_02.121</td>\n",
|
|
" <td>571542115_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>57</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571511538_02.121</td>\n",
|
|
" <td>571500585_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>58</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571500585_02</td>\n",
|
|
" <td>571511538_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>59</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571500585_02</td>\n",
|
|
" <td>571500535_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
|
|
"0 175 1 A 8 남 북 179 \n",
|
|
"1 175 1 B 4 북 남 001 \n",
|
|
"2 175 2 A 7 북 동 001 \n",
|
|
"3 175 2 B 3 남 서 179 \n",
|
|
"4 175 3 A 6 동 서 090 \n",
|
|
"5 175 3 B 1 동 남 090 \n",
|
|
"6 175 4 A 5 서 북 270 \n",
|
|
"7 175 4 B 2 서 동 270 \n",
|
|
"8 176 1 A 8 남 북 180 \n",
|
|
"9 176 1 B 4 북 남 359 \n",
|
|
"10 176 2 A 8 남 북 180 \n",
|
|
"11 176 2 B 3 남 서 180 \n",
|
|
"12 176 3 A 5 서 북 270 \n",
|
|
"13 176 3 B 18 NaN NaN NaN \n",
|
|
"14 177 1 A 8 남 북 179 \n",
|
|
"15 177 1 B 4 북 남 000 \n",
|
|
"16 177 2 A 7 북 동 000 \n",
|
|
"17 177 2 B 3 남 서 179 \n",
|
|
"18 177 3 A 17 NaN NaN NaN \n",
|
|
"19 177 3 B 18 NaN NaN NaN \n",
|
|
"20 177 4 A 5 서 북 268 \n",
|
|
"21 177 4 B 1 동 남 090 \n",
|
|
"22 178 1 A 8 남 북 180 \n",
|
|
"23 178 1 B 4 북 남 000 \n",
|
|
"24 178 2 A 7 북 동 000 \n",
|
|
"25 178 2 B 3 남 서 180 \n",
|
|
"26 178 3 A 5 서 북 270 \n",
|
|
"27 178 3 B 2 서 동 270 \n",
|
|
"28 178 4 A 6 동 서 090 \n",
|
|
"29 178 4 B 1 동 남 090 \n",
|
|
"30 201 1 A 8 남 북 180 \n",
|
|
"31 201 1 B 3 남 서 180 \n",
|
|
"32 201 2 A 5 서 북 270 \n",
|
|
"33 201 2 B 2 서 동 270 \n",
|
|
"34 201 3 A 6 동 서 090 \n",
|
|
"35 201 3 B 2 서 동 270 \n",
|
|
"36 201 4 A 6 동 서 090 \n",
|
|
"37 201 4 B 1 동 남 090 \n",
|
|
"38 201 5 A 7 북 동 000 \n",
|
|
"39 201 5 B 4 북 남 000 \n",
|
|
"40 202 1 A 6 동 서 090 \n",
|
|
"41 202 1 B 2 서 동 270 \n",
|
|
"42 202 2 A 17 NaN NaN NaN \n",
|
|
"43 202 2 B 18 NaN NaN NaN \n",
|
|
"44 206 1 A 8 남 북 180 \n",
|
|
"45 206 1 B 4 북 남 000 \n",
|
|
"46 206 2 A 17 NaN NaN NaN \n",
|
|
"47 206 2 B 18 NaN NaN NaN \n",
|
|
"48 206 3 A 8 남 북 180 \n",
|
|
"49 206 3 B 4 북 남 000 \n",
|
|
"50 206 4 A 17 NaN NaN NaN \n",
|
|
"51 206 4 B 18 NaN NaN NaN \n",
|
|
"52 210 1 A 6 동 서 090 \n",
|
|
"53 210 1 B 18 NaN NaN NaN \n",
|
|
"54 210 2 A 5 서 북 270 \n",
|
|
"55 210 2 B 2 서 동 270 \n",
|
|
"56 210 3 A 7 북 동 000 \n",
|
|
"57 210 3 B 4 북 남 000 \n",
|
|
"58 210 4 A 8 남 북 180 \n",
|
|
"59 210 4 B 3 남 서 180 \n",
|
|
"\n",
|
|
" out_angle inc_edge_id out_edge_id node_id turn_type \n",
|
|
"0 000 -571542797_02 571500487_01 i0 straight \n",
|
|
"1 180 -571500487_01 571542797_02 i0 straight \n",
|
|
"2 090 -571500487_01 571545870_01 i0 left \n",
|
|
"3 270 -571542797_02 571510153_01 i0 left \n",
|
|
"4 270 571545870_02 571510153_01 i0 straight \n",
|
|
"5 180 571545870_02 571542797_02 i0 left \n",
|
|
"6 000 571510153_02 571500487_01 i0 left \n",
|
|
"7 090 571510153_02 571545870_01 i0 straight \n",
|
|
"8 356 -571542810_01 -571542797_02.99 i1 straight \n",
|
|
"9 180 571542797_02.99 571542810_01 i1 straight \n",
|
|
"10 356 -571542810_01 -571542797_02.99 i1 straight \n",
|
|
"11 270 -571542810_01 571543469_01 i1 left \n",
|
|
"12 356 571543469_02 -571542797_02.99 i1 left \n",
|
|
"13 NaN NaN NaN i1 NaN \n",
|
|
"14 000 -571542809_01 571542811_01 i2 left \n",
|
|
"15 180 571542811_02 571542809_01 i2 straight \n",
|
|
"16 090 571542811_02 571542107_01 i2 left \n",
|
|
"17 270 -571542809_01 571542809_01 i2 left \n",
|
|
"18 NaN NaN NaN i2 NaN \n",
|
|
"19 NaN NaN NaN i2 NaN \n",
|
|
"20 000 -571542809_01 571542811_01 i2 left \n",
|
|
"21 180 571542107_02 571542809_01 i2 left \n",
|
|
"22 000 571540304_02 571556450_01 i3 straight \n",
|
|
"23 180 571556450_02 571540304_01 i3 straight \n",
|
|
"24 090 571556450_02 571500475_01 i3 left \n",
|
|
"25 270 571540304_02 571540303_01 i3 left \n",
|
|
"26 000 571540303_02.21 571556450_01 i3 left \n",
|
|
"27 090 571540303_02.21 571500475_01 i3 straight \n",
|
|
"28 270 -571500475_01 571540303_01 i3 straight \n",
|
|
"29 180 -571500475_01 571540304_01 i3 left \n",
|
|
"30 000 -571500569_01 571500583_02 i8 straight \n",
|
|
"31 270 -571500569_01 571500618_01 i8 left \n",
|
|
"32 000 571500618_02 571500583_02 i8 left \n",
|
|
"33 090 571500618_02 571500617_01 i8 straight \n",
|
|
"34 270 571500617_02 571500618_01 i8 straight \n",
|
|
"35 090 571500618_02 571500617_01 i8 straight \n",
|
|
"36 270 571500617_02 571500618_01 i8 straight \n",
|
|
"37 180 571500617_02 571500569_01 i8 left \n",
|
|
"38 090 571500583_01 571500617_01 i8 left \n",
|
|
"39 180 571500583_01 571500569_01 i8 straight \n",
|
|
"40 270 571510152_02 -571510152_01 i9 straight \n",
|
|
"41 090 571510152_01 571510152_01.65 i9 straight \n",
|
|
"42 NaN NaN NaN i9 NaN \n",
|
|
"43 NaN NaN NaN i9 NaN \n",
|
|
"44 000 -571511538_02 571542073_02 i7 straight \n",
|
|
"45 180 571542073_01 571511538_02 i7 straight \n",
|
|
"46 NaN NaN NaN i7 NaN \n",
|
|
"47 NaN NaN NaN i7 NaN \n",
|
|
"48 000 -571511538_02 571542073_02 i7 straight \n",
|
|
"49 180 571542073_01 571511538_02 i7 straight \n",
|
|
"50 NaN NaN NaN i7 NaN \n",
|
|
"51 NaN NaN NaN i7 NaN \n",
|
|
"52 270 -571542115_01 571500535_01 i6 straight \n",
|
|
"53 NaN NaN NaN i6 NaN \n",
|
|
"54 000 571500535_02.18 571511538_01 i6 left \n",
|
|
"55 090 571500535_02.18 571542115_01 i6 straight \n",
|
|
"56 090 571511538_02.121 571542115_01 i6 left \n",
|
|
"57 180 571511538_02.121 571500585_01 i6 straight \n",
|
|
"58 000 571500585_02 571511538_01 i6 straight \n",
|
|
"59 270 571500585_02 571500535_01 i6 left "
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"self.match5"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"['i0', 'i1', 'i2', 'i3', 'i6', 'i7', 'i8', 'i9']\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(self.parent_ids)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{180: '-571542810_01', 359: '571542797_02.99', 270: '571543469_02'}"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{'-571542810_01': 180, '571542797_02.99': 359, '571543469_02': 270}"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"parent_id = self.parent_ids[1]\n",
|
|
"display(p2inc_angle2edge[parent_id])\n",
|
|
"display(p2inc_edge2angle[parent_id])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"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>parent_id</th>\n",
|
|
" <th>child_id</th>\n",
|
|
" <th>adj_from_edge_id</th>\n",
|
|
" <th>adj_to_edge_id</th>\n",
|
|
" <th>from_edge_id</th>\n",
|
|
" <th>to_edge_id</th>\n",
|
|
" <th>condition</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>u00</td>\n",
|
|
" <td>-571500487_01</td>\n",
|
|
" <td>571500487_01</td>\n",
|
|
" <td>571500487_02</td>\n",
|
|
" <td>571500487_01.32</td>\n",
|
|
" <td>좌회전시</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>571542811_02</td>\n",
|
|
" <td>571542811_01</td>\n",
|
|
" <td>571542810_01.51</td>\n",
|
|
" <td>571542810_02</td>\n",
|
|
" <td>보행신호시</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>u30</td>\n",
|
|
" <td>571556450_02</td>\n",
|
|
" <td>571556450_01</td>\n",
|
|
" <td>571556452_01</td>\n",
|
|
" <td>571556452_02</td>\n",
|
|
" <td>보행신호시</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>u31</td>\n",
|
|
" <td>-571500475_01</td>\n",
|
|
" <td>571500475_01</td>\n",
|
|
" <td>571500475_02</td>\n",
|
|
" <td>571500475_01.26</td>\n",
|
|
" <td>보행신호시</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>u32</td>\n",
|
|
" <td>571540303_02.21</td>\n",
|
|
" <td>571540303_01</td>\n",
|
|
" <td>571540303_02</td>\n",
|
|
" <td>-571540303_02</td>\n",
|
|
" <td>보행신호시</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>u60</td>\n",
|
|
" <td>571500535_02.18</td>\n",
|
|
" <td>571500535_01</td>\n",
|
|
" <td>571500535_02</td>\n",
|
|
" <td>-571500535_02</td>\n",
|
|
" <td>좌회전시</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" parent_id child_id adj_from_edge_id adj_to_edge_id from_edge_id \\\n",
|
|
"0 i0 u00 -571500487_01 571500487_01 571500487_02 \n",
|
|
"1 i2 u20 571542811_02 571542811_01 571542810_01.51 \n",
|
|
"2 i3 u30 571556450_02 571556450_01 571556452_01 \n",
|
|
"3 i3 u31 -571500475_01 571500475_01 571500475_02 \n",
|
|
"4 i3 u32 571540303_02.21 571540303_01 571540303_02 \n",
|
|
"5 i6 u60 571500535_02.18 571500535_01 571500535_02 \n",
|
|
"\n",
|
|
" to_edge_id condition \n",
|
|
"0 571500487_01.32 좌회전시 \n",
|
|
"1 571542810_02 보행신호시 \n",
|
|
"2 571556452_02 보행신호시 \n",
|
|
"3 571500475_01.26 보행신호시 \n",
|
|
"4 -571540303_02 보행신호시 \n",
|
|
"5 -571500535_02 좌회전시 "
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"self.u_turn"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"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>Unnamed: 0</th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>phas_A</th>\n",
|
|
" <th>phas_B</th>\n",
|
|
" <th>move_A</th>\n",
|
|
" <th>move_B</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>0</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>2</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>4</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>176</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>6</td>\n",
|
|
" <td>176</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>7</td>\n",
|
|
" <td>176</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>18</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>8</td>\n",
|
|
" <td>177</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>9</td>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>10</td>\n",
|
|
" <td>177</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>18</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11</th>\n",
|
|
" <td>11</td>\n",
|
|
" <td>177</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>12</th>\n",
|
|
" <td>12</td>\n",
|
|
" <td>178</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>13</th>\n",
|
|
" <td>13</td>\n",
|
|
" <td>178</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>14</th>\n",
|
|
" <td>14</td>\n",
|
|
" <td>178</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>15</th>\n",
|
|
" <td>15</td>\n",
|
|
" <td>178</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>16</th>\n",
|
|
" <td>16</td>\n",
|
|
" <td>201</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>17</th>\n",
|
|
" <td>17</td>\n",
|
|
" <td>201</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>18</th>\n",
|
|
" <td>18</td>\n",
|
|
" <td>201</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>19</th>\n",
|
|
" <td>19</td>\n",
|
|
" <td>201</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>20</th>\n",
|
|
" <td>20</td>\n",
|
|
" <td>201</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>21</th>\n",
|
|
" <td>21</td>\n",
|
|
" <td>202</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>22</th>\n",
|
|
" <td>22</td>\n",
|
|
" <td>202</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>18</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>23</th>\n",
|
|
" <td>23</td>\n",
|
|
" <td>206</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>24</th>\n",
|
|
" <td>24</td>\n",
|
|
" <td>206</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>18</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>25</th>\n",
|
|
" <td>25</td>\n",
|
|
" <td>206</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>26</th>\n",
|
|
" <td>26</td>\n",
|
|
" <td>206</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>18</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>27</th>\n",
|
|
" <td>27</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>18</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>28</th>\n",
|
|
" <td>28</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>29</th>\n",
|
|
" <td>29</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>30</th>\n",
|
|
" <td>30</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>31</th>\n",
|
|
" <td>31</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" Unnamed: 0 inter_no phas_A phas_B move_A move_B\n",
|
|
"0 0 175 1 1 8 4\n",
|
|
"1 1 175 2 2 7 3\n",
|
|
"2 2 175 3 3 6 1\n",
|
|
"3 3 175 3 4 6 2\n",
|
|
"4 4 175 4 4 5 2\n",
|
|
"5 5 176 1 1 8 4\n",
|
|
"6 6 176 2 2 8 3\n",
|
|
"7 7 176 3 3 5 18\n",
|
|
"8 8 177 1 1 8 4\n",
|
|
"9 9 177 2 2 7 3\n",
|
|
"10 10 177 3 3 17 18\n",
|
|
"11 11 177 4 4 5 1\n",
|
|
"12 12 178 1 1 8 4\n",
|
|
"13 13 178 2 2 7 3\n",
|
|
"14 14 178 3 3 5 2\n",
|
|
"15 15 178 4 4 6 1\n",
|
|
"16 16 201 1 1 8 3\n",
|
|
"17 17 201 2 2 5 2\n",
|
|
"18 18 201 3 3 6 2\n",
|
|
"19 19 201 4 4 6 1\n",
|
|
"20 20 201 5 5 7 4\n",
|
|
"21 21 202 1 1 6 2\n",
|
|
"22 22 202 2 2 17 18\n",
|
|
"23 23 206 1 1 8 4\n",
|
|
"24 24 206 2 2 17 18\n",
|
|
"25 25 206 3 3 8 4\n",
|
|
"26 26 206 4 4 17 18\n",
|
|
"27 27 210 1 1 6 18\n",
|
|
"28 28 210 1 2 6 2\n",
|
|
"29 29 210 2 2 5 2\n",
|
|
"30 30 210 3 3 7 4\n",
|
|
"31 31 210 4 4 8 3"
|
|
]
|
|
},
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"self.match1"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"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>inter_no</th>\n",
|
|
" <th>phase_no</th>\n",
|
|
" <th>ring_type</th>\n",
|
|
" <th>move_no</th>\n",
|
|
" <th>inc_dire</th>\n",
|
|
" <th>out_dire</th>\n",
|
|
" <th>inc_angle</th>\n",
|
|
" <th>out_angle</th>\n",
|
|
" <th>inc_edge_id</th>\n",
|
|
" <th>out_edge_id</th>\n",
|
|
" <th>node_id</th>\n",
|
|
" <th>turn_type</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571542797_02</td>\n",
|
|
" <td>571500487_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>001</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>-571500487_01</td>\n",
|
|
" <td>571542797_02</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>001</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>-571500487_01</td>\n",
|
|
" <td>571545870_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571542797_02</td>\n",
|
|
" <td>571510153_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571545870_02</td>\n",
|
|
" <td>571510153_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571545870_02</td>\n",
|
|
" <td>571542797_02</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571510153_02</td>\n",
|
|
" <td>571500487_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571510153_02</td>\n",
|
|
" <td>571545870_01</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>356</td>\n",
|
|
" <td>-571542810_01</td>\n",
|
|
" <td>-571542797_02.99</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>359</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542797_02.99</td>\n",
|
|
" <td>571542810_01</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>356</td>\n",
|
|
" <td>-571542810_01</td>\n",
|
|
" <td>-571542797_02.99</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571542810_01</td>\n",
|
|
" <td>571543469_01</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>12</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>356</td>\n",
|
|
" <td>571543469_02</td>\n",
|
|
" <td>-571542797_02.99</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>13</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i1</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>14</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571542809_01</td>\n",
|
|
" <td>571542811_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>15</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542811_02</td>\n",
|
|
" <td>571542809_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>16</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571542811_02</td>\n",
|
|
" <td>571542107_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>17</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571542809_01</td>\n",
|
|
" <td>571542809_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>18</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>19</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>20</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>268</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571542809_01</td>\n",
|
|
" <td>571542811_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>21</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542107_02</td>\n",
|
|
" <td>571542809_01</td>\n",
|
|
" <td>i2</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>22</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571540304_02</td>\n",
|
|
" <td>571556450_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>23</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571556450_02</td>\n",
|
|
" <td>571540304_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>24</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571556450_02</td>\n",
|
|
" <td>571500475_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>25</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571540304_02</td>\n",
|
|
" <td>571540303_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>26</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571540303_02.21</td>\n",
|
|
" <td>571556450_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>27</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571540303_02.21</td>\n",
|
|
" <td>571500475_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>28</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571500475_01</td>\n",
|
|
" <td>571540303_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>29</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>-571500475_01</td>\n",
|
|
" <td>571540304_01</td>\n",
|
|
" <td>i3</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>30</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571500569_01</td>\n",
|
|
" <td>571500583_02</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>31</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571500569_01</td>\n",
|
|
" <td>571500618_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>32</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571500618_02</td>\n",
|
|
" <td>571500583_02</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>33</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571500618_02</td>\n",
|
|
" <td>571500617_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>34</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571500617_02</td>\n",
|
|
" <td>571500618_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>35</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571500618_02</td>\n",
|
|
" <td>571500617_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>36</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571500617_02</td>\n",
|
|
" <td>571500618_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>37</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571500617_02</td>\n",
|
|
" <td>571500569_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>38</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571500583_01</td>\n",
|
|
" <td>571500617_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>39</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571500583_01</td>\n",
|
|
" <td>571500569_01</td>\n",
|
|
" <td>i8</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>40</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571510152_02</td>\n",
|
|
" <td>-571510152_01</td>\n",
|
|
" <td>i9</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>41</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571510152_01</td>\n",
|
|
" <td>571510152_01.65</td>\n",
|
|
" <td>i9</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>42</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i9</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>43</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i9</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>44</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571511538_02</td>\n",
|
|
" <td>571542073_02</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>45</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542073_01</td>\n",
|
|
" <td>571511538_02</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>46</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>47</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>48</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571511538_02</td>\n",
|
|
" <td>571542073_02</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>49</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542073_01</td>\n",
|
|
" <td>571511538_02</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>50</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>51</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i7</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>52</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571542115_01</td>\n",
|
|
" <td>571500535_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>53</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>54</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571500535_02.18</td>\n",
|
|
" <td>571511538_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>55</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571500535_02.18</td>\n",
|
|
" <td>571542115_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>56</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571511538_02.121</td>\n",
|
|
" <td>571542115_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>57</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571511538_02.121</td>\n",
|
|
" <td>571500585_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>58</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>571500585_02</td>\n",
|
|
" <td>571511538_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>59</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>571500585_02</td>\n",
|
|
" <td>571500535_01</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
|
|
"0 175 1 A 8 남 북 179 \n",
|
|
"1 175 1 B 4 북 남 001 \n",
|
|
"2 175 2 A 7 북 동 001 \n",
|
|
"3 175 2 B 3 남 서 179 \n",
|
|
"4 175 3 A 6 동 서 090 \n",
|
|
"5 175 3 B 1 동 남 090 \n",
|
|
"6 175 4 A 5 서 북 270 \n",
|
|
"7 175 4 B 2 서 동 270 \n",
|
|
"8 176 1 A 8 남 북 180 \n",
|
|
"9 176 1 B 4 북 남 359 \n",
|
|
"10 176 2 A 8 남 북 180 \n",
|
|
"11 176 2 B 3 남 서 180 \n",
|
|
"12 176 3 A 5 서 북 270 \n",
|
|
"13 176 3 B 18 NaN NaN NaN \n",
|
|
"14 177 1 A 8 남 북 179 \n",
|
|
"15 177 1 B 4 북 남 000 \n",
|
|
"16 177 2 A 7 북 동 000 \n",
|
|
"17 177 2 B 3 남 서 179 \n",
|
|
"18 177 3 A 17 NaN NaN NaN \n",
|
|
"19 177 3 B 18 NaN NaN NaN \n",
|
|
"20 177 4 A 5 서 북 268 \n",
|
|
"21 177 4 B 1 동 남 090 \n",
|
|
"22 178 1 A 8 남 북 180 \n",
|
|
"23 178 1 B 4 북 남 000 \n",
|
|
"24 178 2 A 7 북 동 000 \n",
|
|
"25 178 2 B 3 남 서 180 \n",
|
|
"26 178 3 A 5 서 북 270 \n",
|
|
"27 178 3 B 2 서 동 270 \n",
|
|
"28 178 4 A 6 동 서 090 \n",
|
|
"29 178 4 B 1 동 남 090 \n",
|
|
"30 201 1 A 8 남 북 180 \n",
|
|
"31 201 1 B 3 남 서 180 \n",
|
|
"32 201 2 A 5 서 북 270 \n",
|
|
"33 201 2 B 2 서 동 270 \n",
|
|
"34 201 3 A 6 동 서 090 \n",
|
|
"35 201 3 B 2 서 동 270 \n",
|
|
"36 201 4 A 6 동 서 090 \n",
|
|
"37 201 4 B 1 동 남 090 \n",
|
|
"38 201 5 A 7 북 동 000 \n",
|
|
"39 201 5 B 4 북 남 000 \n",
|
|
"40 202 1 A 6 동 서 090 \n",
|
|
"41 202 1 B 2 서 동 270 \n",
|
|
"42 202 2 A 17 NaN NaN NaN \n",
|
|
"43 202 2 B 18 NaN NaN NaN \n",
|
|
"44 206 1 A 8 남 북 180 \n",
|
|
"45 206 1 B 4 북 남 000 \n",
|
|
"46 206 2 A 17 NaN NaN NaN \n",
|
|
"47 206 2 B 18 NaN NaN NaN \n",
|
|
"48 206 3 A 8 남 북 180 \n",
|
|
"49 206 3 B 4 북 남 000 \n",
|
|
"50 206 4 A 17 NaN NaN NaN \n",
|
|
"51 206 4 B 18 NaN NaN NaN \n",
|
|
"52 210 1 A 6 동 서 090 \n",
|
|
"53 210 1 B 18 NaN NaN NaN \n",
|
|
"54 210 2 A 5 서 북 270 \n",
|
|
"55 210 2 B 2 서 동 270 \n",
|
|
"56 210 3 A 7 북 동 000 \n",
|
|
"57 210 3 B 4 북 남 000 \n",
|
|
"58 210 4 A 8 남 북 180 \n",
|
|
"59 210 4 B 3 남 서 180 \n",
|
|
"\n",
|
|
" out_angle inc_edge_id out_edge_id node_id turn_type \n",
|
|
"0 000 -571542797_02 571500487_01 i0 straight \n",
|
|
"1 180 -571500487_01 571542797_02 i0 straight \n",
|
|
"2 090 -571500487_01 571545870_01 i0 left \n",
|
|
"3 270 -571542797_02 571510153_01 i0 left \n",
|
|
"4 270 571545870_02 571510153_01 i0 straight \n",
|
|
"5 180 571545870_02 571542797_02 i0 left \n",
|
|
"6 000 571510153_02 571500487_01 i0 left \n",
|
|
"7 090 571510153_02 571545870_01 i0 straight \n",
|
|
"8 356 -571542810_01 -571542797_02.99 i1 straight \n",
|
|
"9 180 571542797_02.99 571542810_01 i1 straight \n",
|
|
"10 356 -571542810_01 -571542797_02.99 i1 straight \n",
|
|
"11 270 -571542810_01 571543469_01 i1 left \n",
|
|
"12 356 571543469_02 -571542797_02.99 i1 left \n",
|
|
"13 NaN NaN NaN i1 NaN \n",
|
|
"14 000 -571542809_01 571542811_01 i2 left \n",
|
|
"15 180 571542811_02 571542809_01 i2 straight \n",
|
|
"16 090 571542811_02 571542107_01 i2 left \n",
|
|
"17 270 -571542809_01 571542809_01 i2 left \n",
|
|
"18 NaN NaN NaN i2 NaN \n",
|
|
"19 NaN NaN NaN i2 NaN \n",
|
|
"20 000 -571542809_01 571542811_01 i2 left \n",
|
|
"21 180 571542107_02 571542809_01 i2 left \n",
|
|
"22 000 571540304_02 571556450_01 i3 straight \n",
|
|
"23 180 571556450_02 571540304_01 i3 straight \n",
|
|
"24 090 571556450_02 571500475_01 i3 left \n",
|
|
"25 270 571540304_02 571540303_01 i3 left \n",
|
|
"26 000 571540303_02.21 571556450_01 i3 left \n",
|
|
"27 090 571540303_02.21 571500475_01 i3 straight \n",
|
|
"28 270 -571500475_01 571540303_01 i3 straight \n",
|
|
"29 180 -571500475_01 571540304_01 i3 left \n",
|
|
"30 000 -571500569_01 571500583_02 i8 straight \n",
|
|
"31 270 -571500569_01 571500618_01 i8 left \n",
|
|
"32 000 571500618_02 571500583_02 i8 left \n",
|
|
"33 090 571500618_02 571500617_01 i8 straight \n",
|
|
"34 270 571500617_02 571500618_01 i8 straight \n",
|
|
"35 090 571500618_02 571500617_01 i8 straight \n",
|
|
"36 270 571500617_02 571500618_01 i8 straight \n",
|
|
"37 180 571500617_02 571500569_01 i8 left \n",
|
|
"38 090 571500583_01 571500617_01 i8 left \n",
|
|
"39 180 571500583_01 571500569_01 i8 straight \n",
|
|
"40 270 571510152_02 -571510152_01 i9 straight \n",
|
|
"41 090 571510152_01 571510152_01.65 i9 straight \n",
|
|
"42 NaN NaN NaN i9 NaN \n",
|
|
"43 NaN NaN NaN i9 NaN \n",
|
|
"44 000 -571511538_02 571542073_02 i7 straight \n",
|
|
"45 180 571542073_01 571511538_02 i7 straight \n",
|
|
"46 NaN NaN NaN i7 NaN \n",
|
|
"47 NaN NaN NaN i7 NaN \n",
|
|
"48 000 -571511538_02 571542073_02 i7 straight \n",
|
|
"49 180 571542073_01 571511538_02 i7 straight \n",
|
|
"50 NaN NaN NaN i7 NaN \n",
|
|
"51 NaN NaN NaN i7 NaN \n",
|
|
"52 270 -571542115_01 571500535_01 i6 straight \n",
|
|
"53 NaN NaN NaN i6 NaN \n",
|
|
"54 000 571500535_02.18 571511538_01 i6 left \n",
|
|
"55 090 571500535_02.18 571542115_01 i6 straight \n",
|
|
"56 090 571511538_02.121 571542115_01 i6 left \n",
|
|
"57 180 571511538_02.121 571500585_01 i6 straight \n",
|
|
"58 000 571500585_02 571511538_01 i6 straight \n",
|
|
"59 270 571500585_02 571500535_01 i6 left "
|
|
]
|
|
},
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"self.match5"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"i2 u20 보행신호시\n"
|
|
]
|
|
},
|
|
{
|
|
"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>inter_no</th>\n",
|
|
" <th>phase_no</th>\n",
|
|
" <th>ring_type</th>\n",
|
|
" <th>move_no</th>\n",
|
|
" <th>inc_dire</th>\n",
|
|
" <th>out_dire</th>\n",
|
|
" <th>inc_angle</th>\n",
|
|
" <th>out_angle</th>\n",
|
|
" <th>inc_edge_id</th>\n",
|
|
" <th>out_edge_id</th>\n",
|
|
" <th>node_id</th>\n",
|
|
" <th>turn_type</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571542809_01</td>\n",
|
|
" <td>571542811_01</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542811_02</td>\n",
|
|
" <td>571542809_01</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>571542811_02</td>\n",
|
|
" <td>571542107_01</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>-571542809_01</td>\n",
|
|
" <td>571542809_01</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>268</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>-571542809_01</td>\n",
|
|
" <td>571542811_01</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542107_02</td>\n",
|
|
" <td>571542809_01</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
|
|
"0 177 1 A 8 남 북 179 \n",
|
|
"1 177 1 B 4 북 남 000 \n",
|
|
"2 177 2 A 7 북 동 000 \n",
|
|
"3 177 2 B 3 남 서 179 \n",
|
|
"4 177 4 A 5 서 북 268 \n",
|
|
"5 177 4 B 1 동 남 090 \n",
|
|
"\n",
|
|
" out_angle inc_edge_id out_edge_id node_id turn_type \n",
|
|
"0 000 -571542809_01 571542811_01 u20 left \n",
|
|
"1 180 571542811_02 571542809_01 u20 straight \n",
|
|
"2 090 571542811_02 571542107_01 u20 left \n",
|
|
"3 270 -571542809_01 571542809_01 u20 left \n",
|
|
"4 000 -571542809_01 571542811_01 u20 left \n",
|
|
"5 180 571542107_02 571542809_01 u20 left "
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"0\n",
|
|
"[-360 -270 -181 -92 0 90 179 268 360 450 539 628]\n",
|
|
"[ 90 179 268 360 450 539 628]\n",
|
|
"90\n",
|
|
"571542107_02\n",
|
|
"[-360 -270 -180 -90 0 90 180 270 360 450 540 630]\n",
|
|
"[-360 -270 -180 -90]\n",
|
|
"270\n",
|
|
"571542809_01\n"
|
|
]
|
|
},
|
|
{
|
|
"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>inter_no</th>\n",
|
|
" <th>phase_no</th>\n",
|
|
" <th>ring_type</th>\n",
|
|
" <th>move_no</th>\n",
|
|
" <th>inc_dire</th>\n",
|
|
" <th>out_dire</th>\n",
|
|
" <th>inc_angle</th>\n",
|
|
" <th>out_angle</th>\n",
|
|
" <th>inc_edge_id</th>\n",
|
|
" <th>out_edge_id</th>\n",
|
|
" <th>node_id</th>\n",
|
|
" <th>turn_type</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>straight</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>179</td>\n",
|
|
" <td>270</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>서</td>\n",
|
|
" <td>북</td>\n",
|
|
" <td>268</td>\n",
|
|
" <td>000</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>동</td>\n",
|
|
" <td>남</td>\n",
|
|
" <td>090</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>571542810_01.51</td>\n",
|
|
" <td>571542810_02</td>\n",
|
|
" <td>u20</td>\n",
|
|
" <td>left</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
|
|
"0 177 1 A 8 남 북 179 \n",
|
|
"1 177 1 B 4 북 남 000 \n",
|
|
"2 177 2 A 7 북 동 000 \n",
|
|
"3 177 2 B 3 남 서 179 \n",
|
|
"4 177 4 A 5 서 북 268 \n",
|
|
"5 177 4 B 1 동 남 090 \n",
|
|
"\n",
|
|
" out_angle inc_edge_id out_edge_id node_id turn_type \n",
|
|
"0 000 NaN NaN u20 left \n",
|
|
"1 180 NaN NaN u20 straight \n",
|
|
"2 090 NaN NaN u20 left \n",
|
|
"3 270 NaN NaN u20 left \n",
|
|
"4 000 NaN NaN u20 left \n",
|
|
"5 180 571542810_01.51 571542810_02 u20 left "
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"i = 1\n",
|
|
"row = self.u_turn.iloc[i]\n",
|
|
"\n",
|
|
"parent_id = row.parent_id\n",
|
|
"child_id = row.child_id\n",
|
|
"condition = row.condition\n",
|
|
"inc_edge_id = row.from_edge_id\n",
|
|
"out_edge_id = row.to_edge_id\n",
|
|
"adj_from_edge_id = row.adj_from_edge_id\n",
|
|
"\n",
|
|
"# match5에서 부모노드id에 해당하는 행들을 가져옴 (cmatch)\n",
|
|
"cmatch = self.match5.copy()[self.match5.node_id==parent_id] # match dataframe for a child node\n",
|
|
"cmatch = cmatch.dropna(subset=['inc_angle', 'out_angle'])\n",
|
|
"cmatch = cmatch.sort_values(by=['phase_no', 'ring_type']).reset_index(drop=True)\n",
|
|
"cmatch['node_id'] = child_id\n",
|
|
"print(parent_id, child_id, condition)\n",
|
|
"display(cmatch)\n",
|
|
"\n",
|
|
"# 헤드엣지가 포함된 행\n",
|
|
"head_true = cmatch.inc_edge_id==adj_from_edge_id\n",
|
|
"\n",
|
|
"# 헤드엣지 각도\n",
|
|
"inc_angle_head = p2inc_edge2angle[parent_id][adj_from_edge_id]\n",
|
|
"print(inc_angle_head)\n",
|
|
"\n",
|
|
"# 이격각도\n",
|
|
"self.angle_separation = 10\n",
|
|
"\n",
|
|
"# 진입로 각도 목록\n",
|
|
"inc_angles = cmatch.inc_angle.astype(int).unique()\n",
|
|
"inc_angles = np.sort(inc_angles)\n",
|
|
"inc_angles = list(inc_angles - 360) + list(inc_angles) + list(inc_angles + 360)\n",
|
|
"inc_angles = np.array(inc_angles)\n",
|
|
"print(inc_angles)\n",
|
|
"\n",
|
|
"# 보행신호시의 진입로 각도\n",
|
|
"inc_angles_left = inc_angles[inc_angles >= inc_angle_head + self.angle_separation]\n",
|
|
"inc_angle_pedes = np.sort(inc_angles_left)[0] % 360\n",
|
|
"print(inc_angles_left)\n",
|
|
"print(inc_angle_pedes)\n",
|
|
"\n",
|
|
"# 보행신호시의 진입로 엣지id\n",
|
|
"inc_angle2edge = p2inc_angle2edge[parent_id]\n",
|
|
"inc_edge_id_pedes = inc_angle2edge[inc_angle_pedes]\n",
|
|
"print(inc_edge_id_pedes)\n",
|
|
"\n",
|
|
"# 진출로 각도 목록\n",
|
|
"out_angles = cmatch.out_angle.astype(int).unique()\n",
|
|
"out_angles = np.sort(out_angles)\n",
|
|
"out_angles = list(out_angles - 360) + list(out_angles) + list(out_angles + 360)\n",
|
|
"out_angles = np.array(out_angles)\n",
|
|
"print(out_angles)\n",
|
|
"\n",
|
|
"# 보행신호시의 진입로 각도\n",
|
|
"out_angles_right = out_angles[out_angles <= inc_angle_head - self.angle_separation]\n",
|
|
"out_angle_pedes = np.sort(out_angles_right)[-1] % 360\n",
|
|
"print(out_angles_right)\n",
|
|
"\n",
|
|
"print(out_angle_pedes)\n",
|
|
"\n",
|
|
"# 보행신호시의 진입로 엣지id\n",
|
|
"out_angle2edge = p2out_angle2edge[parent_id]\n",
|
|
"out_edge_id_pedes = out_angle2edge[out_angle_pedes]\n",
|
|
"print(out_edge_id_pedes)\n",
|
|
"\n",
|
|
"# 보행신호시 조건\n",
|
|
"pedes_flag = (cmatch.inc_edge_id==inc_edge_id_pedes) & (cmatch.out_edge_id==out_edge_id_pedes)\n",
|
|
"\n",
|
|
"# 좌회전시 조건\n",
|
|
"right_flag = head_true & (cmatch.turn_type=='left')\n",
|
|
"\n",
|
|
"# 보행신호시/좌회전시 진입/진출 엣지id 배정\n",
|
|
"cmatch[['inc_edge_id', 'out_edge_id']] = np.nan\n",
|
|
"if condition == \"보행신호시\":\n",
|
|
" cmatch.loc[pedes_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n",
|
|
"elif condition == \"좌회전시\":\n",
|
|
" cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n",
|
|
"\n",
|
|
"display(cmatch)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# 각 uturn node에 대하여 (inc_edge_id, out_edge_id) 부여\n",
|
|
"cmatches = []\n",
|
|
"for _, row in self.uturn.iterrows():\n",
|
|
" child_id = row.child_id\n",
|
|
" parent_id = row.parent_id\n",
|
|
" dire = row.direction\n",
|
|
" condition = row.condition\n",
|
|
" inc_edge_id = row.inc_edge_id\n",
|
|
" out_edge_id = row.out_edge_id\n",
|
|
"\n",
|
|
" print(parent_id, condition)\n",
|
|
"\n",
|
|
" # match5에서 부모노드id에 해당하는 행들을 가져옴 (cmatch)\n",
|
|
" cmatch = self.match5.copy()[self.match5.node_id==parent_id] # match dataframe for a child node\n",
|
|
" cmatch = cmatch.sort_values(by=['phase_no', 'ring_type']).reset_index(drop=True)\n",
|
|
" cmatch['node_id'] = child_id\n",
|
|
" cmatch[['inc_edge_id', 'out_edge_id']] = np.nan\n",
|
|
" display(cmatch)\n",
|
|
"\n",
|
|
" # 보행신호시/좌회전시 진입/진출방향\n",
|
|
" ind = self.dires.index(dire)\n",
|
|
" inc_dire_pedes = self.dires[(ind + 2) % len(self.dires)]\n",
|
|
" out_dire_pedes = self.dires[(ind - 2) % len(self.dires)]\n",
|
|
" inc_dire_right = dire\n",
|
|
" out_dire_right = self.dires[(ind + 2) % len(self.dires)]\n",
|
|
"\n",
|
|
" if condition == '보행신호시':\n",
|
|
" print(inc_dire_pedes, out_dire_pedes)\n",
|
|
" else:\n",
|
|
" print(inc_dire_right, out_dire_right)\n",
|
|
"\n",
|
|
" # 보행신호시/좌회전시 조건\n",
|
|
" pedes_exists = (cmatch.inc_dire==inc_dire_pedes) & (cmatch.out_dire==out_dire_pedes)\n",
|
|
" right_exists = (cmatch.inc_dire==inc_dire_right) & (cmatch.out_dire==out_dire_right)\n",
|
|
"\n",
|
|
" # 보행신호시/좌회전시 진입/진출 엣지id 배정\n",
|
|
" ind = self.dires.index(dire)\n",
|
|
" if condition == \"보행신호시\":\n",
|
|
" cmatch.loc[pedes_exists, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n",
|
|
" elif condition == \"좌회전시\":\n",
|
|
" cmatch.loc[right_exists, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n",
|
|
" display(cmatch)\n",
|
|
"\n",
|
|
" # 신호없음이동류발생시/보행신호이동류발생시 조건\n",
|
|
" all_redsigns = cmatch.move_no == 18\n",
|
|
" crosswalk_on = cmatch.move_no == 17\n",
|
|
"\n",
|
|
" # 만약 어떤 유턴신호도 배정되지 않았다면\n",
|
|
" # 좌회전시 → 보행신호시 → 보행신호이동류발생시 → 신호없음이동류발생시 순으로 진입/진출 엣지id 배정\n",
|
|
" uturn_not_assigned = cmatch[['inc_edge_id','out_edge_id']].isna().any(axis=1).all()\n",
|
|
" if uturn_not_assigned:\n",
|
|
" # 좌회전시\n",
|
|
" if right_exists.any():\n",
|
|
" cmatch.loc[right_exists, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n",
|
|
" # 보행신호시\n",
|
|
" elif pedes_exists.any():\n",
|
|
" cmatch.loc[pedes_exists, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n",
|
|
" # 보행신호이동류(17) 발생시\n",
|
|
" elif crosswalk_on.any():\n",
|
|
" cmatch.loc[crosswalk_on & (cmatch.out_dire!=dire), ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n",
|
|
" # 신호없음이동류(18) 발생시\n",
|
|
" elif all_redsigns.any():\n",
|
|
" cmatch.loc[all_redsigns & (cmatch.out_dire!=dire), ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n",
|
|
" display(cmatch)\n",
|
|
"cmatches.append(cmatch)\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"'''Given `inter_no`, `inc_edge_id` and `out_edge_id`, we have `inc_vec = inter2inc2vec[inter_no][inc_edge_id]` and `out_vec = inter2out2vec[inter_no][out_edge_id]`.\n",
|
|
"Rotate `inc_vec` by 90, 180 and 270 degrees clockwise, to define \n",
|
|
"`out_vec_left`, `out_vec_straight` and `out_vec_right`.\n",
|
|
"Define `out_vecs={'right':out_vec_left, 'straight':out_vec_straight, 'right':out_vec_right}`.\n",
|
|
"Select the key that maximize the similarity of the corresponding value of the key and `inc_vec`.'''"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "sts",
|
|
"language": "python",
|
|
"name": "sts"
|
|
},
|
|
"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
|
|
}
|