From 00d7c6b7b808079638b7a988a08da06afb929e1e Mon Sep 17 00:00:00 2001 From: govin08 Date: Tue, 16 Apr 2024 15:51:32 +0900 Subject: [PATCH] deleted uid2uindex related thing. start making p2PLindices in 2-1-5 --- .../0416_initialize_state.ipynb | 816 ++++++++++++++++- Results/sn_1704419100.add.xml | 825 +++++++++--------- .../preprocess_daily.cpython-38.pyc | Bin 27497 -> 27541 bytes Scripts/preprocess_daily.py | 16 +- 4 files changed, 1209 insertions(+), 448 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 1a51fea20..5c8967713 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 @@ -29,20 +29,808 @@ "1-2. 테이블들이 로드되었습니다.\n", "1-3. 네트워크의 모든 clean state requirement들을 체크했습니다.\n", "1-4. 테이블들의 무결성 검사를 완료했습니다.\n", - "1-5. 주요 객체 (리스트, 딕셔너리)들을 저장했습니다.\n", - "2-1. 매칭 테이블들을 생성했습니다.\n" + "1-5. 주요 객체 (리스트, 딕셔너리)들을 저장했습니다.\n" ] } ], "source": [ - "self = DailyPreprocessor()\n", - "self.load_data() # 1. 데이터 불러오기\n", - "self.get_matches() # 2-1 매칭테이블 생성" + "self = DailyPreprocessor()\n", + "self.load_data() # 1. 데이터 불러오기\n", + "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" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "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", + "
inter_nophase_noring_typemove_noinc_direout_direinc_angleout_angle
01751A8179000
11751B4001180
21752A7001090
31752B3179270
41753A6090270
51753B1090180
61754A5270000
71754B2270090
81761A8180356
91761B4359180
101762A8180356
111762B3180270
121763A5270356
131763B18NaNNaNNaNNaN
141771A8179000
151771B4000180
161772A17NaNNaNNaNNaN
171772B18NaNNaNNaNNaN
181781A8180000
191781B4000180
201782A7000090
211782B3180270
221783A5270000
231783B2270090
241784A6090270
251784B1090180
262011A8180000
272011B3180270
282012A5270000
292012B2270090
302013A6090270
312013B2270090
322014A6090270
332014B1090180
342015A4000180
352015B4000180
362021A6090270
372021B2270090
382022A17NaNNaNNaNNaN
392022B18NaNNaNNaNNaN
402061A8180000
412061B4000180
422062A17NaNNaNNaNNaN
432062B18NaNNaNNaNNaN
442063A8180000
452063B4000180
462064A17NaNNaNNaNNaN
472064B18NaNNaNNaNNaN
482101A6090270
492101B18NaNNaNNaNNaN
502102A5270000
512102B2270090
522103A7000090
532103B4000180
542104A8180000
552104B3180270
\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", + "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 17 NaN NaN NaN \n", + "17 177 2 B 18 NaN NaN NaN \n", + "18 178 1 A 8 남 북 180 \n", + "19 178 1 B 4 북 남 000 \n", + "20 178 2 A 7 북 동 000 \n", + "21 178 2 B 3 남 서 180 \n", + "22 178 3 A 5 서 북 270 \n", + "23 178 3 B 2 서 동 270 \n", + "24 178 4 A 6 동 서 090 \n", + "25 178 4 B 1 동 남 090 \n", + "26 201 1 A 8 남 북 180 \n", + "27 201 1 B 3 남 서 180 \n", + "28 201 2 A 5 서 북 270 \n", + "29 201 2 B 2 서 동 270 \n", + "30 201 3 A 6 동 서 090 \n", + "31 201 3 B 2 서 동 270 \n", + "32 201 4 A 6 동 서 090 \n", + "33 201 4 B 1 동 남 090 \n", + "34 201 5 A 4 북 남 000 \n", + "35 201 5 B 4 북 남 000 \n", + "36 202 1 A 6 동 서 090 \n", + "37 202 1 B 2 서 동 270 \n", + "38 202 2 A 17 NaN NaN NaN \n", + "39 202 2 B 18 NaN NaN NaN \n", + "40 206 1 A 8 남 북 180 \n", + "41 206 1 B 4 북 남 000 \n", + "42 206 2 A 17 NaN NaN NaN \n", + "43 206 2 B 18 NaN NaN NaN \n", + "44 206 3 A 8 남 북 180 \n", + "45 206 3 B 4 북 남 000 \n", + "46 206 4 A 17 NaN NaN NaN \n", + "47 206 4 B 18 NaN NaN NaN \n", + "48 210 1 A 6 동 서 090 \n", + "49 210 1 B 18 NaN NaN NaN \n", + "50 210 2 A 5 서 북 270 \n", + "51 210 2 B 2 서 동 270 \n", + "52 210 3 A 7 북 동 000 \n", + "53 210 3 B 4 북 남 000 \n", + "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 " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "self.match4" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -51,13 +839,13 @@ "{'u00': 4, 'u20': 2, 'u30': 4, 'u31': 4, 'u32': 7, 'u60': 8}" ] }, - "execution_count": 3, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "self.uid2uindex" + "self.p2PLindices = dict() # parent id to protected left index\n" ] }, { @@ -452,7 +1240,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -461,7 +1249,7 @@ "{'u00': 4, 'u20': 2, 'u30': 4, 'u31': 4, 'u32': 7, 'u60': 8}" ] }, - "execution_count": 9, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -472,7 +1260,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -539,7 +1327,6 @@ "# 신호가 부여되어 있는 경우에는 r을 부여 (우회전 : g, 그외 : r / 유턴x : G, 유턴 : r)\n", "for _, row in self.match6.dropna(subset=['inc_edge_id', 'out_edge_id']).iterrows():\n", " node_id = row.node_id\n", - " move_no = row.move_no\n", " inc_edge_id = row.inc_edge_id\n", " out_edge_id = row.out_edge_id\n", " inc_edge = self.net.getEdge(inc_edge_id)\n", @@ -548,13 +1335,14 @@ " index = conn.getTLLinkIndex()\n", " if index >= 0:\n", " self.node2init[node_id][index] = 'r'\n", + "\n", "for node_id in self.node2init:\n", " print(node_id, ''.join(self.node2init[node_id]))" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -1143,7 +1931,7 @@ "\n", "self.matching = self.matching.dropna(subset='state')\n", "self.matching = self.matching.reset_index(drop=True)\n", - "self.matching = self.matching[['inter_no', 'node_id', 'move_no', 'inc_edge_id', 'out_edge_id', 'state']]\n" + "self.matching = self.matching[['inter_no', 'node_id', 'move_no', 'inc_edge_id', 'out_edge_id', 'state']]" ] }, { diff --git a/Results/sn_1704419100.add.xml b/Results/sn_1704419100.add.xml index dd5363371..478a48041 100644 --- a/Results/sn_1704419100.add.xml +++ b/Results/sn_1704419100.add.xml @@ -1,5 +1,5 @@ - + @@ -44,17 +44,17 @@ - - + + - + - + @@ -84,81 +84,61 @@ - + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - + - + @@ -203,110 +183,110 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -319,8 +299,8 @@ - - + + @@ -334,14 +314,23 @@ - - + + + + + - + + + + + + + @@ -354,291 +343,279 @@ - - - - - - + + + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Scripts/__pycache__/preprocess_daily.cpython-38.pyc b/Scripts/__pycache__/preprocess_daily.cpython-38.pyc index 29113bb9e3a7847d3a4fc300cce20c2e1de74f14..88be26f2a649ed289903baaea3eef5c473674442 100644 GIT binary patch delta 6940 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 diff --git a/Scripts/preprocess_daily.py b/Scripts/preprocess_daily.py index 93027c14b..385e4c9a4 100644 --- a/Scripts/preprocess_daily.py +++ b/Scripts/preprocess_daily.py @@ -402,6 +402,9 @@ class DailyPreprocessor(): turn_type = self.n2io2turn[node_id][(inc_edge_id, out_edge_id)] self.match5.at[i, 'turn_type'] = turn_type + self.p2PLindices = dict() # parent id to protected left index + + # 2-1-6 def make_match6(self): ''' @@ -435,7 +438,7 @@ class DailyPreprocessor(): out_angle2edge = dict(zip(m5.out_angle.astype(int), m5.out_edge_id)) p2out_angle2edge[node_id] = out_angle2edge - self.uid2uindex = dict() # u_turn node id to u_turn index + self.u2uindex = dict() # u_turn node id to u_turn index # 각 uturn node에 대하여 (inc_edge_id, out_edge_id) 부여 cmatches = [] @@ -448,11 +451,11 @@ class DailyPreprocessor(): adj_inc_edge_id = row.adj_inc_edge_id adj_out_edge_id = row.adj_out_edge_id - # self.uid2uindex 지정 + # self.u2uindex 지정 inc_edge = self.net.getEdge(inc_edge_id) out_edge = self.net.getEdge(out_edge_id) u_turn_conn = inc_edge.getConnections(out_edge)[0] - self.uid2uindex[child_id] = u_turn_conn.getTLLinkIndex() + self.u2uindex[child_id] = u_turn_conn.getTLLinkIndex() # match5에서 부모노드id에 해당하는 행들을 가져옴 (cmatch) cmatch = self.match5.copy()[self.match5.node_id==parent_id] # match dataframe for a child node @@ -547,12 +550,6 @@ class DailyPreprocessor(): self.match6 = pd.concat([self.match5, cmatches, self.coord]).drop_duplicates().sort_values(by=['inter_no', 'node_id', 'phase_no', 'ring_type']) self.match6 = self.match6.reset_index(drop=True) - - # json 파일로 저장 # to be deprecated - with open(os.path.join(self.path_intermediates, 'uid2uindex.json'), 'w') as file: - json.dump(self.uid2uindex, file) - - # 2-1-7 def make_matching(self): ''' @@ -734,7 +731,6 @@ class DailyPreprocessor(): # 신호가 부여되어 있는 경우에는 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 inc_edge = self.net.getEdge(inc_edge_id)