diff --git a/Analysis/0411_unp-left_p-right-uturn/0411_unp-left.ipynb b/Analysis/0411_unp-left_p-right-uturn/0411_unp-left.ipynb index aac4cd7c9..34e4cd3cd 100644 --- a/Analysis/0411_unp-left_p-right-uturn/0411_unp-left.ipynb +++ b/Analysis/0411_unp-left_p-right-uturn/0411_unp-left.ipynb @@ -84,16 +84,7 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "self." - ] - }, - { - "cell_type": "code", - "execution_count": 3, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -125,6 +116,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", @@ -138,6 +133,10 @@ " 북\n", " 179\n", " 000\n", + " -571542797_02\n", + " 571500487_01\n", + " i0\n", + " straight\n", " \n", " \n", " 1\n", @@ -149,6 +148,10 @@ " 남\n", " 001\n", " 180\n", + " -571500487_01\n", + " 571542797_02\n", + " i0\n", + " straight\n", " \n", " \n", " 2\n", @@ -160,6 +163,10 @@ " 동\n", " 001\n", " 090\n", + " -571500487_01\n", + " 571545870_01\n", + " i0\n", + " left\n", " \n", " \n", " 3\n", @@ -171,6 +178,10 @@ " 서\n", " 179\n", " 270\n", + " -571542797_02\n", + " 571510153_01\n", + " i0\n", + " left\n", " \n", " \n", " 4\n", @@ -182,1285 +193,979 @@ " 서\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 out_angle\n", - "0 175 1 A 8 남 북 179 000\n", - "1 175 1 B 4 북 남 001 180\n", - "2 175 2 A 7 북 동 001 090\n", - "3 175 2 B 3 남 서 179 270\n", - "4 175 3 A 6 동 서 090 270" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - "
inter_nophase_noring_typemove_noinc_direout_direinc_angleout_angleinc_edge_idout_edge_idnode_id
051753B1A8090180571545870_02571542797_02i0left
61754A5179270000-571542797_02571510153_02571500487_01i0left
171754B2270090571510153_02571545870_01i0straight
81761A8180356-571542810_01-571542797_02.99i1straight
91761B4001359180-571500487_01571542797_02i0571542797_02.99571542810_01i1straight
2175101762A78001090-571500487_01571545870_01i0180356-571542810_01-571542797_02.99i1straight
3175111762B3179180270-571542797_02571510153_01i0-571542810_01571543469_01i1left
4175121763A65090270571545870_02571510153_01i0356571543469_02-571542797_02.99i1left
\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", - "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", - "\n", - " out_angle inc_edge_id out_edge_id node_id \n", - "0 000 -571542797_02 571500487_01 i0 \n", - "1 180 -571500487_01 571542797_02 i0 \n", - "2 090 -571500487_01 571545870_01 i0 \n", - "3 270 -571542797_02 571510153_01 i0 \n", - "4 270 571545870_02 571510153_01 i0 " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstate
131763B18NaNNaNNaNNaNNaNNaNi1NaN
0175i0141771A8-571542797_02571500487_01grrrgrrrgGGGGrgrr179000-571542809_01571542811_01i2left
1175i0151771B4-571500487_01571542797_02gGGrgrrrgrrrrrgrr000180571542811_02571542809_01i2straight
2175i0161772A7-571500487_01571545870_01grrGgrrrgrrrrrgrr000090571542811_02571542107_01i2left
3175i0171772B3-571542797_02571510153_01grrrgrrrgrrrrGgrr179270-571542809_01571542809_01i2left
4175i0181773A6571545870_02571510153_01grrrgGGrgrrrrrgrr
\n", - "
" - ], - "text/plain": [ - " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", - "0 175 i0 1 A 8 -571542797_02 571500487_01 \n", - "1 175 i0 1 B 4 -571500487_01 571542797_02 \n", - "2 175 i0 2 A 7 -571500487_01 571545870_01 \n", - "3 175 i0 2 B 3 -571542797_02 571510153_01 \n", - "4 175 i0 3 A 6 571545870_02 571510153_01 \n", - "\n", - " state \n", - "0 grrrgrrrgGGGGrgrr \n", - "1 gGGrgrrrgrrrrrgrr \n", - "2 grrGgrrrgrrrrrgrr \n", - "3 grrrgrrrgrrrrGgrr \n", - "4 grrrgGGrgrrrrrgrr " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "display(self.match4.head())\n", - "display(self.match5.head())\n", - "display(self.match6.head())" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
inter_nophase_noring_typemove_noinc_direout_direinc_angleout_angleinc_edge_idout_edge_idnode_id
0FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
1FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
2FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
3FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
4FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
5FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
6FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
7FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
8FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
9FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
10FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
11FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
12FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
13FalseFalseFalseFalseTrueTrueTrueTrueTrueTrueFalse
14FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
15FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
16FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
17FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
18FalseFalseFalseFalseTrueTrueTrueTrueTrueTrueFalse17NaNNaNNaNNaNNaNNaNi2NaN
19FalseFalseFalseFalseTrueTrueTrueTrueTrueTrueFalse1773B18NaNNaNNaNNaNNaNNaNi2NaN
20FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse1774A5268000-571542809_01571542811_01i2left
21FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse1774B1090180571542107_02571542809_01i2left
22FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse1781A8180000571540304_02571556450_01i3straight
23FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse1781B4000180571556450_02571540304_01i3straight
24FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse1782A7000090571556450_02571500475_01i3left
25FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse1782B3180270571540304_02571540303_01i3left
26FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse1783A5270000571540303_02.21571556450_01i3left
27FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse1783B2270090571540303_02.21571500475_01i3straight
28FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse1784A6090270-571500475_01571540303_01i3straight
29FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse1784B1090180-571500475_01571540304_01i3left
30FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2011A8180000-571500569_01571500583_02i8straight
31FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2011B3180270-571500569_01571500618_01i8left
32FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2012A5270000571500618_02571500583_02i8left
33FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2012B2270090571500618_02571500617_01i8straight
34FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2013A6090270571500617_02571500618_01i8straight
35FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2013B2270090571500618_02571500617_01i8straight
36FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2014A6090270571500617_02571500618_01i8straight
37FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2014B1090180571500617_02571500569_01i8left
38FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2015A7000090571500583_01571500617_01i8left
39FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2015B4000180571500583_01571500569_01i8straight
40FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2021A6090270571510152_02-571510152_01i9straight
41FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2021B2270090571510152_01571510152_01.65i9straight
42FalseFalseFalseFalseTrueTrueTrueTrueTrueTrueFalse2022A17NaNNaNNaNNaNNaNNaNi9NaN
43FalseFalseFalseFalseTrueTrueTrueTrueTrueTrueFalse2022B18NaNNaNNaNNaNNaNNaNi9NaN
44FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2061A8180000-571511538_02571542073_02i7straight
45FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2061B4000180571542073_01571511538_02i7straight
46FalseFalseFalseFalseTrueTrueTrueTrueTrueTrueFalse2062A17NaNNaNNaNNaNNaNNaNi7NaN
47FalseFalseFalseFalseTrueTrueTrueTrueTrueTrueFalse2062B18NaNNaNNaNNaNNaNNaNi7NaN
48FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2063A8180000-571511538_02571542073_02i7straight
49FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2063B4000180571542073_01571511538_02i7straight
50FalseFalseFalseFalseTrueTrueTrueTrueTrueTrueFalse2064A17NaNNaNNaNNaNNaNNaNi7NaN
51FalseFalseFalseFalseTrueTrueTrueTrueTrueTrueFalse2064B18NaNNaNNaNNaNNaNNaNi7NaN
52FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2101A6090270-571542115_01571500535_01i6straight
53FalseFalseFalseFalseTrueTrueTrueTrueTrueTrueFalse2101B18NaNNaNNaNNaNNaNNaNi6NaN
54FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2102A5270000571500535_02.18571511538_01i6left
55FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2102B2270090571500535_02.18571542115_01i6straight
56FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2103A7000090571511538_02.121571542115_01i6left
57FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2103B4000180571511538_02.121571500585_01i6straight
58FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2104A8180000571500585_02571511538_01i6straight
59FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse2104B3180270571500585_02571500535_01i6left
\n", "
" ], "text/plain": [ - " inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n", - "0 False False False False False False False \n", - "1 False False False False False False False \n", - "2 False False False False False False False \n", - "3 False False False False False False False \n", - "4 False False False False False False False \n", - "5 False False False False False False False \n", - "6 False False False False False False False \n", - "7 False False False False False False False \n", - "8 False False False False False False False \n", - "9 False False False False False False False \n", - "10 False False False False False False False \n", - "11 False False False False False False False \n", - "12 False False False False False False False \n", - "13 False False False False True True True \n", - "14 False False False False False False False \n", - "15 False False False False False False False \n", - "16 False False False False False False False \n", - "17 False False False False False False False \n", - "18 False False False False True True True \n", - "19 False False False False True True True \n", - "20 False False False False False False False \n", - "21 False False False False False False False \n", - "22 False False False False False False False \n", - "23 False False False False False False False \n", - "24 False False False False False False False \n", - "25 False False False False False False False \n", - "26 False False False False False False False \n", - "27 False False False False False False False \n", - "28 False False False False False False False \n", - "29 False False False False False False False \n", - "30 False False False False False False False \n", - "31 False False False False False False False \n", - "32 False False False False False False False \n", - "33 False False False False False False False \n", - "34 False False False False False False False \n", - "35 False False False False False False False \n", - "36 False False False False False False False \n", - "37 False False False False False False False \n", - "38 False False False False False False False \n", - "39 False False False False False False False \n", - "40 False False False False False False False \n", - "41 False False False False False False False \n", - "42 False False False False True True True \n", - "43 False False False False True True True \n", - "44 False False False False False False False \n", - "45 False False False False False False False \n", - "46 False False False False True True True \n", - "47 False False False False True True True \n", - "48 False False False False False False False \n", - "49 False False False False False False False \n", - "50 False False False False True True True \n", - "51 False False False False True True True \n", - "52 False False False False False False False \n", - "53 False False False False True True True \n", - "54 False False False False False False False \n", - "55 False False False False False False False \n", - "56 False False False False False False False \n", - "57 False False False False False False False \n", - "58 False False False False False False False \n", - "59 False False False False False False False \n", + " 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 \n", - "0 False False False False \n", - "1 False False False False \n", - "2 False False False False \n", - "3 False False False False \n", - "4 False False False False \n", - "5 False False False False \n", - "6 False False False False \n", - "7 False False False False \n", - "8 False False False False \n", - "9 False False False False \n", - "10 False False False False \n", - "11 False False False False \n", - "12 False False False False \n", - "13 True True True False \n", - "14 False False False False \n", - "15 False False False False \n", - "16 False False False False \n", - "17 False False False False \n", - "18 True True True False \n", - "19 True True True False \n", - "20 False False False False \n", - "21 False False False False \n", - "22 False False False False \n", - "23 False False False False \n", - "24 False False False False \n", - "25 False False False False \n", - "26 False False False False \n", - "27 False False False False \n", - "28 False False False False \n", - "29 False False False False \n", - "30 False False False False \n", - "31 False False False False \n", - "32 False False False False \n", - "33 False False False False \n", - "34 False False False False \n", - "35 False False False False \n", - "36 False False False False \n", - "37 False False False False \n", - "38 False False False False \n", - "39 False False False False \n", - "40 False False False False \n", - "41 False False False False \n", - "42 True True True False \n", - "43 True True True False \n", - "44 False False False False \n", - "45 False False False False \n", - "46 True True True False \n", - "47 True True True False \n", - "48 False False False False \n", - "49 False False False False \n", - "50 True True True False \n", - "51 True True True False \n", - "52 False False False False \n", - "53 True True True False \n", - "54 False False False False \n", - "55 False False False False \n", - "56 False False False False \n", - "57 False False False False \n", - "58 False False False False \n", - "59 False False False False " + " 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": 18, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "self.match5.dropna([''])" + "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 = n2io2turn[node_id][(inc_edge_id, out_edge_id)]\n", + " self.match5.at[i, 'turn_type']=turn_type\n", + "display(self.match5)" ] }, { diff --git a/Scripts/__pycache__/preprocess_daily.cpython-38.pyc b/Scripts/__pycache__/preprocess_daily.cpython-38.pyc index 09656f539..6567f6ff2 100644 Binary files a/Scripts/__pycache__/preprocess_daily.cpython-38.pyc and b/Scripts/__pycache__/preprocess_daily.cpython-38.pyc differ diff --git a/Scripts/preprocess_daily.py b/Scripts/preprocess_daily.py index 6cd9e661e..1a30ff9f1 100644 --- a/Scripts/preprocess_daily.py +++ b/Scripts/preprocess_daily.py @@ -47,7 +47,7 @@ class DailyPreprocessor(): 'direction':'str', 'condition':'str', 'inc_edge_id':'str', 'out_edge_id':'str', 'end_unix':'int', 'inter_name':'str', 'inter_lat':'float', 'inter_lon':'float', 'group_no':'int', 'main_phase_no':'int', 'phase_no':'int','ring_type':'str', - 'angle_code':'str'} + 'angle_code':'str', 'turn_type':'str'} for alph in ['A', 'B']: for j in range(1,9): # loading_dtype[f'angle_{alph}{j}'] = 'str' @@ -64,6 +64,7 @@ class DailyPreprocessor(): self.u_condition= pd.read_csv(os.path.join(self.path_tables, 'u_condition.csv'), dtype=loading_dtype) self.coord = pd.read_csv(os.path.join(self.path_tables, 'child_coord.csv'), dtype=loading_dtype) self.nema = pd.read_csv(os.path.join(self.path_tables, 'nema.csv'), encoding='cp949', dtype=loading_dtype) + self.turn_type = pd.read_csv(os.path.join(self.path_tables, 'turn_type.csv'), dtype=loading_dtype) # 교차로목록, 노드목록 정의 self.inter_nos = [int(x) for x in sorted(self.inter_info.inter_no.unique())] @@ -402,6 +403,24 @@ class DailyPreprocessor(): self.match5['node_id'] = self.match5['inter_no'].map(self.inter2node) self.match5 = self.match5.sort_values(by=['inter_no','phase_no','ring_type']).reset_index(drop=True) + # dictionary that maps node_id to io2turn + n2io2turn = dict() + node_id = 'i0' + for node_id in self.parent_ids: + turn = self.turn_type[self.turn_type.node_id==node_id] + io = list(zip(turn.inc_edge_id, turn.out_edge_id)) + # dictionary that maps (inc_edge_id, out_edge_id) to turn_type + io2turn = dict(zip(io, turn.turn_type)) + n2io2turn[node_id] = io2turn + + for i, row in self.match5.iterrows(): + node_id = row.node_id + inc_edge_id = row.inc_edge_id + out_edge_id = row.out_edge_id + if not (pd.isna(inc_edge_id) and pd.isna(out_edge_id)): + turn_type = n2io2turn[node_id][(inc_edge_id, out_edge_id)] + self.match5.at[i, 'turn_type'] = turn_type + # 2-1-6 def make_match6(self): '''