diff --git a/Analysis/0411_unp-left_p-right-uturn/0416_initialize_state.ipynb b/Analysis/0411_unp-left_p-right-uturn/0416_initialize_state.ipynb
index 5c8967713..c1d238268 100644
--- a/Analysis/0411_unp-left_p-right-uturn/0416_initialize_state.ipynb
+++ b/Analysis/0411_unp-left_p-right-uturn/0416_initialize_state.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 68,
"metadata": {},
"outputs": [],
"source": [
@@ -17,7 +17,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 69,
"metadata": {},
"outputs": [
{
@@ -39,14 +39,2518 @@
"self.make_match1() # 2-1-1\n",
"self.make_match2() # 2-1-2\n",
"self.make_match3() # 2-1-3\n",
- "self.make_match4() # 2-1-4\n",
- "self.make_match5() # 2-1-5\n",
- "self.make_match6() # 2-1-6"
+ "self.make_match4() # 2-1-4"
]
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 70,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "self.match5 = self.match4.copy()\n",
+ "# 진입진출ID 매칭\n",
+ "for index, row in self.match5.iterrows():\n",
+ " node_id = self.inter2node[row.inter_no]\n",
+ " node = self.net.getNode(node_id)\n",
+ " # 교차로의 모든 (from / to) edges\n",
+ " inc_edges = [edge for edge in node.getIncoming() if edge.getFunction() == ''] # incoming edges\n",
+ " out_edges = [edge for edge in node.getOutgoing() if edge.getFunction() == ''] # outgoing edges\n",
+ " # 교차로의 모든 (from / to) unit vector\n",
+ " inc_vecs = []\n",
+ " for inc_edge in inc_edges:\n",
+ " start = inc_edge.getShape()[-1]\n",
+ " end = inc_edge.getShape()[-2]\n",
+ " inc_vec = np.array(end) - np.array(start)\n",
+ " inc_vec = inc_vec / (inc_vec ** 2).sum() ** 0.5\n",
+ " inc_vecs.append(inc_vec)\n",
+ " out_vecs = []\n",
+ " for out_edge in out_edges:\n",
+ " start = out_edge.getShape()[0]\n",
+ " end = out_edge.getShape()[1]\n",
+ " out_vec = np.array(end) - np.array(start)\n",
+ " out_vec = out_vec / (out_vec ** 2).sum() ** 0.5\n",
+ " out_vecs.append(out_vec)\n",
+ " # 진입각, 진출각 불러오기\n",
+ " if not pd.isna(row.inc_angle):\n",
+ " inc_angle = int(row.inc_angle)\n",
+ " out_angle = int(row.out_angle)\n",
+ " # 방위각을 일반각으로 가공, 라디안 변환, 단위벡터로 변환\n",
+ " inc_angle = (90 - inc_angle) % 360\n",
+ " inc_angle = inc_angle * np.pi / 180.\n",
+ " inc_vec_true = np.array([np.cos(inc_angle), np.sin(inc_angle)])\n",
+ " out_angle = (90 - out_angle) % 360\n",
+ " out_angle = out_angle * np.pi / 180.\n",
+ " out_vec_true = np.array([np.cos(out_angle), np.sin(out_angle)])\n",
+ " # 매칭 엣지 반환\n",
+ " inc_index = np.array([np.dot(inc_vec, inc_vec_true) for inc_vec in inc_vecs]).argmax()\n",
+ " out_index = np.array([np.dot(out_vec, out_vec_true) for out_vec in out_vecs]).argmax()\n",
+ " inc_edge_id = inc_edges[inc_index].getID()\n",
+ " out_edge_id = out_edges[out_index].getID()\n",
+ " self.match5.at[index, 'inc_edge_id'] = inc_edge_id\n",
+ " self.match5.at[index, 'out_edge_id'] = out_edge_id\n",
+ "self.match5['node_id'] = self.match5['inter_no'].map(self.inter2node)\n",
+ "self.match5 = self.match5.sort_values(by=['inter_no','phase_no','ring_type']).reset_index(drop=True)\n",
+ "\n",
+ "# n2io2turn : dictionary that maps node_id to io2turn\n",
+ "self.n2io2turn = dict()\n",
+ "for node_id in self.parent_ids:\n",
+ " turn = self.turn_type[self.turn_type.node_id==node_id]\n",
+ " io = list(zip(turn.inc_edge_id, turn.out_edge_id))\n",
+ " # io2turn : dictionary that maps (inc_edge_id, out_edge_id) to turn_type\n",
+ " io2turn = dict(zip(io, turn.turn_type))\n",
+ " self.n2io2turn[node_id] = io2turn\n",
+ "\n",
+ "# turn_type 지정\n",
+ "for i, row in self.match5.iterrows():\n",
+ " node_id = row.node_id\n",
+ " inc_edge_id = row.inc_edge_id\n",
+ " out_edge_id = row.out_edge_id\n",
+ " if not (pd.isna(inc_edge_id) and pd.isna(out_edge_id)):\n",
+ " turn_type = self.n2io2turn[node_id][(inc_edge_id, out_edge_id)]\n",
+ " self.match5.at[i, 'turn_type'] = turn_type\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 73,
+ "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",
+ "2-1. 매칭 테이블들을 생성했습니다.\n",
+ "2-2. 비보호우회전(g)을 배정했습니다.\n"
+ ]
+ }
+ ],
+ "source": [
+ "self = DailyPreprocessor() \n",
+ "self.load_data() # 1\n",
+ "self.get_matches() # 2\n",
+ "self.initialize_state() # 2-1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 98,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i0\n",
+ "['g', 'r', 'r', 'r', 'g', 'r', 'r', 'r', 'g', 'r', 'r', 'r', 'r', 'r', 'g', 'r', 'r']\n",
+ "17\n",
+ "13\n",
+ "17\n",
+ "1\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " B | \n",
+ " 4 | \n",
+ " 북 | \n",
+ " 남 | \n",
+ " 001 | \n",
+ " 180 | \n",
+ " -571500487_01 | \n",
+ " 571542797_02 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "1 175 1 B 4 북 남 001 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "1 180 -571500487_01 571542797_02 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " B | \n",
+ " 4 | \n",
+ " 북 | \n",
+ " 남 | \n",
+ " 001 | \n",
+ " 180 | \n",
+ " -571500487_01 | \n",
+ " 571542797_02 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "1 175 1 B 4 북 남 001 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "1 180 -571500487_01 571542797_02 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "3\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 2 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " A | \n",
+ " 7 | \n",
+ " 북 | \n",
+ " 동 | \n",
+ " 001 | \n",
+ " 090 | \n",
+ " -571500487_01 | \n",
+ " 571545870_01 | \n",
+ " i0 | \n",
+ " left | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "2 175 2 A 7 북 동 001 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "2 090 -571500487_01 571545870_01 i0 left "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "5\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ " 남 | \n",
+ " 북 | \n",
+ " 179 | \n",
+ " 000 | \n",
+ " -571542797_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "0 175 1 A 8 남 북 179 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "0 000 -571542797_02 571500487_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "6\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ " 남 | \n",
+ " 북 | \n",
+ " 179 | \n",
+ " 000 | \n",
+ " -571542797_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "0 175 1 A 8 남 북 179 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "0 000 -571542797_02 571500487_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "7\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ " 남 | \n",
+ " 북 | \n",
+ " 179 | \n",
+ " 000 | \n",
+ " -571542797_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "0 175 1 A 8 남 북 179 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "0 000 -571542797_02 571500487_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "9\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 3 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " B | \n",
+ " 3 | \n",
+ " 남 | \n",
+ " 서 | \n",
+ " 179 | \n",
+ " 270 | \n",
+ " -571542797_02 | \n",
+ " 571510153_01 | \n",
+ " i0 | \n",
+ " left | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "3 175 2 B 3 남 서 179 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "3 270 -571542797_02 571510153_01 i0 left "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "10\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle, inc_edge_id, out_edge_id, node_id, turn_type]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "11\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 7 | \n",
+ " 175 | \n",
+ " 4 | \n",
+ " B | \n",
+ " 2 | \n",
+ " 서 | \n",
+ " 동 | \n",
+ " 270 | \n",
+ " 090 | \n",
+ " 571510153_02 | \n",
+ " 571545870_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "7 175 4 B 2 서 동 270 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "7 090 571510153_02 571545870_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "12\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 6 | \n",
+ " 175 | \n",
+ " 4 | \n",
+ " A | \n",
+ " 5 | \n",
+ " 서 | \n",
+ " 북 | \n",
+ " 270 | \n",
+ " 000 | \n",
+ " 571510153_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " left | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "6 175 4 A 5 서 북 270 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "6 000 571510153_02 571500487_01 i0 left "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "13\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle, inc_edge_id, out_edge_id, node_id, turn_type]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "15\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 4 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " A | \n",
+ " 6 | \n",
+ " 동 | \n",
+ " 서 | \n",
+ " 090 | \n",
+ " 270 | \n",
+ " 571545870_02 | \n",
+ " 571510153_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "4 175 3 A 6 동 서 090 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "4 270 571545870_02 571510153_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "16\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 5 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " B | \n",
+ " 1 | \n",
+ " 동 | \n",
+ " 남 | \n",
+ " 090 | \n",
+ " 180 | \n",
+ " 571545870_02 | \n",
+ " 571542797_02 | \n",
+ " i0 | \n",
+ " left | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "5 175 3 B 1 동 남 090 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "5 180 571545870_02 571542797_02 i0 left "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "parent_id = self.parent_ids[0]\n",
+ "node = self.net.getNode(parent_id)\n",
+ "print(parent_id)\n",
+ "init_state = self.node2init[parent_id]\n",
+ "print(init_state)\n",
+ "indices_excluding_g = [i for i in range(len(init_state)) if init_state[i]=='r']\n",
+ "PLindices = []\n",
+ "# conns = [(c.getJunctionIndex(), c) for c in node.getConnections()]\n",
+ "# conns = [c for c in conns if c[0] >= 0]\n",
+ "# conns = sorted(conns, key=lambda x: x[0])\n",
+ "conns = [c for c in node.getConnections() if c.getTLLinkIndex() >= 0]\n",
+ "# print(sorted([conn.getTLLinkIndex() for conn in conns]))\n",
+ "print(len(conns))\n",
+ "print(len(indices_excluding_g))\n",
+ "print(len(init_state))\n",
+ "for i in indices_excluding_g:\n",
+ " conn = conns[i]\n",
+ " inc_edge_id = conn.getFrom().getID()\n",
+ " out_edge_id = conn.getTo().getID()\n",
+ " m5 = self.match5[(self.match5.inc_edge_id==inc_edge_id) & (self.match5.out_edge_id==out_edge_id)]\n",
+ " print(i)\n",
+ " display(m5)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i0\n",
+ "0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle, inc_edge_id, out_edge_id, node_id, turn_type]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 1\n",
+ "ring_type B\n",
+ "move_no 4\n",
+ "inc_dire 북\n",
+ "out_dire 남\n",
+ "inc_angle 001\n",
+ "out_angle 180\n",
+ "inc_edge_id -571500487_01\n",
+ "out_edge_id 571542797_02\n",
+ "node_id i0\n",
+ "turn_type straight\n",
+ "Name: 1, dtype: object\n",
+ "1\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " B | \n",
+ " 4 | \n",
+ " 북 | \n",
+ " 남 | \n",
+ " 001 | \n",
+ " 180 | \n",
+ " -571500487_01 | \n",
+ " 571542797_02 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "1 175 1 B 4 북 남 001 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "1 180 -571500487_01 571542797_02 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 1\n",
+ "ring_type B\n",
+ "move_no 4\n",
+ "inc_dire 북\n",
+ "out_dire 남\n",
+ "inc_angle 001\n",
+ "out_angle 180\n",
+ "inc_edge_id -571500487_01\n",
+ "out_edge_id 571542797_02\n",
+ "node_id i0\n",
+ "turn_type straight\n",
+ "Name: 1, dtype: object\n",
+ "2\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " B | \n",
+ " 4 | \n",
+ " 북 | \n",
+ " 남 | \n",
+ " 001 | \n",
+ " 180 | \n",
+ " -571500487_01 | \n",
+ " 571542797_02 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "1 175 1 B 4 북 남 001 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "1 180 -571500487_01 571542797_02 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 2\n",
+ "ring_type A\n",
+ "move_no 7\n",
+ "inc_dire 북\n",
+ "out_dire 동\n",
+ "inc_angle 001\n",
+ "out_angle 090\n",
+ "inc_edge_id -571500487_01\n",
+ "out_edge_id 571545870_01\n",
+ "node_id i0\n",
+ "turn_type left\n",
+ "Name: 2, dtype: object\n",
+ "3\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 2 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " A | \n",
+ " 7 | \n",
+ " 북 | \n",
+ " 동 | \n",
+ " 001 | \n",
+ " 090 | \n",
+ " -571500487_01 | \n",
+ " 571545870_01 | \n",
+ " i0 | \n",
+ " left | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "2 175 2 A 7 북 동 001 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "2 090 -571500487_01 571545870_01 i0 left "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "8\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle, inc_edge_id, out_edge_id, node_id, turn_type]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 1\n",
+ "ring_type A\n",
+ "move_no 8\n",
+ "inc_dire 남\n",
+ "out_dire 북\n",
+ "inc_angle 179\n",
+ "out_angle 000\n",
+ "inc_edge_id -571542797_02\n",
+ "out_edge_id 571500487_01\n",
+ "node_id i0\n",
+ "turn_type straight\n",
+ "Name: 0, dtype: object\n",
+ "9\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ " 남 | \n",
+ " 북 | \n",
+ " 179 | \n",
+ " 000 | \n",
+ " -571542797_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "0 175 1 A 8 남 북 179 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "0 000 -571542797_02 571500487_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 1\n",
+ "ring_type A\n",
+ "move_no 8\n",
+ "inc_dire 남\n",
+ "out_dire 북\n",
+ "inc_angle 179\n",
+ "out_angle 000\n",
+ "inc_edge_id -571542797_02\n",
+ "out_edge_id 571500487_01\n",
+ "node_id i0\n",
+ "turn_type straight\n",
+ "Name: 0, dtype: object\n",
+ "10\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ " 남 | \n",
+ " 북 | \n",
+ " 179 | \n",
+ " 000 | \n",
+ " -571542797_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "0 175 1 A 8 남 북 179 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "0 000 -571542797_02 571500487_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 1\n",
+ "ring_type A\n",
+ "move_no 8\n",
+ "inc_dire 남\n",
+ "out_dire 북\n",
+ "inc_angle 179\n",
+ "out_angle 000\n",
+ "inc_edge_id -571542797_02\n",
+ "out_edge_id 571500487_01\n",
+ "node_id i0\n",
+ "turn_type straight\n",
+ "Name: 0, dtype: object\n",
+ "11\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ " 남 | \n",
+ " 북 | \n",
+ " 179 | \n",
+ " 000 | \n",
+ " -571542797_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "0 175 1 A 8 남 북 179 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "0 000 -571542797_02 571500487_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 1\n",
+ "ring_type A\n",
+ "move_no 8\n",
+ "inc_dire 남\n",
+ "out_dire 북\n",
+ "inc_angle 179\n",
+ "out_angle 000\n",
+ "inc_edge_id -571542797_02\n",
+ "out_edge_id 571500487_01\n",
+ "node_id i0\n",
+ "turn_type straight\n",
+ "Name: 0, dtype: object\n",
+ "12\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 175 | \n",
+ " 1 | \n",
+ " A | \n",
+ " 8 | \n",
+ " 남 | \n",
+ " 북 | \n",
+ " 179 | \n",
+ " 000 | \n",
+ " -571542797_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "0 175 1 A 8 남 북 179 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "0 000 -571542797_02 571500487_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 2\n",
+ "ring_type B\n",
+ "move_no 3\n",
+ "inc_dire 남\n",
+ "out_dire 서\n",
+ "inc_angle 179\n",
+ "out_angle 270\n",
+ "inc_edge_id -571542797_02\n",
+ "out_edge_id 571510153_01\n",
+ "node_id i0\n",
+ "turn_type left\n",
+ "Name: 3, dtype: object\n",
+ "13\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 3 | \n",
+ " 175 | \n",
+ " 2 | \n",
+ " B | \n",
+ " 3 | \n",
+ " 남 | \n",
+ " 서 | \n",
+ " 179 | \n",
+ " 270 | \n",
+ " -571542797_02 | \n",
+ " 571510153_01 | \n",
+ " i0 | \n",
+ " left | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "3 175 2 B 3 남 서 179 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "3 270 -571542797_02 571510153_01 i0 left "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "14\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle, inc_edge_id, out_edge_id, node_id, turn_type]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 4\n",
+ "ring_type B\n",
+ "move_no 2\n",
+ "inc_dire 서\n",
+ "out_dire 동\n",
+ "inc_angle 270\n",
+ "out_angle 090\n",
+ "inc_edge_id 571510153_02\n",
+ "out_edge_id 571545870_01\n",
+ "node_id i0\n",
+ "turn_type straight\n",
+ "Name: 7, dtype: object\n",
+ "15\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 7 | \n",
+ " 175 | \n",
+ " 4 | \n",
+ " B | \n",
+ " 2 | \n",
+ " 서 | \n",
+ " 동 | \n",
+ " 270 | \n",
+ " 090 | \n",
+ " 571510153_02 | \n",
+ " 571545870_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "7 175 4 B 2 서 동 270 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "7 090 571510153_02 571545870_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 4\n",
+ "ring_type A\n",
+ "move_no 5\n",
+ "inc_dire 서\n",
+ "out_dire 북\n",
+ "inc_angle 270\n",
+ "out_angle 000\n",
+ "inc_edge_id 571510153_02\n",
+ "out_edge_id 571500487_01\n",
+ "node_id i0\n",
+ "turn_type left\n",
+ "Name: 6, dtype: object\n",
+ "16\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 6 | \n",
+ " 175 | \n",
+ " 4 | \n",
+ " A | \n",
+ " 5 | \n",
+ " 서 | \n",
+ " 북 | \n",
+ " 270 | \n",
+ " 000 | \n",
+ " 571510153_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " left | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "6 175 4 A 5 서 북 270 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "6 000 571510153_02 571500487_01 i0 left "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "4\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle, inc_edge_id, out_edge_id, node_id, turn_type]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 3\n",
+ "ring_type A\n",
+ "move_no 6\n",
+ "inc_dire 동\n",
+ "out_dire 서\n",
+ "inc_angle 090\n",
+ "out_angle 270\n",
+ "inc_edge_id 571545870_02\n",
+ "out_edge_id 571510153_01\n",
+ "node_id i0\n",
+ "turn_type straight\n",
+ "Name: 4, dtype: object\n",
+ "5\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 4 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " A | \n",
+ " 6 | \n",
+ " 동 | \n",
+ " 서 | \n",
+ " 090 | \n",
+ " 270 | \n",
+ " 571545870_02 | \n",
+ " 571510153_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "4 175 3 A 6 동 서 090 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "4 270 571545870_02 571510153_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 3\n",
+ "ring_type A\n",
+ "move_no 6\n",
+ "inc_dire 동\n",
+ "out_dire 서\n",
+ "inc_angle 090\n",
+ "out_angle 270\n",
+ "inc_edge_id 571545870_02\n",
+ "out_edge_id 571510153_01\n",
+ "node_id i0\n",
+ "turn_type straight\n",
+ "Name: 4, dtype: object\n",
+ "6\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 4 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " A | \n",
+ " 6 | \n",
+ " 동 | \n",
+ " 서 | \n",
+ " 090 | \n",
+ " 270 | \n",
+ " 571545870_02 | \n",
+ " 571510153_01 | \n",
+ " i0 | \n",
+ " straight | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "4 175 3 A 6 동 서 090 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "4 270 571545870_02 571510153_01 i0 straight "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "inter_no 175\n",
+ "phase_no 3\n",
+ "ring_type B\n",
+ "move_no 1\n",
+ "inc_dire 동\n",
+ "out_dire 남\n",
+ "inc_angle 090\n",
+ "out_angle 180\n",
+ "inc_edge_id 571545870_02\n",
+ "out_edge_id 571542797_02\n",
+ "node_id i0\n",
+ "turn_type left\n",
+ "Name: 5, dtype: object\n",
+ "7\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " phase_no | \n",
+ " ring_type | \n",
+ " move_no | \n",
+ " inc_dire | \n",
+ " out_dire | \n",
+ " inc_angle | \n",
+ " out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 5 | \n",
+ " 175 | \n",
+ " 3 | \n",
+ " B | \n",
+ " 1 | \n",
+ " 동 | \n",
+ " 남 | \n",
+ " 090 | \n",
+ " 180 | \n",
+ " 571545870_02 | \n",
+ " 571542797_02 | \n",
+ " i0 | \n",
+ " left | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
+ "5 175 3 B 1 동 남 090 \n",
+ "\n",
+ " out_angle inc_edge_id out_edge_id node_id turn_type \n",
+ "5 180 571545870_02 571542797_02 i0 left "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "571545870_02\n",
+ "571542797_02\n",
+ "[]\n"
+ ]
+ }
+ ],
+ "source": [
+ "self.p2PLindices = dict() # parent id to protected left index\n",
+ "# for parent_id in sorted(self.match5.node_id.unique()):\n",
+ "parent_id = sorted(self.match5.node_id.unique())[0]\n",
+ "node = self.net.getNode(parent_id)\n",
+ "PLindices = []\n",
+ "print(parent_id)\n",
+ "conns = node.getConnections()\n",
+ "conns = [c for c in node.getConnections() if c.getTLLinkIndex() >= 0]\n",
+ "for conn in conns:\n",
+ " inc_edge_id = conn.getFrom().getID()\n",
+ " out_edge_id = conn.getTo().getID()\n",
+ " m5 = self.match5[(self.match5.inc_edge_id==inc_edge_id) & (self.match5.out_edge_id==out_edge_id)]\n",
+ " if (len(m5)!=0) & (m5.iloc[0].turn_type=='left') :\n",
+ " row = m5.iloc[0]\n",
+ " print(row)\n",
+ " print(conn.getTLLinkIndex())\n",
+ " display(m5)\n",
+ "\n",
+ "# if ids_in_match5:\n",
+ "# pass\n",
+ "# else:\n",
+ "# PLindices.append(conn.getTLLinkIndex())\n",
+ "print(inc_edge_id)\n",
+ "print(out_edge_id)\n",
+ "print(PLindices)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[('-571542797_02', '571500487_01'),\n",
+ " ('-571500487_01', '571542797_02'),\n",
+ " ('-571500487_01', '571545870_01'),\n",
+ " ('-571542797_02', '571510153_01'),\n",
+ " ('571545870_02', '571510153_01'),\n",
+ " ('571545870_02', '571542797_02'),\n",
+ " ('571510153_02', '571500487_01'),\n",
+ " ('571510153_02', '571545870_01'),\n",
+ " ('-571542810_01', '-571542797_02.99'),\n",
+ " ('571542797_02.99', '571542810_01'),\n",
+ " ('-571542810_01', '-571542797_02.99'),\n",
+ " ('-571542810_01', '571543469_01'),\n",
+ " ('571543469_02', '-571542797_02.99'),\n",
+ " (nan, nan),\n",
+ " ('-571542809_01', '571542811_01'),\n",
+ " ('571542811_02', '571542809_01'),\n",
+ " (nan, nan),\n",
+ " (nan, nan),\n",
+ " ('571540304_02', '571556450_01'),\n",
+ " ('571556450_02', '571540304_01'),\n",
+ " ('571556450_02', '571500475_01'),\n",
+ " ('571540304_02', '571540303_01'),\n",
+ " ('571540303_02.21', '571556450_01'),\n",
+ " ('571540303_02.21', '571500475_01'),\n",
+ " ('-571500475_01', '571540303_01'),\n",
+ " ('-571500475_01', '571540304_01'),\n",
+ " ('-571500569_01', '571500583_02'),\n",
+ " ('-571500569_01', '571500618_01'),\n",
+ " ('571500618_02', '571500583_02'),\n",
+ " ('571500618_02', '571500617_01'),\n",
+ " ('571500617_02', '571500618_01'),\n",
+ " ('571500618_02', '571500617_01'),\n",
+ " ('571500617_02', '571500618_01'),\n",
+ " ('571500617_02', '571500569_01'),\n",
+ " ('571500583_01', '571500569_01'),\n",
+ " ('571500583_01', '571500569_01'),\n",
+ " ('571510152_02', '-571510152_01'),\n",
+ " ('571510152_01', '571510152_01.65'),\n",
+ " (nan, nan),\n",
+ " (nan, nan),\n",
+ " ('-571511538_02', '571542073_02'),\n",
+ " ('571542073_01', '571511538_02'),\n",
+ " (nan, nan),\n",
+ " (nan, nan),\n",
+ " ('-571511538_02', '571542073_02'),\n",
+ " ('571542073_01', '571511538_02'),\n",
+ " (nan, nan),\n",
+ " (nan, nan),\n",
+ " ('-571542115_01', '571500535_01'),\n",
+ " (nan, nan),\n",
+ " ('571500535_02.18', '571511538_01'),\n",
+ " ('571500535_02.18', '571542115_01'),\n",
+ " ('571511538_02.121', '571542115_01'),\n",
+ " ('571511538_02.121', '571500585_01'),\n",
+ " ('571500585_02', '571511538_01'),\n",
+ " ('571500585_02', '571500535_01')]"
+ ]
+ },
+ "execution_count": 47,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
"metadata": {},
"outputs": [
{
@@ -78,6 +2582,10 @@
" out_dire | \n",
" inc_angle | \n",
" out_angle | \n",
+ " inc_edge_id | \n",
+ " out_edge_id | \n",
+ " node_id | \n",
+ " turn_type | \n",
" \n",
" \n",
" \n",
@@ -91,6 +2599,10 @@
" 북 | \n",
" 179 | \n",
" 000 | \n",
+ " -571542797_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " straight | \n",
" \n",
" \n",
" 1 | \n",
@@ -102,6 +2614,10 @@
" 남 | \n",
" 001 | \n",
" 180 | \n",
+ " -571500487_01 | \n",
+ " 571542797_02 | \n",
+ " i0 | \n",
+ " straight | \n",
"
\n",
" \n",
" 2 | \n",
@@ -113,6 +2629,10 @@
" 동 | \n",
" 001 | \n",
" 090 | \n",
+ " -571500487_01 | \n",
+ " 571545870_01 | \n",
+ " i0 | \n",
+ " left | \n",
"
\n",
" \n",
" 3 | \n",
@@ -124,6 +2644,10 @@
" 서 | \n",
" 179 | \n",
" 270 | \n",
+ " -571542797_02 | \n",
+ " 571510153_01 | \n",
+ " i0 | \n",
+ " left | \n",
"
\n",
" \n",
" 4 | \n",
@@ -135,6 +2659,10 @@
" 서 | \n",
" 090 | \n",
" 270 | \n",
+ " 571545870_02 | \n",
+ " 571510153_01 | \n",
+ " i0 | \n",
+ " straight | \n",
"
\n",
" \n",
" 5 | \n",
@@ -146,6 +2674,10 @@
" 남 | \n",
" 090 | \n",
" 180 | \n",
+ " 571545870_02 | \n",
+ " 571542797_02 | \n",
+ " i0 | \n",
+ " left | \n",
"
\n",
" \n",
" 6 | \n",
@@ -157,6 +2689,10 @@
" 북 | \n",
" 270 | \n",
" 000 | \n",
+ " 571510153_02 | \n",
+ " 571500487_01 | \n",
+ " i0 | \n",
+ " left | \n",
"
\n",
" \n",
" 7 | \n",
@@ -168,6 +2704,10 @@
" 동 | \n",
" 270 | \n",
" 090 | \n",
+ " 571510153_02 | \n",
+ " 571545870_01 | \n",
+ " i0 | \n",
+ " straight | \n",
"
\n",
" \n",
" 8 | \n",
@@ -179,6 +2719,10 @@
" 북 | \n",
" 180 | \n",
" 356 | \n",
+ " -571542810_01 | \n",
+ " -571542797_02.99 | \n",
+ " i1 | \n",
+ " straight | \n",
"
\n",
" \n",
" 9 | \n",
@@ -190,6 +2734,10 @@
" 남 | \n",
" 359 | \n",
" 180 | \n",
+ " 571542797_02.99 | \n",
+ " 571542810_01 | \n",
+ " i1 | \n",
+ " straight | \n",
"
\n",
" \n",
" 10 | \n",
@@ -201,6 +2749,10 @@
" 북 | \n",
" 180 | \n",
" 356 | \n",
+ " -571542810_01 | \n",
+ " -571542797_02.99 | \n",
+ " i1 | \n",
+ " straight | \n",
"
\n",
" \n",
" 11 | \n",
@@ -212,6 +2764,10 @@
" 서 | \n",
" 180 | \n",
" 270 | \n",
+ " -571542810_01 | \n",
+ " 571543469_01 | \n",
+ " i1 | \n",
+ " left | \n",
"
\n",
" \n",
" 12 | \n",
@@ -223,6 +2779,10 @@
" 북 | \n",
" 270 | \n",
" 356 | \n",
+ " 571543469_02 | \n",
+ " -571542797_02.99 | \n",
+ " i1 | \n",
+ " left | \n",
"
\n",
" \n",
" 13 | \n",
@@ -234,6 +2794,10 @@
" NaN | \n",
" NaN | \n",
" NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " i1 | \n",
+ " NaN | \n",
"
\n",
" \n",
" 14 | \n",
@@ -245,6 +2809,10 @@
" 북 | \n",
" 179 | \n",
" 000 | \n",
+ " -571542809_01 | \n",
+ " 571542811_01 | \n",
+ " i2 | \n",
+ " straight | \n",
"
\n",
" \n",
" 15 | \n",
@@ -256,6 +2824,10 @@
" 남 | \n",
" 000 | \n",
" 180 | \n",
+ " 571542811_02 | \n",
+ " 571542809_01 | \n",
+ " i2 | \n",
+ " straight | \n",
"
\n",
" \n",
" 16 | \n",
@@ -267,6 +2839,10 @@
" NaN | \n",
" NaN | \n",
" NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " i2 | \n",
+ " NaN | \n",
"
\n",
" \n",
" 17 | \n",
@@ -278,6 +2854,10 @@
" NaN | \n",
" NaN | \n",
" NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " i2 | \n",
+ " NaN | \n",
"
\n",
" \n",
" 18 | \n",
@@ -289,6 +2869,10 @@
" 북 | \n",
" 180 | \n",
" 000 | \n",
+ " 571540304_02 | \n",
+ " 571556450_01 | \n",
+ " i3 | \n",
+ " straight | \n",
"
\n",
" \n",
" 19 | \n",
@@ -300,6 +2884,10 @@
" 남 | \n",
" 000 | \n",
" 180 | \n",
+ " 571556450_02 | \n",
+ " 571540304_01 | \n",
+ " i3 | \n",
+ " straight | \n",
"
\n",
" \n",
" 20 | \n",
@@ -311,6 +2899,10 @@
" 동 | \n",
" 000 | \n",
" 090 | \n",
+ " 571556450_02 | \n",
+ " 571500475_01 | \n",
+ " i3 | \n",
+ " left | \n",
"
\n",
" \n",
" 21 | \n",
@@ -322,6 +2914,10 @@
" 서 | \n",
" 180 | \n",
" 270 | \n",
+ " 571540304_02 | \n",
+ " 571540303_01 | \n",
+ " i3 | \n",
+ " left | \n",
"
\n",
" \n",
" 22 | \n",
@@ -333,6 +2929,10 @@
" 북 | \n",
" 270 | \n",
" 000 | \n",
+ " 571540303_02.21 | \n",
+ " 571556450_01 | \n",
+ " i3 | \n",
+ " left | \n",
"
\n",
" \n",
" 23 | \n",
@@ -344,6 +2944,10 @@
" 동 | \n",
" 270 | \n",
" 090 | \n",
+ " 571540303_02.21 | \n",
+ " 571500475_01 | \n",
+ " i3 | \n",
+ " straight | \n",
"
\n",
" \n",
" 24 | \n",
@@ -355,6 +2959,10 @@
" 서 | \n",
" 090 | \n",
" 270 | \n",
+ " -571500475_01 | \n",
+ " 571540303_01 | \n",
+ " i3 | \n",
+ " straight | \n",
"
\n",
" \n",
" 25 | \n",
@@ -366,6 +2974,10 @@
" 남 | \n",
" 090 | \n",
" 180 | \n",
+ " -571500475_01 | \n",
+ " 571540304_01 | \n",
+ " i3 | \n",
+ " left | \n",
"
\n",
" \n",
" 26 | \n",
@@ -377,6 +2989,10 @@
" 북 | \n",
" 180 | \n",
" 000 | \n",
+ " -571500569_01 | \n",
+ " 571500583_02 | \n",
+ " i8 | \n",
+ " straight | \n",
"
\n",
" \n",
" 27 | \n",
@@ -388,6 +3004,10 @@
" 서 | \n",
" 180 | \n",
" 270 | \n",
+ " -571500569_01 | \n",
+ " 571500618_01 | \n",
+ " i8 | \n",
+ " left | \n",
"
\n",
" \n",
" 28 | \n",
@@ -399,6 +3019,10 @@
" 북 | \n",
" 270 | \n",
" 000 | \n",
+ " 571500618_02 | \n",
+ " 571500583_02 | \n",
+ " i8 | \n",
+ " left | \n",
"
\n",
" \n",
" 29 | \n",
@@ -410,6 +3034,10 @@
" 동 | \n",
" 270 | \n",
" 090 | \n",
+ " 571500618_02 | \n",
+ " 571500617_01 | \n",
+ " i8 | \n",
+ " straight | \n",
"
\n",
" \n",
" 30 | \n",
@@ -421,6 +3049,10 @@
" 서 | \n",
" 090 | \n",
" 270 | \n",
+ " 571500617_02 | \n",
+ " 571500618_01 | \n",
+ " i8 | \n",
+ " straight | \n",
"
\n",
" \n",
" 31 | \n",
@@ -432,6 +3064,10 @@
" 동 | \n",
" 270 | \n",
" 090 | \n",
+ " 571500618_02 | \n",
+ " 571500617_01 | \n",
+ " i8 | \n",
+ " straight | \n",
"
\n",
" \n",
" 32 | \n",
@@ -443,6 +3079,10 @@
" 서 | \n",
" 090 | \n",
" 270 | \n",
+ " 571500617_02 | \n",
+ " 571500618_01 | \n",
+ " i8 | \n",
+ " straight | \n",
"
\n",
" \n",
" 33 | \n",
@@ -454,6 +3094,10 @@
" 남 | \n",
" 090 | \n",
" 180 | \n",
+ " 571500617_02 | \n",
+ " 571500569_01 | \n",
+ " i8 | \n",
+ " left | \n",
"
\n",
" \n",
" 34 | \n",
@@ -465,6 +3109,10 @@
" 남 | \n",
" 000 | \n",
" 180 | \n",
+ " 571500583_01 | \n",
+ " 571500569_01 | \n",
+ " i8 | \n",
+ " straight | \n",
"
\n",
" \n",
" 35 | \n",
@@ -476,6 +3124,10 @@
" 남 | \n",
" 000 | \n",
" 180 | \n",
+ " 571500583_01 | \n",
+ " 571500569_01 | \n",
+ " i8 | \n",
+ " straight | \n",
"
\n",
" \n",
" 36 | \n",
@@ -487,6 +3139,10 @@
" 서 | \n",
" 090 | \n",
" 270 | \n",
+ " 571510152_02 | \n",
+ " -571510152_01 | \n",
+ " i9 | \n",
+ " straight | \n",
"
\n",
" \n",
" 37 | \n",
@@ -498,6 +3154,10 @@
" 동 | \n",
" 270 | \n",
" 090 | \n",
+ " 571510152_01 | \n",
+ " 571510152_01.65 | \n",
+ " i9 | \n",
+ " straight | \n",
"
\n",
" \n",
" 38 | \n",
@@ -509,6 +3169,10 @@
" NaN | \n",
" NaN | \n",
" NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " i9 | \n",
+ " NaN | \n",
"
\n",
" \n",
" 39 | \n",
@@ -520,6 +3184,10 @@
" NaN | \n",
" NaN | \n",
" NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " i9 | \n",
+ " NaN | \n",
"
\n",
" \n",
" 40 | \n",
@@ -531,6 +3199,10 @@
" 북 | \n",
" 180 | \n",
" 000 | \n",
+ " -571511538_02 | \n",
+ " 571542073_02 | \n",
+ " i7 | \n",
+ " straight | \n",
"
\n",
" \n",
" 41 | \n",
@@ -542,6 +3214,10 @@
" 남 | \n",
" 000 | \n",
" 180 | \n",
+ " 571542073_01 | \n",
+ " 571511538_02 | \n",
+ " i7 | \n",
+ " straight | \n",
"
\n",
" \n",
" 42 | \n",
@@ -553,6 +3229,10 @@
" NaN | \n",
" NaN | \n",
" NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " i7 | \n",
+ " NaN | \n",
"
\n",
" \n",
" 43 | \n",
@@ -564,6 +3244,10 @@
" NaN | \n",
" NaN | \n",
" NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " i7 | \n",
+ " NaN | \n",
"
\n",
" \n",
" 44 | \n",
@@ -575,6 +3259,10 @@
" 북 | \n",
" 180 | \n",
" 000 | \n",
+ " -571511538_02 | \n",
+ " 571542073_02 | \n",
+ " i7 | \n",
+ " straight | \n",
"
\n",
" \n",
" 45 | \n",
@@ -586,6 +3274,10 @@
" 남 | \n",
" 000 | \n",
" 180 | \n",
+ " 571542073_01 | \n",
+ " 571511538_02 | \n",
+ " i7 | \n",
+ " straight | \n",
"
\n",
" \n",
" 46 | \n",
@@ -597,6 +3289,10 @@
" NaN | \n",
" NaN | \n",
" NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " i7 | \n",
+ " NaN | \n",
"
\n",
" \n",
" 47 | \n",
@@ -608,6 +3304,10 @@
" NaN | \n",
" NaN | \n",
" NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " i7 | \n",
+ " NaN | \n",
"
\n",
" \n",
" 48 | \n",
@@ -619,6 +3319,10 @@
" 서 | \n",
" 090 | \n",
" 270 | \n",
+ " -571542115_01 | \n",
+ " 571500535_01 | \n",
+ " i6 | \n",
+ " straight | \n",
"
\n",
" \n",
" 49 | \n",
@@ -630,6 +3334,10 @@
" NaN | \n",
" NaN | \n",
" NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " i6 | \n",
+ " NaN | \n",
"
\n",
" \n",
" 50 | \n",
@@ -641,6 +3349,10 @@
" 북 | \n",
" 270 | \n",
" 000 | \n",
+ " 571500535_02.18 | \n",
+ " 571511538_01 | \n",
+ " i6 | \n",
+ " left | \n",
"
\n",
" \n",
" 51 | \n",
@@ -652,6 +3364,10 @@
" 동 | \n",
" 270 | \n",
" 090 | \n",
+ " 571500535_02.18 | \n",
+ " 571542115_01 | \n",
+ " i6 | \n",
+ " straight | \n",
"
\n",
" \n",
" 52 | \n",
@@ -663,6 +3379,10 @@
" 동 | \n",
" 000 | \n",
" 090 | \n",
+ " 571511538_02.121 | \n",
+ " 571542115_01 | \n",
+ " i6 | \n",
+ " left | \n",
"
\n",
" \n",
" 53 | \n",
@@ -674,6 +3394,10 @@
" 남 | \n",
" 000 | \n",
" 180 | \n",
+ " 571511538_02.121 | \n",
+ " 571500585_01 | \n",
+ " i6 | \n",
+ " straight | \n",
"
\n",
" \n",
" 54 | \n",
@@ -685,6 +3409,10 @@
" 북 | \n",
" 180 | \n",
" 000 | \n",
+ " 571500585_02 | \n",
+ " 571511538_01 | \n",
+ " i6 | \n",
+ " straight | \n",
"
\n",
" \n",
" 55 | \n",
@@ -696,6 +3424,10 @@
" 서 | \n",
" 180 | \n",
" 270 | \n",
+ " 571500585_02 | \n",
+ " 571500535_01 | \n",
+ " i6 | \n",
+ " left | \n",
"
\n",
" \n",
"\n",
@@ -760,72 +3492,72 @@
"54 210 4 A 8 남 북 180 \n",
"55 210 4 B 3 남 서 180 \n",
"\n",
- " out_angle \n",
- "0 000 \n",
- "1 180 \n",
- "2 090 \n",
- "3 270 \n",
- "4 270 \n",
- "5 180 \n",
- "6 000 \n",
- "7 090 \n",
- "8 356 \n",
- "9 180 \n",
- "10 356 \n",
- "11 270 \n",
- "12 356 \n",
- "13 NaN \n",
- "14 000 \n",
- "15 180 \n",
- "16 NaN \n",
- "17 NaN \n",
- "18 000 \n",
- "19 180 \n",
- "20 090 \n",
- "21 270 \n",
- "22 000 \n",
- "23 090 \n",
- "24 270 \n",
- "25 180 \n",
- "26 000 \n",
- "27 270 \n",
- "28 000 \n",
- "29 090 \n",
- "30 270 \n",
- "31 090 \n",
- "32 270 \n",
- "33 180 \n",
- "34 180 \n",
- "35 180 \n",
- "36 270 \n",
- "37 090 \n",
- "38 NaN \n",
- "39 NaN \n",
- "40 000 \n",
- "41 180 \n",
- "42 NaN \n",
- "43 NaN \n",
- "44 000 \n",
- "45 180 \n",
- "46 NaN \n",
- "47 NaN \n",
- "48 270 \n",
- "49 NaN \n",
- "50 000 \n",
- "51 090 \n",
- "52 090 \n",
- "53 180 \n",
- "54 000 \n",
- "55 270 "
+ " 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 straight \n",
+ "15 180 571542811_02 571542809_01 i2 straight \n",
+ "16 NaN NaN NaN i2 NaN \n",
+ "17 NaN NaN NaN i2 NaN \n",
+ "18 000 571540304_02 571556450_01 i3 straight \n",
+ "19 180 571556450_02 571540304_01 i3 straight \n",
+ "20 090 571556450_02 571500475_01 i3 left \n",
+ "21 270 571540304_02 571540303_01 i3 left \n",
+ "22 000 571540303_02.21 571556450_01 i3 left \n",
+ "23 090 571540303_02.21 571500475_01 i3 straight \n",
+ "24 270 -571500475_01 571540303_01 i3 straight \n",
+ "25 180 -571500475_01 571540304_01 i3 left \n",
+ "26 000 -571500569_01 571500583_02 i8 straight \n",
+ "27 270 -571500569_01 571500618_01 i8 left \n",
+ "28 000 571500618_02 571500583_02 i8 left \n",
+ "29 090 571500618_02 571500617_01 i8 straight \n",
+ "30 270 571500617_02 571500618_01 i8 straight \n",
+ "31 090 571500618_02 571500617_01 i8 straight \n",
+ "32 270 571500617_02 571500618_01 i8 straight \n",
+ "33 180 571500617_02 571500569_01 i8 left \n",
+ "34 180 571500583_01 571500569_01 i8 straight \n",
+ "35 180 571500583_01 571500569_01 i8 straight \n",
+ "36 270 571510152_02 -571510152_01 i9 straight \n",
+ "37 090 571510152_01 571510152_01.65 i9 straight \n",
+ "38 NaN NaN NaN i9 NaN \n",
+ "39 NaN NaN NaN i9 NaN \n",
+ "40 000 -571511538_02 571542073_02 i7 straight \n",
+ "41 180 571542073_01 571511538_02 i7 straight \n",
+ "42 NaN NaN NaN i7 NaN \n",
+ "43 NaN NaN NaN i7 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 270 -571542115_01 571500535_01 i6 straight \n",
+ "49 NaN NaN NaN i6 NaN \n",
+ "50 000 571500535_02.18 571511538_01 i6 left \n",
+ "51 090 571500535_02.18 571542115_01 i6 straight \n",
+ "52 090 571511538_02.121 571542115_01 i6 left \n",
+ "53 180 571511538_02.121 571500585_01 i6 straight \n",
+ "54 000 571500585_02 571511538_01 i6 straight \n",
+ "55 270 571500585_02 571500535_01 i6 left "
]
},
- "execution_count": 5,
+ "execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "self.match4"
+ "self.match5"
]
},
{