Browse Source

set and check if all the previous traffic_light is modified to traffic_light_right_on_red

master
김선중 1 year ago
parent
commit
8cf931a3ec
4 changed files with 260 additions and 75 deletions
  1. +196
    -6
      Analysis/0508_green_right-turn_arrow/0508_green_right-turn_arrow.ipynb
  2. +63
    -68
      Data/networks/sn.net.xml
  3. BIN
      Scripts/__pycache__/preprocess_daily.cpython-38.pyc
  4. +1
    -1
      Scripts/preprocess_daily.py

+ 196
- 6
Analysis/0508_green_right-turn_arrow/0508_green_right-turn_arrow.ipynb View File

@ -24,19 +24,209 @@
"name": "stdout",
"output_type": "stream",
"text": [
"1. 데이터를 로드합니다.\n",
"1-1. 네트워크가 로드되었습니다.\n",
"1-2. 테이블들이 로드되었습니다.\n",
"1-3. 네트워크의 모든 clean state requirement들을 체크했습니다.\n",
"1-4. 테이블들의 무결성 검사를 완료했습니다.\n",
"1-5. 주요 객체 (리스트, 딕셔너리)들을 저장했습니다.\n"
"u31 traffic_light\n",
"i3 traffic_light_right_on_red\n",
"u00 traffic_light\n",
"i0 traffic_light_right_on_red\n",
"u60 traffic_light\n",
"d12 dead_end\n",
"n13 priority\n",
"i8 traffic_light_right_on_red\n",
"i9 traffic_light_right_on_red\n",
"n14 priority\n",
"n11 priority\n",
"i7 traffic_light_right_on_red\n",
"u32 traffic_light\n",
"n06 priority\n",
"n09 priority\n",
"i6 traffic_light_right_on_red\n",
"i5 traffic_light_right_on_red\n",
"n08 priority\n",
"c30 traffic_light\n",
"n00 priority\n",
"i1 traffic_light_right_on_red\n",
"n10 priority\n",
"n04 priority\n",
"n03 priority\n",
"i2 traffic_light_right_on_red\n",
"n01 priority\n",
"n02 priority\n",
"d07 dead_end\n",
"d00 dead_end\n",
"n12 priority\n",
"d16 dead_end\n",
"d11 dead_end\n",
"d15 dead_end\n",
"d17 dead_end\n",
"n15 priority\n",
"d18 dead_end\n",
"n07 priority\n",
"d08 dead_end\n",
"d14 dead_end\n",
"d13 dead_end\n",
"d04 dead_end\n",
"d09 dead_end\n",
"n05 priority\n",
"u20 traffic_light\n",
"d10 dead_end\n",
"d03 dead_end\n",
"d06 dead_end\n",
"d01 dead_end\n",
"d05 dead_end\n",
"u30 traffic_light\n"
]
}
],
"source": [
"self = DailyPreprocessor()\n",
"self.load_data()\n",
"self.load_networks()\n",
"self.net.getNodes()\n",
"for node in self.net.getNodes():\n",
" print(node.getID(), node.getType())"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Traffic light c30 is not known\n"
]
}
],
"source": [
"import traci, sumolib\n",
"traci.start([sumolib.checkBinary('sumo'), \"-n\", os.path.join(self.path_networks, 'sn.net.xml')])\n",
"node_id = 'c30'\n",
"if node_id in traci.trafficlight.getIDList():\n",
" state = traci.trafficlight.getRedYellowGreenState(node_id)\n",
" print(f\"Traffic light {node_id} is known\")\n",
"else:\n",
" print(f\"Traffic light {node_id} is not known\")\n",
"\n",
"traffic_lights = traci.trafficlight.getIDList()\n",
"print(traffic_lights)\n",
"\n",
"traci.close()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1. 데이터를 로드합니다.\n",
"1-1. 네트워크가 로드되었습니다.\n",
"1-2. 테이블들이 로드되었습니다.\n"
]
},
{
"ename": "TraCIException",
"evalue": "Traffic light 'c30' is not known",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mTraCIException\u001b[0m Traceback (most recent call last)",
"Cell \u001b[1;32mIn[3], line 2\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m DailyPreprocessor()\n\u001b[1;32m----> 2\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32mc:\\Github\\snits_siggen\\Analysis\\0508_green_right-turn_arrow\\../../Scripts\\preprocess_daily.py:32\u001b[0m, in \u001b[0;36mDailyPreprocessor.load_data\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 30\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mload_networks()\n\u001b[0;32m 31\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mload_tables()\n\u001b[1;32m---> 32\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcheck_networks\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 33\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcheck_tables()\n\u001b[0;32m 34\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrestore_objects()\n",
"File \u001b[1;32mc:\\Github\\snits_siggen\\Analysis\\0508_green_right-turn_arrow\\../../Scripts\\preprocess_daily.py:88\u001b[0m, in \u001b[0;36mDailyPreprocessor.check_networks\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 86\u001b[0m node_id \u001b[38;5;241m=\u001b[39m node\u001b[38;5;241m.\u001b[39mgetID()\n\u001b[0;32m 87\u001b[0m from_xml \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlen\u001b[39m([c \u001b[38;5;28;01mfor\u001b[39;00m c \u001b[38;5;129;01min\u001b[39;00m node\u001b[38;5;241m.\u001b[39mgetConnections() \u001b[38;5;28;01mif\u001b[39;00m c\u001b[38;5;241m.\u001b[39mgetTLLinkIndex() \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m])\n\u001b[1;32m---> 88\u001b[0m from_traci \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlen\u001b[39m(\u001b[43mtraci\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrafficlight\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetRedYellowGreenState\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnode_id\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[0;32m 89\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m from_xml \u001b[38;5;241m!=\u001b[39m from_traci:\n\u001b[0;32m 90\u001b[0m sub \u001b[38;5;241m=\u001b[39m {\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mid\u001b[39m\u001b[38;5;124m'\u001b[39m: node_id, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtype\u001b[39m\u001b[38;5;124m'\u001b[39m: \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnode\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnote\u001b[39m\u001b[38;5;124m'\u001b[39m: \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m유효하지 않은 연결이있음. netedit에서 clean states 필요.\u001b[39m\u001b[38;5;124m'\u001b[39m}\n",
"File \u001b[1;32mC:\\Program Files (x86)\\Eclipse\\Sumo\\tools\\traci\\_trafficlight.py:176\u001b[0m, in \u001b[0;36mTrafficLightDomain.getRedYellowGreenState\u001b[1;34m(self, tlsID)\u001b[0m\n\u001b[0;32m 169\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mgetRedYellowGreenState\u001b[39m(\u001b[38;5;28mself\u001b[39m, tlsID):\n\u001b[0;32m 170\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"getRedYellowGreenState(string) -> string\u001b[39;00m\n\u001b[0;32m 171\u001b[0m \n\u001b[0;32m 172\u001b[0m \u001b[38;5;124;03m Returns the named tl's state as a tuple of light definitions from\u001b[39;00m\n\u001b[0;32m 173\u001b[0m \u001b[38;5;124;03m rugGyYoO, for red, yed-yellow, green, yellow, off, where lower case letters mean that the stream\u001b[39;00m\n\u001b[0;32m 174\u001b[0m \u001b[38;5;124;03m has to decelerate.\u001b[39;00m\n\u001b[0;32m 175\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m--> 176\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_getUniversal\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtc\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mTL_RED_YELLOW_GREEN_STATE\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtlsID\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32mC:\\Program Files (x86)\\Eclipse\\Sumo\\tools\\traci\\domain.py:147\u001b[0m, in \u001b[0;36mDomain._getUniversal\u001b[1;34m(self, varID, objectID, format, *values)\u001b[0m\n\u001b[0;32m 145\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_deprecatedFor:\n\u001b[0;32m 146\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe domain \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m is deprecated, use \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m instead.\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m%\u001b[39m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_name, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_deprecatedFor))\n\u001b[1;32m--> 147\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _parse(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_retValFunc, varID, \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_getCmd\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvarID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mobjectID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mvalues\u001b[49m\u001b[43m)\u001b[49m)\n",
"File \u001b[1;32mC:\\Program Files (x86)\\Eclipse\\Sumo\\tools\\traci\\domain.py:152\u001b[0m, in \u001b[0;36mDomain._getCmd\u001b[1;34m(self, varID, objID, format, *values)\u001b[0m\n\u001b[0;32m 150\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_connection \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 151\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m FatalTraCIError(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNot connected.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m--> 152\u001b[0m r \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_connection\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_sendCmd\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_cmdGetID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvarID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mobjID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mvalues\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 153\u001b[0m r\u001b[38;5;241m.\u001b[39mreadLength()\n\u001b[0;32m 154\u001b[0m response, retVarID \u001b[38;5;241m=\u001b[39m r\u001b[38;5;241m.\u001b[39mread(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m!BB\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
"File \u001b[1;32mC:\\Program Files (x86)\\Eclipse\\Sumo\\tools\\traci\\connection.py:231\u001b[0m, in \u001b[0;36mConnection._sendCmd\u001b[1;34m(self, cmdID, varID, objID, format, *values)\u001b[0m\n\u001b[0;32m 229\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_string \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m struct\u001b[38;5;241m.\u001b[39mpack(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m!i\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mlen\u001b[39m(objID)) \u001b[38;5;241m+\u001b[39m objID\n\u001b[0;32m 230\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_string \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m packed\n\u001b[1;32m--> 231\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_sendExact\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[1;32mC:\\Program Files (x86)\\Eclipse\\Sumo\\tools\\traci\\connection.py:144\u001b[0m, in \u001b[0;36mConnection._sendExact\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 142\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_string \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mbytes\u001b[39m()\n\u001b[0;32m 143\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_queue \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m--> 144\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m TraCIException(err, prefix[\u001b[38;5;241m1\u001b[39m], _RESULTS[prefix[\u001b[38;5;241m2\u001b[39m]])\n\u001b[0;32m 145\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m prefix[\u001b[38;5;241m1\u001b[39m] \u001b[38;5;241m!=\u001b[39m command:\n\u001b[0;32m 146\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m FatalTraCIError(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mReceived answer \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m for command \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m%\u001b[39m (prefix[\u001b[38;5;241m1\u001b[39m], command))\n",
"\u001b[1;31mTraCIException\u001b[0m: Traffic light 'c30' is not known"
]
}
],
"source": [
"self = DailyPreprocessor()\n",
"self.load_data()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"u31 traffic_light\n",
"i3 traffic_light\n",
"u00 traffic_light\n",
"i0 traffic_light\n",
"u60 traffic_light\n",
"d12 dead_end\n",
"n13 priority\n",
"i8 traffic_light\n",
"i9 traffic_light\n",
"n14 priority\n",
"n11 priority\n",
"i7 traffic_light\n",
"u32 traffic_light\n",
"n06 priority\n",
"n09 priority\n",
"i6 traffic_light\n",
"i5 traffic_light\n",
"n08 priority\n",
"c30 traffic_light\n",
"n00 priority\n",
"i1 traffic_light\n",
"n10 priority\n",
"n04 priority\n",
"n03 priority\n",
"i2 traffic_light\n",
"n01 priority\n",
"n02 priority\n",
"d07 dead_end\n",
"d00 dead_end\n",
"n12 priority\n",
"d16 dead_end\n",
"d11 dead_end\n",
"d15 dead_end\n",
"d17 dead_end\n",
"n15 priority\n",
"d18 dead_end\n",
"n07 priority\n",
"d08 dead_end\n",
"d14 dead_end\n",
"d13 dead_end\n",
"d04 dead_end\n",
"d09 dead_end\n",
"n05 priority\n",
"u20 traffic_light\n",
"d10 dead_end\n",
"d03 dead_end\n",
"d06 dead_end\n",
"d01 dead_end\n",
"d05 dead_end\n",
"u30 traffic_light\n"
]
}
],
"source": [
"self.net.getNodes()\n",
"for node in self.net.getNodes():\n",
" print(node.getID(), node.getType())"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"self.make_match1()\n",
"self.make_match2()\n",
"self.make_match3()\n",

+ 63
- 68
Data/networks/sn.net.xml View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated on 2024-01-29 10:51:18 by Eclipse SUMO netedit Version 1.18.0
<!-- generated on 2024-05-08 16:50:34 by Eclipse SUMO netedit Version 1.18.0
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/neteditConfiguration.xsd">
<input>
@ -1142,44 +1142,44 @@
<lane id="571556452_02_2" index="2" speed="13.89" length="67.19" width="3.50" shape="10540.75,11482.50 10542.00,11549.69"/>
</edge>
<tlLogic id="c30" type="static" programID="0" offset="0">
<phase duration="82" state="GGGGGG"/>
<phase duration="3" state="yyyyyy"/>
<phase duration="5" state="rrrrrr"/>
</tlLogic>
<tlLogic id="i0" type="static" programID="0" offset="0">
<phase duration="33" state="GGGgrrrrGGGGGgrrr"/>
<phase duration="3" state="yyygrrrryyyyygrrr"/>
<phase duration="6" state="rrrGrrrrrrrrrGrrr"/>
<phase duration="3" state="rrryrrrrrrrrryrrr"/>
<phase duration="33" state="rrrrGGGgrrrrrrGGg"/>
<phase duration="3" state="rrrryyygrrrrrryyg"/>
<phase duration="6" state="rrrrrrrGrrrrrrrrG"/>
<phase duration="3" state="rrrrrrryrrrrrrrry"/>
<phase duration="33" state="GGGgsrrrGGGGGgsrr"/>
<phase duration="3" state="yyygsrrryyyyygsrr"/>
<phase duration="6" state="rrrGsrrrrrrrrGsrr"/>
<phase duration="3" state="rrrysrrrrrrrrysrr"/>
<phase duration="33" state="srrrGGGgsrrrrrGGg"/>
<phase duration="3" state="srrryyygsrrrrryyg"/>
<phase duration="6" state="srrrrrrGsrrrrrrrG"/>
<phase duration="3" state="srrrrrrysrrrrrrry"/>
</tlLogic>
<tlLogic id="i1" type="static" programID="0" offset="0">
<phase duration="38" state="GGGGGGgrrr"/>
<phase duration="3" state="yyyyyygrrr"/>
<phase duration="6" state="rrrGGGGrrr"/>
<phase duration="3" state="rrryyyyrrr"/>
<phase duration="38" state="GGGGGGgsrr"/>
<phase duration="3" state="yyyyyygsrr"/>
<phase duration="6" state="rrrGGGGsrr"/>
<phase duration="3" state="rrryyyysrr"/>
<phase duration="37" state="GrrrrrrGGG"/>
<phase duration="3" state="yrrrrrryyy"/>
</tlLogic>
<tlLogic id="i2" type="static" programID="0" offset="0">
<phase duration="42" state="GGrGGGG"/>
<phase duration="3" state="yyryyyy"/>
<phase duration="42" state="GGsGGGG"/>
<phase duration="3" state="yysyyyy"/>
<phase duration="42" state="GGGGrrr"/>
<phase duration="3" state="yyyyrrr"/>
</tlLogic>
<tlLogic id="i3" type="static" programID="0" offset="0">
<phase duration="33" state="GGGGgrrrrrGGGGgrrrrr"/>
<phase duration="3" state="yyyygrrrrryyyygrrrrr"/>
<phase duration="6" state="rrrrGrrrrrrrrrGrrrrr"/>
<phase duration="3" state="rrrryrrrrrrrrryrrrrr"/>
<phase duration="33" state="rrrrrGGGGgrrrrrGGGGg"/>
<phase duration="3" state="rrrrryyyygrrrrryyyyg"/>
<phase duration="6" state="rrrrrrrrrGrrrrrrrrrG"/>
<phase duration="3" state="rrrrrrrrryrrrrrrrrry"/>
</tlLogic>
<tlLogic id="i4" type="static" programID="0" offset="0">
<phase duration="82" state="GGGGGG"/>
<phase duration="3" state="yyyyyy"/>
<phase duration="5" state="rrrrrr"/>
<phase duration="33" state="GGGGgsrrrrGGGGgsrrrr"/>
<phase duration="3" state="yyyygsrrrryyyygsrrrr"/>
<phase duration="6" state="rrrrGsrrrrrrrrGsrrrr"/>
<phase duration="3" state="rrrrysrrrrrrrrysrrrr"/>
<phase duration="33" state="srrrrGGGGgsrrrrGGGGg"/>
<phase duration="3" state="srrrryyyygsrrrryyyyg"/>
<phase duration="6" state="srrrrrrrrGsrrrrrrrrG"/>
<phase duration="3" state="srrrrrrrrysrrrrrrrry"/>
</tlLogic>
<tlLogic id="i5" type="static" programID="0" offset="0">
<phase duration="82" state="GGGGGG"/>
@ -1187,24 +1187,24 @@
<phase duration="5" state="rrrrrr"/>
</tlLogic>
<tlLogic id="i6" type="static" programID="0" offset="0">
<phase duration="38" state="GrrrGGGGgrrrGGGg"/>
<phase duration="3" state="yrrryyyygrrryyyg"/>
<phase duration="6" state="rrrrrrrrGrrrrrrG"/>
<phase duration="3" state="rrrrrrrryrrrrrry"/>
<phase duration="37" state="GGGgrrrrrGGGrrrr"/>
<phase duration="3" state="yyyyrrrrryyyrrrr"/>
<phase duration="38" state="GrrrGGGGgsrrGGGg"/>
<phase duration="3" state="yrrryyyygsrryyyg"/>
<phase duration="6" state="srrrrrrrGsrrrrrG"/>
<phase duration="3" state="srrrrrrrysrrrrry"/>
<phase duration="37" state="GGGgsrrrrGGGsrrr"/>
<phase duration="3" state="yyyysrrrryyysrrr"/>
</tlLogic>
<tlLogic id="i7" type="static" programID="0" offset="0">
<phase duration="42" state="GGgrGGG"/>
<phase duration="3" state="yyyryyy"/>
<phase duration="42" state="GGgsGGG"/>
<phase duration="3" state="yyysyyy"/>
<phase duration="42" state="GGGGrrr"/>
<phase duration="3" state="yyyyrrr"/>
</tlLogic>
<tlLogic id="i8" type="static" programID="0" offset="0">
<phase duration="42" state="GGGgrrrrGGGgrrrr"/>
<phase duration="3" state="yyyyrrrryyyyrrrr"/>
<phase duration="42" state="rrrrGGGgrrrrGGGg"/>
<phase duration="3" state="rrrryyyyrrrryyyy"/>
<phase duration="42" state="GGGgrrrrGGGgsrrr"/>
<phase duration="3" state="yyyyrrrryyyysrrr"/>
<phase duration="42" state="srrrGGGgsrrrGGGg"/>
<phase duration="3" state="srrryyyysrrryyyy"/>
</tlLogic>
<tlLogic id="i9" type="static" programID="0" offset="0">
<phase duration="82" state="GGGG"/>
@ -1241,11 +1241,6 @@
<phase duration="3" state="yyyyyyyyy"/>
<phase duration="5" state="rrrrrrrrr"/>
</tlLogic>
<tlLogic id="c30" type="static" programID="0" offset="0">
<phase duration="82" state="GGGGGG"/>
<phase duration="3" state="yyyyyy"/>
<phase duration="5" state="rrrrrr"/>
</tlLogic>
<junction id="c30" type="traffic_light" x="10376.96" y="11449.34" incLanes="571542116_01_0 571542116_01_1 571542116_01_2 571542116_02.96_0 571542116_02.96_1 571542116_02.96_2" intLanes=":c30_0_0 :c30_0_1 :c30_0_2 :c30_3_0 :c30_3_1 :c30_3_2" shape="10377.36,11459.83 10376.86,11438.84 10376.64,11438.84 10376.98,11459.84" name="상록마을302동 단일로">
<request index="0" response="000000" foes="000000" cont="0"/>
@ -1273,8 +1268,8 @@
<junction id="d16" type="dead_end" x="10104.38" y="12148.26" incLanes="571500583_02_0 571500583_02_1" intLanes="" shape="10105.78,12148.24 10112.78,12148.16 10105.78,12148.24"/>
<junction id="d17" type="dead_end" x="10265.96" y="12145.20" incLanes="571510130_02_0" intLanes="" shape="10265.96,12145.20 10269.46,12145.14 10265.96,12145.20"/>
<junction id="d18" type="dead_end" x="10399.70" y="12143.24" incLanes="571540150_01_0" intLanes="" shape="10399.70,12143.24 10403.20,12143.20 10399.70,12143.24"/>
<junction id="i0" type="traffic_light" x="10541.62" y="12012.43" incLanes="-571500487_01_0 -571500487_01_1 -571500487_01_2 -571500487_01_3 571545870_02_0 -571542797_02_0 -571542797_02_1 -571542797_02_2 -571542797_02_3 571510153_02_0 571510153_02_1 571510153_02_2" intLanes=":i0_0_0 :i0_1_0 :i0_1_1 :i0_17_0 :i0_4_0 :i0_5_0 :i0_5_1 :i0_18_0 :i0_8_0 :i0_9_0 :i0_9_1 :i0_9_2 :i0_9_3 :i0_19_0 :i0_14_0 :i0_15_0 :i0_20_0" shape="10527.71,12022.89 10555.71,12022.64 10555.80,12020.45 10556.12,12018.65 10556.66,12017.25 10557.43,12016.23 10558.43,12015.61 10559.65,12015.37 10559.43,12008.37 10556.63,12007.24 10555.65,12005.75 10554.95,12003.65 10554.52,12000.92 10554.37,11997.58 10534.57,11997.65 10533.44,11999.82 10532.03,12000.55 10530.04,12001.02 10527.49,12001.26 10524.37,12001.25 10523.68,12018.73 10525.91,12019.26 10526.69,12019.85 10527.25,12020.65 10527.59,12021.66" name="한솔삼거리(한솔마을3거리)">
<request index="0" response="00000000000000000" foes="00000000001100000" cont="0"/>
<junction id="i0" type="traffic_light_right_on_red" x="10541.62" y="12012.43" incLanes="-571500487_01_0 -571500487_01_1 -571500487_01_2 -571500487_01_3 571545870_02_0 -571542797_02_0 -571542797_02_1 -571542797_02_2 -571542797_02_3 571510153_02_0 571510153_02_1 571510153_02_2" intLanes=":i0_0_0 :i0_1_0 :i0_1_1 :i0_17_0 :i0_4_0 :i0_5_0 :i0_5_1 :i0_18_0 :i0_8_0 :i0_9_0 :i0_9_1 :i0_9_2 :i0_9_3 :i0_19_0 :i0_14_0 :i0_15_0 :i0_20_0" shape="10527.71,12022.89 10555.71,12022.64 10555.80,12020.45 10556.12,12018.65 10556.66,12017.25 10557.43,12016.23 10558.43,12015.61 10559.65,12015.37 10559.43,12008.37 10556.63,12007.24 10555.65,12005.75 10554.95,12003.65 10554.52,12000.92 10554.37,11997.58 10534.57,11997.65 10533.44,11999.82 10532.03,12000.55 10530.04,12001.02 10527.49,12001.26 10524.37,12001.25 10523.68,12018.73 10525.91,12019.26 10526.69,12019.85 10527.25,12020.65 10527.59,12021.66" name="한솔삼거리(한솔마을3거리)">
<request index="0" response="00000000001100000" foes="00000000001100000" cont="0"/>
<request index="1" response="10000000010000000" foes="11110000011100000" cont="0"/>
<request index="2" response="10000000010000000" foes="11110000011100000" cont="0"/>
<request index="3" response="10001111110000000" foes="11001111111100000" cont="1"/>
@ -1282,7 +1277,7 @@
<request index="5" response="00011111000001111" foes="10011111000001111" cont="0"/>
<request index="6" response="00011111000001111" foes="10011111000001111" cont="0"/>
<request index="7" response="01011111000001110" foes="01011111000001110" cont="1"/>
<request index="8" response="00000000000000000" foes="01000000000001000" cont="0"/>
<request index="8" response="01000000000000000" foes="01000000000001000" cont="0"/>
<request index="9" response="10000000010000000" foes="11000000011111000" cont="0"/>
<request index="10" response="10000000010000000" foes="11000000011111000" cont="0"/>
<request index="11" response="10000000010000000" foes="11000000011111000" cont="0"/>
@ -1292,7 +1287,7 @@
<request index="15" response="00011111100001110" foes="00011111110001110" cont="0"/>
<request index="16" response="00011111001101110" foes="00011111001101110" cont="1"/>
</junction>
<junction id="i1" type="traffic_light" x="10541.14" y="11865.12" incLanes="571542797_02.99_0 571542797_02.99_1 -571542810_01_0 -571542810_01_1 -571542810_01_2 -571542810_01_3 571543469_02_0" intLanes=":i1_0_0 :i1_1_0 :i1_1_1 :i1_3_0 :i1_3_1 :i1_3_2 :i1_10_0 :i1_7_0 :i1_8_0 :i1_8_1" shape="10534.17,11872.78 10553.97,11872.71 10554.99,11857.37 10533.99,11857.78 10533.58,11860.01 10533.03,11860.80 10532.25,11861.37 10531.24,11861.73 10530.00,11861.87 10530.15,11868.87 10532.38,11869.26 10533.16,11869.80 10533.71,11870.57 10534.05,11871.56" name="느티마을4단지">
<junction id="i1" type="traffic_light_right_on_red" x="10541.14" y="11865.12" incLanes="571542797_02.99_0 571542797_02.99_1 -571542810_01_0 -571542810_01_1 -571542810_01_2 -571542810_01_3 571543469_02_0" intLanes=":i1_0_0 :i1_1_0 :i1_1_1 :i1_3_0 :i1_3_1 :i1_3_2 :i1_10_0 :i1_7_0 :i1_8_0 :i1_8_1" shape="10534.17,11872.78 10553.97,11872.71 10554.99,11857.37 10533.99,11857.78 10533.58,11860.01 10533.03,11860.80 10532.25,11861.37 10531.24,11861.73 10530.00,11861.87 10530.15,11868.87 10532.38,11869.26 10533.16,11869.80 10533.71,11870.57 10534.05,11871.56" name="느티마을4단지">
<request index="0" response="0000000000" foes="0001000000" cont="0"/>
<request index="1" response="0000000000" foes="1111000000" cont="0"/>
<request index="2" response="0000000000" foes="1111000000" cont="0"/>
@ -1304,7 +1299,7 @@
<request index="8" response="0001111110" foes="0001111110" cont="0"/>
<request index="9" response="0001111110" foes="0001111110" cont="0"/>
</junction>
<junction id="i2" type="traffic_light" x="10538.75" y="11752.89" incLanes="571542811_02_0 571542811_02_1 571542107_02_0 -571542809_01_0 -571542809_01_1 -571542809_01_2" intLanes=":i2_0_0 :i2_0_1 :i2_2_0 :i2_3_0 :i2_4_0 :i2_4_1 :i2_4_2" shape="10531.80,11761.53 10552.70,11761.42 10553.08,11758.49 10553.57,11757.81 10554.26,11757.67 10555.16,11758.06 10556.25,11758.97 10556.72,11751.28 10554.42,11750.19 10553.61,11749.41 10553.02,11748.48 10552.66,11747.38 10552.53,11746.12 10531.53,11746.52" name="한솔6단지(정자동사무소)">
<junction id="i2" type="traffic_light_right_on_red" x="10538.75" y="11752.89" incLanes="571542811_02_0 571542811_02_1 571542107_02_0 -571542809_01_0 -571542809_01_1 -571542809_01_2" intLanes=":i2_0_0 :i2_0_1 :i2_2_0 :i2_3_0 :i2_4_0 :i2_4_1 :i2_4_2" shape="10531.80,11761.53 10552.70,11761.42 10553.08,11758.49 10553.57,11757.81 10554.26,11757.67 10555.16,11758.06 10556.25,11758.97 10556.72,11751.28 10554.42,11750.19 10553.61,11749.41 10553.02,11748.48 10552.66,11747.38 10552.53,11746.12 10531.53,11746.52" name="한솔6단지(정자동사무소)">
<request index="0" response="0000000" foes="0000000" cont="0"/>
<request index="1" response="0000000" foes="0000000" cont="0"/>
<request index="2" response="1110000" foes="1110000" cont="0"/>
@ -1313,8 +1308,8 @@
<request index="5" response="0000000" foes="0000100" cont="0"/>
<request index="6" response="0000000" foes="0000100" cont="0"/>
</junction>
<junction id="i3" type="traffic_light" x="10533.28" y="11445.60" incLanes="571556450_02_0 571556450_02_1 571556450_02_2 571556450_02_3 571556450_02_4 -571500475_01_0 -571500475_01_1 -571500475_01_2 -571500475_01_3 571540304_02_0 571540304_02_1 571540304_02_2 571540304_02_3 571540304_02_4 571540303_02.21_0 571540303_02.21_1 571540303_02.21_2 571540303_02.21_3" intLanes=":i3_0_0 :i3_1_0 :i3_1_1 :i3_1_2 :i3_20_0 :i3_5_0 :i3_6_0 :i3_6_1 :i3_6_2 :i3_21_0 :i3_10_0 :i3_11_0 :i3_11_1 :i3_11_2 :i3_22_0 :i3_15_0 :i3_16_0 :i3_16_1 :i3_16_2 :i3_23_0" shape="10521.08,11463.68 10549.07,11463.06 10549.76,11460.81 10550.66,11460.00 10551.93,11459.40 10553.57,11459.01 10555.59,11458.83 10554.73,11434.34 10552.51,11433.68 10551.73,11432.77 10551.16,11431.49 10550.82,11429.82 10550.70,11427.77 10522.71,11427.89 10521.99,11430.14 10521.09,11430.94 10519.83,11431.53 10518.21,11431.91 10516.23,11432.08 10516.92,11456.57 10519.16,11457.31 10519.96,11458.29 10520.55,11459.68 10520.92,11461.48" name="신기4거리">
<request index="0" response="00000000000000000000" foes="00000000000111000000" cont="0"/>
<junction id="i3" type="traffic_light_right_on_red" x="10533.28" y="11445.60" incLanes="571556450_02_0 571556450_02_1 571556450_02_2 571556450_02_3 571556450_02_4 -571500475_01_0 -571500475_01_1 -571500475_01_2 -571500475_01_3 571540304_02_0 571540304_02_1 571540304_02_2 571540304_02_3 571540304_02_4 571540303_02.21_0 571540303_02.21_1 571540303_02.21_2 571540303_02.21_3" intLanes=":i3_0_0 :i3_1_0 :i3_1_1 :i3_1_2 :i3_20_0 :i3_5_0 :i3_6_0 :i3_6_1 :i3_6_2 :i3_21_0 :i3_10_0 :i3_11_0 :i3_11_1 :i3_11_2 :i3_22_0 :i3_15_0 :i3_16_0 :i3_16_1 :i3_16_2 :i3_23_0" shape="10521.08,11463.68 10549.07,11463.06 10549.76,11460.81 10550.66,11460.00 10551.93,11459.40 10553.57,11459.01 10555.59,11458.83 10554.73,11434.34 10552.51,11433.68 10551.73,11432.77 10551.16,11431.49 10550.82,11429.82 10550.70,11427.77 10522.71,11427.89 10521.99,11430.14 10521.09,11430.94 10519.83,11431.53 10518.21,11431.91 10516.23,11432.08 10516.92,11456.57 10519.16,11457.31 10519.96,11458.29 10520.55,11459.68 10520.92,11461.48" name="신기4거리">
<request index="0" response="00000000000111000000" foes="00000000000111000000" cont="0"/>
<request index="1" response="10000000001000000000" foes="11111100001111000000" cont="0"/>
<request index="2" response="10000000001000000000" foes="11111100001111000000" cont="0"/>
<request index="3" response="10000000001000000000" foes="11111100001111000000" cont="0"/>
@ -1324,7 +1319,7 @@
<request index="7" response="00000111100000011111" foes="10000111100000011111" cont="0"/>
<request index="8" response="00000111100000011111" foes="10000111100000011111" cont="0"/>
<request index="9" response="01110111100000011110" foes="01110111100000011110" cont="1"/>
<request index="10" response="00000000000000000000" foes="01110000000000000000" cont="0"/>
<request index="10" response="01110000000000000000" foes="01110000000000000000" cont="0"/>
<request index="11" response="10000000001000000000" foes="11110000001111110000" cont="0"/>
<request index="12" response="10000000001000000000" foes="11110000001111110000" cont="0"/>
<request index="13" response="10000000001000000000" foes="11110000001111110000" cont="0"/>
@ -1335,7 +1330,7 @@
<request index="18" response="00000111110000011110" foes="00000111111000011110" cont="0"/>
<request index="19" response="00000111100111011110" foes="00000111100111011110" cont="1"/>
</junction>
<junction id="i5" type="traffic_light" x="10314.87" y="11450.36" incLanes="-571542116_02.96_0 -571542116_02.96_1 -571542116_02.96_2 571542116_02_0 571542116_02_1 571542116_02_2" intLanes=":i5_0_0 :i5_0_1 :i5_0_2 :i5_3_0 :i5_3_1 :i5_3_2" shape="10315.19,11460.86 10314.85,11439.86 10314.54,11439.86 10314.90,11460.86" name="상록마을단일로">
<junction id="i5" type="traffic_light_right_on_red" x="10314.87" y="11450.36" incLanes="-571542116_02.96_0 -571542116_02.96_1 -571542116_02.96_2 571542116_02_0 571542116_02_1 571542116_02_2" intLanes=":i5_0_0 :i5_0_1 :i5_0_2 :i5_3_0 :i5_3_1 :i5_3_2" shape="10315.19,11460.86 10314.85,11439.86 10314.54,11439.86 10314.90,11460.86" name="상록마을단일로">
<request index="0" response="000000" foes="000000" cont="0"/>
<request index="1" response="000000" foes="000000" cont="0"/>
<request index="2" response="000000" foes="000000" cont="0"/>
@ -1343,12 +1338,12 @@
<request index="4" response="000000" foes="000000" cont="0"/>
<request index="5" response="000000" foes="000000" cont="0"/>
</junction>
<junction id="i6" type="traffic_light" x="10094.73" y="11453.77" incLanes="571511538_02.121_0 571511538_02.121_1 571511538_02.121_2 -571542115_01_0 -571542115_01_1 -571542115_01_2 -571542115_01_3 571500585_02_0 571500585_02_1 571500585_02_2 571500535_02.18_0 571500535_02.18_1 571500535_02.18_2 571500535_02.18_3" intLanes=":i6_0_0 :i6_1_0 :i6_1_1 :i6_16_0 :i6_4_0 :i6_5_0 :i6_5_1 :i6_5_2 :i6_17_0 :i6_9_0 :i6_10_0 :i6_10_1 :i6_12_0 :i6_13_0 :i6_13_1 :i6_18_0" shape="10084.55,11471.98 10102.05,11471.67 10102.83,11469.44 10103.84,11468.65 10105.26,11468.07 10107.09,11467.71 10109.34,11467.57 10109.01,11443.07 10106.77,11442.26 10105.97,11441.22 10105.38,11439.75 10105.01,11437.86 10104.85,11435.55 10087.35,11435.92 10086.56,11438.15 10085.54,11438.95 10084.08,11439.54 10082.21,11439.91 10079.91,11440.07 10080.48,11468.06 10082.71,11468.46 10083.50,11469.00 10084.07,11469.77 10084.42,11470.76" name="상록4거리(상록마을입구4거리)">
<junction id="i6" type="traffic_light_right_on_red" x="10094.73" y="11453.77" incLanes="571511538_02.121_0 571511538_02.121_1 571511538_02.121_2 -571542115_01_0 -571542115_01_1 -571542115_01_2 -571542115_01_3 571500585_02_0 571500585_02_1 571500585_02_2 571500535_02.18_0 571500535_02.18_1 571500535_02.18_2 571500535_02.18_3" intLanes=":i6_0_0 :i6_1_0 :i6_1_1 :i6_16_0 :i6_4_0 :i6_5_0 :i6_5_1 :i6_5_2 :i6_17_0 :i6_9_0 :i6_10_0 :i6_10_1 :i6_12_0 :i6_13_0 :i6_13_1 :i6_18_0" shape="10084.55,11471.98 10102.05,11471.67 10102.83,11469.44 10103.84,11468.65 10105.26,11468.07 10107.09,11467.71 10109.34,11467.57 10109.01,11443.07 10106.77,11442.26 10105.97,11441.22 10105.38,11439.75 10105.01,11437.86 10104.85,11435.55 10087.35,11435.92 10086.56,11438.15 10085.54,11438.95 10084.08,11439.54 10082.21,11439.91 10079.91,11440.07 10080.48,11468.06 10082.71,11468.46 10083.50,11469.00 10084.07,11469.77 10084.42,11470.76" name="상록4거리(상록마을입구4거리)">
<request index="0" response="0000000000000000" foes="0000000000000000" cont="0"/>
<request index="1" response="1111000111100000" foes="1111000111100000" cont="0"/>
<request index="2" response="1111000111100000" foes="1111000111100000" cont="0"/>
<request index="3" response="1000110111100000" foes="1000110111100000" cont="1"/>
<request index="4" response="0000000000000000" foes="0000110000000000" cont="0"/>
<request index="4" response="0000110000000000" foes="0000110000000000" cont="0"/>
<request index="5" response="0000000000001000" foes="1000110000001110" cont="0"/>
<request index="6" response="0000000000001000" foes="1000110000001110" cont="0"/>
<request index="7" response="0000000000001000" foes="1000110000001110" cont="0"/>
@ -1356,12 +1351,12 @@
<request index="9" response="0110000000000000" foes="0110000000000000" cont="0"/>
<request index="10" response="1110000111110000" foes="1110000111111000" cont="0"/>
<request index="11" response="1110000111110000" foes="1110000111111000" cont="0"/>
<request index="12" response="0000000000000000" foes="0000000000000110" cont="0"/>
<request index="12" response="0000000000000110" foes="0000000000000110" cont="0"/>
<request index="13" response="0000000000000000" foes="0000111100000110" cont="0"/>
<request index="14" response="0000000000000000" foes="0000111100000110" cont="0"/>
<request index="15" response="0000000011101000" foes="0000110011101110" cont="1"/>
</junction>
<junction id="i7" type="traffic_light" x="10097.53" y="11643.34" incLanes="571542073_01_0 571542073_01_1 571542071_02_0 -571511538_02_0 -571511538_02_1" intLanes=":i7_0_0 :i7_0_1 :i7_7_0 :i7_3_0 :i7_4_0 :i7_5_0 :i7_5_1" shape="10090.63,11650.96 10104.63,11650.78 10105.04,11648.55 10105.59,11647.77 10106.36,11647.21 10107.35,11646.87 10108.57,11646.75 10108.52,11639.75 10106.23,11639.32 10105.41,11638.77 10104.82,11638.00 10104.45,11637.00 10104.30,11635.78 10090.30,11636.23" name="상록마을 321동">
<junction id="i7" type="traffic_light_right_on_red" x="10097.53" y="11643.34" incLanes="571542073_01_0 571542073_01_1 571542071_02_0 -571511538_02_0 -571511538_02_1" intLanes=":i7_0_0 :i7_0_1 :i7_7_0 :i7_3_0 :i7_4_0 :i7_5_0 :i7_5_1" shape="10090.63,11650.96 10104.63,11650.78 10105.04,11648.55 10105.59,11647.77 10106.36,11647.21 10107.35,11646.87 10108.57,11646.75 10108.52,11639.75 10106.23,11639.32 10105.41,11638.77 10104.82,11638.00 10104.45,11637.00 10104.30,11635.78 10090.30,11636.23" name="상록마을 321동">
<request index="0" response="0000000" foes="0000000" cont="0"/>
<request index="1" response="0000000" foes="0000000" cont="0"/>
<request index="2" response="1110000" foes="1110000" cont="1"/>
@ -1370,8 +1365,8 @@
<request index="5" response="0000000" foes="0001100" cont="0"/>
<request index="6" response="0000000" foes="0001100" cont="0"/>
</junction>
<junction id="i8" type="traffic_light" x="10102.76" y="12018.16" incLanes="571500583_01_0 571500583_01_1 571500583_01_2 571500617_02_0 571500617_02_1 571500617_02_2 -571500569_01_0 -571500569_01_1 -571500569_01_2 571500618_02_0 571500618_02_1 571500618_02_2" intLanes=":i8_0_0 :i8_1_0 :i8_1_1 :i8_16_0 :i8_4_0 :i8_4_1 :i8_4_2 :i8_17_0 :i8_8_0 :i8_9_0 :i8_9_1 :i8_18_0 :i8_12_0 :i8_13_0 :i8_13_1 :i8_19_0" shape="10093.84,12032.77 10111.34,12032.55 10112.00,12030.30 10112.84,12029.51 10114.03,12028.93 10115.56,12028.56 10117.44,12028.42 10117.15,12010.92 10114.92,12010.13 10114.13,12009.10 10113.55,12007.65 10113.19,12005.78 10113.04,12003.49 10095.54,12003.75 10094.90,12005.98 10094.07,12006.77 10092.90,12007.34 10091.38,12007.69 10089.53,12007.82 10089.79,12028.82 10092.02,12029.24 10092.80,12029.78 10093.37,12030.56 10093.72,12031.55" name="느티마을4거리">
<request index="0" response="0000000000000000" foes="0000000001110000" cont="0"/>
<junction id="i8" type="traffic_light_right_on_red" x="10102.76" y="12018.16" incLanes="571500583_01_0 571500583_01_1 571500583_01_2 571500617_02_0 571500617_02_1 571500617_02_2 -571500569_01_0 -571500569_01_1 -571500569_01_2 571500618_02_0 571500618_02_1 571500618_02_2" intLanes=":i8_0_0 :i8_1_0 :i8_1_1 :i8_16_0 :i8_4_0 :i8_4_1 :i8_4_2 :i8_17_0 :i8_8_0 :i8_9_0 :i8_9_1 :i8_18_0 :i8_12_0 :i8_13_0 :i8_13_1 :i8_19_0" shape="10093.84,12032.77 10111.34,12032.55 10112.00,12030.30 10112.84,12029.51 10114.03,12028.93 10115.56,12028.56 10117.44,12028.42 10117.15,12010.92 10114.92,12010.13 10114.13,12009.10 10113.55,12007.65 10113.19,12005.78 10113.04,12003.49 10095.54,12003.75 10094.90,12005.98 10094.07,12006.77 10092.90,12007.34 10091.38,12007.69 10089.53,12007.82 10089.79,12028.82 10092.02,12029.24 10092.80,12029.78 10093.37,12030.56 10093.72,12031.55" name="느티마을4거리">
<request index="0" response="0000000001110000" foes="0000000001110000" cont="0"/>
<request index="1" response="1000000010000000" foes="1111100011110000" cont="0"/>
<request index="2" response="1000000010000000" foes="1111100011110000" cont="0"/>
<request index="3" response="1000011010000000" foes="1110011011110000" cont="1"/>
@ -1379,7 +1374,7 @@
<request index="5" response="0000111000001111" foes="1000111000001111" cont="0"/>
<request index="6" response="0000111000001111" foes="1000111000001111" cont="0"/>
<request index="7" response="0110111000001110" foes="0110111000001110" cont="1"/>
<request index="8" response="0000000000000000" foes="0110000000000000" cont="0"/>
<request index="8" response="0110000000000000" foes="0110000000000000" cont="0"/>
<request index="9" response="1000000010000000" foes="1110000011111000" cont="0"/>
<request index="10" response="1000000010000000" foes="1110000011111000" cont="0"/>
<request index="11" response="1000000010000110" foes="1110000011110110" cont="1"/>
@ -1388,7 +1383,7 @@
<request index="14" response="0000111100001110" foes="0000111110001110" cont="0"/>
<request index="15" response="0000111001111110" foes="0000111001111110" cont="1"/>
</junction>
<junction id="i9" type="traffic_light" x="10329.25" y="12014.47" incLanes="571510152_02_0 571510152_02_1 571510152_01_0 571510152_01_1" intLanes=":i9_0_0 :i9_0_1 :i9_2_0 :i9_2_1" shape="10329.36,12021.47 10329.14,12007.47 10329.36,12021.47" name="느티마을 안촌유치원">
<junction id="i9" type="traffic_light_right_on_red" x="10329.25" y="12014.47" incLanes="571510152_02_0 571510152_02_1 571510152_01_0 571510152_01_1" intLanes=":i9_0_0 :i9_0_1 :i9_2_0 :i9_2_1" shape="10329.36,12021.47 10329.14,12007.47 10329.36,12021.47" name="느티마을 안촌유치원">
<request index="0" response="0000" foes="0000" cont="0"/>
<request index="1" response="0000" foes="0000" cont="0"/>
<request index="2" response="0000" foes="0000" cont="0"/>
@ -1826,18 +1821,18 @@
<connection from="571542115_02" to="-571542115_01" fromLane="1" toLane="1" via=":n09_0_1" dir="s" state="M"/>
<connection from="571542115_02" to="-571542115_01" fromLane="2" toLane="2" via=":n09_0_2" dir="s" state="M"/>
<connection from="571542115_02" to="-571542115_01" fromLane="2" toLane="3" via=":n09_0_3" dir="s" state="M"/>
<connection from="571542116_01" to="-571542116_02.96" fromLane="0" toLane="0" via=":c30_0_0" tl="i4" linkIndex="0" dir="s" state="O"/>
<connection from="571542116_01" to="-571542116_02.96" fromLane="1" toLane="1" via=":c30_0_1" tl="i4" linkIndex="1" dir="s" state="O"/>
<connection from="571542116_01" to="-571542116_02.96" fromLane="2" toLane="2" via=":c30_0_2" tl="i4" linkIndex="2" dir="s" state="O"/>
<connection from="571542116_01" to="-571542116_02.96" fromLane="0" toLane="0" via=":c30_0_0" tl="c30" linkIndex="0" dir="s" state="O"/>
<connection from="571542116_01" to="-571542116_02.96" fromLane="1" toLane="1" via=":c30_0_1" tl="c30" linkIndex="1" dir="s" state="O"/>
<connection from="571542116_01" to="-571542116_02.96" fromLane="2" toLane="2" via=":c30_0_2" tl="c30" linkIndex="2" dir="s" state="O"/>
<connection from="571542116_02" to="571542116_02.96" fromLane="0" toLane="0" via=":i5_3_0" tl="i5" linkIndex="3" dir="s" state="O"/>
<connection from="571542116_02" to="571542116_02.96" fromLane="1" toLane="1" via=":i5_3_1" tl="i5" linkIndex="4" dir="s" state="O"/>
<connection from="571542116_02" to="571542116_02.96" fromLane="2" toLane="2" via=":i5_3_2" tl="i5" linkIndex="5" dir="s" state="O"/>
<connection from="571542116_02.164" to="571540302_01" fromLane="0" toLane="0" keepClear="0" via=":n07_7_0" dir="s" state="M"/>
<connection from="571542116_02.164" to="571540302_01" fromLane="1" toLane="1" keepClear="0" via=":n07_7_1" dir="s" state="M"/>
<connection from="571542116_02.164" to="571540302_01" fromLane="2" toLane="2" keepClear="0" via=":n07_7_2" dir="s" state="M"/>
<connection from="571542116_02.96" to="571542116_02.164" fromLane="0" toLane="0" via=":c30_3_0" tl="i4" linkIndex="3" dir="s" state="O"/>
<connection from="571542116_02.96" to="571542116_02.164" fromLane="1" toLane="1" via=":c30_3_1" tl="i4" linkIndex="4" dir="s" state="O"/>
<connection from="571542116_02.96" to="571542116_02.164" fromLane="2" toLane="2" via=":c30_3_2" tl="i4" linkIndex="5" dir="s" state="O"/>
<connection from="571542116_02.96" to="571542116_02.164" fromLane="0" toLane="0" via=":c30_3_0" tl="c30" linkIndex="3" dir="s" state="O"/>
<connection from="571542116_02.96" to="571542116_02.164" fromLane="1" toLane="1" via=":c30_3_1" tl="c30" linkIndex="4" dir="s" state="O"/>
<connection from="571542116_02.96" to="571542116_02.164" fromLane="2" toLane="2" via=":c30_3_2" tl="c30" linkIndex="5" dir="s" state="O"/>
<connection from="571542119_02" to="571540302_01" fromLane="0" toLane="0" keepClear="0" via=":n07_4_0" dir="r" state="m"/>
<connection from="571542119_02" to="571542116_01" fromLane="0" toLane="1" keepClear="0" via=":n07_5_0" dir="l" state="m"/>
<connection from="571542119_02" to="571542116_01" fromLane="0" toLane="2" keepClear="0" via=":n07_5_1" dir="l" state="m"/>

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


+ 1
- 1
Scripts/preprocess_daily.py View File

@ -81,7 +81,7 @@ class DailyPreprocessor():
else:
raise EnvironmentError("please declare environment variable 'SUMO_HOME'")
traci.start([sumolib.checkBinary('sumo'), "-n", os.path.join(self.path_networks, 'sn.net.xml')])
nodes = [node for node in self.net.getNodes() if node.getType()=='traffic_light']
nodes = [node for node in self.net.getNodes() if node.getType() in ['traffic_light', 'traffic_light_right_on_red']]
for node in nodes:
node_id = node.getID()
from_xml = len([c for c in node.getConnections() if c.getTLLinkIndex() >= 0])

Loading…
Cancel
Save