From 1a0b6adfe3227c56c0ded03dade924ddb35fe100 Mon Sep 17 00:00:00 2001 From: govin08 Date: Tue, 16 Apr 2024 13:54:00 +0900 Subject: [PATCH] comment on initialize_state --- .../0416_initialize_state.ipynb | 948 +----------------- Intermediates/node2init.json | 2 +- Scripts/preprocess_daily.py | 26 +- 3 files changed, 21 insertions(+), 955 deletions(-) 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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \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
8175u001A8NaNNaNggggrgggg
9175u001B4NaNNaNggggrgggg
10175u002A7571500487_02571500487_01.32ggggGgggg
11175u002B3NaNNaNggggrgggg
12175u003A6NaNNaNggggrgggg
13175u003B1NaNNaNggggrgggg
14175u004A5NaNNaNggggrgggg
15175u004B2NaNNaNggggrgggg
26177u201A8NaNNaNggrggg
27177u201B4NaNNaNggrggg
28177u202A17571542810_01.51571542810_02ggGggg
29177u202B18NaNNaNggrggg
46178u301A8NaNNaNggggrggg
47178u301B4NaNNaNggggrggg
48178u302A7NaNNaNggggrggg
49178u302B3NaNNaNggggrggg
50178u303A5NaNNaNggggrggg
51178u303B2NaNNaNggggrggg
52178u304A6571556452_01571556452_02ggggGggg
53178u304B1NaNNaNggggrggg
54178u311A8571500475_02571500475_01.26ggggGggg
55178u311B4NaNNaNggggrggg
56178u312A7NaNNaNggggrggg
57178u312B3NaNNaNggggrggg
58178u313A5NaNNaNggggrggg
59178u313B2NaNNaNggggrggg
60178u314A6NaNNaNggggrggg
61178u314B1NaNNaNggggrggg
62178u321A8NaNNaNgggggggr
63178u321B4571540303_02-571540303_02gggggggG
64178u322A7NaNNaNgggggggr
65178u322B3NaNNaNgggggggr
66178u323A5NaNNaNgggggggr
67178u323B2NaNNaNgggggggr
68178u324A6NaNNaNgggggggr
69178u324B1NaNNaNgggggggr
100210u601A6NaNNaNggggggggr
101210u601B18NaNNaNggggggggr
102210u602A5571500535_02-571500535_02ggggggggG
103210u602B2NaNNaNggggggggr
104210u603A7NaNNaNggggggggr
105210u603B4NaNNaNggggggggr
106210u604A8NaNNaNggggggggr
107210u604B3NaNNaNggggggggr
\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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \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_idmove_noinc_direout_direinc_edge_idout_edge_idturn_type
0175i01571545870_02571542797_02left
1175i02571510153_02571545870_01straight
2175i03-571542797_02571510153_01left
3175i04-571500487_01571542797_02straight
4175i05571510153_02571500487_01left
...........................
123210i612북서남동571500535_02.18571542115_01straight
124210i613남서북서571500585_02571500535_01left
125210i614북동남서571511538_02.121571500585_01straight
126210i615북서북동571500535_02.18571511538_01left
127210i616남동북서-571542115_01571500535_01straight
\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)