From e5a7a95c8b17d61331d749dd6251718951df3f2d Mon Sep 17 00:00:00 2001 From: govin08 Date: Fri, 8 Mar 2024 19:28:53 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9C=A0=ED=84=B4=EC=8B=A0=ED=98=B8=EA=B0=80?= =?UTF-8?q?=20=ED=95=9C=EB=B2=88=EB=8F=84=20=EB=B0=B0=EC=A0=95=EB=90=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EC=9D=80=20=EA=B2=BD=EC=9A=B0=EC=97=90=20?= =?UTF-8?q?=EB=8C=80=ED=95=B4=EC=84=9C=EB=8A=94=20=EC=9C=A0=ED=84=B4=20?= =?UTF-8?q?=EC=9D=B4=EB=8F=99=EB=A5=98=EC=9D=98=20=20=EC=8B=A0=ED=98=B8?= =?UTF-8?q?=EB=A5=BC=20=ED=95=AD=EC=83=81=20g=EB=A1=9C=20=EB=B0=B0?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0307_red_yellow/0307_red_yellow_2.ipynb | 2964 ++++++++++++++++- Intermediates/ids.json | 1 + Intermediates/match6.csv | 4 +- Intermediates/matching.csv | 71 +- Intermediates/uid2uindex.json | 1 + Results/sn_1704417300.add.xml | 30 +- Results/sn_1704417600.add.xml | 689 ++-- Results/sn_1704418200.add.xml | 689 ++-- Results/sn_1704419400.add.xml | 689 ++-- .../generate_signals.cpython-38.pyc | Bin 25385 -> 25580 bytes .../preprocess_daily.cpython-38.pyc | Bin 31540 -> 32155 bytes Scripts/generate_signals.py | 27 +- Scripts/preprocess_daily.py | 28 +- 13 files changed, 3860 insertions(+), 1333 deletions(-) create mode 100644 Intermediates/ids.json create mode 100644 Intermediates/uid2uindex.json diff --git a/Analysis/0307_red_yellow/0307_red_yellow_2.ipynb b/Analysis/0307_red_yellow/0307_red_yellow_2.ipynb index 33ae331fd..d6847e242 100644 --- a/Analysis/0307_red_yellow/0307_red_yellow_2.ipynb +++ b/Analysis/0307_red_yellow/0307_red_yellow_2.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -7022,27 +7022,6 @@ " cmatch.loc[right_exists, ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id]" ] }, - { - "cell_type": "code", - "execution_count": 229, - "metadata": {}, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "'DailyPreprocessor' object has no attribute 'matches'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[229], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmatches\u001b[49m\n", - "\u001b[1;31mAttributeError\u001b[0m: 'DailyPreprocessor' object has no attribute 'matches'" - ] - } - ], - "source": [ - "self.matches" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -7394,7 +7373,28 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'SignalGenerator' object has no attribute 'unodes'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[13], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43munodes\u001b[49m\n", + "\u001b[1;31mAttributeError\u001b[0m: 'SignalGenerator' object has no attribute 'unodes'" + ] + } + ], + "source": [ + "self.unodes" + ] + }, + { + "cell_type": "code", + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -7418,53 +7418,89 @@ " \n", " \n", " \n", + " inter_no\n", " node_id\n", " start_unix\n", - " phase\n", + " phas_A\n", + " phas_B\n", + " move_A\n", + " move_B\n", " duration\n", - " state\n", + " state_A\n", + " state_B\n", + " phase_sumo\n", " \n", " \n", " \n", " \n", " 0\n", + " 178\n", " c30\n", " 1704416690\n", - " 1g_1g\n", - " 34\n", + " 1\n", + " 1\n", + " 8\n", + " 4\n", + " 38\n", " rrrrrr\n", + " rrrrrr\n", + " 0\n", " \n", " \n", " 1\n", + " 178\n", " c30\n", " 1704416690\n", - " 1y_1y\n", - " 4\n", - " rrrrrr\n", + " 2\n", + " 2\n", + " 7\n", + " 3\n", + " 39\n", + " GGGrrr\n", + " rrrGGG\n", + " 1\n", " \n", " \n", " 2\n", + " 178\n", " c30\n", " 1704416690\n", - " 2r_2r\n", + " 3\n", + " 3\n", + " 5\n", + " 2\n", + " 43\n", + " GGGrrr\n", + " rrrGGG\n", " 2\n", - " rrrrrr\n", " \n", " \n", " 3\n", + " 178\n", " c30\n", " 1704416690\n", - " 2g_2g\n", - " 33\n", - " GGGGGG\n", + " 4\n", + " 4\n", + " 6\n", + " 1\n", + " 22\n", + " GGGrrr\n", + " rrrGGG\n", + " 3\n", " \n", " \n", " 4\n", + " 178\n", " c30\n", - " 1704416690\n", - " 2y_2y\n", + " 1704416860\n", + " 1\n", + " 1\n", + " 8\n", " 4\n", - " GGGGGG\n", + " 38\n", + " rrrrrr\n", + " rrrrrr\n", + " 0\n", " \n", " \n", " ...\n", @@ -7473,237 +7509,2825 @@ " ...\n", " ...\n", " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", " \n", " \n", - " 51\n", + " 233\n", + " 210\n", " u60\n", " 1704417140\n", - " 2r_2g\n", - " 2\n", + " 1\n", + " 1\n", + " 6\n", + " 18\n", + " 28\n", " ggggggggr\n", + " ggggggggr\n", + " 0\n", " \n", " \n", - " 52\n", + " 234\n", + " 210\n", " u60\n", " 1704417140\n", - " 2g_2g\n", - " 37\n", - " ggggggggG\n", + " 1\n", + " 2\n", + " 6\n", + " 2\n", + " 15\n", + " ggggggggr\n", + " ggggggggr\n", + " 1\n", " \n", " \n", - " 53\n", + " 235\n", + " 210\n", " u60\n", " 1704417140\n", - " 2y_2y\n", - " 4\n", - " ggggggggy\n", + " 2\n", + " 2\n", + " 5\n", + " 2\n", + " 43\n", + " ggggggggG\n", + " ggggggggr\n", + " 2\n", " \n", " \n", - " 54\n", + " 236\n", + " 210\n", " u60\n", " 1704417140\n", - " 3r_3r\n", - " 2\n", + " 3\n", + " 3\n", + " 7\n", + " 4\n", + " 70\n", + " ggggggggr\n", " ggggggggr\n", + " 3\n", " \n", " \n", - " 55\n", + " 237\n", + " 210\n", " u60\n", " 1704417140\n", - " 3g_3g\n", - " 64\n", + " 4\n", + " 4\n", + " 8\n", + " 3\n", + " 24\n", " ggggggggr\n", + " ggggggggr\n", + " 4\n", " \n", " \n", "\n", - "

637 rows × 5 columns

\n", + "

238 rows × 11 columns

\n", "" ], "text/plain": [ - " node_id start_unix phase duration state\n", - "0 c30 1704416690 1g_1g 34 rrrrrr\n", - "1 c30 1704416690 1y_1y 4 rrrrrr\n", - "2 c30 1704416690 2r_2r 2 rrrrrr\n", - "3 c30 1704416690 2g_2g 33 GGGGGG\n", - "4 c30 1704416690 2y_2y 4 GGGGGG\n", - ".. ... ... ... ... ...\n", - "51 u60 1704417140 2r_2g 2 ggggggggr\n", - "52 u60 1704417140 2g_2g 37 ggggggggG\n", - "53 u60 1704417140 2y_2y 4 ggggggggy\n", - "54 u60 1704417140 3r_3r 2 ggggggggr\n", - "55 u60 1704417140 3g_3g 64 ggggggggr\n", + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "0 178 c30 1704416690 1 1 8 4 38 \n", + "1 178 c30 1704416690 2 2 7 3 39 \n", + "2 178 c30 1704416690 3 3 5 2 43 \n", + "3 178 c30 1704416690 4 4 6 1 22 \n", + "4 178 c30 1704416860 1 1 8 4 38 \n", + ".. ... ... ... ... ... ... ... ... \n", + "233 210 u60 1704417140 1 1 6 18 28 \n", + "234 210 u60 1704417140 1 2 6 2 15 \n", + "235 210 u60 1704417140 2 2 5 2 43 \n", + "236 210 u60 1704417140 3 3 7 4 70 \n", + "237 210 u60 1704417140 4 4 8 3 24 \n", + "\n", + " state_A state_B phase_sumo \n", + "0 rrrrrr rrrrrr 0 \n", + "1 GGGrrr rrrGGG 1 \n", + "2 GGGrrr rrrGGG 2 \n", + "3 GGGrrr rrrGGG 3 \n", + "4 rrrrrr rrrrrr 0 \n", + ".. ... ... ... \n", + "233 ggggggggr ggggggggr 0 \n", + "234 ggggggggr ggggggggr 1 \n", + "235 ggggggggG ggggggggr 2 \n", + "236 ggggggggr ggggggggr 3 \n", + "237 ggggggggr ggggggggr 4 \n", "\n", - "[637 rows x 5 columns]" + "[238 rows x 11 columns]" ] }, - "execution_count": 9, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "self.SIGTABLE" + "self.sigtable" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "self = DailyPreprocessor()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1. 데이터를 로드합니다.\n", + "1-1. 네트워크가 로드되었습니다.\n", + "1-2. 테이블들이 로드되었습니다.\n", + "1-3. 네트워크의 모든 clean state requirement들을 체크했습니다.\n", + "1-4. 테이블들의 무결성 검사를 완료했습니다.\n", + "2. 중간산출물을 생성합니다.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "이동류정보 불러오는 중: 100%|██████████| 17280/17280 [00:14<00:00, 1177.84it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2-1. 매칭 테이블들을 생성했습니다.\n", + "2-2. 비보호우회전(g)을 배정했습니다.\n", + "2-3. 직진 및 좌회전(G)을 배정했습니다.\n", + "2-2. node2num_cycles.json를 저장했습니다.\n", + "3. 이슈사항을 저장합니다.\n" + ] + } + ], + "source": [ + "self.main()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + "text/plain": [ + "['u00', 'u20', 'u30', 'u31', 'u32', 'u60']" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "self.uturn_ids" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "uid2uindex = {}\n", + "for uid in self.uturn_ids:\n", + " states = self.match6[self.match6.node_id==uid].state.unique()\n", + " for state in states:\n", + " if 'G' in state:\n", + " index = state.index('G')\n", + " uid2uindex[uid] = index\n", + " break" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'u00': 4, 'u20': 2, 'u30': 4, 'u31': 4, 'u32': 7, 'u60': 8}" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "uid2uindex" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "
node_idstart_unixphasedurationstate
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \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_nostate
62178u311A8ggggGggg
63178u311B4ggggrggg
64178u312A7ggggrggg
65178u312B3ggggrggg
66178u313A5ggggrggg
67178u313B2ggggrggg
68178u314A6ggggrggg
69178u314B1ggggrggg
\n", + "
" + ], + "text/plain": [ + " inter_no node_id phase_no ring_type move_no state\n", + "62 178 u31 1 A 8 ggggGggg\n", + "63 178 u31 1 B 4 ggggrggg\n", + "64 178 u31 2 A 7 ggggrggg\n", + "65 178 u31 2 B 3 ggggrggg\n", + "66 178 u31 3 A 5 ggggrggg\n", + "67 178 u31 3 B 2 ggggrggg\n", + "68 178 u31 4 A 6 ggggrggg\n", + "69 178 u31 4 B 1 ggggrggg" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "self.match6[self.match6.node_id=='u31']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "self.match6" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1. 데이터를 준비합니다.\n", + "1-1. 네트워크가 로드되었습니다.\n", + "1-2. 테이블들이 로드되었습니다.\n", + "2. 신호이력 테이블을 변환합니다.\n", + "3. 이동류정보 테이블을 변환합니다.\n", + "4. 통합 테이블을 생성합니다.\n", + "5. 신호를 생성합니다.\n", + "6. 이슈사항을 저장합니다.\n", + "(1) 0:00:00.063416\n", + "(1-1) 0:00:00.011400\n", + "(1-2) 0:00:00.028645\n", + "(1-3) 0:00:00\n", + "(1-4) 0:00:00\n", + "(1-5) 0:00:00.023371\n", + "(2) 0:00:00.327466\n", + "(2-1) 0:00:00.079160\n", + "(2-2) 0:00:00.229118\n", + "(2-3) 0:00:00.019188\n", + "(3) 0:00:00.271045\n", + "(3-1) 0:00:00.252066\n", + "(3-2) 0:00:00.018979\n", + "(4) 0:00:00.176595\n", + "(4-1) 0:00:00\n", + "(4-2) 0:00:00.019843\n", + "(4-2) 0:00:00.156752\n", + "(5) 0:00:00.649060\n", + "(5-1) 0:00:00.010529\n", + "(5-2) 0:00:00.634530\n", + "(5-3) 0:00:00.004001\n", + "(6) 0:00:00.000928\n", + "total time : 0:00:01.488510\n" + ] + } + ], + "source": [ + "self = SignalGenerator()\n", + "self.main()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
0178c3017044166901g_1g341704419070118438rrrrrrrrrrrr0
1178c301704419070227339GGGrrrrrrGGG1
2178c301704419070335243GGGrrrrrrGGG2
3178c301704419070446122GGGrrrrrrGGG3
4178c301704419240118438rrrrrrrrrrrr0
....................................
233210u6017044194801161828ggggggggrggggggggr0
234210u601704419480126215ggggggggrggggggggr1
235210u601704419480225243ggggggggGggggggggr2
236210u601704419480337470ggggggggrggggggggr3
237210u601704419480448324ggggggggrggggggggr4
\n", + "

238 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "0 178 c30 1704419070 1 1 8 4 38 \n", + "1 178 c30 1704419070 2 2 7 3 39 \n", + "2 178 c30 1704419070 3 3 5 2 43 \n", + "3 178 c30 1704419070 4 4 6 1 22 \n", + "4 178 c30 1704419240 1 1 8 4 38 \n", + ".. ... ... ... ... ... ... ... ... \n", + "233 210 u60 1704419480 1 1 6 18 28 \n", + "234 210 u60 1704419480 1 2 6 2 15 \n", + "235 210 u60 1704419480 2 2 5 2 43 \n", + "236 210 u60 1704419480 3 3 7 4 70 \n", + "237 210 u60 1704419480 4 4 8 3 24 \n", + "\n", + " state_A state_B phase_sumo \n", + "0 rrrrrr rrrrrr 0 \n", + "1 GGGrrr rrrGGG 1 \n", + "2 GGGrrr rrrGGG 2 \n", + "3 GGGrrr rrrGGG 3 \n", + "4 rrrrrr rrrrrr 0 \n", + ".. ... ... ... \n", + "233 ggggggggr ggggggggr 0 \n", + "234 ggggggggr ggggggggr 1 \n", + "235 ggggggggG ggggggggr 2 \n", + "236 ggggggggr ggggggggr 3 \n", + "237 ggggggggr ggggggggr 4 \n", + "\n", + "[238 rows x 11 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "self.sigtable" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "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", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
139175u001704419060118443ggggrggggggggrgggg0
140175u001704419060227345ggggGggggggggrgggg1
141175u001704419060336133ggggrggggggggrgggg2
142175u001704419060346222ggggrggggggggrgggg3
143175u001704419060445237ggggrggggggggrgggg4
....................................
233210u6017044194801161828ggggggggrggggggggr0
234210u601704419480126215ggggggggrggggggggr1
235210u601704419480225243ggggggggGggggggggr2
236210u601704419480337470ggggggggrggggggggr3
237210u601704419480448324ggggggggrggggggggr4
\n", + "

99 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "139 175 u00 1704419060 1 1 8 4 43 \n", + "140 175 u00 1704419060 2 2 7 3 45 \n", + "141 175 u00 1704419060 3 3 6 1 33 \n", + "142 175 u00 1704419060 3 4 6 2 22 \n", + "143 175 u00 1704419060 4 4 5 2 37 \n", + ".. ... ... ... ... ... ... ... ... \n", + "233 210 u60 1704419480 1 1 6 18 28 \n", + "234 210 u60 1704419480 1 2 6 2 15 \n", + "235 210 u60 1704419480 2 2 5 2 43 \n", + "236 210 u60 1704419480 3 3 7 4 70 \n", + "237 210 u60 1704419480 4 4 8 3 24 \n", + "\n", + " state_A state_B phase_sumo \n", + "139 ggggrgggg ggggrgggg 0 \n", + "140 ggggGgggg ggggrgggg 1 \n", + "141 ggggrgggg ggggrgggg 2 \n", + "142 ggggrgggg ggggrgggg 3 \n", + "143 ggggrgggg ggggrgggg 4 \n", + ".. ... ... ... \n", + "233 ggggggggr ggggggggr 0 \n", + "234 ggggggggr ggggggggr 1 \n", + "235 ggggggggG ggggggggr 2 \n", + "236 ggggggggr ggggggggr 3 \n", + "237 ggggggggr ggggggggr 4 \n", + "\n", + "[99 rows x 11 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "self.sigtable[self.sigtable.node_id.isin(self.uturn_ids)]" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 1\n", + "xbcd\n", + "1 2\n", + "axcd\n", + "2 3\n", + "abxd\n", + "3 4\n", + "abcx\n" + ] + } + ], + "source": [ + "A = 'abcd'\n", + "for i in range(len(A)):\n", + " print(i, i+1)\n", + " print(A[:i] + 'x' + A[i+1:])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "self = SignalGenerator()\n", + "self.main()\n", + "import numpy as np\n" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "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", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
139175u001704416900118443ggggrggggggggrgggg0
140175u001704416900227345ggggGggggggggrgggg1
141175u001704416900336133ggggrggggggggrgggg2
142175u001704416900346222ggggrggggggggrgggg3
143175u001704416900445237ggggrggggggggrgggg4
144175u001704417080118443ggggrggggggggrgggg0
145175u001704417080227345ggggGggggggggrgggg1
146175u001704417080336133ggggrggggggggrgggg2
147175u001704417080346222ggggrggggggggrgggg3
148175u001704417080445237ggggrggggggggrgggg4
149175u001704417260118443ggggrggggggggrgggg0
150175u001704417260227345ggggGggggggggrgggg1
151175u001704417260336133ggggrggggggggrgggg2
152175u001704417260346222ggggrggggggggrgggg3
153175u001704417260445237ggggrggggggggrgggg4
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "139 175 u00 1704416900 1 1 8 4 43 \n", + "140 175 u00 1704416900 2 2 7 3 45 \n", + "141 175 u00 1704416900 3 3 6 1 33 \n", + "142 175 u00 1704416900 3 4 6 2 22 \n", + "143 175 u00 1704416900 4 4 5 2 37 \n", + "144 175 u00 1704417080 1 1 8 4 43 \n", + "145 175 u00 1704417080 2 2 7 3 45 \n", + "146 175 u00 1704417080 3 3 6 1 33 \n", + "147 175 u00 1704417080 3 4 6 2 22 \n", + "148 175 u00 1704417080 4 4 5 2 37 \n", + "149 175 u00 1704417260 1 1 8 4 43 \n", + "150 175 u00 1704417260 2 2 7 3 45 \n", + "151 175 u00 1704417260 3 3 6 1 33 \n", + "152 175 u00 1704417260 3 4 6 2 22 \n", + "153 175 u00 1704417260 4 4 5 2 37 \n", + "\n", + " state_A state_B phase_sumo \n", + "139 ggggrgggg ggggrgggg 0 \n", + "140 ggggGgggg ggggrgggg 1 \n", + "141 ggggrgggg ggggrgggg 2 \n", + "142 ggggrgggg ggggrgggg 3 \n", + "143 ggggrgggg ggggrgggg 4 \n", + "144 ggggrgggg ggggrgggg 0 \n", + "145 ggggGgggg ggggrgggg 1 \n", + "146 ggggrgggg ggggrgggg 2 \n", + "147 ggggrgggg ggggrgggg 3 \n", + "148 ggggrgggg ggggrgggg 4 \n", + "149 ggggrgggg ggggrgggg 0 \n", + "150 ggggGgggg ggggrgggg 1 \n", + "151 ggggrgggg ggggrgggg 2 \n", + "152 ggggrgggg ggggrgggg 3 \n", + "153 ggggrgggg ggggrgggg 4 " + ] + }, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
154177u201704416880118443ggrgggggrggg0
155177u201704416880227327ggGgggggrggg1
156177u20170441688033171870ggrgggggrggg2
157177u201704416880445140ggrgggggrggg3
158177u201704417060118443ggrgggggrggg0
159177u201704417060227327ggGgggggrggg1
160177u20170441706033171870ggrgggggrggg2
161177u201704417060445140ggrgggggrggg3
162177u201704417240118443ggrgggggrggg0
163177u201704417240227327ggGgggggrggg1
164177u20170441724033171870ggrgggggrggg2
165177u201704417240445140ggrgggggrggg3
166177u201704417420118443ggrgggggrggg0
167177u201704417420227327ggGgggggrggg1
168177u20170441742033171870ggrgggggrggg2
169177u201704417420445140ggrgggggrggg3
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "154 177 u20 1704416880 1 1 8 4 43 \n", + "155 177 u20 1704416880 2 2 7 3 27 \n", + "156 177 u20 1704416880 3 3 17 18 70 \n", + "157 177 u20 1704416880 4 4 5 1 40 \n", + "158 177 u20 1704417060 1 1 8 4 43 \n", + "159 177 u20 1704417060 2 2 7 3 27 \n", + "160 177 u20 1704417060 3 3 17 18 70 \n", + "161 177 u20 1704417060 4 4 5 1 40 \n", + "162 177 u20 1704417240 1 1 8 4 43 \n", + "163 177 u20 1704417240 2 2 7 3 27 \n", + "164 177 u20 1704417240 3 3 17 18 70 \n", + "165 177 u20 1704417240 4 4 5 1 40 \n", + "166 177 u20 1704417420 1 1 8 4 43 \n", + "167 177 u20 1704417420 2 2 7 3 27 \n", + "168 177 u20 1704417420 3 3 17 18 70 \n", + "169 177 u20 1704417420 4 4 5 1 40 \n", + "\n", + " state_A state_B phase_sumo \n", + "154 ggrggg ggrggg 0 \n", + "155 ggGggg ggrggg 1 \n", + "156 ggrggg ggrggg 2 \n", + "157 ggrggg ggrggg 3 \n", + "158 ggrggg ggrggg 0 \n", + "159 ggGggg ggrggg 1 \n", + "160 ggrggg ggrggg 2 \n", + "161 ggrggg ggrggg 3 \n", + "162 ggrggg ggrggg 0 \n", + "163 ggGggg ggrggg 1 \n", + "164 ggrggg ggrggg 2 \n", + "165 ggrggg ggrggg 3 \n", + "166 ggrggg ggrggg 0 \n", + "167 ggGggg ggrggg 1 \n", + "168 ggrggg ggrggg 2 \n", + "169 ggrggg ggrggg 3 " + ] + }, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
170178u301704416860118438ggggrgggggggrggg0
171178u301704416860227339ggggrgggggggrggg1
172178u301704416860335243ggggrgggggggrggg2
173178u301704416860446122ggggGgggggggrggg3
174178u301704417029118438ggggrgggggggrggg0
175178u301704417029227339ggggrgggggggrggg1
176178u301704417029335243ggggrgggggggrggg2
177178u301704417029446122ggggGgggggggrggg3
178178u301704417199118438ggggrgggggggrggg0
179178u301704417199227339ggggrgggggggrggg1
180178u301704417199335243ggggrgggggggrggg2
181178u301704417199446122ggggGgggggggrggg3
182178u301704417369118438ggggrgggggggrggg0
183178u301704417369227339ggggrgggggggrggg1
184178u301704417369335243ggggrgggggggrggg2
185178u301704417369446122ggggGgggggggrggg3
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "170 178 u30 1704416860 1 1 8 4 38 \n", + "171 178 u30 1704416860 2 2 7 3 39 \n", + "172 178 u30 1704416860 3 3 5 2 43 \n", + "173 178 u30 1704416860 4 4 6 1 22 \n", + "174 178 u30 1704417029 1 1 8 4 38 \n", + "175 178 u30 1704417029 2 2 7 3 39 \n", + "176 178 u30 1704417029 3 3 5 2 43 \n", + "177 178 u30 1704417029 4 4 6 1 22 \n", + "178 178 u30 1704417199 1 1 8 4 38 \n", + "179 178 u30 1704417199 2 2 7 3 39 \n", + "180 178 u30 1704417199 3 3 5 2 43 \n", + "181 178 u30 1704417199 4 4 6 1 22 \n", + "182 178 u30 1704417369 1 1 8 4 38 \n", + "183 178 u30 1704417369 2 2 7 3 39 \n", + "184 178 u30 1704417369 3 3 5 2 43 \n", + "185 178 u30 1704417369 4 4 6 1 22 \n", + "\n", + " state_A state_B phase_sumo \n", + "170 ggggrggg ggggrggg 0 \n", + "171 ggggrggg ggggrggg 1 \n", + "172 ggggrggg ggggrggg 2 \n", + "173 ggggGggg ggggrggg 3 \n", + "174 ggggrggg ggggrggg 0 \n", + "175 ggggrggg ggggrggg 1 \n", + "176 ggggrggg ggggrggg 2 \n", + "177 ggggGggg ggggrggg 3 \n", + "178 ggggrggg ggggrggg 0 \n", + "179 ggggrggg ggggrggg 1 \n", + "180 ggggrggg ggggrggg 2 \n", + "181 ggggGggg ggggrggg 3 \n", + "182 ggggrggg ggggrggg 0 \n", + "183 ggggrggg ggggrggg 1 \n", + "184 ggggrggg ggggrggg 2 \n", + "185 ggggGggg ggggrggg 3 " + ] + }, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
186178u311704416860118438ggggGgggggggrggg0
187178u311704416860227339ggggrgggggggrggg1
188178u311704416860335243ggggrgggggggrggg2
189178u311704416860446122ggggrgggggggrggg3
190178u311704417029118438ggggGgggggggrggg0
191178u311704417029227339ggggrgggggggrggg1
192178u311704417029335243ggggrgggggggrggg2
193178u311704417029446122ggggrgggggggrggg3
194178u311704417199118438ggggGgggggggrggg0
195178u311704417199227339ggggrgggggggrggg1
196178u311704417199335243ggggrgggggggrggg2
197178u311704417199446122ggggrgggggggrggg3
198178u311704417369118438ggggGgggggggrggg0
199178u311704417369227339ggggrgggggggrggg1
200178u311704417369335243ggggrgggggggrggg2
201178u311704417369446122ggggrgggggggrggg3
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "186 178 u31 1704416860 1 1 8 4 38 \n", + "187 178 u31 1704416860 2 2 7 3 39 \n", + "188 178 u31 1704416860 3 3 5 2 43 \n", + "189 178 u31 1704416860 4 4 6 1 22 \n", + "190 178 u31 1704417029 1 1 8 4 38 \n", + "191 178 u31 1704417029 2 2 7 3 39 \n", + "192 178 u31 1704417029 3 3 5 2 43 \n", + "193 178 u31 1704417029 4 4 6 1 22 \n", + "194 178 u31 1704417199 1 1 8 4 38 \n", + "195 178 u31 1704417199 2 2 7 3 39 \n", + "196 178 u31 1704417199 3 3 5 2 43 \n", + "197 178 u31 1704417199 4 4 6 1 22 \n", + "198 178 u31 1704417369 1 1 8 4 38 \n", + "199 178 u31 1704417369 2 2 7 3 39 \n", + "200 178 u31 1704417369 3 3 5 2 43 \n", + "201 178 u31 1704417369 4 4 6 1 22 \n", + "\n", + " state_A state_B phase_sumo \n", + "186 ggggGggg ggggrggg 0 \n", + "187 ggggrggg ggggrggg 1 \n", + "188 ggggrggg ggggrggg 2 \n", + "189 ggggrggg ggggrggg 3 \n", + "190 ggggGggg ggggrggg 0 \n", + "191 ggggrggg ggggrggg 1 \n", + "192 ggggrggg ggggrggg 2 \n", + "193 ggggrggg ggggrggg 3 \n", + "194 ggggGggg ggggrggg 0 \n", + "195 ggggrggg ggggrggg 1 \n", + "196 ggggrggg ggggrggg 2 \n", + "197 ggggrggg ggggrggg 3 \n", + "198 ggggGggg ggggrggg 0 \n", + "199 ggggrggg ggggrggg 1 \n", + "200 ggggrggg ggggrggg 2 \n", + "201 ggggrggg ggggrggg 3 " + ] + }, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
202178u321704416860118438gggggggrgggggggG0
203178u321704416860227339gggggggrgggggggr1
204178u321704416860335243gggggggrgggggggr2
205178u321704416860446122gggggggrgggggggr3
206178u321704417029118438gggggggrgggggggG0
207178u321704417029227339gggggggrgggggggr1
208178u321704417029335243gggggggrgggggggr2
209178u321704417029446122gggggggrgggggggr3
210178u321704417199118438gggggggrgggggggG0
211178u321704417199227339gggggggrgggggggr1
212178u321704417199335243gggggggrgggggggr2
213178u321704417199446122gggggggrgggggggr3
214178u321704417369118438gggggggrgggggggG0
215178u321704417369227339gggggggrgggggggr1
216178u321704417369335243gggggggrgggggggr2
217178u321704417369446122gggggggrgggggggr3
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "202 178 u32 1704416860 1 1 8 4 38 \n", + "203 178 u32 1704416860 2 2 7 3 39 \n", + "204 178 u32 1704416860 3 3 5 2 43 \n", + "205 178 u32 1704416860 4 4 6 1 22 \n", + "206 178 u32 1704417029 1 1 8 4 38 \n", + "207 178 u32 1704417029 2 2 7 3 39 \n", + "208 178 u32 1704417029 3 3 5 2 43 \n", + "209 178 u32 1704417029 4 4 6 1 22 \n", + "210 178 u32 1704417199 1 1 8 4 38 \n", + "211 178 u32 1704417199 2 2 7 3 39 \n", + "212 178 u32 1704417199 3 3 5 2 43 \n", + "213 178 u32 1704417199 4 4 6 1 22 \n", + "214 178 u32 1704417369 1 1 8 4 38 \n", + "215 178 u32 1704417369 2 2 7 3 39 \n", + "216 178 u32 1704417369 3 3 5 2 43 \n", + "217 178 u32 1704417369 4 4 6 1 22 \n", + "\n", + " state_A state_B phase_sumo \n", + "202 gggggggr gggggggG 0 \n", + "203 gggggggr gggggggr 1 \n", + "204 gggggggr gggggggr 2 \n", + "205 gggggggr gggggggr 3 \n", + "206 gggggggr gggggggG 0 \n", + "207 gggggggr gggggggr 1 \n", + "208 gggggggr gggggggr 2 \n", + "209 gggggggr gggggggr 3 \n", + "210 gggggggr gggggggG 0 \n", + "211 gggggggr gggggggr 1 \n", + "212 gggggggr gggggggr 2 \n", + "213 gggggggr gggggggr 3 \n", + "214 gggggggr gggggggG 0 \n", + "215 gggggggr gggggggr 1 \n", + "216 gggggggr gggggggr 2 \n", + "217 gggggggr gggggggr 3 " + ] + }, + "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", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1c3017044166901y_1y4rrrrrr218210u6017044169601161828ggggggggrggggggggr0
2c3017044166902r_2r219210u60170441696012rrrrrr6215ggggggggrggggggggr1
3c3017044166902g_2g33GGGGGG220210u601704416960225243ggggggggGggggggggr2
4c3017044166902y_2y221210u6017044169603374GGGGGG70ggggggggrggggggggr3
..................222210u601704416960448324ggggggggrggggggggr4
223210u6017044171401161828ggggggggrggggggggr0
51224210u6017044171402r_2g126215ggggggggrggggggggr1
52225210u6017044171402g_2g37225243ggggggggGggggggggr2
53226210u6017044171402y_2y3374ggggggggy70ggggggggrggggggggr3
54227210u6017044171403r_3r448324ggggggggrggggggggr4
228210u6017044173201161828ggggggggrggggggggr0
229210u601704417320126215ggggggggrggggggggr1
55230210u6017044171403g_3g641704417320225243ggggggggGggggggggr2
231210u601704417320337470ggggggggrggggggggr3
232210u601704417320448324ggggggggrggggggggr4
233210u6017044175001161828ggggggggrggggggggr0
234210u601704417500126215ggggggggrggggggggr1
235210u601704417500225243ggggggggGggggggggr2
236210u601704417500337470ggggggggrggggggggr3
237210u601704417500448324ggggggggrggggggggr4
\n", - "

