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 4f173818a..1a51fea20 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
@@ -472,22 +472,22 @@
},
{
"cell_type": "code",
- "execution_count": 28,
+ "execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "i8 grrrrrrrgrrrgrrr\n",
- "i6 grrrgrrrrgrrgrrr\n",
- "i1 grrrrrrgrr\n",
+ "c30 rrrrrr\n",
"i0 grrrgrrrgrrrrrgrr\n",
- "i7 rrrggrr\n",
+ "i1 grrrrrrgrr\n",
+ "i2 rrggrrr\n",
"i3 grrrrgrrrrgrrrrgrrrr\n",
+ "i6 grrrgrrrrgrrgrrr\n",
+ "i7 rrrggrr\n",
+ "i8 grrrrrrrgrrrgrrr\n",
"i9 rrrr\n",
- "i2 rrggrrr\n",
- "c30 rrrrrr\n",
"u00 GGGGrGGGG\n",
"u20 GGrGGG\n",
"u30 GGGGrGGG\n",
@@ -501,7 +501,7 @@
"self.nodes = [self.net.getNode(node_id) for node_id in self.node_ids]\n",
"self.node2init = {}\n",
"# 유턴노드를 제외한 모든 노드 (우회전, 삼지교차로직진 : g, 그외 : r)\n",
- "for node_id in set(self.node_ids) - set(self.u_turn_ids):\n",
+ "for node_id in sorted(set(self.node_ids) - set(self.u_turn_ids)):\n",
" node = self.net.getNode(node_id)\n",
" conns = [(c.getJunctionIndex(), c) for c in node.getConnections()]\n",
" conns = [c for c in conns if c[0] >= 0]\n",
@@ -552,938 +552,6 @@
" print(node_id, ''.join(self.node2init[node_id]))"
]
},
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2-2. 비보호우회전(g)을 배정했습니다.\n",
- "c30 rrrrrr\n",
- "i0 grrrgrrrgrrrrrgrr\n",
- "i1 grrrrrrgrr\n",
- "i2 rrggrrr\n",
- "i3 grrrrgrrrrgrrrrgrrrr\n",
- "i6 grrrgrrrrgrrgrrr\n",
- "i7 rrrggrr\n",
- "i8 grrrrrrrgrrrgrrr\n",
- "i9 rrrr\n",
- "u00 ggggrgggg\n",
- "u20 ggrggg\n",
- "u30 ggggrggg\n",
- "u31 ggggrggg\n",
- "u32 gggggggr\n",
- "u60 ggggggggr\n"
- ]
- }
- ],
- "source": [
- "self.initialize_state() # 2-2 신호 초기화\n",
- "for node_id in self.node_ids:\n",
- " print(node_id, ''.join(self.node2init[node_id]))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2-2. 비보호우회전(g)을 배정했습니다.\n",
- "2-3. 직진 및 좌회전(G)을 배정했습니다.\n"
- ]
- },
- {
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " inter_no | \n",
- " node_id | \n",
- " phase_no | \n",
- " ring_type | \n",
- " move_no | \n",
- " inc_edge_id | \n",
- " out_edge_id | \n",
- " state | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 8 | \n",
- " 175 | \n",
- " u00 | \n",
- " 1 | \n",
- " A | \n",
- " 8 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrgggg | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " 175 | \n",
- " u00 | \n",
- " 1 | \n",
- " B | \n",
- " 4 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrgggg | \n",
- "
\n",
- " \n",
- " 10 | \n",
- " 175 | \n",
- " u00 | \n",
- " 2 | \n",
- " A | \n",
- " 7 | \n",
- " 571500487_02 | \n",
- " 571500487_01.32 | \n",
- " ggggGgggg | \n",
- "
\n",
- " \n",
- " 11 | \n",
- " 175 | \n",
- " u00 | \n",
- " 2 | \n",
- " B | \n",
- " 3 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrgggg | \n",
- "
\n",
- " \n",
- " 12 | \n",
- " 175 | \n",
- " u00 | \n",
- " 3 | \n",
- " A | \n",
- " 6 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrgggg | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " 175 | \n",
- " u00 | \n",
- " 3 | \n",
- " B | \n",
- " 1 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrgggg | \n",
- "
\n",
- " \n",
- " 14 | \n",
- " 175 | \n",
- " u00 | \n",
- " 4 | \n",
- " A | \n",
- " 5 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrgggg | \n",
- "
\n",
- " \n",
- " 15 | \n",
- " 175 | \n",
- " u00 | \n",
- " 4 | \n",
- " B | \n",
- " 2 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrgggg | \n",
- "
\n",
- " \n",
- " 26 | \n",
- " 177 | \n",
- " u20 | \n",
- " 1 | \n",
- " A | \n",
- " 8 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggrggg | \n",
- "
\n",
- " \n",
- " 27 | \n",
- " 177 | \n",
- " u20 | \n",
- " 1 | \n",
- " B | \n",
- " 4 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggrggg | \n",
- "
\n",
- " \n",
- " 28 | \n",
- " 177 | \n",
- " u20 | \n",
- " 2 | \n",
- " A | \n",
- " 17 | \n",
- " 571542810_01.51 | \n",
- " 571542810_02 | \n",
- " ggGggg | \n",
- "
\n",
- " \n",
- " 29 | \n",
- " 177 | \n",
- " u20 | \n",
- " 2 | \n",
- " B | \n",
- " 18 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggrggg | \n",
- "
\n",
- " \n",
- " 46 | \n",
- " 178 | \n",
- " u30 | \n",
- " 1 | \n",
- " A | \n",
- " 8 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 47 | \n",
- " 178 | \n",
- " u30 | \n",
- " 1 | \n",
- " B | \n",
- " 4 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 48 | \n",
- " 178 | \n",
- " u30 | \n",
- " 2 | \n",
- " A | \n",
- " 7 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 49 | \n",
- " 178 | \n",
- " u30 | \n",
- " 2 | \n",
- " B | \n",
- " 3 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 50 | \n",
- " 178 | \n",
- " u30 | \n",
- " 3 | \n",
- " A | \n",
- " 5 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 51 | \n",
- " 178 | \n",
- " u30 | \n",
- " 3 | \n",
- " B | \n",
- " 2 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 52 | \n",
- " 178 | \n",
- " u30 | \n",
- " 4 | \n",
- " A | \n",
- " 6 | \n",
- " 571556452_01 | \n",
- " 571556452_02 | \n",
- " ggggGggg | \n",
- "
\n",
- " \n",
- " 53 | \n",
- " 178 | \n",
- " u30 | \n",
- " 4 | \n",
- " B | \n",
- " 1 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 54 | \n",
- " 178 | \n",
- " u31 | \n",
- " 1 | \n",
- " A | \n",
- " 8 | \n",
- " 571500475_02 | \n",
- " 571500475_01.26 | \n",
- " ggggGggg | \n",
- "
\n",
- " \n",
- " 55 | \n",
- " 178 | \n",
- " u31 | \n",
- " 1 | \n",
- " B | \n",
- " 4 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 56 | \n",
- " 178 | \n",
- " u31 | \n",
- " 2 | \n",
- " A | \n",
- " 7 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 57 | \n",
- " 178 | \n",
- " u31 | \n",
- " 2 | \n",
- " B | \n",
- " 3 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 58 | \n",
- " 178 | \n",
- " u31 | \n",
- " 3 | \n",
- " A | \n",
- " 5 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 59 | \n",
- " 178 | \n",
- " u31 | \n",
- " 3 | \n",
- " B | \n",
- " 2 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 60 | \n",
- " 178 | \n",
- " u31 | \n",
- " 4 | \n",
- " A | \n",
- " 6 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 61 | \n",
- " 178 | \n",
- " u31 | \n",
- " 4 | \n",
- " B | \n",
- " 1 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggrggg | \n",
- "
\n",
- " \n",
- " 62 | \n",
- " 178 | \n",
- " u32 | \n",
- " 1 | \n",
- " A | \n",
- " 8 | \n",
- " NaN | \n",
- " NaN | \n",
- " gggggggr | \n",
- "
\n",
- " \n",
- " 63 | \n",
- " 178 | \n",
- " u32 | \n",
- " 1 | \n",
- " B | \n",
- " 4 | \n",
- " 571540303_02 | \n",
- " -571540303_02 | \n",
- " gggggggG | \n",
- "
\n",
- " \n",
- " 64 | \n",
- " 178 | \n",
- " u32 | \n",
- " 2 | \n",
- " A | \n",
- " 7 | \n",
- " NaN | \n",
- " NaN | \n",
- " gggggggr | \n",
- "
\n",
- " \n",
- " 65 | \n",
- " 178 | \n",
- " u32 | \n",
- " 2 | \n",
- " B | \n",
- " 3 | \n",
- " NaN | \n",
- " NaN | \n",
- " gggggggr | \n",
- "
\n",
- " \n",
- " 66 | \n",
- " 178 | \n",
- " u32 | \n",
- " 3 | \n",
- " A | \n",
- " 5 | \n",
- " NaN | \n",
- " NaN | \n",
- " gggggggr | \n",
- "
\n",
- " \n",
- " 67 | \n",
- " 178 | \n",
- " u32 | \n",
- " 3 | \n",
- " B | \n",
- " 2 | \n",
- " NaN | \n",
- " NaN | \n",
- " gggggggr | \n",
- "
\n",
- " \n",
- " 68 | \n",
- " 178 | \n",
- " u32 | \n",
- " 4 | \n",
- " A | \n",
- " 6 | \n",
- " NaN | \n",
- " NaN | \n",
- " gggggggr | \n",
- "
\n",
- " \n",
- " 69 | \n",
- " 178 | \n",
- " u32 | \n",
- " 4 | \n",
- " B | \n",
- " 1 | \n",
- " NaN | \n",
- " NaN | \n",
- " gggggggr | \n",
- "
\n",
- " \n",
- " 100 | \n",
- " 210 | \n",
- " u60 | \n",
- " 1 | \n",
- " A | \n",
- " 6 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggggggr | \n",
- "
\n",
- " \n",
- " 101 | \n",
- " 210 | \n",
- " u60 | \n",
- " 1 | \n",
- " B | \n",
- " 18 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggggggr | \n",
- "
\n",
- " \n",
- " 102 | \n",
- " 210 | \n",
- " u60 | \n",
- " 2 | \n",
- " A | \n",
- " 5 | \n",
- " 571500535_02 | \n",
- " -571500535_02 | \n",
- " ggggggggG | \n",
- "
\n",
- " \n",
- " 103 | \n",
- " 210 | \n",
- " u60 | \n",
- " 2 | \n",
- " B | \n",
- " 2 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggggggr | \n",
- "
\n",
- " \n",
- " 104 | \n",
- " 210 | \n",
- " u60 | \n",
- " 3 | \n",
- " A | \n",
- " 7 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggggggr | \n",
- "
\n",
- " \n",
- " 105 | \n",
- " 210 | \n",
- " u60 | \n",
- " 3 | \n",
- " B | \n",
- " 4 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggggggr | \n",
- "
\n",
- " \n",
- " 106 | \n",
- " 210 | \n",
- " u60 | \n",
- " 4 | \n",
- " A | \n",
- " 8 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggggggr | \n",
- "
\n",
- " \n",
- " 107 | \n",
- " 210 | \n",
- " u60 | \n",
- " 4 | \n",
- " B | \n",
- " 3 | \n",
- " NaN | \n",
- " NaN | \n",
- " ggggggggr | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " inter_no node_id phase_no ring_type move_no inc_edge_id \\\n",
- "8 175 u00 1 A 8 NaN \n",
- "9 175 u00 1 B 4 NaN \n",
- "10 175 u00 2 A 7 571500487_02 \n",
- "11 175 u00 2 B 3 NaN \n",
- "12 175 u00 3 A 6 NaN \n",
- "13 175 u00 3 B 1 NaN \n",
- "14 175 u00 4 A 5 NaN \n",
- "15 175 u00 4 B 2 NaN \n",
- "26 177 u20 1 A 8 NaN \n",
- "27 177 u20 1 B 4 NaN \n",
- "28 177 u20 2 A 17 571542810_01.51 \n",
- "29 177 u20 2 B 18 NaN \n",
- "46 178 u30 1 A 8 NaN \n",
- "47 178 u30 1 B 4 NaN \n",
- "48 178 u30 2 A 7 NaN \n",
- "49 178 u30 2 B 3 NaN \n",
- "50 178 u30 3 A 5 NaN \n",
- "51 178 u30 3 B 2 NaN \n",
- "52 178 u30 4 A 6 571556452_01 \n",
- "53 178 u30 4 B 1 NaN \n",
- "54 178 u31 1 A 8 571500475_02 \n",
- "55 178 u31 1 B 4 NaN \n",
- "56 178 u31 2 A 7 NaN \n",
- "57 178 u31 2 B 3 NaN \n",
- "58 178 u31 3 A 5 NaN \n",
- "59 178 u31 3 B 2 NaN \n",
- "60 178 u31 4 A 6 NaN \n",
- "61 178 u31 4 B 1 NaN \n",
- "62 178 u32 1 A 8 NaN \n",
- "63 178 u32 1 B 4 571540303_02 \n",
- "64 178 u32 2 A 7 NaN \n",
- "65 178 u32 2 B 3 NaN \n",
- "66 178 u32 3 A 5 NaN \n",
- "67 178 u32 3 B 2 NaN \n",
- "68 178 u32 4 A 6 NaN \n",
- "69 178 u32 4 B 1 NaN \n",
- "100 210 u60 1 A 6 NaN \n",
- "101 210 u60 1 B 18 NaN \n",
- "102 210 u60 2 A 5 571500535_02 \n",
- "103 210 u60 2 B 2 NaN \n",
- "104 210 u60 3 A 7 NaN \n",
- "105 210 u60 3 B 4 NaN \n",
- "106 210 u60 4 A 8 NaN \n",
- "107 210 u60 4 B 3 NaN \n",
- "\n",
- " out_edge_id state \n",
- "8 NaN ggggrgggg \n",
- "9 NaN ggggrgggg \n",
- "10 571500487_01.32 ggggGgggg \n",
- "11 NaN ggggrgggg \n",
- "12 NaN ggggrgggg \n",
- "13 NaN ggggrgggg \n",
- "14 NaN ggggrgggg \n",
- "15 NaN ggggrgggg \n",
- "26 NaN ggrggg \n",
- "27 NaN ggrggg \n",
- "28 571542810_02 ggGggg \n",
- "29 NaN ggrggg \n",
- "46 NaN ggggrggg \n",
- "47 NaN ggggrggg \n",
- "48 NaN ggggrggg \n",
- "49 NaN ggggrggg \n",
- "50 NaN ggggrggg \n",
- "51 NaN ggggrggg \n",
- "52 571556452_02 ggggGggg \n",
- "53 NaN ggggrggg \n",
- "54 571500475_01.26 ggggGggg \n",
- "55 NaN ggggrggg \n",
- "56 NaN ggggrggg \n",
- "57 NaN ggggrggg \n",
- "58 NaN ggggrggg \n",
- "59 NaN ggggrggg \n",
- "60 NaN ggggrggg \n",
- "61 NaN ggggrggg \n",
- "62 NaN gggggggr \n",
- "63 -571540303_02 gggggggG \n",
- "64 NaN gggggggr \n",
- "65 NaN gggggggr \n",
- "66 NaN gggggggr \n",
- "67 NaN gggggggr \n",
- "68 NaN gggggggr \n",
- "69 NaN gggggggr \n",
- "100 NaN ggggggggr \n",
- "101 NaN ggggggggr \n",
- "102 -571500535_02 ggggggggG \n",
- "103 NaN ggggggggr \n",
- "104 NaN ggggggggr \n",
- "105 NaN ggggggggr \n",
- "106 NaN ggggggggr \n",
- "107 NaN ggggggggr "
- ]
- },
- "execution_count": 5,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "self.initialize_state() # 2-2 신호 초기화\n",
- "self.assign_signals() # 2-3 신호 배정\n",
- "self.match6[self.match6.node_id.isin(self.u_turn_ids)]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "['c30', 'i0', 'i1', 'i2', 'i3', 'i6', 'i7', 'i8', 'i9', 'u00', 'u20', 'u30', 'u31', 'u32', 'u60']\n",
- "['i0', 'i1', 'i2', 'i3', 'i6', 'i7', 'i8', 'i9']\n",
- "['c30', 'u00', 'u20', 'u30', 'u31', 'u32', 'u60']\n",
- "15\n",
- "8\n",
- "7\n",
- "\n",
- "['u00', 'u20', 'u30', 'u31', 'u32', 'u60']\n",
- "['c30']\n"
- ]
- }
- ],
- "source": [
- "print(self.node_ids)\n",
- "print(self.parent_ids)\n",
- "print(self.child_ids)\n",
- "print(len(self.node_ids))\n",
- "print(len(self.parent_ids))\n",
- "print(len(self.child_ids))\n",
- "print()\n",
- "print(self.u_turn_ids)\n",
- "print(self.coord_ids)\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "c30 rrrrrr\n",
- "u00 ggggrgggg\n",
- "u20 ggrggg\n",
- "u30 ggggrggg\n",
- "u31 ggggrggg\n",
- "u32 gggggggr\n",
- "u60 ggggggggr\n"
- ]
- }
- ],
- "source": [
- "for node_id in self.child_ids:\n",
- " state = ''.join(self.node2init[node_id])\n",
- " print(node_id, state)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " inter_no | \n",
- " node_id | \n",
- " move_no | \n",
- " inc_dire | \n",
- " out_dire | \n",
- " inc_edge_id | \n",
- " out_edge_id | \n",
- " turn_type | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " 175 | \n",
- " i0 | \n",
- " 1 | \n",
- " 동 | \n",
- " 남 | \n",
- " 571545870_02 | \n",
- " 571542797_02 | \n",
- " left | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " 175 | \n",
- " i0 | \n",
- " 2 | \n",
- " 서 | \n",
- " 동 | \n",
- " 571510153_02 | \n",
- " 571545870_01 | \n",
- " straight | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " 175 | \n",
- " i0 | \n",
- " 3 | \n",
- " 남 | \n",
- " 서 | \n",
- " -571542797_02 | \n",
- " 571510153_01 | \n",
- " left | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " 175 | \n",
- " i0 | \n",
- " 4 | \n",
- " 북 | \n",
- " 남 | \n",
- " -571500487_01 | \n",
- " 571542797_02 | \n",
- " straight | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " 175 | \n",
- " i0 | \n",
- " 5 | \n",
- " 서 | \n",
- " 북 | \n",
- " 571510153_02 | \n",
- " 571500487_01 | \n",
- " left | \n",
- "
\n",
- " \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- "
\n",
- " \n",
- " 123 | \n",
- " 210 | \n",
- " i6 | \n",
- " 12 | \n",
- " 북서 | \n",
- " 남동 | \n",
- " 571500535_02.18 | \n",
- " 571542115_01 | \n",
- " straight | \n",
- "
\n",
- " \n",
- " 124 | \n",
- " 210 | \n",
- " i6 | \n",
- " 13 | \n",
- " 남서 | \n",
- " 북서 | \n",
- " 571500585_02 | \n",
- " 571500535_01 | \n",
- " left | \n",
- "
\n",
- " \n",
- " 125 | \n",
- " 210 | \n",
- " i6 | \n",
- " 14 | \n",
- " 북동 | \n",
- " 남서 | \n",
- " 571511538_02.121 | \n",
- " 571500585_01 | \n",
- " straight | \n",
- "
\n",
- " \n",
- " 126 | \n",
- " 210 | \n",
- " i6 | \n",
- " 15 | \n",
- " 북서 | \n",
- " 북동 | \n",
- " 571500535_02.18 | \n",
- " 571511538_01 | \n",
- " left | \n",
- "
\n",
- " \n",
- " 127 | \n",
- " 210 | \n",
- " i6 | \n",
- " 16 | \n",
- " 남동 | \n",
- " 북서 | \n",
- " -571542115_01 | \n",
- " 571500535_01 | \n",
- " straight | \n",
- "
\n",
- " \n",
- "
\n",
- "
128 rows × 8 columns
\n",
- "
"
- ],
- "text/plain": [
- " inter_no node_id move_no inc_dire out_dire inc_edge_id \\\n",
- "0 175 i0 1 동 남 571545870_02 \n",
- "1 175 i0 2 서 동 571510153_02 \n",
- "2 175 i0 3 남 서 -571542797_02 \n",
- "3 175 i0 4 북 남 -571500487_01 \n",
- "4 175 i0 5 서 북 571510153_02 \n",
- ".. ... ... ... ... ... ... \n",
- "123 210 i6 12 북서 남동 571500535_02.18 \n",
- "124 210 i6 13 남서 북서 571500585_02 \n",
- "125 210 i6 14 북동 남서 571511538_02.121 \n",
- "126 210 i6 15 북서 북동 571500535_02.18 \n",
- "127 210 i6 16 남동 북서 -571542115_01 \n",
- "\n",
- " out_edge_id turn_type \n",
- "0 571542797_02 left \n",
- "1 571545870_01 straight \n",
- "2 571510153_01 left \n",
- "3 571542797_02 straight \n",
- "4 571500487_01 left \n",
- ".. ... ... \n",
- "123 571542115_01 straight \n",
- "124 571500535_01 left \n",
- "125 571500585_01 straight \n",
- "126 571511538_01 left \n",
- "127 571500535_01 straight \n",
- "\n",
- "[128 rows x 8 columns]"
- ]
- },
- "execution_count": 8,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "self.matching"
- ]
- },
{
"cell_type": "code",
"execution_count": 10,
diff --git a/Intermediates/node2init.json b/Intermediates/node2init.json
index 231c0d756..58522d538 100644
--- a/Intermediates/node2init.json
+++ b/Intermediates/node2init.json
@@ -1 +1 @@
-{"i0": ["g", "r", "r", "r", "g", "r", "r", "r", "g", "r", "r", "r", "r", "r", "g", "r", "r"], "i3": ["g", "r", "r", "r", "r", "g", "r", "r", "r", "r", "g", "r", "r", "r", "r", "g", "r", "r", "r", "r"], "c30": ["r", "r", "r", "r", "r", "r"], "i7": ["r", "r", "r", "g", "g", "r", "r"], "i9": ["r", "r", "r", "r"], "i1": ["g", "r", "r", "r", "r", "r", "r", "g", "r", "r"], "i6": ["g", "r", "r", "r", "g", "r", "r", "r", "r", "g", "r", "r", "g", "r", "r", "r"], "i2": ["r", "r", "g", "g", "r", "r", "r"], "i8": ["g", "r", "r", "r", "r", "r", "r", "r", "g", "r", "r", "r", "g", "r", "r", "r"], "u00": ["G", "G", "G", "G", "r", "G", "G", "G", "G"], "u20": ["G", "G", "r", "G", "G", "G"], "u30": ["G", "G", "G", "G", "r", "G", "G", "G"], "u31": ["G", "G", "G", "G", "r", "G", "G", "G"], "u32": ["G", "G", "G", "G", "G", "G", "G", "r"], "u60": ["G", "G", "G", "G", "G", "G", "G", "G", "r"]}
\ No newline at end of file
+{"c30": ["r", "r", "r", "r", "r", "r"], "i0": ["g", "r", "r", "r", "g", "r", "r", "r", "g", "r", "r", "r", "r", "r", "g", "r", "r"], "i1": ["g", "r", "r", "r", "r", "r", "r", "g", "r", "r"], "i2": ["r", "r", "g", "g", "r", "r", "r"], "i3": ["g", "r", "r", "r", "r", "g", "r", "r", "r", "r", "g", "r", "r", "r", "r", "g", "r", "r", "r", "r"], "i6": ["g", "r", "r", "r", "g", "r", "r", "r", "r", "g", "r", "r", "g", "r", "r", "r"], "i7": ["r", "r", "r", "g", "g", "r", "r"], "i8": ["g", "r", "r", "r", "r", "r", "r", "r", "g", "r", "r", "r", "g", "r", "r", "r"], "i9": ["r", "r", "r", "r"], "u00": ["G", "G", "G", "G", "r", "G", "G", "G", "G"], "u20": ["G", "G", "r", "G", "G", "G"], "u30": ["G", "G", "G", "G", "r", "G", "G", "G"], "u31": ["G", "G", "G", "G", "r", "G", "G", "G"], "u32": ["G", "G", "G", "G", "G", "G", "G", "r"], "u60": ["G", "G", "G", "G", "G", "G", "G", "G", "r"]}
\ No newline at end of file
diff --git a/Scripts/preprocess_daily.py b/Scripts/preprocess_daily.py
index d75ecea35..e4955385e 100644
--- a/Scripts/preprocess_daily.py
+++ b/Scripts/preprocess_daily.py
@@ -713,8 +713,8 @@ class DailyPreprocessor():
'''
self.nodes = [self.net.getNode(node_id) for node_id in self.node_ids]
self.node2init = {}
- # 유턴노드를 제외한 모든 노드에 대하여 초기화 신호 지정
- for node_id in set(self.node_ids) - set(self.u_turn_ids):
+ # 유턴노드를 제외한 모든 노드 (우회전, 삼지교차로직진 : g, 그외 : r)
+ for node_id in sorted(set(self.node_ids) - set(self.u_turn_ids)):
node = self.net.getNode(node_id)
conns = [(c.getJunctionIndex(), c) for c in node.getConnections()]
conns = [c for c in conns if c[0] >= 0]
@@ -736,7 +736,7 @@ class DailyPreprocessor():
state.append('r' if are_foes else 'g')
self.node2init[node_id] = state
- # 유턴노드에 대하여 초기화 신호 지정
+ # 유턴노드 (유턴x : G, 유턴 : G)
for node_id in self.u_turn_ids:
node = self.net.getNode(node_id)
conns = [(c.getJunctionIndex(), c) for c in node.getConnections()]
@@ -746,24 +746,22 @@ class DailyPreprocessor():
for i, ci in conns:
if ci.getTLLinkIndex() < 0:
continue
- is_uturn = (i == self.uid2uindex[node_id])
- state.append('r' if is_uturn else 'G')
+ state.append('G')
self.node2init[node_id] = state
- # 어떤 연결과도 상충이 일어나지는 않지만, 신호가 부여되어 있는 경우에는 r을 부여
+ # 신호가 부여되어 있는 경우에는 r을 부여 (우회전 : g, 그외 : r / 유턴x : G, 유턴 : r)
for _, row in self.match6.dropna(subset=['inc_edge_id', 'out_edge_id']).iterrows():
node_id = row.node_id
move_no = row.move_no
inc_edge_id = row.inc_edge_id
out_edge_id = row.out_edge_id
- if move_no != 21:
- inc_edge = self.net.getEdge(inc_edge_id)
- out_edge = self.net.getEdge(out_edge_id)
- for conn in inc_edge.getConnections(out_edge):
- index = conn.getTLLinkIndex()
- if index >= 0:
- self.node2init[node_id][index] = 'r'
-
+ inc_edge = self.net.getEdge(inc_edge_id)
+ out_edge = self.net.getEdge(out_edge_id)
+ for conn in inc_edge.getConnections(out_edge):
+ index = conn.getTLLinkIndex()
+ if index >= 0:
+ self.node2init[node_id][index] = 'r'
+
# json 파일로 저장
with open(os.path.join(self.path_intermediates, 'node2init.json'), 'w') as file:
json.dump(self.node2init, file)