Browse Source

make differences between the name inc/out_edge and the name inc_out_edge_id

master
김선중 1 year ago
parent
commit
b5d2da1f06
8 changed files with 1269 additions and 935 deletions
  1. +311
    -41
      Analysis/0411_unp-left_p-right-uturn/0411_unp-left.ipynb
  2. +1
    -1
      Data/tables/child_uturn.csv
  3. +6
    -6
      Intermediates/match6.csv
  4. +425
    -393
      Results/sn_1704417600.add.xml
  5. +482
    -450
      Results/sn_1704417900.add.xml
  6. BIN
      Scripts/__pycache__/generate_signals.cpython-38.pyc
  7. BIN
      Scripts/__pycache__/preprocess_daily.cpython-38.pyc
  8. +44
    -44
      Scripts/preprocess_daily.py

+ 311
- 41
Analysis/0411_unp-left_p-right-uturn/0411_unp-left.ipynb View File

@ -2,7 +2,7 @@
"cells": [ "cells": [
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 2,
"execution_count": 1,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@ -19,6 +19,8 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"비보호좌회전, 신호우회전, 유턴\n",
"\n",
"줄임말 목록\n", "줄임말 목록\n",
"- `i` : 교차로번호, `inter_no`\n", "- `i` : 교차로번호, `inter_no`\n",
"- `f` : 진입, from, `inc_edge_id`\n", "- `f` : 진입, from, `inc_edge_id`\n",
@ -41,7 +43,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 3,
"execution_count": 2,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
@ -53,20 +55,7 @@
"1-2. 테이블들이 로드되었습니다.\n", "1-2. 테이블들이 로드되었습니다.\n",
"1-3. 네트워크의 모든 clean state requirement들을 체크했습니다.\n", "1-3. 네트워크의 모든 clean state requirement들을 체크했습니다.\n",
"1-4. 테이블들의 무결성 검사를 완료했습니다.\n", "1-4. 테이블들의 무결성 검사를 완료했습니다.\n",
"2. 중간산출물을 생성합니다.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"이동류정보 불러오는 중: 100%|██████████| 17280/17280 [00:14<00:00, 1185.13it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 중간산출물을 생성합니다.\n",
"2-1. 매칭 테이블들을 생성했습니다.\n", "2-1. 매칭 테이블들을 생성했습니다.\n",
"2-2. 비보호우회전(g)을 배정했습니다.\n", "2-2. 비보호우회전(g)을 배정했습니다.\n",
"2-3. 직진 및 좌회전(G)을 배정했습니다.\n", "2-3. 직진 및 좌회전(G)을 배정했습니다.\n",
@ -82,7 +71,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 6,
"execution_count": 3,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
@ -110,8 +99,8 @@
" <th>phase_no</th>\n", " <th>phase_no</th>\n",
" <th>ring_type</th>\n", " <th>ring_type</th>\n",
" <th>move_no</th>\n", " <th>move_no</th>\n",
" <th>inc_dir</th>\n",
" <th>out_dir</th>\n",
" <th>inc_dire</th>\n",
" <th>out_dire</th>\n",
" <th>inc_angle</th>\n", " <th>inc_angle</th>\n",
" <th>out_angle</th>\n", " <th>out_angle</th>\n",
" </tr>\n", " </tr>\n",
@ -177,12 +166,12 @@
"</div>" "</div>"
], ],
"text/plain": [ "text/plain": [
" inter_no phase_no ring_type move_no inc_dir out_dir inc_angle out_angle\n",
"0 175 1 A 8 남 북 179 179\n",
"1 175 1 B 4 북 남 001 001\n",
"2 175 2 A 7 북 동 001 001\n",
"3 175 2 B 3 남 서 179 179\n",
"4 175 3 A 6 동 서 090 090"
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle out_angle\n",
"0 175 1 A 8 북 179 179\n",
"1 175 1 B 4 남 001 001\n",
"2 175 2 A 7 동 001 001\n",
"3 175 2 B 3 서 179 179\n",
"4 175 3 A 6 서 090 090"
] ]
}, },
"metadata": {}, "metadata": {},
@ -213,12 +202,12 @@
" <th>phase_no</th>\n", " <th>phase_no</th>\n",
" <th>ring_type</th>\n", " <th>ring_type</th>\n",
" <th>move_no</th>\n", " <th>move_no</th>\n",
" <th>inc_dir</th>\n",
" <th>out_dir</th>\n",
" <th>inc_dire</th>\n",
" <th>out_dire</th>\n",
" <th>inc_angle</th>\n", " <th>inc_angle</th>\n",
" <th>out_angle</th>\n", " <th>out_angle</th>\n",
" <th>inc_edge</th>\n",
" <th>out_edge</th>\n",
" <th>inc_edge_id</th>\n",
" <th>out_edge_id</th>\n",
" <th>node_id</th>\n", " <th>node_id</th>\n",
" </tr>\n", " </tr>\n",
" </thead>\n", " </thead>\n",
@ -298,19 +287,19 @@
"</div>" "</div>"
], ],
"text/plain": [ "text/plain": [
" inter_no phase_no ring_type move_no inc_dir out_dir inc_angle out_angle \\\n",
"0 175 1 A 8 남 북 179 179 \n",
"1 175 1 B 4 북 남 001 001 \n",
"2 175 2 A 7 북 동 001 001 \n",
"3 175 2 B 3 남 서 179 179 \n",
"4 175 3 A 6 동 서 090 090 \n",
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
"0 175 1 A 8 남 북 179 \n",
"1 175 1 B 4 북 남 001 \n",
"2 175 2 A 7 북 동 001 \n",
"3 175 2 B 3 남 서 179 \n",
"4 175 3 A 6 동 서 090 \n",
"\n", "\n",
" inc_edge out_edge node_id \n",
"0 -571542797_02 571542797_02 i0 \n",
"1 -571500487_01 571500487_01 i0 \n",
"2 -571500487_01 571500487_01 i0 \n",
"3 -571542797_02 571542797_02 i0 \n",
"4 571545870_02 571545870_01 i0 "
" out_angle inc_edge_id out_edge_id node_id \n",
"0 179 -571542797_02 571542797_02 i0 \n",
"1 001 -571500487_01 571500487_01 i0 \n",
"2 001 -571500487_01 571500487_01 i0 \n",
"3 179 -571542797_02 571542797_02 i0 \n",
"4 090 571545870_02 571545870_01 i0 "
] ]
}, },
"metadata": {}, "metadata": {},
@ -321,6 +310,287 @@
"display(self.match4.head())\n", "display(self.match4.head())\n",
"display(self.match5.head())" "display(self.match5.head())"
] ]
},
{
"cell_type": "code",
"execution_count": 4,
"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-1. 매칭 테이블들을 생성했습니다.\n"
]
}
],
"source": [
"self.load_data()\n",
"self.get_matches()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>phase_no</th>\n",
" <th>ring_type</th>\n",
" <th>move_no</th>\n",
" <th>inc_dire</th>\n",
" <th>out_dire</th>\n",
" <th>inc_angle</th>\n",
" <th>out_angle</th>\n",
" <th>inc_edge_id</th>\n",
" <th>out_edge_id</th>\n",
" <th>node_id</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" <td>179</td>\n",
" <td>179</td>\n",
" <td>-571542797_02</td>\n",
" <td>571542797_02</td>\n",
" <td>i0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" <td>001</td>\n",
" <td>001</td>\n",
" <td>-571500487_01</td>\n",
" <td>571500487_01</td>\n",
" <td>i0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>175</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>7</td>\n",
" <td>북</td>\n",
" <td>동</td>\n",
" <td>001</td>\n",
" <td>001</td>\n",
" <td>-571500487_01</td>\n",
" <td>571500487_01</td>\n",
" <td>i0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>175</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>3</td>\n",
" <td>남</td>\n",
" <td>서</td>\n",
" <td>179</td>\n",
" <td>179</td>\n",
" <td>-571542797_02</td>\n",
" <td>571542797_02</td>\n",
" <td>i0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>A</td>\n",
" <td>6</td>\n",
" <td>동</td>\n",
" <td>서</td>\n",
" <td>090</td>\n",
" <td>090</td>\n",
" <td>571545870_02</td>\n",
" <td>571545870_01</td>\n",
" <td>i0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>2</td>\n",
" <td>서</td>\n",
" <td>동</td>\n",
" <td>270</td>\n",
" <td>270</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>u60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>A</td>\n",
" <td>7</td>\n",
" <td>북</td>\n",
" <td>동</td>\n",
" <td>000</td>\n",
" <td>000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>u60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" <td>000</td>\n",
" <td>000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>u60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" <td>180</td>\n",
" <td>180</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>u60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>B</td>\n",
" <td>3</td>\n",
" <td>남</td>\n",
" <td>서</td>\n",
" <td>180</td>\n",
" <td>180</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>u60</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>116 rows × 11 columns</p>\n",
"</div>"
],
"text/plain": [
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
"0 175 1 A 8 남 북 179 \n",
"1 175 1 B 4 북 남 001 \n",
"2 175 2 A 7 북 동 001 \n",
"3 175 2 B 3 남 서 179 \n",
"4 175 3 A 6 동 서 090 \n",
".. ... ... ... ... ... ... ... \n",
"3 210 2 B 2 서 동 270 \n",
"4 210 3 A 7 북 동 000 \n",
"5 210 3 B 4 북 남 000 \n",
"6 210 4 A 8 남 북 180 \n",
"7 210 4 B 3 남 서 180 \n",
"\n",
" out_angle inc_edge_id out_edge_id node_id \n",
"0 179 -571542797_02 571542797_02 i0 \n",
"1 001 -571500487_01 571500487_01 i0 \n",
"2 001 -571500487_01 571500487_01 i0 \n",
"3 179 -571542797_02 571542797_02 i0 \n",
"4 090 571545870_02 571545870_01 i0 \n",
".. ... ... ... ... \n",
"3 270 NaN NaN u60 \n",
"4 000 NaN NaN u60 \n",
"5 000 NaN NaN u60 \n",
"6 180 NaN NaN u60 \n",
"7 180 NaN NaN u60 \n",
"\n",
"[116 rows x 11 columns]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.match6"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['i0', 'i1', 'i2', 'i3', 'i6', 'i7', 'i8', 'i9']"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.parent_ids"
]
} }
], ],
"metadata": { "metadata": {

+ 1
- 1
Data/tables/child_uturn.csv View File

@ -1,4 +1,4 @@
parent_id,child_id,direction,condition,inc_edge,out_edge
parent_id,child_id,direction,condition,inc_edge_id,out_edge_id
i0,u00,북,좌회전시,571500487_02,571500487_01.32 i0,u00,북,좌회전시,571500487_02,571500487_01.32
i2,u20,북,보행신호시,571542810_01.51,571542810_02 i2,u20,북,보행신호시,571542810_01.51,571542810_02
i3,u30,북,보행신호시,571556452_01,571556452_02 i3,u30,북,보행신호시,571556452_01,571556452_02

+ 6
- 6
Intermediates/match6.csv View File

@ -39,12 +39,12 @@
37,177,u20,4,B,1,ggrggg 37,177,u20,4,B,1,ggrggg
38,178,c30,1,A,20,rrrrrr 38,178,c30,1,A,20,rrrrrr
39,178,c30,1,B,20,rrrrrr 39,178,c30,1,B,20,rrrrrr
40,178,c30,2,A,20,rrrrrr
41,178,c30,2,B,20,rrrrrr
42,178,c30,3,A,20,rrrrrr
43,178,c30,3,B,20,rrrrrr
44,178,c30,4,A,20,rrrrrr
45,178,c30,4,B,20,rrrrrr
40,178,c30,2,A,20,GGGrrr
41,178,c30,2,B,20,rrrGGG
42,178,c30,3,A,20,GGGrrr
43,178,c30,3,B,20,rrrGGG
44,178,c30,4,A,20,GGGrrr
45,178,c30,4,B,20,rrrGGG
46,178,i3,1,A,8,grrrrrrrrrgrrrrrrrrr 46,178,i3,1,A,8,grrrrrrrrrgrrrrrrrrr
47,178,i3,1,B,4,grrrrrrrrrgrrrrrrrrr 47,178,i3,1,B,4,grrrrrrrrrgrrrrrrrrr
48,178,i3,2,A,7,grrrrrrrrrgrrrrrrrrr 48,178,i3,2,A,7,grrrrrrrrrgrrrrrrrrr

+ 425
- 393
Results/sn_1704417600.add.xml View File

@ -1,5 +1,5 @@
<additional> <additional>
<tlLogic id="c30" type="static" programID="c30_prog" offset="-111">
<tlLogic id="c30" type="static" programID="c30_prog" offset="-90">
<phase duration="34" state="rrrrrr"/> <phase duration="34" state="rrrrrr"/>
<phase duration="4" state="rrrrrr"/> <phase duration="4" state="rrrrrr"/>
<phase duration="1" state="rrrrrr"/> <phase duration="1" state="rrrrrr"/>
@ -44,424 +44,456 @@
<phase duration="1" state="rrrrrr"/> <phase duration="1" state="rrrrrr"/>
<phase duration="38" state="rrrrrr"/> <phase duration="38" state="rrrrrr"/>
</tlLogic> </tlLogic>
<tlLogic id="i0" type="static" programID="i0_prog" offset="-83">
<phase duration="44" state="gGGrgrrrgGGGGrgrr"/>
<phase duration="3" state="gyyrgrrrgyyyyrgrr"/>
<phase duration="2" state="grrrgrrrgrrrrrgrr"/>
<phase duration="44" state="grrGgrrrgrrrrGgrr"/>
<phase duration="3" state="grrygrrrgrrrrygrr"/>
<phase duration="2" state="grrrgGGrgrrrrrgrr"/>
<phase duration="31" state="grrrgGGGgrrrrrgrr"/>
<phase duration="3" state="grrrgGGygrrrrrgrr"/>
<phase duration="2" state="grrrgGGrgrrrrrgGr"/>
<phase duration="19" state="grrrgGGrgrrrrrgGr"/>
<phase duration="3" state="grrrgyyrgrrrrrgGr"/>
<phase duration="2" state="grrrgrrrgrrrrrgGr"/>
<phase duration="36" state="grrrgrrrgrrrrrgGG"/>
<phase duration="3" state="grrrgrrrgrrrrrgyy"/>
<phase duration="2" state="grrrgrrrgrrrrrgrr"/>
<phase duration="39" state="gGGrgrrrgGGGGrgrr"/>
<phase duration="3" state="gyyrgrrrgyyyyrgrr"/>
<phase duration="2" state="grrrgrrrgrrrrrgrr"/>
<phase duration="41" state="grrGgrrrgrrrrGgrr"/>
<phase duration="3" state="grrygrrrgrrrrygrr"/>
<phase duration="2" state="grrrgGGrgrrrrrgrr"/>
<phase duration="28" state="grrrgGGGgrrrrrgrr"/>
<phase duration="3" state="grrrgGGygrrrrrgrr"/>
<phase duration="2" state="grrrgGGrgrrrrrgGr"/>
<phase duration="18" state="grrrgGGrgrrrrrgGr"/>
<phase duration="3" state="grrrgyyrgrrrrrgGr"/>
<phase duration="2" state="grrrgrrrgrrrrrgGr"/>
<phase duration="32" state="grrrgrrrgrrrrrgGG"/>
<phase duration="3" state="grrrgrrrgrrrrrgyy"/>
<phase duration="2" state="grrrgrrrgrrrrrgrr"/>
<phase duration="38" state="gGGrgrrrgGGGGrgrr"/>
<phase duration="3" state="gyyrgrrrgyyyyrgrr"/>
<phase duration="2" state="grrrgrrrgrrrrrgrr"/>
<phase duration="40" state="grrGgrrrgrrrrGgrr"/>
<phase duration="3" state="grrygrrrgrrrrygrr"/>
<phase duration="2" state="grrrgGGrgrrrrrgrr"/>
<phase duration="28" state="grrrgGGGgrrrrrgrr"/>
<phase duration="22" state="grrrgGGygrrrrrgrr"/>
<tlLogic id="i0" type="static" programID="i0_prog" offset="-159">
<phase duration="39" state="grrrrrrrgrrrrrrrr"/>
<phase duration="4" state="grrrrrrrgrrrrrrrr"/>
<phase duration="1" state="grrrrrrrgrrrrrrrr"/>
<phase duration="40" state="grrrrrrrgrrrrrrrr"/>
<phase duration="4" state="grrrrrrrgrrrrrrrr"/>
<phase duration="1" state="grrrrrrGgrrrrrrrr"/>
<phase duration="28" state="grrrGrrGgrrrrrrrr"/>
<phase duration="4" state="grrryrrGgrrrrrrrr"/>
<phase duration="1" state="grrrrrrGgrrrrrrrG"/>
<phase duration="17" state="grrrrrrGgrrrrrrrG"/>
<phase duration="4" state="grrrrrrygrrrrrrrG"/>
<phase duration="1" state="grrrrrrrgrrrrrrrG"/>
<phase duration="32" state="grrrrrrrgrrrrrGrG"/>
<phase duration="4" state="grrrrrrrgrrrrryry"/>
<phase duration="1" state="grrrrrrrgrrrrrrrr"/>
<phase duration="38" state="grrrrrrrgrrrrrrrr"/>
<phase duration="4" state="grrrrrrrgrrrrrrrr"/>
<phase duration="1" state="grrrrrrrgrrrrrrrr"/>
<phase duration="40" state="grrrrrrrgrrrrrrrr"/>
<phase duration="4" state="grrrrrrrgrrrrrrrr"/>
<phase duration="1" state="grrrrrrGgrrrrrrrr"/>
<phase duration="28" state="grrrGrrGgrrrrrrrr"/>
<phase duration="4" state="grrryrrGgrrrrrrrr"/>
<phase duration="1" state="grrrrrrGgrrrrrrrG"/>
<phase duration="17" state="grrrrrrGgrrrrrrrG"/>
<phase duration="4" state="grrrrrrygrrrrrrrG"/>
<phase duration="1" state="grrrrrrrgrrrrrrrG"/>
<phase duration="32" state="grrrrrrrgrrrrrGrG"/>
<phase duration="4" state="grrrrrrrgrrrrryry"/>
<phase duration="1" state="grrrrrrrgrrrrrrrr"/>
<phase duration="38" state="grrrrrrrgrrrrrrrr"/>
<phase duration="4" state="grrrrrrrgrrrrrrrr"/>
<phase duration="1" state="grrrrrrrgrrrrrrrr"/>
<phase duration="40" state="grrrrrrrgrrrrrrrr"/>
<phase duration="4" state="grrrrrrrgrrrrrrrr"/>
<phase duration="1" state="grrrrrrGgrrrrrrrr"/>
<phase duration="28" state="grrrGrrGgrrrrrrrr"/>
<phase duration="22" state="grrryrrGgrrrrrrrr"/>
</tlLogic> </tlLogic>
<tlLogic id="i1" type="static" programID="i1_prog" offset="-181">
<phase duration="32" state="gGGGGGrgrr"/>
<phase duration="5" state="gyyGGGrgrr"/>
<phase duration="1" state="grrGGGrgrr"/>
<phase duration="97" state="grrGGGGgrr"/>
<phase duration="5" state="grryyyygrr"/>
<phase duration="1" state="grrrrrrgrr"/>
<phase duration="34" state="grrrrrrgGG"/>
<phase duration="5" state="grrrrrrgyy"/>
<phase duration="1" state="grrrrrrgrr"/>
<phase duration="31" state="gGGGGGrgrr"/>
<phase duration="5" state="gyyGGGrgrr"/>
<phase duration="1" state="grrGGGrgrr"/>
<phase duration="97" state="grrGGGGgrr"/>
<phase duration="5" state="grryyyygrr"/>
<phase duration="1" state="grrrrrrgrr"/>
<phase duration="34" state="grrrrrrgGG"/>
<phase duration="5" state="grrrrrrgyy"/>
<phase duration="1" state="grrrrrrgrr"/>
<phase duration="31" state="gGGGGGrgrr"/>
<phase duration="5" state="gyyGGGrgrr"/>
<phase duration="1" state="grrGGGrgrr"/>
<phase duration="97" state="grrGGGGgrr"/>
<phase duration="5" state="grryyyygrr"/>
<phase duration="1" state="grrrrrrgrr"/>
<phase duration="34" state="grrrrrrgGG"/>
<phase duration="5" state="grrrrrrgyy"/>
<phase duration="1" state="grrrrrrgrr"/>
<phase duration="31" state="gGGGGGrgrr"/>
<phase duration="5" state="gyyGGGrgrr"/>
<phase duration="1" state="grrGGGrgrr"/>
<phase duration="97" state="grrGGGGgrr"/>
<tlLogic id="i1" type="static" programID="i1_prog" offset="-90">
<phase duration="33" state="grrgggrrrr"/>
<phase duration="4" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="99" state="grrgggrrrr"/>
<phase duration="4" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrGrr"/>
<phase duration="36" state="grrgggrGrr"/>
<phase duration="4" state="grrgggryrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="33" state="grrgggrrrr"/>
<phase duration="4" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="99" state="grrgggrrrr"/>
<phase duration="4" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrGrr"/>
<phase duration="0" state="grrgggrGrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="36" state="grrgggrrrr"/>
<phase duration="4" state="grrgggryrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="33" state="grrgggrrrr"/>
<phase duration="4" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="99" state="grrgggrrrr"/>
<phase duration="4" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrGrr"/>
<phase duration="0" state="grrgggrGrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="36" state="grrgggrrrr"/>
<phase duration="4" state="grrgggryrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="33" state="grrgggrrrr"/>
<phase duration="4" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="0" state="grrgggrrrr"/>
<phase duration="99" state="grrgggrrrr"/>
</tlLogic> </tlLogic>
<tlLogic id="i2" type="static" programID="i2_prog" offset="-90">
<phase duration="39" state="GGgrGGG"/>
<phase duration="4" state="yygryyy"/>
<phase duration="1" state="rrgrrrr"/>
<phase duration="22" state="rrgrrrr"/>
<phase duration="4" state="rrgrrrr"/>
<phase duration="1" state="rrgrrrr"/>
<phase duration="65" state="rrgrrrr"/>
<phase duration="4" state="rrgrrrr"/>
<phase duration="1" state="rrgrrrr"/>
<phase duration="35" state="rrgrGGG"/>
<phase duration="4" state="rrgrGGG"/>
<phase duration="1" state="rrgrGGG"/>
<phase duration="38" state="GGgrGGG"/>
<phase duration="4" state="yygryyy"/>
<phase duration="1" state="rrgrrrr"/>
<phase duration="22" state="rrgrrrr"/>
<phase duration="4" state="rrgrrrr"/>
<phase duration="1" state="rrgrrrr"/>
<phase duration="65" state="rrgrrrr"/>
<phase duration="4" state="rrgrrrr"/>
<phase duration="1" state="rrgrrrr"/>
<phase duration="35" state="rrgrGGG"/>
<phase duration="4" state="rrgrGGG"/>
<phase duration="1" state="rrgrGGG"/>
<phase duration="38" state="GGgrGGG"/>
<phase duration="4" state="yygrGGG"/>
<phase duration="1" state="rrgrGGG"/>
<phase duration="35" state="rrgrGGG"/>
<phase duration="4" state="rrgrGGG"/>
<phase duration="1" state="rrgrGGG"/>
<phase duration="38" state="GGgrGGG"/>
<phase duration="4" state="yygryyy"/>
<phase duration="1" state="rrgrrrr"/>
<phase duration="22" state="rrgrrrr"/>
<phase duration="4" state="rrgrrrr"/>
<phase duration="1" state="rrgrrrr"/>
<phase duration="65" state="rrgrrrr"/>
<tlLogic id="i2" type="static" programID="i2_prog" offset="-180">
<phase duration="38" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="21" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="64" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="34" state="ggGgrrr"/>
<phase duration="5" state="ggygrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="37" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="21" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="64" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="34" state="ggGgrrr"/>
<phase duration="5" state="ggygrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="37" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="21" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="64" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="34" state="ggGgrrr"/>
<phase duration="5" state="ggygrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="37" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="21" state="ggrgrrr"/>
<phase duration="5" state="ggrgrrr"/>
<phase duration="1" state="ggrgrrr"/>
<phase duration="64" state="ggrgrrr"/>
</tlLogic> </tlLogic>
<tlLogic id="i3" type="static" programID="i3_prog" offset="-111">
<phase duration="34" state="gGGGrgrrrrgGGGrgrrrr"/>
<phase duration="4" state="gyyyrgrrrrgyyyrgrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="34" state="grrrGgrrrrgrrrGgrrrr"/>
<phase duration="4" state="grrrygrrrrgrrrygrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="38" state="grrrrgrrrrgrrrrgGGGG"/>
<phase duration="4" state="grrrrgrrrrgrrrrgyyyy"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="17" state="grrrrgGGGGgrrrrgrrrr"/>
<phase duration="4" state="grrrrgyyyygrrrrgrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="33" state="gGGGrgrrrrgGGGrgrrrr"/>
<phase duration="4" state="gyyyrgrrrrgyyyrgrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="34" state="grrrGgrrrrgrrrGgrrrr"/>
<phase duration="4" state="grrrygrrrrgrrrygrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="38" state="grrrrgrrrrgrrrrgGGGG"/>
<phase duration="4" state="grrrrgrrrrgrrrrgyyyy"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="17" state="grrrrgGGGGgrrrrgrrrr"/>
<phase duration="4" state="grrrrgyyyygrrrrgrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="33" state="gGGGrgrrrrgGGGrgrrrr"/>
<phase duration="4" state="gyyyrgrrrrgyyyrgrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="34" state="grrrGgrrrrgrrrGgrrrr"/>
<phase duration="4" state="grrrygrrrrgrrrygrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="38" state="grrrrgrrrrgrrrrgGGGG"/>
<phase duration="4" state="grrrrgrrrrgrrrrgyyyy"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="17" state="grrrrgGGGGgrrrrgrrrr"/>
<phase duration="4" state="grrrrgyyyygrrrrgrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="33" state="gGGGrgrrrrgGGGrgrrrr"/>
<phase duration="4" state="gyyyrgrrrrgyyyrgrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="34" state="grrrGgrrrrgrrrGgrrrr"/>
<phase duration="4" state="grrrygrrrrgrrrygrrrr"/>
<phase duration="1" state="grrrrgrrrrgrrrrgrrrr"/>
<phase duration="38" state="grrrrgrrrrgrrrrgGGGG"/>
<tlLogic id="i3" type="static" programID="i3_prog" offset="-90">
<phase duration="34" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="4" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="34" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="4" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="38" state="grrrrrrrrrgrrrrGrrrG"/>
<phase duration="4" state="grrrrrrrrrgrrrryrrry"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="17" state="grrrrGrrrGgrrrrrrrrr"/>
<phase duration="4" state="grrrryrrrygrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="33" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="4" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="34" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="4" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="38" state="grrrrrrrrrgrrrrGrrrG"/>
<phase duration="4" state="grrrrrrrrrgrrrryrrry"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="17" state="grrrrGrrrGgrrrrrrrrr"/>
<phase duration="4" state="grrrryrrrygrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="33" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="4" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="34" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="4" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="38" state="grrrrrrrrrgrrrrGrrrG"/>
<phase duration="4" state="grrrrrrrrrgrrrryrrry"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="17" state="grrrrGrrrGgrrrrrrrrr"/>
<phase duration="4" state="grrrryrrrygrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="33" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="4" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="34" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="4" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="1" state="grrrrrrrrrgrrrrrrrrr"/>
<phase duration="38" state="grrrrrrrrrgrrrrGrrrG"/>
</tlLogic> </tlLogic>
<tlLogic id="i6" type="static" programID="i6_prog" offset="-160">
<phase duration="1" state="grrrgGGGrgrrgrrr"/>
<phase duration="23" state="grrrgGGGrgrrgrrr"/>
<phase duration="4" state="grrrgGGGrgrrgrrr"/>
<phase duration="1" state="grrrgGGGrgrrgGGr"/>
<phase duration="10" state="grrrgGGGrgrrgGGr"/>
<phase duration="4" state="grrrgyyyrgrrgGGr"/>
<phase duration="1" state="grrrgrrrrgrrgGGr"/>
<phase duration="38" state="grrrgrrrrgrrgGGG"/>
<phase duration="4" state="grrrgrrrrgrrgyyy"/>
<phase duration="1" state="grrrgrrrrgrrgrrr"/>
<phase duration="65" state="gGGGgrrrrgrrgrrr"/>
<phase duration="4" state="gyyygrrrrgrrgrrr"/>
<phase duration="1" state="grrrgrrrrgrrgrrr"/>
<phase duration="19" state="grrrgrrrrgGGgrrr"/>
<phase duration="4" state="grrrgrrrrgyygrrr"/>
<phase duration="1" state="grrrgGGGrgrrgrrr"/>
<phase duration="23" state="grrrgGGGrgrrgrrr"/>
<phase duration="4" state="grrrgGGGrgrrgrrr"/>
<phase duration="1" state="grrrgGGGrgrrgGGr"/>
<phase duration="10" state="grrrgGGGrgrrgGGr"/>
<phase duration="4" state="grrrgyyyrgrrgGGr"/>
<phase duration="1" state="grrrgrrrrgrrgGGr"/>
<phase duration="38" state="grrrgrrrrgrrgGGG"/>
<phase duration="4" state="grrrgrrrrgrrgyyy"/>
<phase duration="1" state="grrrgrrrrgrrgrrr"/>
<phase duration="65" state="gGGGgrrrrgrrgrrr"/>
<phase duration="4" state="gyyygrrrrgrrgrrr"/>
<phase duration="1" state="grrrgrrrrgrrgrrr"/>
<phase duration="19" state="grrrgrrrrgGGgrrr"/>
<phase duration="4" state="grrrgrrrrgyygrrr"/>
<phase duration="1" state="grrrgGGGrgrrgrrr"/>
<phase duration="23" state="grrrgGGGrgrrgrrr"/>
<phase duration="4" state="grrrgGGGrgrrgrrr"/>
<phase duration="1" state="grrrgGGGrgrrgGGr"/>
<phase duration="10" state="grrrgGGGrgrrgGGr"/>
<phase duration="4" state="grrrgyyyrgrrgGGr"/>
<phase duration="1" state="grrrgrrrrgrrgGGr"/>
<phase duration="38" state="grrrgrrrrgrrgGGG"/>
<phase duration="4" state="grrrgrrrrgrrgyyy"/>
<phase duration="1" state="grrrgrrrrgrrgrrr"/>
<phase duration="65" state="gGGGgrrrrgrrgrrr"/>
<phase duration="4" state="gyyygrrrrgrrgrrr"/>
<phase duration="1" state="grrrgrrrrgrrgrrr"/>
<phase duration="19" state="grrrgrrrrgGGgrrr"/>
<phase duration="4" state="grrrgrrrrgyygrrr"/>
<phase duration="1" state="grrrgGGGrgrrgrrr"/>
<phase duration="23" state="grrrgGGGrgrrgrrr"/>
<phase duration="4" state="grrrgGGGrgrrgrrr"/>
<phase duration="1" state="grrrgGGGrgrrgGGr"/>
<phase duration="10" state="grrrgGGGrgrrgGGr"/>
<phase duration="4" state="grrrgyyyrgrrgGGr"/>
<phase duration="1" state="grrrgrrrrgrrgGGr"/>
<phase duration="38" state="grrrgrrrrgrrgGGG"/>
<phase duration="4" state="grrrgrrrrgrrgyyy"/>
<phase duration="1" state="grrrgrrrrgrrgrrr"/>
<phase duration="65" state="gGGGgrrrrgrrgrrr"/>
<tlLogic id="i6" type="static" programID="i6_prog" offset="-131">
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="23" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="10" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="38" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="65" state="Grrrrrrrrrrrgrrr"/>
<phase duration="4" state="yrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="19" state="rrrrrrrrrGrrgrrr"/>
<phase duration="4" state="rrrrrrrrryrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="23" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="10" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="38" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="65" state="Grrrrrrrrrrrgrrr"/>
<phase duration="4" state="yrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="19" state="rrrrrrrrrGrrgrrr"/>
<phase duration="4" state="rrrrrrrrryrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="23" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="10" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="38" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="65" state="Grrrrrrrrrrrgrrr"/>
<phase duration="4" state="yrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="19" state="rrrrrrrrrGrrgrrr"/>
<phase duration="4" state="rrrrrrrrryrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="23" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="10" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="38" state="rrrrrrrrrrrrgrrr"/>
<phase duration="4" state="rrrrrrrrrrrrgrrr"/>
<phase duration="1" state="rrrrrrrrrrrrgrrr"/>
<phase duration="65" state="Grrrrrrrrrrrgrrr"/>
</tlLogic> </tlLogic>
<tlLogic id="i7" type="static" programID="i7_prog" offset="-19">
<phase duration="42" state="GGrggGG"/>
<phase duration="3" state="yyrggyy"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="49" state="rrrggrr"/>
<phase duration="3" state="rrrggrr"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="22" state="GGrggGG"/>
<phase duration="3" state="yyrggyy"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="22" state="rrrggrr"/>
<phase duration="3" state="rrrggrr"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="41" state="GGrggGG"/>
<phase duration="3" state="yyrggyy"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="49" state="rrrggrr"/>
<phase duration="3" state="rrrggrr"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="22" state="GGrggGG"/>
<phase duration="3" state="yyrggyy"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="22" state="rrrggrr"/>
<phase duration="3" state="rrrggrr"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="41" state="GGrggGG"/>
<phase duration="3" state="yyrggyy"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="49" state="rrrggrr"/>
<phase duration="3" state="rrrggrr"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="22" state="GGrggGG"/>
<phase duration="3" state="yyrggyy"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="22" state="rrrggrr"/>
<phase duration="3" state="rrrggrr"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="41" state="GGrggGG"/>
<phase duration="3" state="yyrggyy"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="49" state="rrrggrr"/>
<phase duration="3" state="rrrggrr"/>
<phase duration="1" state="rrrggrr"/>
<phase duration="22" state="GGrggGG"/>
<tlLogic id="i7" type="static" programID="i7_prog" offset="-61">
<phase duration="40" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="47" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="20" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="20" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="39" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="47" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="20" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="20" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="39" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="47" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="20" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="20" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="39" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="47" state="ggrggrr"/>
<phase duration="5" state="ggrggrr"/>
<phase duration="1" state="ggrggrr"/>
<phase duration="20" state="ggrggrr"/>
</tlLogic> </tlLogic>
<tlLogic id="i8" type="static" programID="i8_prog" offset="-20">
<phase duration="30" state="grrrrrrrgGGGgrrr"/>
<phase duration="3" state="grrrrrrrgyyygrrr"/>
<phase duration="1" state="grrrrrrrgrrrgrrr"/>
<phase duration="32" state="grrrrrrrgrrrgGGG"/>
<phase duration="3" state="grrrrrrrgrrrgGGy"/>
<phase duration="1" state="grrrrrrrgrrrgGGr"/>
<phase duration="21" state="grrrGGGrgrrrgGGr"/>
<phase duration="3" state="grrrGGGrgrrrgyyr"/>
<phase duration="1" state="grrrGGGrgrrrgrrr"/>
<phase duration="54" state="grrrGGGGgrrrgrrr"/>
<phase duration="3" state="grrryyyygrrrgrrr"/>
<phase duration="1" state="grrrrrrrgrrrgrrr"/>
<phase duration="14" state="gGGGrrrrgrrrgrrr"/>
<phase duration="3" state="gyyyrrrrgrrrgrrr"/>
<phase duration="1" state="grrrrrrrgrrrgrrr"/>
<phase duration="29" state="grrrrrrrgGGGgrrr"/>
<phase duration="3" state="grrrrrrrgyyygrrr"/>
<phase duration="1" state="grrrrrrrgrrrgrrr"/>
<phase duration="32" state="grrrrrrrgrrrgGGG"/>
<phase duration="3" state="grrrrrrrgrrrgGGy"/>
<phase duration="1" state="grrrrrrrgrrrgGGr"/>
<phase duration="21" state="grrrGGGrgrrrgGGr"/>
<phase duration="3" state="grrrGGGrgrrrgyyr"/>
<phase duration="1" state="grrrGGGrgrrrgrrr"/>
<phase duration="54" state="grrrGGGGgrrrgrrr"/>
<phase duration="3" state="grrryyyygrrrgrrr"/>
<phase duration="1" state="grrrrrrrgrrrgrrr"/>
<phase duration="14" state="gGGGrrrrgrrrgrrr"/>
<phase duration="3" state="gyyyrrrrgrrrgrrr"/>
<phase duration="1" state="grrrrrrrgrrrgrrr"/>
<phase duration="29" state="grrrrrrrgGGGgrrr"/>
<phase duration="3" state="grrrrrrrgyyygrrr"/>
<phase duration="1" state="grrrrrrrgrrrgrrr"/>
<phase duration="32" state="grrrrrrrgrrrgGGG"/>
<phase duration="3" state="grrrrrrrgrrrgGGy"/>
<phase duration="1" state="grrrrrrrgrrrgGGr"/>
<phase duration="21" state="grrrGGGrgrrrgGGr"/>
<phase duration="3" state="grrrGGGrgrrrgyyr"/>
<phase duration="1" state="grrrGGGrgrrrgrrr"/>
<phase duration="54" state="grrrGGGGgrrrgrrr"/>
<phase duration="3" state="grrryyyygrrrgrrr"/>
<phase duration="1" state="grrrrrrrgrrrgrrr"/>
<phase duration="14" state="gGGGrrrrgrrrgrrr"/>
<phase duration="3" state="gyyyrrrrgrrrgrrr"/>
<phase duration="1" state="grrrrrrrgrrrgrrr"/>
<phase duration="29" state="grrrrrrrgGGGgrrr"/>
<phase duration="3" state="grrrrrrrgyyygrrr"/>
<phase duration="1" state="grrrrrrrgrrrgrrr"/>
<phase duration="32" state="grrrrrrrgrrrgGGG"/>
<phase duration="3" state="grrrrrrrgrrrgGGy"/>
<phase duration="1" state="grrrrrrrgrrrgGGr"/>
<phase duration="21" state="grrrGGGrgrrrgGGr"/>
<phase duration="3" state="grrrGGGrgrrrgyyr"/>
<phase duration="1" state="grrrGGGrgrrrgrrr"/>
<phase duration="54" state="grrrGGGGgrrrgrrr"/>
<tlLogic id="i8" type="static" programID="i8_prog" offset="-100">
<phase duration="29" state="rrrrrrrrgrrrrrrr"/>
<phase duration="4" state="rrrrrrrrgrrrrrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="30" state="rrrrrrrrgrrrGrrr"/>
<phase duration="4" state="rrrrrrrrgrrryrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="19" state="rrrrrrrGgrrrrrrr"/>
<phase duration="4" state="rrrrrrrGgrrrrrrr"/>
<phase duration="2" state="rrrrrrrGgrrrrrrr"/>
<phase duration="52" state="rrrrrrrGgrrrrrrr"/>
<phase duration="4" state="rrrrrrrygrrrrrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="12" state="GrrGrrrrgrrrrrrr"/>
<phase duration="4" state="yrryrrrrgrrrrrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="27" state="rrrrrrrrgrrrrrrr"/>
<phase duration="4" state="rrrrrrrrgrrrrrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="30" state="rrrrrrrrgrrrGrrr"/>
<phase duration="4" state="rrrrrrrrgrrryrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="19" state="rrrrrrrGgrrrrrrr"/>
<phase duration="4" state="rrrrrrrGgrrrrrrr"/>
<phase duration="2" state="rrrrrrrGgrrrrrrr"/>
<phase duration="52" state="rrrrrrrGgrrrrrrr"/>
<phase duration="4" state="rrrrrrrygrrrrrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="12" state="GrrGrrrrgrrrrrrr"/>
<phase duration="4" state="yrryrrrrgrrrrrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="27" state="rrrrrrrrgrrrrrrr"/>
<phase duration="4" state="rrrrrrrrgrrrrrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="30" state="rrrrrrrrgrrrGrrr"/>
<phase duration="4" state="rrrrrrrrgrrryrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="19" state="rrrrrrrGgrrrrrrr"/>
<phase duration="4" state="rrrrrrrGgrrrrrrr"/>
<phase duration="2" state="rrrrrrrGgrrrrrrr"/>
<phase duration="52" state="rrrrrrrGgrrrrrrr"/>
<phase duration="4" state="rrrrrrrygrrrrrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="12" state="GrrGrrrrgrrrrrrr"/>
<phase duration="4" state="yrryrrrrgrrrrrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="27" state="rrrrrrrrgrrrrrrr"/>
<phase duration="4" state="rrrrrrrrgrrrrrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="30" state="rrrrrrrrgrrrGrrr"/>
<phase duration="4" state="rrrrrrrrgrrryrrr"/>
<phase duration="2" state="rrrrrrrrgrrrrrrr"/>
<phase duration="19" state="rrrrrrrGgrrrrrrr"/>
<phase duration="4" state="rrrrrrrGgrrrrrrr"/>
<phase duration="2" state="rrrrrrrGgrrrrrrr"/>
<phase duration="52" state="rrrrrrrGgrrrrrrr"/>
</tlLogic> </tlLogic>
<tlLogic id="i9" type="static" programID="i9_prog" offset="-20">
<phase duration="42" state="GGGG"/>
<phase duration="4" state="yyyy"/>
<phase duration="1" state="rrrr"/>
<phase duration="109" state="rrrr"/>
<phase duration="4" state="rrrr"/>
<phase duration="1" state="rrrr"/>
<phase duration="41" state="GGGG"/>
<phase duration="4" state="yyyy"/>
<phase duration="1" state="rrrr"/>
<phase duration="109" state="rrrr"/>
<phase duration="4" state="rrrr"/>
<phase duration="1" state="rrrr"/>
<phase duration="41" state="GGGG"/>
<phase duration="4" state="yyyy"/>
<phase duration="1" state="rrrr"/>
<phase duration="109" state="rrrr"/>
<phase duration="4" state="rrrr"/>
<phase duration="1" state="rrrr"/>
<phase duration="41" state="GGGG"/>
<tlLogic id="i9" type="static" programID="i9_prog" offset="-9">
<phase duration="42" state="gggg"/>
<phase duration="4" state="gggg"/>
<phase duration="1" state="gggg"/>
<phase duration="109" state="gggg"/>
<phase duration="4" state="gggg"/>
<phase duration="1" state="gggg"/>
<phase duration="41" state="gggg"/>
<phase duration="4" state="gggg"/>
<phase duration="1" state="gggg"/>
<phase duration="109" state="gggg"/>
<phase duration="4" state="gggg"/>
<phase duration="1" state="gggg"/>
<phase duration="41" state="gggg"/>
<phase duration="4" state="gggg"/>
<phase duration="1" state="gggg"/>
<phase duration="109" state="gggg"/>
<phase duration="4" state="gggg"/>
<phase duration="1" state="gggg"/>
<phase duration="41" state="gggg"/>
</tlLogic> </tlLogic>
<tlLogic id="u00" type="static" programID="u00_prog" offset="-83">
<phase duration="44" state="ggggrgggg"/>
<phase duration="3" state="ggggrgggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="44" state="ggggGgggg"/>
<phase duration="3" state="ggggygggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="31" state="ggggrgggg"/>
<phase duration="3" state="ggggrgggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="19" state="ggggrgggg"/>
<phase duration="3" state="ggggrgggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="36" state="ggggrgggg"/>
<phase duration="3" state="ggggrgggg"/>
<phase duration="2" state="ggggrgggg"/>
<tlLogic id="u00" type="static" programID="u00_prog" offset="-159">
<phase duration="39" state="ggggrgggg"/> <phase duration="39" state="ggggrgggg"/>
<phase duration="3" state="ggggrgggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="41" state="ggggGgggg"/>
<phase duration="3" state="ggggygggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="4" state="ggggrgggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="40" state="ggggGgggg"/>
<phase duration="4" state="ggggygggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="28" state="ggggrgggg"/>
<phase duration="4" state="ggggrgggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="17" state="ggggrgggg"/>
<phase duration="4" state="ggggrgggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="32" state="ggggrgggg"/>
<phase duration="4" state="ggggrgggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="38" state="ggggrgggg"/>
<phase duration="4" state="ggggrgggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="40" state="ggggGgggg"/>
<phase duration="4" state="ggggygggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="28" state="ggggrgggg"/> <phase duration="28" state="ggggrgggg"/>
<phase duration="3" state="ggggrgggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="18" state="ggggrgggg"/>
<phase duration="3" state="ggggrgggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="4" state="ggggrgggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="17" state="ggggrgggg"/>
<phase duration="4" state="ggggrgggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="32" state="ggggrgggg"/> <phase duration="32" state="ggggrgggg"/>
<phase duration="3" state="ggggrgggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="4" state="ggggrgggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="38" state="ggggrgggg"/> <phase duration="38" state="ggggrgggg"/>
<phase duration="3" state="ggggrgggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="4" state="ggggrgggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="40" state="ggggGgggg"/> <phase duration="40" state="ggggGgggg"/>
<phase duration="3" state="ggggygggg"/>
<phase duration="2" state="ggggrgggg"/>
<phase duration="4" state="ggggygggg"/>
<phase duration="1" state="ggggrgggg"/>
<phase duration="28" state="ggggrgggg"/> <phase duration="28" state="ggggrgggg"/>
<phase duration="22" state="ggggrgggg"/> <phase duration="22" state="ggggrgggg"/>
</tlLogic> </tlLogic>
<tlLogic id="u20" type="static" programID="u20_prog" offset="-90">
<phase duration="39" state="ggrggg"/>
<phase duration="4" state="ggrggg"/>
<tlLogic id="u20" type="static" programID="u20_prog" offset="-180">
<phase duration="38" state="ggrggg"/>
<phase duration="5" state="ggrggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="22" state="ggGggg"/>
<phase duration="4" state="ggyggg"/>
<phase duration="21" state="ggGggg"/>
<phase duration="5" state="ggyggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="65" state="ggrggg"/>
<phase duration="4" state="ggrggg"/>
<phase duration="64" state="ggrggg"/>
<phase duration="5" state="ggrggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="35" state="ggrggg"/>
<phase duration="4" state="ggrggg"/>
<phase duration="34" state="ggrggg"/>
<phase duration="5" state="ggrggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="38" state="ggrggg"/>
<phase duration="4" state="ggrggg"/>
<phase duration="37" state="ggrggg"/>
<phase duration="5" state="ggrggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="22" state="ggGggg"/>
<phase duration="4" state="ggyggg"/>
<phase duration="21" state="ggGggg"/>
<phase duration="5" state="ggyggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="65" state="ggrggg"/>
<phase duration="4" state="ggrggg"/>
<phase duration="64" state="ggrggg"/>
<phase duration="5" state="ggrggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="35" state="ggrggg"/>
<phase duration="4" state="ggrggg"/>
<phase duration="34" state="ggrggg"/>
<phase duration="5" state="ggrggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="38" state="ggrggg"/>
<phase duration="4" state="ggrggg"/>
<phase duration="37" state="ggrggg"/>
<phase duration="5" state="ggrggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="35" state="ggrggg"/>
<phase duration="4" state="ggrggg"/>
<phase duration="21" state="ggGggg"/>
<phase duration="5" state="ggyggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="38" state="ggrggg"/>
<phase duration="4" state="ggrggg"/>
<phase duration="64" state="ggrggg"/>
<phase duration="5" state="ggrggg"/>
<phase duration="1" state="ggrggg"/>
<phase duration="34" state="ggrggg"/>
<phase duration="5" state="ggrggg"/>
<phase duration="1" state="ggrggg"/>
<phase duration="37" state="ggrggg"/>
<phase duration="5" state="ggrggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="22" state="ggGggg"/>
<phase duration="4" state="ggyggg"/>
<phase duration="21" state="ggGggg"/>
<phase duration="5" state="ggyggg"/>
<phase duration="1" state="ggrggg"/> <phase duration="1" state="ggrggg"/>
<phase duration="65" state="ggrggg"/>
<phase duration="64" state="ggrggg"/>
</tlLogic> </tlLogic>
<tlLogic id="u30" type="static" programID="u30_prog" offset="-111">
<tlLogic id="u30" type="static" programID="u30_prog" offset="-90">
<phase duration="34" state="ggggrggg"/> <phase duration="34" state="ggggrggg"/>
<phase duration="4" state="ggggrggg"/> <phase duration="4" state="ggggrggg"/>
<phase duration="1" state="ggggrggg"/> <phase duration="1" state="ggggrggg"/>
@ -506,7 +538,7 @@
<phase duration="1" state="ggggrggg"/> <phase duration="1" state="ggggrggg"/>
<phase duration="38" state="ggggrggg"/> <phase duration="38" state="ggggrggg"/>
</tlLogic> </tlLogic>
<tlLogic id="u31" type="static" programID="u31_prog" offset="-111">
<tlLogic id="u31" type="static" programID="u31_prog" offset="-90">
<phase duration="34" state="ggggGggg"/> <phase duration="34" state="ggggGggg"/>
<phase duration="4" state="ggggyggg"/> <phase duration="4" state="ggggyggg"/>
<phase duration="1" state="ggggrggg"/> <phase duration="1" state="ggggrggg"/>
@ -551,7 +583,7 @@
<phase duration="1" state="ggggrggg"/> <phase duration="1" state="ggggrggg"/>
<phase duration="38" state="ggggrggg"/> <phase duration="38" state="ggggrggg"/>
</tlLogic> </tlLogic>
<tlLogic id="u32" type="static" programID="u32_prog" offset="-111">
<tlLogic id="u32" type="static" programID="u32_prog" offset="-90">
<phase duration="34" state="gggggggG"/> <phase duration="34" state="gggggggG"/>
<phase duration="4" state="gggggggy"/> <phase duration="4" state="gggggggy"/>
<phase duration="1" state="gggggggr"/> <phase duration="1" state="gggggggr"/>
@ -596,7 +628,7 @@
<phase duration="1" state="gggggggr"/> <phase duration="1" state="gggggggr"/>
<phase duration="38" state="gggggggr"/> <phase duration="38" state="gggggggr"/>
</tlLogic> </tlLogic>
<tlLogic id="u60" type="static" programID="u60_prog" offset="-160">
<tlLogic id="u60" type="static" programID="u60_prog" offset="-131">
<phase duration="1" state="ggggggggr"/> <phase duration="1" state="ggggggggr"/>
<phase duration="23" state="ggggggggr"/> <phase duration="23" state="ggggggggr"/>
<phase duration="4" state="ggggggggr"/> <phase duration="4" state="ggggggggr"/>

+ 482
- 450
Results/sn_1704417900.add.xml
File diff suppressed because it is too large
View File


BIN
Scripts/__pycache__/generate_signals.cpython-38.pyc View File


BIN
Scripts/__pycache__/preprocess_daily.cpython-38.pyc View File


+ 44
- 44
Scripts/preprocess_daily.py View File

@ -43,7 +43,7 @@ class DailyPreprocessor():
loading_dtype = { loading_dtype = {
'inter_no':'int', 'start_hour':'int', 'start_minute':'int', 'cycle':'int','offset':'int', 'inter_no':'int', 'start_hour':'int', 'start_minute':'int', 'cycle':'int','offset':'int',
'node_id':'str', 'inter_type':'str', 'parent_id':'str','child_id':'str', 'node_id':'str', 'inter_type':'str', 'parent_id':'str','child_id':'str',
'direction':'str', 'condition':'str', 'inc_edge':'str', 'out_edge':'str',
'direction':'str', 'condition':'str', 'inc_edge_id':'str', 'out_edge_id':'str',
'end_unix':'int', 'inter_name':'str', 'inter_lat':'float', 'inter_lon':'float', 'end_unix':'int', 'inter_name':'str', 'inter_lat':'float', 'inter_lon':'float',
'group_no':'int', 'main_phase_no':'int', 'phase_no':'int','ring_type':'str', 'group_no':'int', 'main_phase_no':'int', 'phase_no':'int','ring_type':'str',
'angle_code':'str'} 'angle_code':'str'}
@ -315,7 +315,7 @@ class DailyPreprocessor():
match4의 id, id id match4의 id, id id
* , id를 : cosine similarity * , id를 : cosine similarity
: inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle, inc_edge, out_edge, node_id
: inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle, inc_edge_id, out_edge_id, node_id
''' '''
# parent node만 가져옴. # parent node만 가져옴.
@ -365,8 +365,8 @@ class DailyPreprocessor():
out_index = np.array([np.dot(out_vec, out_vec_true) for out_vec in out_vecs]).argmax() out_index = np.array([np.dot(out_vec, out_vec_true) for out_vec in out_vecs]).argmax()
inc_edge_id = inc_edges[inc_index].getID() inc_edge_id = inc_edges[inc_index].getID()
out_edge_id = out_edges[out_index].getID() out_edge_id = out_edges[out_index].getID()
self.match5.at[index, 'inc_edge'] = inc_edge_id
self.match5.at[index, 'out_edge'] = out_edge_id
self.match5.at[index, 'inc_edge_id'] = inc_edge_id
self.match5.at[index, 'out_edge_id'] = out_edge_id
self.match5['node_id'] = self.match5['inter_no'].map(self.inter2node) self.match5['node_id'] = self.match5['inter_no'].map(self.inter2node)
self.match5 = self.match5.sort_values(by=['inter_no','phase_no','ring_type']).reset_index(drop=True) self.match5 = self.match5.sort_values(by=['inter_no','phase_no','ring_type']).reset_index(drop=True)
@ -375,7 +375,7 @@ class DailyPreprocessor():
''' '''
match5에서 (, ) match5에서 (, )
: inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle, inc_edge, out_edge, node_id
: inter_no, phase_no, ring_type, move_no, inc_dire, out_dire, inc_angle, out_angle, inc_edge_id, out_edge_id, node_id
''' '''
self.node2inter = dict(zip(self.inter_node['node_id'], self.inter_node['inter_no'])) self.node2inter = dict(zip(self.inter_node['node_id'], self.inter_node['inter_no']))
@ -409,14 +409,14 @@ class DailyPreprocessor():
parent_id = row.parent_id parent_id = row.parent_id
dire = row.direction dire = row.direction
condition = row.condition condition = row.condition
inc_edge_id = row.inc_edge
out_edge_id = row.out_edge
inc_edge_id = row.inc_edge_id
out_edge_id = row.out_edge_id
# match5에서 부모노드id에 해당하는 행들을 가져옴 (cmatch) # match5에서 부모노드id에 해당하는 행들을 가져옴 (cmatch)
cmatch = self.match5.copy()[self.match5.node_id==parent_id] # match dataframe for a child node cmatch = self.match5.copy()[self.match5.node_id==parent_id] # match dataframe for a child node
cmatch = cmatch.sort_values(by=['phase_no', 'ring_type']).reset_index(drop=True) cmatch = cmatch.sort_values(by=['phase_no', 'ring_type']).reset_index(drop=True)
cmatch['node_id'] = child_id cmatch['node_id'] = child_id
cmatch[['inc_edge', 'out_edge']] = np.nan
cmatch[['inc_edge_id', 'out_edge_id']] = np.nan
# 보행신호시/좌회전시 진입/진출방향 # 보행신호시/좌회전시 진입/진출방향
ind = self.dires.index(dire) ind = self.dires.index(dire)
@ -432,9 +432,9 @@ class DailyPreprocessor():
# 보행신호시/좌회전시 진입/진출 엣지id 배정 # 보행신호시/좌회전시 진입/진출 엣지id 배정
ind = self.dires.index(dire) ind = self.dires.index(dire)
if condition == "보행신호시": if condition == "보행신호시":
cmatch.loc[pedes_exists, ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id]
cmatch.loc[pedes_exists, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]
elif condition == "좌회전시": elif condition == "좌회전시":
cmatch.loc[right_exists, ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id]
cmatch.loc[right_exists, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]
# 신호없음이동류발생시/보행신호이동류발생시 조건 # 신호없음이동류발생시/보행신호이동류발생시 조건
all_redsigns = cmatch.move_no == 18 all_redsigns = cmatch.move_no == 18
@ -442,20 +442,20 @@ class DailyPreprocessor():
# 만약 어떤 유턴신호도 배정되지 않았다면 # 만약 어떤 유턴신호도 배정되지 않았다면
# 좌회전시 → 보행신호시 → 보행신호이동류발생시 → 신호없음이동류발생시 순으로 진입/진출 엣지id 배정 # 좌회전시 → 보행신호시 → 보행신호이동류발생시 → 신호없음이동류발생시 순으로 진입/진출 엣지id 배정
uturn_not_assigned = cmatch[['inc_edge','out_edge']].isna().any(axis=1).all()
uturn_not_assigned = cmatch[['inc_edge_id','out_edge_id']].isna().any(axis=1).all()
if uturn_not_assigned: if uturn_not_assigned:
# 좌회전시 # 좌회전시
if right_exists.any(): if right_exists.any():
cmatch.loc[right_exists, ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id]
cmatch.loc[right_exists, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]
# 보행신호시 # 보행신호시
elif pedes_exists.any(): elif pedes_exists.any():
cmatch.loc[pedes_exists, ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id]
cmatch.loc[pedes_exists, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]
# 보행신호이동류(17) 발생시 # 보행신호이동류(17) 발생시
elif crosswalk_on.any(): elif crosswalk_on.any():
cmatch.loc[crosswalk_on & (cmatch.out_dire!=dire), ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id]
cmatch.loc[crosswalk_on & (cmatch.out_dire!=dire), ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]
# 신호없음이동류(18) 발생시 # 신호없음이동류(18) 발생시
elif all_redsigns.any(): elif all_redsigns.any():
cmatch.loc[all_redsigns & (cmatch.out_dire!=dire), ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id]
cmatch.loc[all_redsigns & (cmatch.out_dire!=dire), ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]
cmatches.append(cmatch) cmatches.append(cmatch)
# 각 연등교차로(coordination node)에 대하여 (inc_edge_id, out_edge_id) 부여 # 각 연등교차로(coordination node)에 대하여 (inc_edge_id, out_edge_id) 부여
@ -477,11 +477,11 @@ class DailyPreprocessor():
, (1~18, 21) ·ID를 , (1~18, 21) ·ID를
* *
: inter_no, move_no, inc_dire, out_dire, inc_edge, out_edge, node_id
: inter_no, move_no, inc_dire, out_dire, inc_edge_id, out_edge_id, node_id
''' '''
self.match7 = self.match6.copy() self.match7 = self.match6.copy()
self.match7 = self.match7[['inter_no', 'move_no', 'inc_dire', 'out_dire', 'inc_edge', 'out_edge', 'node_id']]
self.match7 = self.match7[['inter_no', 'move_no', 'inc_dire', 'out_dire', 'inc_edge_id', 'out_edge_id', 'node_id']]
# parent_ids = sorted(self.inter_node[self.inter_node.inter_type=='parent'].node_id.unique()) # parent_ids = sorted(self.inter_node[self.inter_node.inter_type=='parent'].node_id.unique())
# child_ids = sorted(self.inter_node[self.inter_node.inter_type=='child'].node_id.unique()) # child_ids = sorted(self.inter_node[self.inter_node.inter_type=='child'].node_id.unique())
@ -499,13 +499,13 @@ class DailyPreprocessor():
for node_id in self.parent_ids: for node_id in self.parent_ids:
for inc_dire in pdires[node_id]: for inc_dire in pdires[node_id]:
df = self.match7[(self.match7.node_id==node_id) & (self.match7.inc_dire==inc_dire)] df = self.match7[(self.match7.node_id==node_id) & (self.match7.inc_dire==inc_dire)]
inc2id[(node_id, inc_dire)] = df.inc_edge.iloc[0]
inc2id[(node_id, inc_dire)] = df.inc_edge_id.iloc[0]
# (4) 각 (교차로, 진출방향) 별 진출id 목록 : out2id (outgoing direction to outgoing edge_id) # (4) 각 (교차로, 진출방향) 별 진출id 목록 : out2id (outgoing direction to outgoing edge_id)
out2id = {} out2id = {}
for node_id in self.parent_ids: for node_id in self.parent_ids:
for out_dire in pdires[node_id]: for out_dire in pdires[node_id]:
df = self.match7[(self.match7.node_id==node_id) & (self.match7.out_dire==out_dire)] df = self.match7[(self.match7.node_id==node_id) & (self.match7.out_dire==out_dire)]
out2id[(node_id, out_dire)] = df.out_edge.iloc[0]
out2id[(node_id, out_dire)] = df.out_edge_id.iloc[0]
# (5) 각 교차로별 가능한 (진입방향, 진출방향) 목록 : pflow (possible flows) # (5) 각 교차로별 가능한 (진입방향, 진출방향) 목록 : pflow (possible flows)
pflow = {} pflow = {}
for node_id in self.parent_ids: for node_id in self.parent_ids:
@ -519,27 +519,27 @@ class DailyPreprocessor():
# 좌회전과 직진(1 ~ 16) # 좌회전과 직진(1 ~ 16)
for (inc_dire, out_dire) in pflow[node_id]: for (inc_dire, out_dire) in pflow[node_id]:
move_no = self.nema[(self.nema.inc_dire==inc_dire) & (self.nema.out_dire==out_dire)].move_no.iloc[0] move_no = self.nema[(self.nema.inc_dire==inc_dire) & (self.nema.out_dire==out_dire)].move_no.iloc[0]
inc_edge = inc2id[(node_id, inc_dire)]
out_edge = out2id[(node_id, out_dire)]
inc_edge_id = inc2id[(node_id, inc_dire)]
out_edge_id = out2id[(node_id, out_dire)]
new_row = pd.DataFrame({'inter_no':[inter_no], 'move_no':[move_no], new_row = pd.DataFrame({'inter_no':[inter_no], 'move_no':[move_no],
'inc_dire':[inc_dire], 'out_dire':[out_dire], 'inc_dire':[inc_dire], 'out_dire':[out_dire],
'inc_edge':[inc_edge], 'out_edge':[out_edge], 'node_id':[node_id]})
'inc_edge_id':[inc_edge_id], 'out_edge_id':[out_edge_id], 'node_id':[node_id]})
self.matching.append(new_row) self.matching.append(new_row)
# 보행신호(17), 전적색(18) # 보행신호(17), 전적색(18)
new_row = pd.DataFrame({'inter_no':[inter_no] * 2, 'move_no':[17, 18], new_row = pd.DataFrame({'inter_no':[inter_no] * 2, 'move_no':[17, 18],
'inc_dire':[None]*2, 'out_dire':[None]*2, 'inc_dire':[None]*2, 'out_dire':[None]*2,
'inc_edge':[None]*2, 'out_edge':[None]*2, 'node_id':[node_id]*2})
'inc_edge_id':[None]*2, 'out_edge_id':[None]*2, 'node_id':[node_id]*2})
self.matching.append(new_row) self.matching.append(new_row)
# 신호우회전(21) # 신호우회전(21)
for d in range(len(dires_right)-1): for d in range(len(dires_right)-1):
inc_dire = dires_right[d] inc_dire = dires_right[d]
out_dire = dires_right[d+1] out_dire = dires_right[d+1]
if {inc_dire, out_dire}.issubset(pdires[node_id]): if {inc_dire, out_dire}.issubset(pdires[node_id]):
inc_edge = inc2id[(node_id, inc_dire)]
out_edge = out2id[(node_id, out_dire)]
inc_edge_id = inc2id[(node_id, inc_dire)]
out_edge_id = out2id[(node_id, out_dire)]
new_row = pd.DataFrame({'inter_no':[inter_no], 'move_no':[21], new_row = pd.DataFrame({'inter_no':[inter_no], 'move_no':[21],
'inc_dire':[inc_dire], 'out_dire':[out_dire], 'inc_dire':[inc_dire], 'out_dire':[out_dire],
'inc_edge':[inc_edge], 'out_edge':[out_edge], 'node_id':[node_id]})
'inc_edge_id':[inc_edge_id], 'out_edge_id':[out_edge_id], 'node_id':[node_id]})
self.matching.append(new_row) self.matching.append(new_row)
self.matching.append(self.match7[self.match7.node_id.isin(self.child_ids)]) self.matching.append(self.match7[self.match7.node_id.isin(self.child_ids)])
self.matching = pd.concat(self.matching) self.matching = pd.concat(self.matching)
@ -594,11 +594,11 @@ class DailyPreprocessor():
for _, row in self.matching.iterrows(): for _, row in self.matching.iterrows():
node_id = row.node_id node_id = row.node_id
move_no = row.move_no move_no = row.move_no
inc_edge = row.inc_edge
out_edge = row.out_edge
inc_edge_id = row.inc_edge_id
out_edge_id = row.out_edge_id
if move_no != 21: if move_no != 21:
inc_edge = self.net.getEdge(inc_edge)
out_edge = self.net.getEdge(out_edge)
inc_edge = self.net.getEdge(inc_edge_id)
out_edge = self.net.getEdge(out_edge_id)
for conn in inc_edge.getConnections(out_edge): for conn in inc_edge.getConnections(out_edge):
index = conn.getTLLinkIndex() index = conn.getTLLinkIndex()
if index >= 0: if index >= 0:
@ -619,11 +619,11 @@ class DailyPreprocessor():
# 유턴교차로 # 유턴교차로
for _, row in self.uturn.iterrows(): for _, row in self.uturn.iterrows():
node_id = row.child_id node_id = row.child_id
inc_edge = row.inc_edge
out_edge = row.out_edge
if not (pd.isna(inc_edge) and pd.isna(out_edge)):
inc_edge = self.net.getEdge(inc_edge)
out_edge = self.net.getEdge(out_edge)
inc_edge_id = row.inc_edge_id
out_edge = row.out_edge_id
if not (pd.isna(inc_edge_id) and pd.isna(out_edge_id)):
inc_edge = self.net.getEdge(inc_edge_id)
out_edge = self.net.getEdge(out_edge_id)
for conn in inc_edge.getConnections(out_edge): for conn in inc_edge.getConnections(out_edge):
index = conn.getTLLinkIndex() index = conn.getTLLinkIndex()
if index >= 0: if index >= 0:
@ -644,13 +644,13 @@ class DailyPreprocessor():
for row in self.matching.itertuples(index=True): for row in self.matching.itertuples(index=True):
node_id = row.node_id node_id = row.node_id
move_no = row.move_no move_no = row.move_no
inc_edge = row.inc_edge
out_edge = row.out_edge
inc_edge_id = row.inc_edge_id
out_edge_id = row.out_edge_id
state = copy.deepcopy(self.node2init)[node_id] state = copy.deepcopy(self.node2init)[node_id]
if move_no != 21: if move_no != 21:
inc_edge = self.net.getEdge(inc_edge)
out_edge = self.net.getEdge(out_edge)
inc_edge = self.net.getEdge(inc_edge_id)
out_edge = self.net.getEdge(out_edge_id)
for conn in inc_edge.getConnections(out_edge): for conn in inc_edge.getConnections(out_edge):
index = conn.getTLLinkIndex() index = conn.getTLLinkIndex()
if index >= 0: if index >= 0:
@ -671,15 +671,15 @@ class DailyPreprocessor():
for i, row in self.match6.iterrows(): for i, row in self.match6.iterrows():
node_id = row.node_id node_id = row.node_id
move_no = row.move_no move_no = row.move_no
inc_edge = row.inc_edge
out_edge = row.out_edge
inc_edge_id = row.inc_edge_id
out_edge_id = row.out_edge_id
state = copy.deepcopy(self.node2init)[node_id] state = copy.deepcopy(self.node2init)[node_id]
if (pd.isna(inc_edge)) or (pd.isna(out_edge)):
if (pd.isna(inc_edge_id)) or (pd.isna(out_edge_id)):
continue continue
if (move_no != 21): if (move_no != 21):
# print(i, node_id, move_no, ''.join(state)) # print(i, node_id, move_no, ''.join(state))
inc_edge = self.net.getEdge(inc_edge)
out_edge = self.net.getEdge(out_edge)
inc_edge = self.net.getEdge(inc_edge_id)
out_edge = self.net.getEdge(out_edge_id)
for conn in inc_edge.getConnections(out_edge): for conn in inc_edge.getConnections(out_edge):
index = conn.getTLLinkIndex() index = conn.getTLLinkIndex()
if index >= 0: if index >= 0:

Loading…
Cancel
Save