Changeset 237 in tmcsimulator for branches/unique_lane_types


Ignore:
Timestamp:
12/13/2017 03:02:27 AM (8 years ago)
Author:
jtorres
Message:

Added new package atmsdriver.batchbuilder. Includes BatchBuilderGUI, TimeFrame?, TimeFrames?, and TrafficLaneEvent? classes. Added some auxillary methods to Highways.java, Highway.java, and Station.java.

Location:
branches/unique_lane_types
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/unique_lane_types/.ipynb_checkpoints/unique_lane_types-checkpoint.ipynb

    r235 r237  
    11{ 
    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 }, 
    4319 "nbformat": 4, 
    5320 "nbformat_minor": 2 
  • branches/unique_lane_types/unique_lane_types.ipynb

    r235 r237  
    44   "cell_type": "code", 
    55   "execution_count": 1, 
    6    "metadata": {}, 
     6   "metadata": { 
     7    "collapsed": true 
     8   }, 
    79   "outputs": [], 
    810   "source": [ 
     
    3133  { 
    3234   "cell_type": "code", 
    33    "execution_count": 2, 
    34    "metadata": {}, 
     35   "execution_count": 4, 
     36   "metadata": { 
     37    "collapsed": true 
     38   }, 
    3539   "outputs": [], 
    3640   "source": [ 
    3741    "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" 
    4145   ] 
     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": [] 
    42298  } 
    43299 ], 
Note: See TracChangeset for help on using the changeset viewer.