From a811c07d09db0e51064a49a01da672be0e94a43a Mon Sep 17 00:00:00 2001 From: govin08 Date: Fri, 8 Mar 2024 15:47:01 +0900 Subject: [PATCH] new uturn allocation code is applied (allocate for unallocated uturn nodes) --- .../0307_red_yellow/0307_red_yellow.ipynb | 907 ++++++++++++------ .../0307_red_yellow/0307_red_yellow_2.ipynb | 23 + Intermediates/match6.csv | 14 +- Intermediates/matching.csv | 10 +- Scripts/preprocess_daily.py | 55 +- 5 files changed, 669 insertions(+), 340 deletions(-) diff --git a/Analysis/0307_red_yellow/0307_red_yellow.ipynb b/Analysis/0307_red_yellow/0307_red_yellow.ipynb index 4ae002d96..194d88994 100644 --- a/Analysis/0307_red_yellow/0307_red_yellow.ipynb +++ b/Analysis/0307_red_yellow/0307_red_yellow.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 86, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -23,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -32,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -59,7 +59,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -419,7 +419,7 @@ "[478 rows x 21 columns]" ] }, - "execution_count": 90, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -432,7 +432,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -479,9 +479,9 @@ " \n", " \n", " \n", - " 1816\n", + " 1944\n", " 175\n", - " 1704414509\n", + " 1704417260\n", " 43\n", " 45\n", " 55\n", @@ -501,9 +501,9 @@ " 180\n", " \n", " \n", - " 1824\n", + " 1953\n", " 175\n", - " 1704414690\n", + " 1704417440\n", " 43\n", " 45\n", " 55\n", @@ -523,9 +523,9 @@ " 180\n", " \n", " \n", - " 1832\n", + " 1959\n", " 175\n", - " 1704414871\n", + " 1704417620\n", " 43\n", " 45\n", " 55\n", @@ -545,9 +545,9 @@ " 180\n", " \n", " \n", - " 1840\n", + " 1969\n", " 175\n", - " 1704415050\n", + " 1704417800\n", " 43\n", " 45\n", " 55\n", @@ -567,9 +567,9 @@ " 180\n", " \n", " \n", - " 1849\n", + " 1976\n", " 175\n", - " 1704415230\n", + " 1704417980\n", " 43\n", " 45\n", " 55\n", @@ -589,9 +589,9 @@ " 180\n", " \n", " \n", - " 1857\n", + " 1986\n", " 175\n", - " 1704415410\n", + " 1704418160\n", " 43\n", " 45\n", " 55\n", @@ -611,9 +611,9 @@ " 180\n", " \n", " \n", - " 1865\n", + " 1993\n", " 175\n", - " 1704415589\n", + " 1704418340\n", " 43\n", " 45\n", " 55\n", @@ -633,9 +633,9 @@ " 180\n", " \n", " \n", - " 1874\n", + " 2001\n", " 175\n", - " 1704415770\n", + " 1704418520\n", " 43\n", " 45\n", " 55\n", @@ -655,9 +655,9 @@ " 180\n", " \n", " \n", - " 1882\n", + " 2011\n", " 175\n", - " 1704415950\n", + " 1704418699\n", " 43\n", " 45\n", " 55\n", @@ -677,9 +677,9 @@ " 180\n", " \n", " \n", - " 1893\n", + " 2018\n", " 175\n", - " 1704416178\n", + " 1704418880\n", " 43\n", " 45\n", " 55\n", @@ -701,7 +701,7 @@ " \n", " 0\n", " 175\n", - " 1704416820\n", + " 1704419520\n", " 43\n", " 45\n", " 55\n", @@ -726,46 +726,46 @@ ], "text/plain": [ " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", - "1816 175 1704414509 43 45 55 37 0 \n", - "1824 175 1704414690 43 45 55 37 0 \n", - "1832 175 1704414871 43 45 55 37 0 \n", - "1840 175 1704415050 43 45 55 37 0 \n", - "1849 175 1704415230 43 45 55 37 0 \n", - "1857 175 1704415410 43 45 55 37 0 \n", - "1865 175 1704415589 43 45 55 37 0 \n", - "1874 175 1704415770 43 45 55 37 0 \n", - "1882 175 1704415950 43 45 55 37 0 \n", - "1893 175 1704416178 43 45 55 37 0 \n", - "0 175 1704416820 43 45 55 37 0 \n", + "1944 175 1704417260 43 45 55 37 0 \n", + "1953 175 1704417440 43 45 55 37 0 \n", + "1959 175 1704417620 43 45 55 37 0 \n", + "1969 175 1704417800 43 45 55 37 0 \n", + "1976 175 1704417980 43 45 55 37 0 \n", + "1986 175 1704418160 43 45 55 37 0 \n", + "1993 175 1704418340 43 45 55 37 0 \n", + "2001 175 1704418520 43 45 55 37 0 \n", + "2011 175 1704418699 43 45 55 37 0 \n", + "2018 175 1704418880 43 45 55 37 0 \n", + "0 175 1704419520 43 45 55 37 0 \n", "\n", " dura_A6 dura_A7 dura_A8 dura_B1 dura_B2 dura_B3 dura_B4 dura_B5 \\\n", - "1816 0 0 0 43 45 33 59 0 \n", - "1824 0 0 0 43 45 33 59 0 \n", - "1832 0 0 0 43 45 33 59 0 \n", - "1840 0 0 0 43 45 33 59 0 \n", - "1849 0 0 0 43 45 33 59 0 \n", - "1857 0 0 0 43 45 33 59 0 \n", - "1865 0 0 0 43 45 33 59 0 \n", - "1874 0 0 0 43 45 33 59 0 \n", - "1882 0 0 0 43 45 33 59 0 \n", - "1893 0 0 0 43 45 33 59 0 \n", + "1944 0 0 0 43 45 33 59 0 \n", + "1953 0 0 0 43 45 33 59 0 \n", + "1959 0 0 0 43 45 33 59 0 \n", + "1969 0 0 0 43 45 33 59 0 \n", + "1976 0 0 0 43 45 33 59 0 \n", + "1986 0 0 0 43 45 33 59 0 \n", + "1993 0 0 0 43 45 33 59 0 \n", + "2001 0 0 0 43 45 33 59 0 \n", + "2011 0 0 0 43 45 33 59 0 \n", + "2018 0 0 0 43 45 33 59 0 \n", "0 0 0 0 43 45 33 59 0 \n", "\n", " dura_B6 dura_B7 dura_B8 cycle \n", - "1816 0 0 0 180 \n", - "1824 0 0 0 180 \n", - "1832 0 0 0 180 \n", - "1840 0 0 0 180 \n", - "1849 0 0 0 180 \n", - "1857 0 0 0 180 \n", - "1865 0 0 0 180 \n", - "1874 0 0 0 180 \n", - "1882 0 0 0 180 \n", - "1893 0 0 0 180 \n", + "1944 0 0 0 180 \n", + "1953 0 0 0 180 \n", + "1959 0 0 0 180 \n", + "1969 0 0 0 180 \n", + "1976 0 0 0 180 \n", + "1986 0 0 0 180 \n", + "1993 0 0 0 180 \n", + "2001 0 0 0 180 \n", + "2011 0 0 0 180 \n", + "2018 0 0 0 180 \n", "0 0 0 0 180 " ] }, - "execution_count": 91, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -776,7 +776,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -827,7 +827,7 @@ " \n", " 6\n", " 175\n", - " 1704415589\n", + " 1704418340\n", " 43\n", " 45\n", " 55\n", @@ -851,7 +851,7 @@ " \n", " 7\n", " 175\n", - " 1704415770\n", + " 1704418520\n", " 43\n", " 45\n", " 55\n", @@ -875,7 +875,7 @@ " \n", " 8\n", " 175\n", - " 1704415950\n", + " 1704418699\n", " 43\n", " 45\n", " 55\n", @@ -899,15 +899,15 @@ " \n", " 9\n", " 175\n", - " 1704416178\n", - " 54\n", - " 57\n", - " 70\n", - " 47\n", - " 54\n", - " 57\n", - " 42\n", - " 75\n", + " 1704418880\n", + " 43\n", + " 45\n", + " 55\n", + " 37\n", + " 43\n", + " 45\n", + " 33\n", + " 59\n", " ...\n", " NaN\n", " NaN\n", @@ -923,7 +923,7 @@ " \n", " 10\n", " 175\n", - " 1704416358\n", + " 1704419060\n", " 43\n", " 45\n", " 55\n", @@ -947,7 +947,7 @@ " \n", " 11\n", " 175\n", - " 1704416538\n", + " 1704419240\n", " 43\n", " 45\n", " 55\n", @@ -971,7 +971,7 @@ " \n", " 12\n", " 175\n", - " 1704416718\n", + " 1704419420\n", " 43\n", " 45\n", " 55\n", @@ -995,14 +995,14 @@ " \n", " 13\n", " 175\n", - " 1704416820\n", + " 1704419520\n", " 24\n", - " 26\n", + " 25\n", " 31\n", - " 21\n", + " 20\n", " 24\n", - " 26\n", - " 19\n", + " 25\n", + " 18\n", " 33\n", " ...\n", " NaN\n", @@ -1023,24 +1023,24 @@ ], "text/plain": [ " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_B1 \\\n", - "6 175 1704415589 43 45 55 37 43 \n", - "7 175 1704415770 43 45 55 37 43 \n", - "8 175 1704415950 43 45 55 37 43 \n", - "9 175 1704416178 54 57 70 47 54 \n", - "10 175 1704416358 43 45 55 37 43 \n", - "11 175 1704416538 43 45 55 37 43 \n", - "12 175 1704416718 43 45 55 37 43 \n", - "13 175 1704416820 24 26 31 21 24 \n", + "6 175 1704418340 43 45 55 37 43 \n", + "7 175 1704418520 43 45 55 37 43 \n", + "8 175 1704418699 43 45 55 37 43 \n", + "9 175 1704418880 43 45 55 37 43 \n", + "10 175 1704419060 43 45 55 37 43 \n", + "11 175 1704419240 43 45 55 37 43 \n", + "12 175 1704419420 43 45 55 37 43 \n", + "13 175 1704419520 24 25 31 20 24 \n", "\n", " dura_B2 dura_B3 dura_B4 ... red_A4 red_B4 red_A5 red_B5 red_A6 \\\n", "6 45 33 59 ... NaN NaN NaN NaN NaN \n", "7 45 33 59 ... NaN NaN NaN NaN NaN \n", "8 45 33 59 ... NaN NaN NaN NaN NaN \n", - "9 57 42 75 ... NaN NaN NaN NaN NaN \n", + "9 45 33 59 ... NaN NaN NaN NaN NaN \n", "10 45 33 59 ... 1.0 1.0 1.0 1.0 1.0 \n", "11 45 33 59 ... 1.0 1.0 1.0 1.0 1.0 \n", "12 45 33 59 ... 1.0 1.0 1.0 1.0 1.0 \n", - "13 26 19 33 ... NaN NaN NaN NaN NaN \n", + "13 25 18 33 ... NaN NaN NaN NaN NaN \n", "\n", " red_B6 red_A7 red_B7 red_A8 red_B8 \n", "6 NaN NaN NaN NaN NaN \n", @@ -1055,7 +1055,7 @@ "[8 rows x 43 columns]" ] }, - "execution_count": 92, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -1070,7 +1070,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -1103,121 +1103,121 @@ " \n", " \n", " \n", - " 184\n", + " 209\n", " 175\n", - " 1704415589\n", + " 1704418340\n", " 1\n", " 1\n", " 43\n", " \n", " \n", - " 185\n", + " 210\n", " 175\n", - " 1704415589\n", + " 1704418340\n", " 2\n", " 2\n", " 45\n", " \n", " \n", - " 186\n", + " 211\n", " 175\n", - " 1704415589\n", + " 1704418340\n", " 3\n", " 3\n", " 33\n", " \n", " \n", - " 187\n", + " 212\n", " 175\n", - " 1704415589\n", + " 1704418340\n", " 3\n", " 4\n", " 22\n", " \n", " \n", - " 188\n", + " 213\n", " 175\n", - " 1704415589\n", + " 1704418340\n", " 4\n", " 4\n", " 37\n", " \n", " \n", - " 189\n", + " 214\n", " 175\n", - " 1704415770\n", + " 1704418520\n", " 1\n", " 1\n", " 43\n", " \n", " \n", - " 190\n", + " 215\n", " 175\n", - " 1704415770\n", + " 1704418520\n", " 2\n", " 2\n", " 45\n", " \n", " \n", - " 191\n", + " 216\n", " 175\n", - " 1704415770\n", + " 1704418520\n", " 3\n", " 3\n", " 33\n", " \n", " \n", - " 192\n", + " 217\n", " 175\n", - " 1704415770\n", + " 1704418520\n", " 3\n", " 4\n", " 22\n", " \n", " \n", - " 193\n", + " 218\n", " 175\n", - " 1704415770\n", + " 1704418520\n", " 4\n", " 4\n", " 37\n", " \n", " \n", - " 194\n", + " 219\n", " 175\n", - " 1704415950\n", + " 1704418699\n", " 1\n", " 1\n", " 43\n", " \n", " \n", - " 195\n", + " 220\n", " 175\n", - " 1704415950\n", + " 1704418699\n", " 2\n", " 2\n", " 45\n", " \n", " \n", - " 196\n", + " 221\n", " 175\n", - " 1704415950\n", + " 1704418699\n", " 3\n", " 3\n", " 33\n", " \n", " \n", - " 197\n", + " 222\n", " 175\n", - " 1704415950\n", + " 1704418699\n", " 3\n", " 4\n", " 22\n", " \n", " \n", - " 198\n", + " 223\n", " 175\n", - " 1704415950\n", + " 1704418699\n", " 4\n", " 4\n", " 37\n", @@ -1228,24 +1228,24 @@ ], "text/plain": [ " inter_no start_unix phas_A phas_B duration\n", - "184 175 1704415589 1 1 43\n", - "185 175 1704415589 2 2 45\n", - "186 175 1704415589 3 3 33\n", - "187 175 1704415589 3 4 22\n", - "188 175 1704415589 4 4 37\n", - "189 175 1704415770 1 1 43\n", - "190 175 1704415770 2 2 45\n", - "191 175 1704415770 3 3 33\n", - "192 175 1704415770 3 4 22\n", - "193 175 1704415770 4 4 37\n", - "194 175 1704415950 1 1 43\n", - "195 175 1704415950 2 2 45\n", - "196 175 1704415950 3 3 33\n", - "197 175 1704415950 3 4 22\n", - "198 175 1704415950 4 4 37" + "209 175 1704418340 1 1 43\n", + "210 175 1704418340 2 2 45\n", + "211 175 1704418340 3 3 33\n", + "212 175 1704418340 3 4 22\n", + "213 175 1704418340 4 4 37\n", + "214 175 1704418520 1 1 43\n", + "215 175 1704418520 2 2 45\n", + "216 175 1704418520 3 3 33\n", + "217 175 1704418520 3 4 22\n", + "218 175 1704418520 4 4 37\n", + "219 175 1704418699 1 1 43\n", + "220 175 1704418699 2 2 45\n", + "221 175 1704418699 3 3 33\n", + "222 175 1704418699 3 4 22\n", + "223 175 1704418699 4 4 37" ] }, - "execution_count": 93, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -1257,7 +1257,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -1294,9 +1294,9 @@ " \n", " \n", " \n", - " 185\n", + " 205\n", " 175\n", - " 1704415950\n", + " 1704418520\n", " 1\n", " 1\n", " 8\n", @@ -1306,9 +1306,9 @@ " gGGrgrrrgGGGGrgrr\n", " \n", " \n", - " 186\n", + " 206\n", " 175\n", - " 1704415950\n", + " 1704418520\n", " 2\n", " 2\n", " 7\n", @@ -1318,9 +1318,9 @@ " grrGgrrrgrrrrGgrr\n", " \n", " \n", - " 187\n", + " 207\n", " 175\n", - " 1704415950\n", + " 1704418520\n", " 3\n", " 3\n", " 6\n", @@ -1330,9 +1330,9 @@ " grrrgGGGgrrrrrgrr\n", " \n", " \n", - " 188\n", + " 208\n", " 175\n", - " 1704415950\n", + " 1704418520\n", " 3\n", " 4\n", " 6\n", @@ -1342,9 +1342,9 @@ " grrrgGGrgrrrrrgGr\n", " \n", " \n", - " 189\n", + " 209\n", " 175\n", - " 1704415950\n", + " 1704418520\n", " 4\n", " 4\n", " 5\n", @@ -1354,69 +1354,69 @@ " grrrgrrrgrrrrrgGG\n", " \n", " \n", - " 190\n", + " 210\n", " 175\n", - " 1704416178\n", + " 1704418699\n", " 1\n", " 1\n", " 8\n", " 4\n", - " 54\n", + " 43\n", " i0\n", " gGGrgrrrgGGGGrgrr\n", " \n", " \n", - " 191\n", + " 211\n", " 175\n", - " 1704416178\n", + " 1704418699\n", " 2\n", " 2\n", " 7\n", " 3\n", - " 57\n", + " 45\n", " i0\n", " grrGgrrrgrrrrGgrr\n", " \n", " \n", - " 192\n", + " 212\n", " 175\n", - " 1704416178\n", + " 1704418699\n", " 3\n", " 3\n", " 6\n", " 1\n", - " 42\n", + " 33\n", " i0\n", " grrrgGGGgrrrrrgrr\n", " \n", " \n", - " 193\n", + " 213\n", " 175\n", - " 1704416178\n", + " 1704418699\n", " 3\n", " 4\n", " 6\n", " 2\n", - " 28\n", + " 22\n", " i0\n", " grrrgGGrgrrrrrgGr\n", " \n", " \n", - " 194\n", + " 214\n", " 175\n", - " 1704416178\n", + " 1704418699\n", " 4\n", " 4\n", " 5\n", " 2\n", - " 47\n", + " 37\n", " i0\n", " grrrgrrrgrrrrrgGG\n", " \n", " \n", - " 195\n", + " 215\n", " 175\n", - " 1704416358\n", + " 1704418880\n", " 1\n", " 1\n", " 8\n", @@ -1426,9 +1426,9 @@ " gGGrgrrrgGGGGrgrr\n", " \n", " \n", - " 196\n", + " 216\n", " 175\n", - " 1704416358\n", + " 1704418880\n", " 2\n", " 2\n", " 7\n", @@ -1438,9 +1438,9 @@ " grrGgrrrgrrrrGgrr\n", " \n", " \n", - " 197\n", + " 217\n", " 175\n", - " 1704416358\n", + " 1704418880\n", " 3\n", " 3\n", " 6\n", @@ -1450,9 +1450,9 @@ " grrrgGGGgrrrrrgrr\n", " \n", " \n", - " 198\n", + " 218\n", " 175\n", - " 1704416358\n", + " 1704418880\n", " 3\n", " 4\n", " 6\n", @@ -1462,9 +1462,9 @@ " grrrgGGrgrrrrrgGr\n", " \n", " \n", - " 199\n", + " 219\n", " 175\n", - " 1704416358\n", + " 1704418880\n", " 4\n", " 4\n", " 5\n", @@ -1479,41 +1479,41 @@ ], "text/plain": [ " inter_no start_unix phas_A phas_B move_A move_B duration node_id \\\n", - "185 175 1704415950 1 1 8 4 43 i0 \n", - "186 175 1704415950 2 2 7 3 45 i0 \n", - "187 175 1704415950 3 3 6 1 33 i0 \n", - "188 175 1704415950 3 4 6 2 22 i0 \n", - "189 175 1704415950 4 4 5 2 37 i0 \n", - "190 175 1704416178 1 1 8 4 54 i0 \n", - "191 175 1704416178 2 2 7 3 57 i0 \n", - "192 175 1704416178 3 3 6 1 42 i0 \n", - "193 175 1704416178 3 4 6 2 28 i0 \n", - "194 175 1704416178 4 4 5 2 47 i0 \n", - "195 175 1704416358 1 1 8 4 43 i0 \n", - "196 175 1704416358 2 2 7 3 45 i0 \n", - "197 175 1704416358 3 3 6 1 33 i0 \n", - "198 175 1704416358 3 4 6 2 22 i0 \n", - "199 175 1704416358 4 4 5 2 37 i0 \n", + "205 175 1704418520 1 1 8 4 43 i0 \n", + "206 175 1704418520 2 2 7 3 45 i0 \n", + "207 175 1704418520 3 3 6 1 33 i0 \n", + "208 175 1704418520 3 4 6 2 22 i0 \n", + "209 175 1704418520 4 4 5 2 37 i0 \n", + "210 175 1704418699 1 1 8 4 43 i0 \n", + "211 175 1704418699 2 2 7 3 45 i0 \n", + "212 175 1704418699 3 3 6 1 33 i0 \n", + "213 175 1704418699 3 4 6 2 22 i0 \n", + "214 175 1704418699 4 4 5 2 37 i0 \n", + "215 175 1704418880 1 1 8 4 43 i0 \n", + "216 175 1704418880 2 2 7 3 45 i0 \n", + "217 175 1704418880 3 3 6 1 33 i0 \n", + "218 175 1704418880 3 4 6 2 22 i0 \n", + "219 175 1704418880 4 4 5 2 37 i0 \n", "\n", " state \n", - "185 gGGrgrrrgGGGGrgrr \n", - "186 grrGgrrrgrrrrGgrr \n", - "187 grrrgGGGgrrrrrgrr \n", - "188 grrrgGGrgrrrrrgGr \n", - "189 grrrgrrrgrrrrrgGG \n", - "190 gGGrgrrrgGGGGrgrr \n", - "191 grrGgrrrgrrrrGgrr \n", - "192 grrrgGGGgrrrrrgrr \n", - "193 grrrgGGrgrrrrrgGr \n", - "194 grrrgrrrgrrrrrgGG \n", - "195 gGGrgrrrgGGGGrgrr \n", - "196 grrGgrrrgrrrrGgrr \n", - "197 grrrgGGGgrrrrrgrr \n", - "198 grrrgGGrgrrrrrgGr \n", - "199 grrrgrrrgrrrrrgGG " + "205 gGGrgrrrgGGGGrgrr \n", + "206 grrGgrrrgrrrrGgrr \n", + "207 grrrgGGGgrrrrrgrr \n", + "208 grrrgGGrgrrrrrgGr \n", + "209 grrrgrrrgrrrrrgGG \n", + "210 gGGrgrrrgGGGGrgrr \n", + "211 grrGgrrrgrrrrGgrr \n", + "212 grrrgGGGgrrrrrgrr \n", + "213 grrrgGGrgrrrrrgGr \n", + "214 grrrgrrrgrrrrrgGG \n", + "215 gGGrgrrrgGGGGrgrr \n", + "216 grrGgrrrgrrrrGgrr \n", + "217 grrrgGGGgrrrrrgrr \n", + "218 grrrgGGrgrrrrrgGr \n", + "219 grrrgrrrgrrrrrgGG " ] }, - "execution_count": 94, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -1524,7 +1524,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -1561,10 +1561,10 @@ " \n", " \n", " \n", - " 44\n", + " 0\n", " 175\n", " i0\n", - " 1704415950\n", + " 1704418520\n", " 1\n", " 1\n", " 8\n", @@ -1573,10 +1573,10 @@ " gGGrgrrrgGGGGrgrr\n", " \n", " \n", - " 45\n", + " 1\n", " 175\n", " i0\n", - " 1704415950\n", + " 1704418520\n", " 2\n", " 2\n", " 7\n", @@ -1585,10 +1585,10 @@ " grrGgrrrgrrrrGgrr\n", " \n", " \n", - " 46\n", + " 2\n", " 175\n", " i0\n", - " 1704415950\n", + " 1704418520\n", " 3\n", " 3\n", " 6\n", @@ -1597,10 +1597,10 @@ " grrrgGGGgrrrrrgrr\n", " \n", " \n", - " 47\n", + " 3\n", " 175\n", " i0\n", - " 1704415950\n", + " 1704418520\n", " 3\n", " 4\n", " 6\n", @@ -1609,10 +1609,10 @@ " grrrgGGrgrrrrrgGr\n", " \n", " \n", - " 48\n", + " 4\n", " 175\n", " i0\n", - " 1704415950\n", + " 1704418520\n", " 4\n", " 4\n", " 5\n", @@ -1621,70 +1621,70 @@ " grrrgrrrgrrrrrgGG\n", " \n", " \n", - " 118\n", + " 62\n", " 175\n", " i0\n", - " 1704416178\n", + " 1704418699\n", " 1\n", " 1\n", " 8\n", " 4\n", - " 54\n", + " 43\n", " gGGrgrrrgGGGGrgrr\n", " \n", " \n", - " 119\n", + " 63\n", " 175\n", " i0\n", - " 1704416178\n", + " 1704418699\n", " 2\n", " 2\n", " 7\n", " 3\n", - " 57\n", + " 45\n", " grrGgrrrgrrrrGgrr\n", " \n", " \n", - " 120\n", + " 64\n", " 175\n", " i0\n", - " 1704416178\n", + " 1704418699\n", " 3\n", " 3\n", " 6\n", " 1\n", - " 42\n", + " 33\n", " grrrgGGGgrrrrrgrr\n", " \n", " \n", - " 121\n", + " 65\n", " 175\n", " i0\n", - " 1704416178\n", + " 1704418699\n", " 3\n", " 4\n", " 6\n", " 2\n", - " 28\n", + " 22\n", " grrrgGGrgrrrrrgGr\n", " \n", " \n", - " 122\n", + " 66\n", " 175\n", " i0\n", - " 1704416178\n", + " 1704418699\n", " 4\n", " 4\n", " 5\n", " 2\n", - " 47\n", + " 37\n", " grrrgrrrgrrrrrgGG\n", " \n", " \n", - " 200\n", + " 131\n", " 175\n", " i0\n", - " 1704416358\n", + " 1704418880\n", " 1\n", " 1\n", " 8\n", @@ -1693,10 +1693,10 @@ " gGGrgrrrgGGGGrgrr\n", " \n", " \n", - " 201\n", + " 132\n", " 175\n", " i0\n", - " 1704416358\n", + " 1704418880\n", " 2\n", " 2\n", " 7\n", @@ -1705,10 +1705,10 @@ " grrGgrrrgrrrrGgrr\n", " \n", " \n", - " 202\n", + " 133\n", " 175\n", " i0\n", - " 1704416358\n", + " 1704418880\n", " 3\n", " 3\n", " 6\n", @@ -1717,10 +1717,10 @@ " grrrgGGGgrrrrrgrr\n", " \n", " \n", - " 203\n", + " 134\n", " 175\n", " i0\n", - " 1704416358\n", + " 1704418880\n", " 3\n", " 4\n", " 6\n", @@ -1729,10 +1729,10 @@ " grrrgGGrgrrrrrgGr\n", " \n", " \n", - " 204\n", + " 135\n", " 175\n", " i0\n", - " 1704416358\n", + " 1704418880\n", " 4\n", " 4\n", " 5\n", @@ -1746,41 +1746,41 @@ ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", - "44 175 i0 1704415950 1 1 8 4 43 \n", - "45 175 i0 1704415950 2 2 7 3 45 \n", - "46 175 i0 1704415950 3 3 6 1 33 \n", - "47 175 i0 1704415950 3 4 6 2 22 \n", - "48 175 i0 1704415950 4 4 5 2 37 \n", - "118 175 i0 1704416178 1 1 8 4 54 \n", - "119 175 i0 1704416178 2 2 7 3 57 \n", - "120 175 i0 1704416178 3 3 6 1 42 \n", - "121 175 i0 1704416178 3 4 6 2 28 \n", - "122 175 i0 1704416178 4 4 5 2 47 \n", - "200 175 i0 1704416358 1 1 8 4 43 \n", - "201 175 i0 1704416358 2 2 7 3 45 \n", - "202 175 i0 1704416358 3 3 6 1 33 \n", - "203 175 i0 1704416358 3 4 6 2 22 \n", - "204 175 i0 1704416358 4 4 5 2 37 \n", + "0 175 i0 1704418520 1 1 8 4 43 \n", + "1 175 i0 1704418520 2 2 7 3 45 \n", + "2 175 i0 1704418520 3 3 6 1 33 \n", + "3 175 i0 1704418520 3 4 6 2 22 \n", + "4 175 i0 1704418520 4 4 5 2 37 \n", + "62 175 i0 1704418699 1 1 8 4 43 \n", + "63 175 i0 1704418699 2 2 7 3 45 \n", + "64 175 i0 1704418699 3 3 6 1 33 \n", + "65 175 i0 1704418699 3 4 6 2 22 \n", + "66 175 i0 1704418699 4 4 5 2 37 \n", + "131 175 i0 1704418880 1 1 8 4 43 \n", + "132 175 i0 1704418880 2 2 7 3 45 \n", + "133 175 i0 1704418880 3 3 6 1 33 \n", + "134 175 i0 1704418880 3 4 6 2 22 \n", + "135 175 i0 1704418880 4 4 5 2 37 \n", "\n", " state \n", - "44 gGGrgrrrgGGGGrgrr \n", - "45 grrGgrrrgrrrrGgrr \n", - "46 grrrgGGGgrrrrrgrr \n", - "47 grrrgGGrgrrrrrgGr \n", - "48 grrrgrrrgrrrrrgGG \n", - "118 gGGrgrrrgGGGGrgrr \n", - "119 grrGgrrrgrrrrGgrr \n", - "120 grrrgGGGgrrrrrgrr \n", - "121 grrrgGGrgrrrrrgGr \n", - "122 grrrgrrrgrrrrrgGG \n", - "200 gGGrgrrrgGGGGrgrr \n", - "201 grrGgrrrgrrrrGgrr \n", - "202 grrrgGGGgrrrrrgrr \n", - "203 grrrgGGrgrrrrrgGr \n", - "204 grrrgrrrgrrrrrgGG " + "0 gGGrgrrrgGGGGrgrr \n", + "1 grrGgrrrgrrrrGgrr \n", + "2 grrrgGGGgrrrrrgrr \n", + "3 grrrgGGrgrrrrrgGr \n", + "4 grrrgrrrgrrrrrgGG \n", + "62 gGGrgrrrgGGGGrgrr \n", + "63 grrGgrrrgrrrrGgrr \n", + "64 grrrgGGGgrrrrrgrr \n", + "65 grrrgGGrgrrrrrgGr \n", + "66 grrrgrrrgrrrrrgGG \n", + "131 gGGrgrrrgGGGGrgrr \n", + "132 grrGgrrrgrrrrGgrr \n", + "133 grrrgGGGgrrrrrgrr \n", + "134 grrrgGGrgrrrrrgGr \n", + "135 grrrgrrrgrrrrrgGG " ] }, - "execution_count": 95, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -1791,7 +1791,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -1832,7 +1832,7 @@ " 16\n", " 175\n", " i0\n", - " 1704415950\n", + " 1704418699\n", " 1\n", " 1\n", " 8\n", @@ -1845,7 +1845,7 @@ " 17\n", " 175\n", " i0\n", - " 1704415950\n", + " 1704418699\n", " 2\n", " 2\n", " 7\n", @@ -1858,7 +1858,7 @@ " 18\n", " 175\n", " i0\n", - " 1704415950\n", + " 1704418699\n", " 3\n", " 3\n", " 6\n", @@ -1871,7 +1871,7 @@ " 19\n", " 175\n", " i0\n", - " 1704415950\n", + " 1704418699\n", " 3\n", " 4\n", " 6\n", @@ -1884,7 +1884,7 @@ " 20\n", " 175\n", " i0\n", - " 1704415950\n", + " 1704418699\n", " 4\n", " 4\n", " 5\n", @@ -1897,12 +1897,12 @@ " 21\n", " 175\n", " i0\n", - " 1704416178\n", + " 1704418880\n", " 1\n", " 1\n", " 8\n", " 4\n", - " 54\n", + " 43\n", " gGGrgrrrgGGGGrgrr\n", " 0\n", " \n", @@ -1910,12 +1910,12 @@ " 22\n", " 175\n", " i0\n", - " 1704416178\n", + " 1704418880\n", " 2\n", " 2\n", " 7\n", " 3\n", - " 57\n", + " 45\n", " grrGgrrrgrrrrGgrr\n", " 1\n", " \n", @@ -1923,12 +1923,12 @@ " 23\n", " 175\n", " i0\n", - " 1704416178\n", + " 1704418880\n", " 3\n", " 3\n", " 6\n", " 1\n", - " 42\n", + " 33\n", " grrrgGGGgrrrrrgrr\n", " 2\n", " \n", @@ -1936,12 +1936,12 @@ " 24\n", " 175\n", " i0\n", - " 1704416178\n", + " 1704418880\n", " 3\n", " 4\n", " 6\n", " 2\n", - " 28\n", + " 22\n", " grrrgGGrgrrrrrgGr\n", " 3\n", " \n", @@ -1949,12 +1949,12 @@ " 25\n", " 175\n", " i0\n", - " 1704416178\n", + " 1704418880\n", " 4\n", " 4\n", " 5\n", " 2\n", - " 47\n", + " 37\n", " grrrgrrrgrrrrrgGG\n", " 4\n", " \n", @@ -1962,7 +1962,7 @@ " 26\n", " 175\n", " i0\n", - " 1704416358\n", + " 1704419060\n", " 1\n", " 1\n", " 8\n", @@ -1975,7 +1975,7 @@ " 27\n", " 175\n", " i0\n", - " 1704416358\n", + " 1704419060\n", " 2\n", " 2\n", " 7\n", @@ -1988,7 +1988,7 @@ " 28\n", " 175\n", " i0\n", - " 1704416358\n", + " 1704419060\n", " 3\n", " 3\n", " 6\n", @@ -2001,7 +2001,7 @@ " 29\n", " 175\n", " i0\n", - " 1704416358\n", + " 1704419060\n", " 3\n", " 4\n", " 6\n", @@ -2014,7 +2014,7 @@ " 30\n", " 175\n", " i0\n", - " 1704416358\n", + " 1704419060\n", " 4\n", " 4\n", " 5\n", @@ -2029,21 +2029,21 @@ ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", - "16 175 i0 1704415950 1 1 8 4 43 \n", - "17 175 i0 1704415950 2 2 7 3 45 \n", - "18 175 i0 1704415950 3 3 6 1 33 \n", - "19 175 i0 1704415950 3 4 6 2 22 \n", - "20 175 i0 1704415950 4 4 5 2 37 \n", - "21 175 i0 1704416178 1 1 8 4 54 \n", - "22 175 i0 1704416178 2 2 7 3 57 \n", - "23 175 i0 1704416178 3 3 6 1 42 \n", - "24 175 i0 1704416178 3 4 6 2 28 \n", - "25 175 i0 1704416178 4 4 5 2 47 \n", - "26 175 i0 1704416358 1 1 8 4 43 \n", - "27 175 i0 1704416358 2 2 7 3 45 \n", - "28 175 i0 1704416358 3 3 6 1 33 \n", - "29 175 i0 1704416358 3 4 6 2 22 \n", - "30 175 i0 1704416358 4 4 5 2 37 \n", + "16 175 i0 1704418699 1 1 8 4 43 \n", + "17 175 i0 1704418699 2 2 7 3 45 \n", + "18 175 i0 1704418699 3 3 6 1 33 \n", + "19 175 i0 1704418699 3 4 6 2 22 \n", + "20 175 i0 1704418699 4 4 5 2 37 \n", + "21 175 i0 1704418880 1 1 8 4 43 \n", + "22 175 i0 1704418880 2 2 7 3 45 \n", + "23 175 i0 1704418880 3 3 6 1 33 \n", + "24 175 i0 1704418880 3 4 6 2 22 \n", + "25 175 i0 1704418880 4 4 5 2 37 \n", + "26 175 i0 1704419060 1 1 8 4 43 \n", + "27 175 i0 1704419060 2 2 7 3 45 \n", + "28 175 i0 1704419060 3 3 6 1 33 \n", + "29 175 i0 1704419060 3 4 6 2 22 \n", + "30 175 i0 1704419060 4 4 5 2 37 \n", "\n", " state phase_sumo \n", "16 gGGrgrrrgGGGGrgrr 0 \n", @@ -2063,7 +2063,7 @@ "30 grrrgrrrgrrrrrgGG 4 " ] }, - "execution_count": 96, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -2075,11 +2075,294 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ - "# self.SIGTABLE.query('node_id==@Node_id')[:15] # 5-2 적색 황색신호 부여" + "self.assign_red_yellow()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "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", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstatephase_sumo
0175i01704418699118438gGGrgrrrgGGGGrgrr0_g
1175i0170441869911844gyyrgrrrgyyyyrgrr0_y
2175i0170441869922731grrrgrrrgrrrrrgrr1__r
0175i01704418699227340grrGgrrrgrrrrGgrr1_g
1175i0170441869922734grrygrrrgrrrrygrr1_y
2175i0170441869933611grrrgrrrgrrrrrgrr2__r
0175i01704418699336128grrrgGGGgrrrrrgrr2_g
1175i0170441869933614grrrgGGygrrrrrgrr2_y
2175i0170441869934621grrrgGGrgrrrrrgrr3__r
0175i01704418699346217grrrgGGrgrrrrrgGr3_g
1175i0170441869934624grrrgyyrgrrrrrgGr3_y
2175i0170441869944521grrrgrrrgrrrrrgGr4__r
0175i01704418699445232grrrgrrrgrrrrrgGG4_g
1175i0170441869944524grrrgrrrgrrrrrgyy4_y
2175i0170441888011841grrrgrrrgrrrrrgrr0__r
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "0 175 i0 1704418699 1 1 8 4 38 \n", + "1 175 i0 1704418699 1 1 8 4 4 \n", + "2 175 i0 1704418699 2 2 7 3 1 \n", + "0 175 i0 1704418699 2 2 7 3 40 \n", + "1 175 i0 1704418699 2 2 7 3 4 \n", + "2 175 i0 1704418699 3 3 6 1 1 \n", + "0 175 i0 1704418699 3 3 6 1 28 \n", + "1 175 i0 1704418699 3 3 6 1 4 \n", + "2 175 i0 1704418699 3 4 6 2 1 \n", + "0 175 i0 1704418699 3 4 6 2 17 \n", + "1 175 i0 1704418699 3 4 6 2 4 \n", + "2 175 i0 1704418699 4 4 5 2 1 \n", + "0 175 i0 1704418699 4 4 5 2 32 \n", + "1 175 i0 1704418699 4 4 5 2 4 \n", + "2 175 i0 1704418880 1 1 8 4 1 \n", + "\n", + " state phase_sumo \n", + "0 gGGrgrrrgGGGGrgrr 0_g \n", + "1 gyyrgrrrgyyyyrgrr 0_y \n", + "2 grrrgrrrgrrrrrgrr 1__r \n", + "0 grrGgrrrgrrrrGgrr 1_g \n", + "1 grrygrrrgrrrrygrr 1_y \n", + "2 grrrgrrrgrrrrrgrr 2__r \n", + "0 grrrgGGGgrrrrrgrr 2_g \n", + "1 grrrgGGygrrrrrgrr 2_y \n", + "2 grrrgGGrgrrrrrgrr 3__r \n", + "0 grrrgGGrgrrrrrgGr 3_g \n", + "1 grrrgyyrgrrrrrgGr 3_y \n", + "2 grrrgrrrgrrrrrgGr 4__r \n", + "0 grrrgrrrgrrrrrgGG 4_g \n", + "1 grrrgrrrgrrrrrgyy 4_y \n", + "2 grrrgrrrgrrrrrgrr 0__r " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "self.SIGTABLE.query('node_id==@Node_id')[:15] # 5-2 적색 황색신호 부여" ] }, { diff --git a/Analysis/0307_red_yellow/0307_red_yellow_2.ipynb b/Analysis/0307_red_yellow/0307_red_yellow_2.ipynb index 33ae5864e..6fef53404 100644 --- a/Analysis/0307_red_yellow/0307_red_yellow_2.ipynb +++ b/Analysis/0307_red_yellow/0307_red_yellow_2.ipynb @@ -6973,6 +6973,8 @@ " parent_id = row.parent_id\n", " direction = row.direction\n", " condition = row.condition\n", + " inc_edge_id = row.inc_edge\n", + " out_edge_id = row.out_edge\n", "\n", " # match5에서 부모노드id에 해당하는 행들을 가져옴 (cmatch)\n", " cmatch = self.match5.copy()[self.match5.node_id==parent_id] # match dataframe for a child node\n", @@ -7020,6 +7022,27 @@ " 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": {}, diff --git a/Intermediates/match6.csv b/Intermediates/match6.csv index 7cce5e6d9..d1e39887a 100644 --- a/Intermediates/match6.csv +++ b/Intermediates/match6.csv @@ -9,7 +9,7 @@ 7,175,i0,4,B,2,grrrgrrrgrrrrrgGr 8,175,u00,1,A,8,ggggrgggg 9,175,u00,1,B,4,ggggrgggg -10,175,u00,2,A,19,ggggGgggg +10,175,u00,2,A,7,ggggGgggg 11,175,u00,2,B,3,ggggrgggg 12,175,u00,3,A,6,ggggrgggg 13,175,u00,3,B,1,ggggrgggg @@ -33,8 +33,8 @@ 31,177,u20,1,B,4,ggrggg 32,177,u20,2,A,7,ggrggg 33,177,u20,2,B,3,ggrggg -34,177,u20,3,A,17,ggGggg -35,177,u20,3,B,18,ggrggg +34,177,u20,3,A,17,ggrggg +35,177,u20,3,B,18,ggGggg 36,177,u20,4,A,5,ggrggg 37,177,u20,4,B,1,ggrggg 38,178,c30,1,A,20,rrrrrr @@ -59,9 +59,9 @@ 57,178,u30,2,B,3,ggggrggg 58,178,u30,3,A,5,ggggrggg 59,178,u30,3,B,2,ggggrggg -60,178,u30,4,A,19,ggggGggg +60,178,u30,4,A,6,ggggGggg 61,178,u30,4,B,1,ggggrggg -62,178,u31,1,A,19,ggggGggg +62,178,u31,1,A,8,ggggGggg 63,178,u31,1,B,4,ggggrggg 64,178,u31,2,A,7,ggggrggg 65,178,u31,2,B,3,ggggrggg @@ -70,7 +70,7 @@ 68,178,u31,4,A,6,ggggrggg 69,178,u31,4,B,1,ggggrggg 70,178,u32,1,A,8,gggggggr -71,178,u32,1,B,19,gggggggG +71,178,u32,1,B,4,gggggggG 72,178,u32,2,A,7,gggggggr 73,178,u32,2,B,3,gggggggr 74,178,u32,3,A,5,gggggggr @@ -109,7 +109,7 @@ 107,210,i6,4,B,3,grrrgrrrrgrrgrrr 108,210,u60,1,A,6,ggggggggr 109,210,u60,1,B,18,ggggggggr -110,210,u60,2,A,19,ggggggggG +110,210,u60,2,A,5,ggggggggG 111,210,u60,2,B,2,ggggggggr 112,210,u60,3,A,7,ggggggggr 113,210,u60,3,B,4,ggggggggr diff --git a/Intermediates/matching.csv b/Intermediates/matching.csv index 9bfc28b15..ddf34a10a 100644 --- a/Intermediates/matching.csv +++ b/Intermediates/matching.csv @@ -11,7 +11,7 @@ 9,175,i0,21,grrrgrrrgrrrrrgrr 10,175,i0,21,grrrgrrrgrrrrrgrr 11,175,i0,21,grrrgrrrgrrrrrgrr -12,175,u00,19,ggggGgggg +12,175,u00,7,ggggGgggg 13,176,i1,3,grrrrrGgrr 14,176,i1,4,gGGrrrrgrr 15,176,i1,5,grrrrrrgGG @@ -42,9 +42,9 @@ 40,178,i3,21,grrrrgrrrrgrrrrgrrrr 41,178,i3,21,grrrrgrrrrgrrrrgrrrr 42,178,i3,21,grrrrgrrrrgrrrrgrrrr -43,178,u30,19,ggggGggg -44,178,u31,19,ggggGggg -45,178,u32,19,gggggggG +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 @@ -73,4 +73,4 @@ 71,210,i6,21,grrrgrrrrgrrgrrr 72,210,i6,21,grrrgrrrrgrrgrrr 73,210,i6,21,grrrgrrrrgrrgrrr -74,210,u60,19,ggggggggG +74,210,u60,5,ggggggggG diff --git a/Scripts/preprocess_daily.py b/Scripts/preprocess_daily.py index 2239d9084..22d360e02 100644 --- a/Scripts/preprocess_daily.py +++ b/Scripts/preprocess_daily.py @@ -448,28 +448,51 @@ class DailyPreprocessor(): condition = row.condition inc_edge_id = row.inc_edge out_edge_id = row.out_edge - # match5에서 parent_id에 해당하는 행들을 가져옴 + + # match5에서 부모노드id에 해당하는 행들을 가져옴 (cmatch) 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['node_id'] = child_id cmatch[['inc_edge', 'out_edge']] = np.nan - # condition 별로 inc_dire, out_dire를 정함 + # 보행신호시/좌회전시 진입/진출방향 + ind = directions.index(direction) + inc_dire_pedes = directions[(ind + 2) % len(directions)] + out_dire_pedes = directions[(ind - 2) % len(directions)] + inc_dire_right = direction + out_dire_right = directions[(ind + 2) % len(directions)] + + # 보행신호시/좌회전시 조건 + pedes_exists = (cmatch.inc_dir==inc_dire_pedes) & (cmatch.out_dir==out_dire_pedes) + right_exists = (cmatch.inc_dir==inc_dire_right) & (cmatch.out_dir==out_dire_right) + + # 보행신호시/좌회전시 진입/진출 엣지id 배정 ind = directions.index(direction) - if condition == "좌회전시": - inc_dire = direction - out_dire = directions[(ind + 2) % len(directions)] - elif condition == "보행신호시": - inc_dire = directions[(ind + 2) % len(directions)] - out_dire = directions[(ind - 2) % len(directions)] - - # (inc_dire, out_dire) 별로 inc_edge_id, out_edge_id를 정함 - cmatch.loc[(cmatch.inc_dir==inc_dire) & (cmatch.out_dir==out_dire), ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id] - if condition == '보행신호시': - # 이동류번호가 17(보행신호)이면서 유턴노드방향으로 가는 신호가 없으면 (inc_edge_id, out_edge_id)를 부여한다. - cmatch.loc[(cmatch.move_no==17) & (cmatch.out_dir!=direction), ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id] - # 유턴신호의 이동류번호를 19로 부여한다. - cmatch.loc[(cmatch.inc_dir==inc_dire) & (cmatch.out_dir==out_dire), 'move_no'] = 19 + if condition == "보행신호시": + cmatch.loc[pedes_exists, ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id] + elif condition == "좌회전시": + cmatch.loc[right_exists, ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id] + + # 신호없음이동류발생시/보행신호이동류발생시 조건 + all_redsigns = cmatch.move_no == 18 + crosswalk_on = cmatch.move_no == 17 + + # 만약 어떤 유턴신호도 배정되지 않았다면 + # 신호없음이동류발생시 → 보행신호이동류발생시 → 보행신호시 → 좌회전시 순으로 진입/진출 엣지id 배정 + uturn_not_assigned = cmatch[['inc_edge','out_edge']].isna().any(axis=1).all() + if uturn_not_assigned: + # 신호없음이동류(18) 발생시 + if all_redsigns.any(): + cmatch.loc[all_redsigns, ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id] + # 보행신호이동류(17) 발생시 + elif crosswalk_on.any(): + cmatch.loc[crosswalk_on & (cmatch.out_dir!=direction), ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id] + # 보행신호시 + elif pedes_exists.any(): + cmatch.loc[pedes_exists, ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id] + # 좌회전시 + elif right_exists.any(): + cmatch.loc[right_exists, ['inc_edge', 'out_edge']] = [inc_edge_id, out_edge_id] cmatches.append(cmatch) # 각 연등교차로(coordination node)에 대하여 (inc_edge_id, out_edge_id) 부여