{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import os\n", "import sumolib\n", "import copy\n", "from tqdm import tqdm\n", "from datetime import datetime" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024-01-05 08:20:00\n" ] } ], "source": [ "midnight = int(datetime(2024, 1, 5, 0, 0, 0).timestamp())\n", "next_day = int(datetime(2024, 1, 6, 0, 0, 0).timestamp())\n", "fmins = range(midnight, next_day, 300)\n", "m = 100 # m ranges from 26 to 287\n", "present_time = fmins[m]\n", "sim_start = fmins[m] - 600\n", "sim_end = fmins[m] - 300\n", "print(datetime.fromtimestamp(fmins[m]))\n", "net = sumolib.net.readNet('../../Data/networks/SN_sample.net.xml')\n", "inter_node = pd.read_csv('../../data/tables/inter_node.csv', index_col=0)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{175: 'u00', 176: 'i1', 177: 'u20', 178: 'c30', 201: 'i8', 202: 'i9', 206: 'i7', 210: 'i6'}\n", "{'i0': 175, 'u00': 175, 'i1': 176, 'i2': 177, 'u20': 177, 'i3': 178, 'u30': 178, 'u31': 178, 'u32': 178, 'i8': 201, 'i9': 202, 'i7': 206, 'i6': 210, 'c30': 178}\n", "{'u00': 'i0', 'u20': 'i2', 'u30': 'i3', 'u31': 'i3', 'u32': 'i3', 'c30': 'i3'}\n", "{'i0': ['u00'], 'i1': [], 'i2': ['u20'], 'i3': ['c30', 'u30', 'u31', 'u32'], 'i6': [], 'i7': [], 'i8': [], 'i9': []}\n", "['c30', 'i0', 'i1', 'i2', 'i3', 'i6', 'i7', 'i8', 'i9', 'u00', 'u20', 'u30', 'u31', 'u32']\n", "['i0', 'i1', 'i2', 'i3', 'i6', 'i7', 'i8', 'i9']\n", "['c30', 'u00', 'u20', 'u30', 'u31', 'u32']\n" ] } ], "source": [ "inter2node = dict(zip(inter_node['inter_no'], inter_node['node_id']))\n", "node2inter = dict(zip(inter_node['node_id'], inter_node['inter_no']))\n", "ch2pa = {'u00': 'i0', 'u20': 'i2', 'u30': 'i3', 'u31': 'i3', 'u32': 'i3', 'c30': 'i3'}\n", "pa2ch = {'i0':['u00'], 'i1':[], 'i2':['u20'], 'i3':['c30', 'u30', 'u31', 'u32'], 'i6':[], 'i7':[], 'i8':[], 'i9':[]}\n", "node_ids = sorted(inter_node.node_id.unique())\n", "parent_ids = sorted(inter_node[inter_node.inter_type=='parent'].node_id.unique())\n", "child_ids = sorted(inter_node[inter_node.inter_type=='child'].node_id.unique())\n", "\n", "print(inter2node)\n", "print(node2inter)\n", "print(ch2pa)\n", "print(pa2ch)\n", "print(node_ids)\n", "print(parent_ids)\n", "print(child_ids)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | node_id | \n", "start_unix | \n", "phas_A | \n", "phas_B | \n", "duration | \n", "inc_edge_A | \n", "out_edge_A | \n", "inc_edge_B | \n", "out_edge_B | \n", "
---|---|---|---|---|---|---|---|---|---|
0 | \n", "u00 | \n", "1704408910 | \n", "1 | \n", "1 | \n", "40 | \n", "-571542797_02 | \n", "571500487_01 | \n", "-571500487_01 | \n", "571542797_02 | \n", "
1 | \n", "u00 | \n", "1704408910 | \n", "2 | \n", "2 | \n", "42 | \n", "-571500487_01 | \n", "571545870_01 | \n", "-571542797_02 | \n", "571510153_01 | \n", "
2 | \n", "u00 | \n", "1704408910 | \n", "3 | \n", "3 | \n", "29 | \n", "571545870_02 | \n", "571510153_01 | \n", "571545870_02 | \n", "571542797_02 | \n", "
3 | \n", "u00 | \n", "1704408910 | \n", "3 | \n", "4 | \n", "26 | \n", "571545870_02 | \n", "571510153_01 | \n", "571510153_02 | \n", "571545870_01 | \n", "
4 | \n", "u00 | \n", "1704408910 | \n", "4 | \n", "4 | \n", "33 | \n", "571510153_02 | \n", "571500487_01 | \n", "571510153_02 | \n", "571545870_01 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
210 | \n", "i8 | \n", "1704410180 | \n", "1 | \n", "1 | \n", "30 | \n", "-571500569_01 | \n", "571500583_02 | \n", "-571500569_01 | \n", "571500618_01 | \n", "
211 | \n", "i8 | \n", "1704410180 | \n", "2 | \n", "2 | \n", "36 | \n", "571500618_02 | \n", "571500583_02 | \n", "571500618_02 | \n", "571500617_01 | \n", "
212 | \n", "i8 | \n", "1704410180 | \n", "3 | \n", "3 | \n", "18 | \n", "571500617_02 | \n", "571500618_01 | \n", "571500618_02 | \n", "571500617_01 | \n", "
213 | \n", "i8 | \n", "1704410180 | \n", "4 | \n", "4 | \n", "58 | \n", "571500617_02 | \n", "571500618_01 | \n", "571500617_02 | \n", "571500569_01 | \n", "
214 | \n", "i8 | \n", "1704410180 | \n", "5 | \n", "5 | \n", "18 | \n", "571500583_01 | \n", "571500617_01 | \n", "571500583_01 | \n", "571500569_01 | \n", "
215 rows × 9 columns
\n", "\n", " | node_id | \n", "phase_no | \n", "ring_type | \n", "inc_edge | \n", "out_edge | \n", "
---|---|---|---|---|---|
0 | \n", "i0 | \n", "1 | \n", "A | \n", "-571542797_02 | \n", "571500487_01 | \n", "
1 | \n", "i0 | \n", "1 | \n", "B | \n", "-571500487_01 | \n", "571542797_02 | \n", "
2 | \n", "i0 | \n", "2 | \n", "A | \n", "-571500487_01 | \n", "571545870_01 | \n", "
3 | \n", "i0 | \n", "2 | \n", "B | \n", "-571542797_02 | \n", "571510153_01 | \n", "
4 | \n", "i0 | \n", "3 | \n", "A | \n", "571545870_02 | \n", "571510153_01 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
111 | \n", "u60 | \n", "2 | \n", "B | \n", "571500535_02 | \n", "-571500535_02 | \n", "
112 | \n", "u60 | \n", "3 | \n", "A | \n", "NaN | \n", "NaN | \n", "
113 | \n", "u60 | \n", "3 | \n", "B | \n", "NaN | \n", "NaN | \n", "
114 | \n", "u60 | \n", "4 | \n", "A | \n", "NaN | \n", "NaN | \n", "
115 | \n", "u60 | \n", "4 | \n", "B | \n", "NaN | \n", "NaN | \n", "
116 rows × 5 columns
\n", "\n", " | node_id | \n", "start_unix | \n", "phas_A | \n", "phas_B | \n", "duration | \n", "inc_edge_A | \n", "out_edge_A | \n", "inc_edge_B | \n", "out_edge_B | \n", "
---|---|---|---|---|---|---|---|---|---|
0 | \n", "u00 | \n", "1704408910 | \n", "1 | \n", "1 | \n", "40 | \n", "-571542797_02 | \n", "571500487_01 | \n", "-571500487_01 | \n", "571542797_02 | \n", "
1 | \n", "u00 | \n", "1704408910 | \n", "2 | \n", "2 | \n", "42 | \n", "-571500487_01 | \n", "571545870_01 | \n", "-571542797_02 | \n", "571510153_01 | \n", "
2 | \n", "u00 | \n", "1704408910 | \n", "3 | \n", "3 | \n", "29 | \n", "571545870_02 | \n", "571510153_01 | \n", "571545870_02 | \n", "571542797_02 | \n", "
3 | \n", "u00 | \n", "1704408910 | \n", "3 | \n", "4 | \n", "26 | \n", "571545870_02 | \n", "571510153_01 | \n", "571510153_02 | \n", "571545870_01 | \n", "
4 | \n", "u00 | \n", "1704408910 | \n", "4 | \n", "4 | \n", "33 | \n", "571510153_02 | \n", "571500487_01 | \n", "571510153_02 | \n", "571545870_01 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
210 | \n", "i8 | \n", "1704410180 | \n", "1 | \n", "1 | \n", "30 | \n", "-571500569_01 | \n", "571500583_02 | \n", "-571500569_01 | \n", "571500618_01 | \n", "
211 | \n", "i8 | \n", "1704410180 | \n", "2 | \n", "2 | \n", "36 | \n", "571500618_02 | \n", "571500583_02 | \n", "571500618_02 | \n", "571500617_01 | \n", "
212 | \n", "i8 | \n", "1704410180 | \n", "3 | \n", "3 | \n", "18 | \n", "571500617_02 | \n", "571500618_01 | \n", "571500618_02 | \n", "571500617_01 | \n", "
213 | \n", "i8 | \n", "1704410180 | \n", "4 | \n", "4 | \n", "58 | \n", "571500617_02 | \n", "571500618_01 | \n", "571500617_02 | \n", "571500569_01 | \n", "
214 | \n", "i8 | \n", "1704410180 | \n", "5 | \n", "5 | \n", "18 | \n", "571500583_01 | \n", "571500617_01 | \n", "571500583_01 | \n", "571500569_01 | \n", "
215 rows × 9 columns
\n", "