Changeset 237 in tmcsimulator for branches/unique_lane_types
- Timestamp:
- 12/13/2017 03:02:27 AM (8 years ago)
- Location:
- branches/unique_lane_types
- Files:
-
- 2 edited
-
.ipynb_checkpoints/unique_lane_types-checkpoint.ipynb (modified) (1 diff)
-
unique_lane_types.ipynb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/unique_lane_types/.ipynb_checkpoints/unique_lane_types-checkpoint.ipynb
r235 r237 1 1 { 2 "cells": [], 3 "metadata": {}, 2 "cells": [ 3 { 4 "cell_type": "code", 5 "execution_count": 1, 6 "metadata": { 7 "collapsed": true 8 }, 9 "outputs": [], 10 "source": [ 11 "loop_file = open(\"./loop_fullmap.txt\", \"r\")\n", 12 "def get_id_and_desc(line):\n", 13 " split_line = line.split()\n", 14 " loop_id = split_line[6]\n", 15 " loop_desc = split_line[8]\n", 16 " return loop_id, loop_desc\n", 17 "\n", 18 "loop_dict = {}\n", 19 "\n", 20 "for line in loop_file:\n", 21 " loop_id, loop_desc = get_id_and_desc(line)\n", 22 " if loop_id in loop_dict.keys():\n", 23 " if loop_desc not in loop_dict[loop_id].keys():\n", 24 " loop_dict[loop_id][loop_desc] = 1\n", 25 " else:\n", 26 " loop_dict[loop_id][loop_desc] += 1\n", 27 " else:\n", 28 " loop_dict[loop_id] = {}\n", 29 " loop_dict[loop_id][loop_desc] = 1\n", 30 "loop_file.close()" 31 ] 32 }, 33 { 34 "cell_type": "code", 35 "execution_count": 4, 36 "metadata": { 37 "collapsed": true 38 }, 39 "outputs": [], 40 "source": [ 41 "import json\n", 42 "# f = open('unique_lane_types_results.txt','w')\n", 43 "# f.write(json.dumps(loop_dict, indent=1))\n", 44 "# f.close()\n" 45 ] 46 }, 47 { 48 "cell_type": "code", 49 "execution_count": 5, 50 "metadata": {}, 51 "outputs": [ 52 { 53 "name": "stdout", 54 "output_type": "stream", 55 "text": [ 56 "{\n", 57 " \"OR\": {\n", 58 " \"RAMP_ON\": 278,\n", 59 " \"SD_3\": 6,\n", 60 " \"SD_5\": 5,\n", 61 " \"SD_2\": 3,\n", 62 " \"SD_4\": 3,\n", 63 " \"SD_1\": 4\n", 64 " },\n", 65 " \"QU\": {\n", 66 " \"QUEUE\": 317\n", 67 " },\n", 68 " \"DM\": {\n", 69 " \"DEMAND\": 314,\n", 70 " \"PASSAGE\": 4\n", 71 " },\n", 72 " \"PA\": {\n", 73 " \"PASSAGE\": 315,\n", 74 " \"DEMAND\": 4\n", 75 " },\n", 76 " \"RH\": {\n", 77 " \"RAMP_HOV\": 103,\n", 78 " \"SD_1\": 1\n", 79 " },\n", 80 " \"FR\": {\n", 81 " \"RAMP_OFF\": 171,\n", 82 " \"SD_2\": 34,\n", 83 " \"SD_3\": 27,\n", 84 " \"SD_4\": 20,\n", 85 " \"SD_5\": 14,\n", 86 " \"SD_6\": 7,\n", 87 " \"SD_1\": 6,\n", 88 " \"COLL._DIST_2\": 1,\n", 89 " \"COLL._DIST_1\": 1\n", 90 " },\n", 91 " \"ML\": {\n", 92 " \"ML_1\": 546,\n", 93 " \"ML_2\": 548,\n", 94 " \"ML_3\": 500,\n", 95 " \"ML_4\": 375,\n", 96 " \"ML_5\": 136,\n", 97 " \"ML_6\": 25,\n", 98 " \"SD_3\": 1,\n", 99 " \"SD_5\": 1,\n", 100 " \"SD_1\": 3,\n", 101 " \"SD_2\": 3,\n", 102 " \"OS_1\": 2,\n", 103 " \"OS_2\": 2\n", 104 " },\n", 105 " \"HV\": {\n", 106 " \"SD_1\": 288,\n", 107 " \"SD_2\": 24,\n", 108 " \"SD_3\": 11,\n", 109 " \"SD_4\": 10,\n", 110 " \"RAMP_HOV\": 1\n", 111 " },\n", 112 " \"OC\": {\n", 113 " \"COLL._DIST_1\": 3,\n", 114 " \"COLL._DIST_2\": 2,\n", 115 " \"COLL._DIST_ON\": 4,\n", 116 " \"SD_5\": 2\n", 117 " },\n", 118 " \"OS\": {\n", 119 " \"OS_1\": 262,\n", 120 " \"OS_2\": 262,\n", 121 " \"OS_3\": 217,\n", 122 " \"OS_4\": 136,\n", 123 " \"OS_5\": 47,\n", 124 " \"OS_6\": 12,\n", 125 " \"ML_1\": 1,\n", 126 " \"ML_2\": 1,\n", 127 " \"SD_3\": 1,\n", 128 " \"SD_4\": 1,\n", 129 " \"SD_2\": 1\n", 130 " },\n", 131 " \"OH\": {\n", 132 " \"SD_2\": 93,\n", 133 " \"SD_6\": 2,\n", 134 " \"SD_3\": 8,\n", 135 " \"SD_4\": 6,\n", 136 " \"SD_5\": 2,\n", 137 " \"SD_1\": 9\n", 138 " },\n", 139 " \"FF\": {\n", 140 " \"SD_4\": 30,\n", 141 " \"SD_5\": 23,\n", 142 " \"COLL._DIST_ON\": 3,\n", 143 " \"SD_2\": 21,\n", 144 " \"SD_3\": 19,\n", 145 " \"COLL._DIST_1\": 3,\n", 146 " \"COLL._DIST_2\": 4,\n", 147 " \"COLL._DIST_OFF\": 3,\n", 148 " \"SD_1\": 17,\n", 149 " \"SD_6\": 5,\n", 150 " \"DEMAND\": 1,\n", 151 " \"RAMP_ON\": 1,\n", 152 " \"RAMP_OFF\": 1,\n", 153 " \"ML_3\": 1\n", 154 " },\n", 155 " \"FC\": {\n", 156 " \"COLL._DIST_OFF\": 4,\n", 157 " \"SD_6\": 1,\n", 158 " \"COLL._DIST_1\": 1,\n", 159 " \"SD_3\": 2\n", 160 " },\n", 161 " \"FO\": {\n", 162 " \"SD_4\": 12,\n", 163 " \"SD_5\": 10,\n", 164 " \"SD_6\": 6,\n", 165 " \"SD_3\": 10,\n", 166 " \"ML_3\": 1,\n", 167 " \"SD_1\": 2,\n", 168 " \"SD_2\": 5,\n", 169 " \"COLL._DIST_1\": 2,\n", 170 " \"COLL._DIST_2\": 2,\n", 171 " \"RAMP_HOV\": 1\n", 172 " },\n", 173 " \"CD\": {\n", 174 " \"COLL._DIST_1\": 26,\n", 175 " \"COLL._DIST_2\": 9,\n", 176 " \"COLL._DIST_OFF\": 1,\n", 177 " \"SD_5\": 3,\n", 178 " \"SD_6\": 2,\n", 179 " \"SD_3\": 1,\n", 180 " \"SD_2\": 1,\n", 181 " \"SD_1\": 1\n", 182 " },\n", 183 " \"OF\": {\n", 184 " \"SD_3\": 23,\n", 185 " \"RAMP_OFF\": 21,\n", 186 " \"SD_1\": 26,\n", 187 " \"SD_2\": 10,\n", 188 " \"SD_4\": 7,\n", 189 " \"SD_5\": 2,\n", 190 " \"COLL._DIST_1\": 1,\n", 191 " \"RAMP_ON\": 1\n", 192 " },\n", 193 " \"HN\": {\n", 194 " \"RAMP_ON\": 1,\n", 195 " \"SD_5\": 1\n", 196 " },\n", 197 " \"HF\": {\n", 198 " \"RAMP_OFF\": 1,\n", 199 " \"SD_2\": 1\n", 200 " },\n", 201 " \"HB\": {\n", 202 " \"SD_5\": 2,\n", 203 " \"COLL._DIST_1\": 1,\n", 204 " \"SD_6\": 1\n", 205 " },\n", 206 " \"OO\": {\n", 207 " \"SD_1\": 1,\n", 208 " \"SD_2\": 1,\n", 209 " \"SD_3\": 2,\n", 210 " \"RAMP_ON\": 1\n", 211 " }\n", 212 "}\n" 213 ] 214 } 215 ], 216 "source": [ 217 "print(json.dumps(loop_dict, indent=2))" 218 ] 219 }, 220 { 221 "cell_type": "markdown", 222 "metadata": {}, 223 "source": [ 224 "## Known lane types\n", 225 "\n", 226 "- ### ML = MAIN LINE\n", 227 "ML ML_? = main line lane\n", 228 "\n", 229 "- ### HV = HOV LANE\n", 230 "HV SD_? = HOV LANE\n", 231 "\n", 232 "- ### OS = OPP SIDE ?\n", 233 "OS OS_? = opp side lane\n", 234 "\n", 235 "- ### OH = OPP HOV LANE\n", 236 "OH SD_? = opp HOV lane\n", 237 "\n", 238 "- ### FR = OFF RAMP\n", 239 "FR RAMP_OFF = off ramp <br>\n", 240 "FR SD_? = off ramp multiple lanes?\n", 241 "\n", 242 "- ### OR = ON RAMP\n", 243 "OR RAMP_ON = on ramp <br>\n", 244 "OR SD_? = on_ramp multiple lanes?\n", 245 "\n", 246 "- ### QU = QUEUE\n", 247 "QU QUEUE = queue lane (something to do with on ramp)\n", 248 "\n", 249 "- ### DM = DEMAND\n", 250 "DM DEMAND = demand (something to do with on ramp)\n", 251 "\n", 252 "- ### PA = PASSAGE\n", 253 "PA PASSAGE = passage (something to do with on ramp)\n", 254 "\n", 255 "- ### RH = HOV RAMP\n", 256 "RH RAMP_HOV = HOV ramp\n", 257 "\n", 258 "## Confusing but known?\n", 259 "\n", 260 "- ### FF FWY TO FWY\n", 261 "FF < many different lane descriptions >\n", 262 "\n", 263 "- ### CD = COLLECTOR / DISTRIBUTOR\n", 264 "CD COLL._DIST_1 <br>\n", 265 "CD COLL._DIST_2 <br>\n", 266 "CD COLL._DIST_OFF <br>\n", 267 "CD SD_?\n", 268 "\n", 269 "- ### OC = COLLECTOR / DISTRIBUTOR\n", 270 "OC COLL._DIST_? <br>\n", 271 "OC COLL._DIST_ON <br>\n", 272 "OC SD_5\n", 273 "\n", 274 "## Unknown\n", 275 "- ### FC ?\n", 276 "\n", 277 "- ### OO ?\n", 278 "\n", 279 "- ### HB ?\n", 280 "\n", 281 "- ### HF ?\n", 282 "\n", 283 "- ### HN ?\n", 284 "\n", 285 "- ### OF ?\n", 286 "\n", 287 "- ### FO ?" 288 ] 289 }, 290 { 291 "cell_type": "code", 292 "execution_count": null, 293 "metadata": { 294 "collapsed": true 295 }, 296 "outputs": [], 297 "source": [] 298 } 299 ], 300 "metadata": { 301 "kernelspec": { 302 "display_name": "Python 3", 303 "language": "python", 304 "name": "python3" 305 }, 306 "language_info": { 307 "codemirror_mode": { 308 "name": "ipython", 309 "version": 3 310 }, 311 "file_extension": ".py", 312 "mimetype": "text/x-python", 313 "name": "python", 314 "nbconvert_exporter": "python", 315 "pygments_lexer": "ipython3", 316 "version": "3.6.3" 317 } 318 }, 4 319 "nbformat": 4, 5 320 "nbformat_minor": 2 -
branches/unique_lane_types/unique_lane_types.ipynb
r235 r237 4 4 "cell_type": "code", 5 5 "execution_count": 1, 6 "metadata": {}, 6 "metadata": { 7 "collapsed": true 8 }, 7 9 "outputs": [], 8 10 "source": [ … … 31 33 { 32 34 "cell_type": "code", 33 "execution_count": 2, 34 "metadata": {}, 35 "execution_count": 4, 36 "metadata": { 37 "collapsed": true 38 }, 35 39 "outputs": [], 36 40 "source": [ 37 41 "import json\n", 38 " f = open('unique_lane_types_results.txt','w')\n",39 " f.write(json.dumps(loop_dict, indent=1))\n",40 " f.close()\n"42 "# f = open('unique_lane_types_results.txt','w')\n", 43 "# f.write(json.dumps(loop_dict, indent=1))\n", 44 "# f.close()\n" 41 45 ] 46 }, 47 { 48 "cell_type": "code", 49 "execution_count": 5, 50 "metadata": {}, 51 "outputs": [ 52 { 53 "name": "stdout", 54 "output_type": "stream", 55 "text": [ 56 "{\n", 57 " \"OR\": {\n", 58 " \"RAMP_ON\": 278,\n", 59 " \"SD_3\": 6,\n", 60 " \"SD_5\": 5,\n", 61 " \"SD_2\": 3,\n", 62 " \"SD_4\": 3,\n", 63 " \"SD_1\": 4\n", 64 " },\n", 65 " \"QU\": {\n", 66 " \"QUEUE\": 317\n", 67 " },\n", 68 " \"DM\": {\n", 69 " \"DEMAND\": 314,\n", 70 " \"PASSAGE\": 4\n", 71 " },\n", 72 " \"PA\": {\n", 73 " \"PASSAGE\": 315,\n", 74 " \"DEMAND\": 4\n", 75 " },\n", 76 " \"RH\": {\n", 77 " \"RAMP_HOV\": 103,\n", 78 " \"SD_1\": 1\n", 79 " },\n", 80 " \"FR\": {\n", 81 " \"RAMP_OFF\": 171,\n", 82 " \"SD_2\": 34,\n", 83 " \"SD_3\": 27,\n", 84 " \"SD_4\": 20,\n", 85 " \"SD_5\": 14,\n", 86 " \"SD_6\": 7,\n", 87 " \"SD_1\": 6,\n", 88 " \"COLL._DIST_2\": 1,\n", 89 " \"COLL._DIST_1\": 1\n", 90 " },\n", 91 " \"ML\": {\n", 92 " \"ML_1\": 546,\n", 93 " \"ML_2\": 548,\n", 94 " \"ML_3\": 500,\n", 95 " \"ML_4\": 375,\n", 96 " \"ML_5\": 136,\n", 97 " \"ML_6\": 25,\n", 98 " \"SD_3\": 1,\n", 99 " \"SD_5\": 1,\n", 100 " \"SD_1\": 3,\n", 101 " \"SD_2\": 3,\n", 102 " \"OS_1\": 2,\n", 103 " \"OS_2\": 2\n", 104 " },\n", 105 " \"HV\": {\n", 106 " \"SD_1\": 288,\n", 107 " \"SD_2\": 24,\n", 108 " \"SD_3\": 11,\n", 109 " \"SD_4\": 10,\n", 110 " \"RAMP_HOV\": 1\n", 111 " },\n", 112 " \"OC\": {\n", 113 " \"COLL._DIST_1\": 3,\n", 114 " \"COLL._DIST_2\": 2,\n", 115 " \"COLL._DIST_ON\": 4,\n", 116 " \"SD_5\": 2\n", 117 " },\n", 118 " \"OS\": {\n", 119 " \"OS_1\": 262,\n", 120 " \"OS_2\": 262,\n", 121 " \"OS_3\": 217,\n", 122 " \"OS_4\": 136,\n", 123 " \"OS_5\": 47,\n", 124 " \"OS_6\": 12,\n", 125 " \"ML_1\": 1,\n", 126 " \"ML_2\": 1,\n", 127 " \"SD_3\": 1,\n", 128 " \"SD_4\": 1,\n", 129 " \"SD_2\": 1\n", 130 " },\n", 131 " \"OH\": {\n", 132 " \"SD_2\": 93,\n", 133 " \"SD_6\": 2,\n", 134 " \"SD_3\": 8,\n", 135 " \"SD_4\": 6,\n", 136 " \"SD_5\": 2,\n", 137 " \"SD_1\": 9\n", 138 " },\n", 139 " \"FF\": {\n", 140 " \"SD_4\": 30,\n", 141 " \"SD_5\": 23,\n", 142 " \"COLL._DIST_ON\": 3,\n", 143 " \"SD_2\": 21,\n", 144 " \"SD_3\": 19,\n", 145 " \"COLL._DIST_1\": 3,\n", 146 " \"COLL._DIST_2\": 4,\n", 147 " \"COLL._DIST_OFF\": 3,\n", 148 " \"SD_1\": 17,\n", 149 " \"SD_6\": 5,\n", 150 " \"DEMAND\": 1,\n", 151 " \"RAMP_ON\": 1,\n", 152 " \"RAMP_OFF\": 1,\n", 153 " \"ML_3\": 1\n", 154 " },\n", 155 " \"FC\": {\n", 156 " \"COLL._DIST_OFF\": 4,\n", 157 " \"SD_6\": 1,\n", 158 " \"COLL._DIST_1\": 1,\n", 159 " \"SD_3\": 2\n", 160 " },\n", 161 " \"FO\": {\n", 162 " \"SD_4\": 12,\n", 163 " \"SD_5\": 10,\n", 164 " \"SD_6\": 6,\n", 165 " \"SD_3\": 10,\n", 166 " \"ML_3\": 1,\n", 167 " \"SD_1\": 2,\n", 168 " \"SD_2\": 5,\n", 169 " \"COLL._DIST_1\": 2,\n", 170 " \"COLL._DIST_2\": 2,\n", 171 " \"RAMP_HOV\": 1\n", 172 " },\n", 173 " \"CD\": {\n", 174 " \"COLL._DIST_1\": 26,\n", 175 " \"COLL._DIST_2\": 9,\n", 176 " \"COLL._DIST_OFF\": 1,\n", 177 " \"SD_5\": 3,\n", 178 " \"SD_6\": 2,\n", 179 " \"SD_3\": 1,\n", 180 " \"SD_2\": 1,\n", 181 " \"SD_1\": 1\n", 182 " },\n", 183 " \"OF\": {\n", 184 " \"SD_3\": 23,\n", 185 " \"RAMP_OFF\": 21,\n", 186 " \"SD_1\": 26,\n", 187 " \"SD_2\": 10,\n", 188 " \"SD_4\": 7,\n", 189 " \"SD_5\": 2,\n", 190 " \"COLL._DIST_1\": 1,\n", 191 " \"RAMP_ON\": 1\n", 192 " },\n", 193 " \"HN\": {\n", 194 " \"RAMP_ON\": 1,\n", 195 " \"SD_5\": 1\n", 196 " },\n", 197 " \"HF\": {\n", 198 " \"RAMP_OFF\": 1,\n", 199 " \"SD_2\": 1\n", 200 " },\n", 201 " \"HB\": {\n", 202 " \"SD_5\": 2,\n", 203 " \"COLL._DIST_1\": 1,\n", 204 " \"SD_6\": 1\n", 205 " },\n", 206 " \"OO\": {\n", 207 " \"SD_1\": 1,\n", 208 " \"SD_2\": 1,\n", 209 " \"SD_3\": 2,\n", 210 " \"RAMP_ON\": 1\n", 211 " }\n", 212 "}\n" 213 ] 214 } 215 ], 216 "source": [ 217 "print(json.dumps(loop_dict, indent=2))" 218 ] 219 }, 220 { 221 "cell_type": "markdown", 222 "metadata": {}, 223 "source": [ 224 "## Known lane types\n", 225 "\n", 226 "- ### ML = MAIN LINE\n", 227 "ML ML_? = main line lane\n", 228 "\n", 229 "- ### HV = HOV LANE\n", 230 "HV SD_? = HOV LANE\n", 231 "\n", 232 "- ### OS = OPP SIDE ?\n", 233 "OS OS_? = opp side lane\n", 234 "\n", 235 "- ### OH = OPP HOV LANE\n", 236 "OH SD_? = opp HOV lane\n", 237 "\n", 238 "- ### FR = OFF RAMP\n", 239 "FR RAMP_OFF = off ramp <br>\n", 240 "FR SD_? = off ramp multiple lanes?\n", 241 "\n", 242 "- ### OR = ON RAMP\n", 243 "OR RAMP_ON = on ramp <br>\n", 244 "OR SD_? = on_ramp multiple lanes?\n", 245 "\n", 246 "- ### QU = QUEUE\n", 247 "QU QUEUE = queue lane (something to do with on ramp)\n", 248 "\n", 249 "- ### DM = DEMAND\n", 250 "DM DEMAND = demand (something to do with on ramp)\n", 251 "\n", 252 "- ### PA = PASSAGE\n", 253 "PA PASSAGE = passage (something to do with on ramp)\n", 254 "\n", 255 "- ### RH = HOV RAMP\n", 256 "RH RAMP_HOV = HOV ramp\n", 257 "\n", 258 "## Confusing but known?\n", 259 "\n", 260 "- ### FF FWY TO FWY\n", 261 "FF < many different lane descriptions >\n", 262 "\n", 263 "- ### CD = COLLECTOR / DISTRIBUTOR\n", 264 "CD COLL._DIST_1 <br>\n", 265 "CD COLL._DIST_2 <br>\n", 266 "CD COLL._DIST_OFF <br>\n", 267 "CD SD_?\n", 268 "\n", 269 "- ### OC = COLLECTOR / DISTRIBUTOR\n", 270 "OC COLL._DIST_? <br>\n", 271 "OC COLL._DIST_ON <br>\n", 272 "OC SD_5\n", 273 "\n", 274 "## Unknown\n", 275 "- ### FC ?\n", 276 "\n", 277 "- ### OO ?\n", 278 "\n", 279 "- ### HB ?\n", 280 "\n", 281 "- ### HF ?\n", 282 "\n", 283 "- ### HN ?\n", 284 "\n", 285 "- ### OF ?\n", 286 "\n", 287 "- ### FO ?" 288 ] 289 }, 290 { 291 "cell_type": "code", 292 "execution_count": null, 293 "metadata": { 294 "collapsed": true 295 }, 296 "outputs": [], 297 "source": [] 42 298 } 43 299 ],
Note: See TracChangeset
for help on using the changeset viewer.