637 rows × 5 columns

\n", "
" ], "text/plain": [ - " node_id start_unix phase duration state\n", - "0 c30 1704416690 1g_1g 34 rrrrrr\n", - "1 c30 1704416690 1y_1y 4 rrrrrr\n", - "2 c30 1704416690 2r_2r 2 rrrrrr\n", - "3 c30 1704416690 2g_2g 33 GGGGGG\n", - "4 c30 1704416690 2y_2y 4 GGGGGG\n", - ".. ... ... ... ... ...\n", - "51 u60 1704417140 2r_2g 2 ggggggggr\n", - "52 u60 1704417140 2g_2g 37 ggggggggG\n", - "53 u60 1704417140 2y_2y 4 ggggggggy\n", - "54 u60 1704417140 3r_3r 2 ggggggggr\n", - "55 u60 1704417140 3g_3g 64 ggggggggr\n", + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "218 210 u60 1704416960 1 1 6 18 28 \n", + "219 210 u60 1704416960 1 2 6 2 15 \n", + "220 210 u60 1704416960 2 2 5 2 43 \n", + "221 210 u60 1704416960 3 3 7 4 70 \n", + "222 210 u60 1704416960 4 4 8 3 24 \n", + "223 210 u60 1704417140 1 1 6 18 28 \n", + "224 210 u60 1704417140 1 2 6 2 15 \n", + "225 210 u60 1704417140 2 2 5 2 43 \n", + "226 210 u60 1704417140 3 3 7 4 70 \n", + "227 210 u60 1704417140 4 4 8 3 24 \n", + "228 210 u60 1704417320 1 1 6 18 28 \n", + "229 210 u60 1704417320 1 2 6 2 15 \n", + "230 210 u60 1704417320 2 2 5 2 43 \n", + "231 210 u60 1704417320 3 3 7 4 70 \n", + "232 210 u60 1704417320 4 4 8 3 24 \n", + "233 210 u60 1704417500 1 1 6 18 28 \n", + "234 210 u60 1704417500 1 2 6 2 15 \n", + "235 210 u60 1704417500 2 2 5 2 43 \n", + "236 210 u60 1704417500 3 3 7 4 70 \n", + "237 210 u60 1704417500 4 4 8 3 24 \n", "\n", - "[637 rows x 5 columns]" + " state_A state_B phase_sumo \n", + "218 ggggggggr ggggggggr 0 \n", + "219 ggggggggr ggggggggr 1 \n", + "220 ggggggggG ggggggggr 2 \n", + "221 ggggggggr ggggggggr 3 \n", + "222 ggggggggr ggggggggr 4 \n", + "223 ggggggggr ggggggggr 0 \n", + "224 ggggggggr ggggggggr 1 \n", + "225 ggggggggG ggggggggr 2 \n", + "226 ggggggggr ggggggggr 3 \n", + "227 ggggggggr ggggggggr 4 \n", + "228 ggggggggr ggggggggr 0 \n", + "229 ggggggggr ggggggggr 1 \n", + "230 ggggggggG ggggggggr 2 \n", + "231 ggggggggr ggggggggr 3 \n", + "232 ggggggggr ggggggggr 4 \n", + "233 ggggggggr ggggggggr 0 \n", + "234 ggggggggr ggggggggr 1 \n", + "235 ggggggggG ggggggggr 2 \n", + "236 ggggggggr ggggggggr 3 \n", + "237 ggggggggr ggggggggr 4 " ] }, - "execution_count": 12, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "self.SIGTABLE" + "# 유턴 신호가 한번도 배정되지 않은 경우에 대해서는 유턴이동류의 신호를 항상 g로 배정\n", + "for uturn_id in self.uturn_ids:\n", + " the_uturn = self.sigtable.node_id==uturn_id\n", + " states = np.unique(self.sigtable[the_uturn][['state_A', 'state_B']].values)\n", + " if not any('G' in state for state in states):\n", + " uindex = self.uid2uindex[uturn_id]\n", + " for i, row in self.sigtable[the_uturn].iterrows():\n", + " self.sigtable.at[i, 'state_A'] = row.state_A[:uindex] + 'g' + row.state_A[uindex+1:]\n", + " self.sigtable.at[i, 'state_B'] = row.state_B[:uindex] + 'g' + row.state_B[uindex+1:]" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/Intermediates/ids.json b/Intermediates/ids.json new file mode 100644 index 000000000..4bcfb83b2 --- /dev/null +++ b/Intermediates/ids.json @@ -0,0 +1 @@ +{"node_ids": ["c30", "i0", "i1", "i2", "i3", "i6", "i7", "i8", "i9", "u00", "u20", "u30", "u31", "u32", "u60"], "parent_ids": ["i0", "i1", "i2", "i3", "i6", "i7", "i8", "i9"], "child_ids": ["c30", "u00", "u20", "u30", "u31", "u32", "u60"], "uturn_ids": ["u00", "u20", "u30", "u31", "u32", "u60"], "coord_ids": ["c30"], "inter_nos": [175, 176, 177, 178, 201, 202, 206, 210]} \ No newline at end of file diff --git a/Intermediates/match6.csv b/Intermediates/match6.csv index d1e39887a..c857bec2e 100644 --- a/Intermediates/match6.csv +++ b/Intermediates/match6.csv @@ -31,10 +31,10 @@ 29,177,i2,4,B,1,rrgrrrr 30,177,u20,1,A,8,ggrggg 31,177,u20,1,B,4,ggrggg -32,177,u20,2,A,7,ggrggg +32,177,u20,2,A,7,ggGggg 33,177,u20,2,B,3,ggrggg 34,177,u20,3,A,17,ggrggg -35,177,u20,3,B,18,ggGggg +35,177,u20,3,B,18,ggrggg 36,177,u20,4,A,5,ggrggg 37,177,u20,4,B,1,ggrggg 38,178,c30,1,A,20,rrrrrr diff --git a/Intermediates/matching.csv b/Intermediates/matching.csv index ddf34a10a..c0e3030de 100644 --- a/Intermediates/matching.csv +++ b/Intermediates/matching.csv @@ -30,47 +30,48 @@ 28,177,i2,21,rrgrrrr 29,177,i2,21,rrgrrrr 30,177,i2,21,rrgrrrr -31,178,i3,1,grrrrgrrrGgrrrrgrrrr -32,178,i3,2,grrrrgrrrrgrrrrgGGGr -33,178,i3,3,grrrrgrrrrgrrrGgrrrr -34,178,i3,4,gGGGrgrrrrgrrrrgrrrr -35,178,i3,5,grrrrgrrrrgrrrrgrrrG -36,178,i3,6,grrrrgGGGrgrrrrgrrrr -37,178,i3,7,grrrGgrrrrgrrrrgrrrr -38,178,i3,8,grrrrgrrrrgGGGrgrrrr -39,178,i3,21,grrrrgrrrrgrrrrgrrrr +31,177,u20,7,ggGggg +32,178,i3,1,grrrrgrrrGgrrrrgrrrr +33,178,i3,2,grrrrgrrrrgrrrrgGGGr +34,178,i3,3,grrrrgrrrrgrrrGgrrrr +35,178,i3,4,gGGGrgrrrrgrrrrgrrrr +36,178,i3,5,grrrrgrrrrgrrrrgrrrG +37,178,i3,6,grrrrgGGGrgrrrrgrrrr +38,178,i3,7,grrrGgrrrrgrrrrgrrrr +39,178,i3,8,grrrrgrrrrgGGGrgrrrr 40,178,i3,21,grrrrgrrrrgrrrrgrrrr 41,178,i3,21,grrrrgrrrrgrrrrgrrrr 42,178,i3,21,grrrrgrrrrgrrrrgrrrr -43,178,u30,6,ggggGggg -44,178,u31,8,ggggGggg -45,178,u32,4,gggggggG -46,201,i8,1,grrrrrrGgrrrgrrr -47,201,i8,2,grrrrrrrgrrrgGGr -48,201,i8,3,grrrrrrrgrrGgrrr -49,201,i8,4,gGGrrrrrgrrrgrrr -50,201,i8,5,grrrrrrrgrrrgrrG -51,201,i8,6,grrrGGGrgrrrgrrr -52,201,i8,7,grrGrrrrgrrrgrrr -53,201,i8,8,grrrrrrrgGGrgrrr -54,201,i8,21,grrrrrrrgrrrgrrr +43,178,i3,21,grrrrgrrrrgrrrrgrrrr +44,178,u30,6,ggggGggg +45,178,u31,8,ggggGggg +46,178,u32,4,gggggggG +47,201,i8,1,grrrrrrGgrrrgrrr +48,201,i8,2,grrrrrrrgrrrgGGr +49,201,i8,3,grrrrrrrgrrGgrrr +50,201,i8,4,gGGrrrrrgrrrgrrr +51,201,i8,5,grrrrrrrgrrrgrrG +52,201,i8,6,grrrGGGrgrrrgrrr +53,201,i8,7,grrGrrrrgrrrgrrr +54,201,i8,8,grrrrrrrgGGrgrrr 55,201,i8,21,grrrrrrrgrrrgrrr 56,201,i8,21,grrrrrrrgrrrgrrr 57,201,i8,21,grrrrrrrgrrrgrrr -58,202,i9,2,rrGG -59,202,i9,6,GGrr -60,206,i7,4,GGrggrr -61,206,i7,8,rrrggGG -62,210,i6,1,grrrgrrrGgrrgrrr -63,210,i6,2,grrrgrrrrgrrgGGr -64,210,i6,3,grrrgrrrrgrrgrrr -65,210,i6,4,gGGrgrrrrgrrgrrr -66,210,i6,5,grrrgrrrrgrrgrrG -67,210,i6,6,grrrgGGGrgrrgrrr -68,210,i6,7,grrGgrrrrgrrgrrr -69,210,i6,8,grrrgrrrrgGGgrrr -70,210,i6,21,grrrgrrrrgrrgrrr +58,201,i8,21,grrrrrrrgrrrgrrr +59,202,i9,2,rrGG +60,202,i9,6,GGrr +61,206,i7,4,GGrggrr +62,206,i7,8,rrrggGG +63,210,i6,1,grrrgrrrGgrrgrrr +64,210,i6,2,grrrgrrrrgrrgGGr +65,210,i6,3,grrrgrrrrgrrgrrr +66,210,i6,4,gGGrgrrrrgrrgrrr +67,210,i6,5,grrrgrrrrgrrgrrG +68,210,i6,6,grrrgGGGrgrrgrrr +69,210,i6,7,grrGgrrrrgrrgrrr +70,210,i6,8,grrrgrrrrgGGgrrr 71,210,i6,21,grrrgrrrrgrrgrrr 72,210,i6,21,grrrgrrrrgrrgrrr 73,210,i6,21,grrrgrrrrgrrgrrr -74,210,u60,5,ggggggggG +74,210,i6,21,grrrgrrrrgrrgrrr +75,210,u60,5,ggggggggG diff --git a/Intermediates/uid2uindex.json b/Intermediates/uid2uindex.json new file mode 100644 index 000000000..798df7a6a --- /dev/null +++ b/Intermediates/uid2uindex.json @@ -0,0 +1 @@ +{"u00": 4, "u20": 2, "u30": 4, "u31": 4, "u32": 7, "u60": 8} \ No newline at end of file diff --git a/Results/sn_1704417300.add.xml b/Results/sn_1704417300.add.xml index 904cdaeee..e3553fecf 100644 --- a/Results/sn_1704417300.add.xml +++ b/Results/sn_1704417300.add.xml @@ -432,46 +432,46 @@ - - - - + - + - + - + - + - + - + - + - + + + + - - + + - + diff --git a/Results/sn_1704417600.add.xml b/Results/sn_1704417600.add.xml index a6ab0e57f..465bd94d3 100644 --- a/Results/sn_1704417600.add.xml +++ b/Results/sn_1704417600.add.xml @@ -1,62 +1,59 @@ - - - - + + + + - - + + - - + + + + + + + + - - - - - + + - - + + + + + + + + - - + + - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - + + - + - + - + @@ -68,10 +65,10 @@ - + - + @@ -83,17 +80,12 @@ - - - - - - - + + - + @@ -124,12 +116,9 @@ - - - - + @@ -172,120 +161,112 @@ - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - + @@ -328,72 +309,66 @@ - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + @@ -412,12 +387,9 @@ - - - - + @@ -454,263 +426,244 @@ - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + - - - - - + + - - + + - - + + - - + + - - + + - - + + - + + + + - - + + - - + + + + + - - + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + \ No newline at end of file diff --git a/Results/sn_1704418200.add.xml b/Results/sn_1704418200.add.xml index fc537fa91..6a4fce0a7 100644 --- a/Results/sn_1704418200.add.xml +++ b/Results/sn_1704418200.add.xml @@ -1,62 +1,59 @@ - - - - + + + + - - + + - - + + + + + + + + - - - - - + + - - + + + + + + + + - - + + - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - + + - + - + - + @@ -68,10 +65,10 @@ - + - + @@ -83,17 +80,12 @@ - - - - - - - + + - + @@ -124,12 +116,9 @@ - - - - + @@ -172,120 +161,112 @@ - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - + @@ -328,72 +309,66 @@ - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + @@ -412,12 +387,9 @@ - - - - + @@ -454,263 +426,244 @@ - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + - - - - - + + - - + + - - + + - - + + - - + + - - + + - + + + + - - + + - - + + + + + - - + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + \ No newline at end of file diff --git a/Results/sn_1704419400.add.xml b/Results/sn_1704419400.add.xml index acbfe5b92..03ffa6465 100644 --- a/Results/sn_1704419400.add.xml +++ b/Results/sn_1704419400.add.xml @@ -1,62 +1,59 @@ - - - - + + + + - - + + - - + + + + + + + + - - - - - + + - - + + + + + + + + - - + + - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - + + - + - + - + @@ -68,10 +65,10 @@ - + - + @@ -83,17 +80,12 @@ - - - - - - - + + - + @@ -124,12 +116,9 @@ - - - - + @@ -172,120 +161,112 @@ - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - + @@ -328,72 +309,66 @@ - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + @@ -412,12 +387,9 @@ - - - - + @@ -454,263 +426,244 @@ - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + - - - - - + + - - + + - - + + - - + + - - + + - - + + - + + + + - - + + - - + + + + + - - + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + \ No newline at end of file diff --git a/Scripts/__pycache__/generate_signals.cpython-38.pyc b/Scripts/__pycache__/generate_signals.cpython-38.pyc index 04c2766d17c99505866a0893d27230174d5d7a1c..e7bb63f71d4b08d7143570cb16df4b53ade95a05 100644 GIT binary patch delta 4238 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 AJpcdz diff --git a/Scripts/__pycache__/preprocess_daily.cpython-38.pyc b/Scripts/__pycache__/preprocess_daily.cpython-38.pyc index 7b1fdefde370fb6b079ae9084e8c58cb05d5bdde..ac52c6ccbc71baab2aa869392c81075af85e3426 100644 GIT binary patch delta 5127 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