├── .github └── workflows │ └── node.js.yml ├── .gitignore ├── README.md ├── data ├── mbta │ ├── edges.csv │ ├── routes.csv │ └── stops.csv ├── mta │ ├── edges.csv │ ├── routes.csv │ └── stops.csv ├── ratp │ ├── edges.csv │ ├── routes.csv │ └── stops.csv ├── wmata │ ├── edges.csv │ ├── routes.csv │ └── stops.csv └── wmatap │ ├── edges.csv │ ├── routes.csv │ └── stops.csv ├── lib ├── constants.js ├── dom │ ├── index.js │ ├── map.js │ ├── modal-trigger.js │ ├── modal.js │ ├── popup.js │ ├── ribbon.js │ ├── route-list.js │ ├── tweet-button.js │ └── unpack.js ├── enums.js ├── logger.js ├── server │ ├── createGraph.js │ ├── eventQueue.js │ ├── index.js │ ├── server.js │ ├── socketTraverser.js │ ├── system.js │ └── systemManager.js ├── systems.js └── utils.js ├── package-lock.json ├── package.json ├── public ├── bundle │ ├── boston.js │ ├── common.js │ ├── dc.js │ ├── dcp.js │ ├── demo.js │ ├── nyc.js │ └── paris.js ├── demo │ ├── app.js │ └── index.html ├── files │ ├── favicon.ico │ ├── icons │ │ ├── mta │ │ │ ├── 1.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ ├── 6x.png │ │ │ ├── 7.png │ │ │ ├── 7x.png │ │ │ ├── a.png │ │ │ ├── b.png │ │ │ ├── c.png │ │ │ ├── d.png │ │ │ ├── e.png │ │ │ ├── f.png │ │ │ ├── fs.png │ │ │ ├── g.png │ │ │ ├── gs.png │ │ │ ├── h.png │ │ │ ├── j.png │ │ │ ├── l.png │ │ │ ├── m.png │ │ │ ├── n.png │ │ │ ├── q.png │ │ │ ├── r.png │ │ │ ├── si.png │ │ │ └── z.png │ │ └── ratp │ │ │ ├── 1.png │ │ │ ├── 10.png │ │ │ ├── 11.png │ │ │ ├── 12.png │ │ │ ├── 13.png │ │ │ ├── 14.png │ │ │ ├── 15.png │ │ │ ├── 16.png │ │ │ ├── 17.png │ │ │ ├── 18.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 3b.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ ├── 7.png │ │ │ ├── 7b.png │ │ │ ├── 8.png │ │ │ ├── 9.png │ │ │ ├── a.png │ │ │ ├── b.png │ │ │ ├── c.png │ │ │ ├── d.png │ │ │ └── e.png │ ├── page-rank-style.css │ └── style.css └── rank │ ├── app.js │ ├── boston │ ├── boston.js │ └── index.html │ ├── dc │ ├── dc.js │ └── index.html │ ├── dcp │ ├── dcp.js │ └── index.html │ ├── nyc │ ├── index.html │ └── nyc.js │ └── paris │ ├── index.html │ └── paris.js └── test ├── apiSpec.js └── serverSpec.js /.github/workflows/node.js.yml: -------------------------------------------------------------------------------- 1 | # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node 2 | # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs 3 | 4 | name: Node.js CI 5 | 6 | on: 7 | push: 8 | branches: [ "master" ] 9 | pull_request: 10 | branches: [ "master" ] 11 | 12 | jobs: 13 | build: 14 | 15 | runs-on: ubuntu-latest 16 | 17 | strategy: 18 | matrix: 19 | node-version: [20.x] 20 | 21 | steps: 22 | - uses: actions/checkout@v3 23 | - name: Use Node.js ${{ matrix.node-version }} 24 | uses: actions/setup-node@v3 25 | with: 26 | node-version: ${{ matrix.node-version }} 27 | cache: 'npm' 28 | - run: npm ci 29 | - run: npm run build --if-present 30 | - run: npm test 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | pageRank.csv 6 | 7 | # Runtime data 8 | pids 9 | *.pid 10 | *.seed 11 | 12 | # Directory for instrumented libs generated by jscoverage/JSCover 13 | lib-cov 14 | 15 | # Coverage directory used by tools like istanbul 16 | coverage 17 | 18 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 19 | .grunt 20 | 21 | # node-waf configuration 22 | .lock-wscript 23 | 24 | # Compiled binary addons (http://nodejs.org/api/addons.html) 25 | build/Release 26 | 27 | # Dependency directory 28 | node_modules 29 | 30 | # Optional npm cache directory 31 | .npm 32 | 33 | # Optional REPL history 34 | .node_repl_history 35 | 36 | log.out 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Graphs in Transit 2 | 3 | A study of transit system design using graph theory. 4 | 5 | ## Usage 6 | 7 | `gtfs-graph` requires Node.js version 7.2.1. 8 | 9 | After cloning the repository, be sure to install the necessary dependencies. 10 | 11 | `npm install` 12 | 13 | There is an `npm` command to build the JavaScript bundle and start the Node.js server. These are not joined because the combine sequence takes longer than 60 seconds to complete, with is Heroku's limit on server boot time. See Other for the component commands. 14 | 15 | `npm run all` 16 | 17 | ### Test 18 | 19 | A test suite of mostly unit tests is included. To run the tests: 20 | 21 | `npm test` 22 | 23 | ### Other 24 | 25 | To build the JavaScript bundle without starting the server, run: 26 | 27 | `npm run build-js` 28 | 29 | Then, the Node.js server may be started. 30 | 31 | `npm start` 32 | 33 | ### Advanced Usage 34 | 35 | Command-line options are available for `lib/server/index.js` to customize a run. 36 | 37 | `--system` will load the server for only a single specified system. Default: all. 38 | 39 | `node lib/server/index.js --system MBTA` 40 | 41 | `--verbosity` will run the server at the specified verbosity. Default: info. 42 | 43 | `node lib/server/index.js --verbosity verbose` 44 | 45 | ## API 46 | 47 | ### Graph 48 | 49 | `api/v0/graph/[system]?type=[type]&filter=[filter]&mode=[mode]` 50 | 51 | | System | 52 | |---| 53 | |mbta| 54 | |mta| 55 | |ratp| 56 | 57 | | Graph Type | 58 | |---| 59 | |primary| 60 | |merged| 61 | |theoretical-1r| 62 | |theoretical-2r| 63 | |theoretical-3r| 64 | |theoretical-4r| 65 | |theoretical-5r| 66 | 67 | |Filter| 68 | |---| 69 | |stops| 70 | |edges| 71 | 72 | |Mode (only valid if type==merged)| 73 | |---| 74 | |accessibility| 75 | |closeness| 76 | |katz| 77 | |page_rank| 78 | 79 | ### System 80 | 81 | `api/v0/system/[system]` 82 | -------------------------------------------------------------------------------- /data/mbta/edges.csv: -------------------------------------------------------------------------------- 1 | place-alfcl,place-davis,route,120 2 | place-alfcl,place-davis,route,180 3 | place-alsgr,place-grigg,route,60 4 | place-alsgr,place-grigg,route,120 5 | place-alsgr,place-wrnst,route,0 6 | place-alsgr,place-wrnst,route,60 7 | place-andrw,place-brdwy,route,120 8 | place-andrw,place-brdwy,route,180 9 | place-andrw,place-jfk,route,120 10 | place-andrw,place-jfk,route,180 11 | place-aport,place-mvbcl,route,120 12 | place-aport,place-wimnl,route,120 13 | place-aport,place-wimnl,route,180 14 | place-aqucl,place-mvbcl,route,120 15 | place-aqucl,place-mvbcl,route,180 16 | place-aqucl,place-state,route,60 17 | place-aqucl,place-state,route,120 18 | place-armnl,place-boyls,route,60 19 | place-armnl,place-boyls,route,120 20 | place-armnl,place-boyls,route,180 21 | place-armnl,place-coecl,route,60 22 | place-armnl,place-coecl,route,120 23 | place-asmnl,place-cedgr,route,60 24 | place-asmnl,place-smmnl,route,60 25 | place-asmnl,place-smmnl,route,120 26 | place-astao,place-sull,route,120 27 | place-astao,place-sull,route,180 28 | place-astao,place-welln,route,120 29 | place-babck,place-brico,route,60 30 | place-babck,place-brico,route,120 31 | place-babck,place-plsgr,route,0 32 | place-babck,place-plsgr,route,60 33 | place-babck,place-plsgr,route,120 34 | place-bbsta,place-masta,route,120 35 | place-bbsta,place-masta,route,180 36 | place-bbsta,place-tumnl,route,60 37 | place-bbsta,place-tumnl,route,120 38 | place-bbsta,place-tumnl,route,180 39 | place-bckhl,place-hsmnl,route,60 40 | place-bckhl,place-hsmnl,route,120 41 | place-bckhl,place-rvrwy,route,60 42 | place-bckhl,place-rvrwy,route,120 43 | place-bcnfd,place-brkhl,route,60 44 | place-bcnfd,place-brkhl,route,120 45 | place-bcnfd,place-brkhl,route,180 46 | place-bcnfd,place-rsmnl,route,120 47 | place-bcnwa,place-fbkst,route,60 48 | place-bcnwa,place-fbkst,route,120 49 | place-bcnwa,place-tapst,route,0 50 | place-bcnwa,place-tapst,route,60 51 | place-bcnwa,place-tapst,route,120 52 | place-bland,place-buest,route,60 53 | place-bland,place-buest,route,120 54 | place-bland,place-kencl,route,60 55 | place-bland,place-kencl,route,120 56 | place-bland,place-kencl,route,300 57 | place-bland,place-kencl,route,360 58 | place-bmmnl,place-rbmnl,route,60 59 | place-bmmnl,place-rbmnl,route,120 60 | place-bmmnl,place-sdmnl,route,120 61 | place-bndhl,place-fbkst,route,0 62 | place-bndhl,place-fbkst,route,60 63 | place-bndhl,place-sumav,route,60 64 | place-bndhl,place-sumav,route,120 65 | place-bomnl,place-gover,route,60 66 | place-bomnl,place-gover,route,120 67 | place-boyls,place-armnl,route,60 68 | place-boyls,place-armnl,route,120 69 | place-boyls,place-armnl,route,180 70 | place-boyls,place-pktrm,route,60 71 | place-boyls,place-pktrm,route,120 72 | place-brdwy,place-andrw,route,120 73 | place-brdwy,place-sstat,route,120 74 | place-brdwy,place-sstat,route,180 75 | place-brico,place-babck,route,60 76 | place-brico,place-babck,route,120 77 | place-brico,place-harvd,route,60 78 | place-brico,place-harvd,route,120 79 | place-brico,place-harvd,route,180 80 | place-brkhl,place-bcnfd,route,120 81 | place-brkhl,place-bcnfd,route,180 82 | place-brkhl,place-bvmnl,route,60 83 | place-brkhl,place-bvmnl,route,120 84 | place-brmnl,place-fenwd,route,0 85 | place-brmnl,place-fenwd,route,60 86 | place-brmnl,place-lngmd,route,60 87 | place-brmnl,place-lngmd,route,120 88 | place-brntn,place-qamnl,route,180 89 | place-brntn,place-qamnl,route,240 90 | place-bucen,place-buest,route,0 91 | place-bucen,place-buest,route,60 92 | place-bucen,place-buest,route,120 93 | place-bucen,place-buwst,route,60 94 | place-bucen,place-buwst,route,120 95 | place-bucen,place-buwst,route,180 96 | place-bucen,place-buwst,route,240 97 | place-buest,place-bland,route,60 98 | place-buest,place-bland,route,120 99 | place-buest,place-bucen,route,60 100 | place-buest,place-bucen,route,120 101 | place-butlr,place-cedgr,route,120 102 | place-butlr,place-miltt,route,0 103 | place-butlr,place-miltt,route,60 104 | place-buwst,place-bucen,route,60 105 | place-buwst,place-bucen,route,120 106 | place-buwst,place-bucen,route,180 107 | place-buwst,place-bucen,route,240 108 | place-buwst,place-stplb,route,0 109 | place-buwst,place-stplb,route,60 110 | place-bvmnl,place-brkhl,route,60 111 | place-bvmnl,place-brkhl,route,120 112 | place-bvmnl,place-longw,route,60 113 | place-bvmnl,place-longw,route,120 114 | place-bvmnl,place-longw,route,180 115 | place-capst,place-matt,route,60 116 | place-capst,place-valrd,route,60 117 | place-ccmnl,place-north,route,120 118 | place-ccmnl,place-north,route,180 119 | place-ccmnl,place-sull,route,120 120 | place-ccmnl,place-sull,route,240 121 | place-cedgr,place-asmnl,route,60 122 | place-cedgr,place-butlr,route,120 123 | place-cedgr,place-butlr,route,180 124 | place-cenav,place-miltt,route,60 125 | place-cenav,place-valrd,route,60 126 | place-cenav,place-valrd,route,120 127 | place-chhil,place-newto,route,180 128 | place-chhil,place-newto,route,240 129 | place-chhil,place-rsmnl,route,120 130 | place-chhil,place-rsmnl,route,180 131 | place-chill,place-chswk,route,60 132 | place-chill,place-chswk,route,120 133 | place-chill,place-sougr,route,0 134 | place-chill,place-sougr,route,60 135 | place-chill,place-sougr,route,120 136 | place-chmnl,place-knncl,route,120 137 | place-chmnl,place-knncl,route,180 138 | place-chmnl,place-pktrm,route,120 139 | place-chmnl,place-pktrm,route,180 140 | place-chncl,place-dwnxg,route,60 141 | place-chncl,place-dwnxg,route,120 142 | place-chncl,place-tumnl,route,60 143 | place-chncl,place-tumnl,route,120 144 | place-chswk,place-chill,route,60 145 | place-chswk,place-chill,route,120 146 | place-chswk,place-sthld,route,60 147 | place-chswk,place-sthld,route,120 148 | place-clmnl,place-engav,route,60 149 | place-clmnl,place-engav,route,120 150 | place-cntsq,place-harsq,route,120 151 | place-cntsq,place-harsq,route,180 152 | place-cntsq,place-harsq,route,240 153 | place-cntsq,place-harsq,route,300 154 | place-cntsq,place-knncl,route,120 155 | place-cntsq,place-knncl,route,180 156 | place-cntsq,place-knncl,route,240 157 | place-coecl,place-armnl,route,60 158 | place-coecl,place-armnl,route,120 159 | place-coecl,place-hymnl,route,120 160 | place-coecl,place-hymnl,route,180 161 | place-coecl,place-hymnl,route,240 162 | place-coecl,place-prmnl,route,120 163 | place-coecl,place-prmnl,route,180 164 | place-cool,place-stpul,route,60 165 | place-cool,place-stpul,route,120 166 | place-cool,place-stpul,route,180 167 | place-cool,place-sumav,route,60 168 | place-cool,place-sumav,route,120 169 | place-crtst,place-sstat,route,120 170 | place-crtst,place-sstat,route,240 171 | place-crtst,place-sstat,route,300 172 | place-crtst,place-wtcst,route,120 173 | place-davis,place-alfcl,route,60 174 | place-davis,place-alfcl,route,120 175 | place-davis,place-alfcl,route,180 176 | place-davis,place-alfcl,route,240 177 | place-davis,place-portr,route,120 178 | place-denrd,place-engav,route,0 179 | place-denrd,place-engav,route,60 180 | place-denrd,place-engav,route,120 181 | place-denrd,place-tapst,route,0 182 | place-denrd,place-tapst,route,60 183 | place-dwnxg,place-chncl,route,60 184 | place-dwnxg,place-chncl,route,120 185 | place-dwnxg,place-pktrm,route,60 186 | place-dwnxg,place-pktrm,route,120 187 | place-dwnxg,place-pktrm,route,180 188 | place-dwnxg,place-sstat,route,60 189 | place-dwnxg,place-sstat,route,120 190 | place-dwnxg,place-sstat,route,180 191 | place-dwnxg,place-state,route,60 192 | place-dwnxg,place-state,route,120 193 | place-eliot,place-newtn,route,120 194 | place-eliot,place-waban,route,120 195 | place-eliot,place-waban,route,180 196 | place-engav,place-clmnl,route,60 197 | place-engav,place-clmnl,route,120 198 | place-engav,place-denrd,route,60 199 | place-engav,place-denrd,route,120 200 | place-fbkst,place-bcnwa,route,60 201 | place-fbkst,place-bcnwa,route,120 202 | place-fbkst,place-bndhl,route,0 203 | place-fbkst,place-bndhl,route,60 204 | place-fenwd,place-brmnl,route,0 205 | place-fenwd,place-brmnl,route,60 206 | place-fenwd,place-mispk,route,60 207 | place-fenwd,place-mispk,route,120 208 | place-fenwd,place-mispk,route,180 209 | place-fenwy,place-kencl,route,120 210 | place-fenwy,place-kencl,route,180 211 | place-fenwy,place-kencl,route,300 212 | place-fenwy,place-longw,route,60 213 | place-fenwy,place-longw,route,120 214 | place-fldcr,place-shmnl,route,180 215 | place-fldcr,place-smmnl,route,120 216 | place-fldcr,place-smmnl,route,180 217 | place-forhl,place-grnst,route,60 218 | place-gover,place-bomnl,route,120 219 | place-gover,place-haecl,route,60 220 | place-gover,place-haecl,route,120 221 | place-gover,place-pktrm,route,60 222 | place-gover,place-pktrm,route,120 223 | place-gover,place-pktrm,route,180 224 | place-gover,place-state,route,60 225 | place-gover,place-state,route,120 226 | place-grigg,place-alsgr,route,60 227 | place-grigg,place-alsgr,route,120 228 | place-grigg,place-harvd,route,60 229 | place-grigg,place-harvd,route,120 230 | place-grnst,place-forhl,route,60 231 | place-grnst,place-forhl,route,120 232 | place-grnst,place-sbmnl,route,120 233 | place-haecl,place-gover,route,60 234 | place-haecl,place-gover,route,120 235 | place-haecl,place-north,route,60 236 | place-haecl,place-north,route,120 237 | place-haecl,place-state,route,60 238 | place-haecl,place-state,route,120 239 | place-harsq,place-cntsq,route,180 240 | place-harsq,place-cntsq,route,240 241 | place-harsq,place-portr,route,60 242 | place-harsq,place-portr,route,120 243 | place-harsq,place-portr,route,180 244 | place-harvd,place-brico,route,60 245 | place-harvd,place-brico,route,120 246 | place-harvd,place-brico,route,180 247 | place-harvd,place-grigg,route,60 248 | place-harvd,place-grigg,route,120 249 | place-hsmnl,place-bckhl,route,60 250 | place-hsmnl,place-bckhl,route,120 251 | place-hwsst,place-kntst,route,0 252 | place-hwsst,place-kntst,route,60 253 | place-hwsst,place-smary,route,60 254 | place-hwsst,place-smary,route,120 255 | place-hymnl,place-coecl,route,120 256 | place-hymnl,place-coecl,route,180 257 | place-hymnl,place-coecl,route,240 258 | place-hymnl,place-kencl,route,120 259 | place-hymnl,place-kencl,route,180 260 | place-hymnl,place-kencl,route,240 261 | place-jaksn,place-rcmnl,route,120 262 | place-jaksn,place-rcmnl,route,180 263 | place-jaksn,place-sbmnl,route,60 264 | place-jaksn,place-sbmnl,route,120 265 | place-jfk,place-andrw,route,120 266 | place-jfk,place-andrw,route,180 267 | place-jfk,place-nqncy,route,420 268 | place-jfk,place-nqncy,route,480 269 | place-jfk,place-nqncy,route,540 270 | place-jfk,place-shmnl,route,120 271 | place-jfk,place-shmnl,route,180 272 | place-kencl,place-bland,route,60 273 | place-kencl,place-bland,route,120 274 | place-kencl,place-bland,route,360 275 | place-kencl,place-fenwy,route,120 276 | place-kencl,place-fenwy,route,180 277 | place-kencl,place-fenwy,route,420 278 | place-kencl,place-hymnl,route,120 279 | place-kencl,place-hymnl,route,180 280 | place-kencl,place-hymnl,route,240 281 | place-kencl,place-smary,route,180 282 | place-kencl,place-smary,route,300 283 | place-kencl,place-smary,route,480 284 | place-knncl,place-chmnl,route,120 285 | place-knncl,place-chmnl,route,180 286 | place-knncl,place-chmnl,route,240 287 | place-knncl,place-cntsq,route,120 288 | place-knncl,place-cntsq,route,180 289 | place-kntst,place-hwsst,route,0 290 | place-kntst,place-hwsst,route,60 291 | place-kntst,place-hwsst,route,120 292 | place-kntst,place-stpul,route,60 293 | place-kntst,place-stpul,route,120 294 | place-lake,place-sougr,route,60 295 | place-lake,place-sougr,route,120 296 | place-lake,place-sougr,route,180 297 | place-lech,place-spmnl,route,60 298 | place-lech,place-spmnl,route,120 299 | place-lech,place-spmnl,route,180 300 | place-lech,place-spmnl,route,300 301 | place-lngmd,place-brmnl,route,60 302 | place-lngmd,place-brmnl,route,120 303 | place-lngmd,place-mfa,route,60 304 | place-lngmd,place-mfa,route,120 305 | place-lngmd,place-mfa,route,180 306 | place-longw,place-bvmnl,route,60 307 | place-longw,place-bvmnl,route,120 308 | place-longw,place-bvmnl,route,180 309 | place-longw,place-fenwy,route,60 310 | place-longw,place-fenwy,route,120 311 | place-masta,place-bbsta,route,120 312 | place-masta,place-rugg,route,60 313 | place-masta,place-rugg,route,120 314 | place-matt,place-capst,route,60 315 | place-mfa,place-lngmd,route,60 316 | place-mfa,place-lngmd,route,120 317 | place-mfa,place-lngmd,route,180 318 | place-mfa,place-nuniv,route,120 319 | place-mfa,place-nuniv,route,180 320 | place-miltt,place-butlr,route,0 321 | place-miltt,place-butlr,route,60 322 | place-miltt,place-cenav,route,60 323 | place-mispk,place-fenwd,route,60 324 | place-mispk,place-fenwd,route,120 325 | place-mispk,place-rvrwy,route,0 326 | place-mispk,place-rvrwy,route,60 327 | place-mispk,place-rvrwy,route,120 328 | place-mlmnl,place-ogmnl,route,60 329 | place-mlmnl,place-ogmnl,route,120 330 | place-mlmnl,place-welln,route,180 331 | place-mlmnl,place-welln,route,240 332 | place-mvbcl,place-aport,route,120 333 | place-mvbcl,place-aqucl,route,120 334 | place-newtn,place-eliot,route,120 335 | place-newtn,place-newto,route,120 336 | place-newtn,place-newto,route,180 337 | place-newto,place-chhil,route,180 338 | place-newto,place-chhil,route,240 339 | place-newto,place-newtn,route,120 340 | place-north,place-ccmnl,route,120 341 | place-north,place-ccmnl,route,180 342 | place-north,place-haecl,route,60 343 | place-north,place-haecl,route,120 344 | place-north,place-spmnl,route,60 345 | place-north,place-spmnl,route,120 346 | place-north,place-spmnl,route,180 347 | place-north,place-spmnl,route,240 348 | place-nqncy,place-jfk,route,420 349 | place-nqncy,place-jfk,route,480 350 | place-nqncy,place-jfk,route,540 351 | place-nqncy,place-wlsta,route,120 352 | place-nqncy,place-wlsta,route,180 353 | place-nqncy,place-wlsta,route,240 354 | place-nuniv,place-mfa,route,120 355 | place-nuniv,place-mfa,route,180 356 | place-nuniv,place-symcl,route,60 357 | place-nuniv,place-symcl,route,120 358 | place-ogmnl,place-mlmnl,route,120 359 | place-orhte,place-sdmnl,route,120 360 | place-orhte,place-wimnl,route,120 361 | place-pktrm,place-boyls,route,60 362 | place-pktrm,place-boyls,route,120 363 | place-pktrm,place-boyls,route,180 364 | place-pktrm,place-chmnl,route,120 365 | place-pktrm,place-chmnl,route,180 366 | place-pktrm,place-dwnxg,route,60 367 | place-pktrm,place-dwnxg,route,120 368 | place-pktrm,place-dwnxg,route,180 369 | place-pktrm,place-gover,route,120 370 | place-pktrm,place-gover,route,180 371 | place-plsgr,place-babck,route,0 372 | place-plsgr,place-babck,route,60 373 | place-plsgr,place-stplb,route,0 374 | place-plsgr,place-stplb,route,60 375 | place-plsgr,place-stplb,route,120 376 | place-portr,place-davis,route,120 377 | place-portr,place-davis,route,180 378 | place-portr,place-harsq,route,120 379 | place-portr,place-harsq,route,180 380 | place-prmnl,place-coecl,route,120 381 | place-prmnl,place-coecl,route,180 382 | place-prmnl,place-symcl,route,60 383 | place-prmnl,place-symcl,route,120 384 | place-qamnl,place-brntn,route,180 385 | place-qamnl,place-brntn,route,240 386 | place-qamnl,place-qnctr,route,180 387 | place-qamnl,place-qnctr,route,240 388 | place-qnctr,place-qamnl,route,180 389 | place-qnctr,place-qamnl,route,240 390 | place-qnctr,place-qamnl,route,300 391 | place-qnctr,place-wlsta,route,180 392 | place-rbmnl,place-bmmnl,route,60 393 | place-rbmnl,place-wondl,route,60 394 | place-rbmnl,place-wondl,route,120 395 | place-rcmnl,place-jaksn,route,60 396 | place-rcmnl,place-jaksn,route,120 397 | place-rcmnl,place-rugg,route,60 398 | place-rcmnl,place-rugg,route,120 399 | place-river,place-woodl,route,60 400 | place-rsmnl,place-bcnfd,route,120 401 | place-rsmnl,place-bcnfd,route,180 402 | place-rsmnl,place-chhil,route,120 403 | place-rsmnl,place-chhil,route,180 404 | place-rugg,place-masta,route,120 405 | place-rugg,place-masta,route,180 406 | place-rugg,place-rcmnl,route,120 407 | place-rvrwy,place-bckhl,route,60 408 | place-rvrwy,place-mispk,route,60 409 | place-rvrwy,place-mispk,route,120 410 | place-sbmnl,place-grnst,route,60 411 | place-sbmnl,place-grnst,route,120 412 | place-sbmnl,place-jaksn,route,120 413 | place-sdmnl,place-bmmnl,route,120 414 | place-sdmnl,place-orhte,route,60 415 | place-sdmnl,place-orhte,route,120 416 | place-shmnl,place-fldcr,route,180 417 | place-shmnl,place-fldcr,route,240 418 | place-shmnl,place-jfk,route,120 419 | place-shmnl,place-jfk,route,180 420 | place-smary,place-hwsst,route,60 421 | place-smary,place-hwsst,route,120 422 | place-smary,place-kencl,route,120 423 | place-smary,place-kencl,route,180 424 | place-smary,place-kencl,route,240 425 | place-smmnl,place-asmnl,route,120 426 | place-smmnl,place-asmnl,route,180 427 | place-smmnl,place-fldcr,route,120 428 | place-sougr,place-chill,route,60 429 | place-sougr,place-lake,route,120 430 | place-sougr,place-lake,route,180 431 | place-sougr,place-lake,route,240 432 | place-spmnl,place-lech,route,60 433 | place-spmnl,place-lech,route,120 434 | place-spmnl,place-lech,route,180 435 | place-spmnl,place-lech,route,300 436 | place-spmnl,place-north,route,60 437 | place-spmnl,place-north,route,120 438 | place-spmnl,place-north,route,180 439 | place-spmnl,place-north,route,240 440 | place-sstat,place-brdwy,route,120 441 | place-sstat,place-brdwy,route,180 442 | place-sstat,place-crtst,route,120 443 | place-sstat,place-dwnxg,route,60 444 | place-sstat,place-dwnxg,route,120 445 | place-state,place-aqucl,route,60 446 | place-state,place-aqucl,route,120 447 | place-state,place-dwnxg,route,60 448 | place-state,place-dwnxg,route,120 449 | place-state,place-gover,route,120 450 | place-state,place-haecl,route,60 451 | place-state,place-haecl,route,120 452 | place-sthld,place-chswk,route,0 453 | place-sthld,place-chswk,route,60 454 | place-sthld,place-chswk,route,120 455 | place-sthld,place-wascm,route,60 456 | place-sthld,place-wascm,route,120 457 | place-stplb,place-buwst,route,0 458 | place-stplb,place-buwst,route,60 459 | place-stplb,place-plsgr,route,60 460 | place-stplb,place-plsgr,route,120 461 | place-stpul,place-cool,route,60 462 | place-stpul,place-cool,route,120 463 | place-stpul,place-kntst,route,60 464 | place-stpul,place-kntst,route,120 465 | place-sull,place-astao,route,120 466 | place-sull,place-astao,route,180 467 | place-sull,place-astao,route,240 468 | place-sull,place-ccmnl,route,120 469 | place-sull,place-ccmnl,route,180 470 | place-sumav,place-bndhl,route,0 471 | place-sumav,place-bndhl,route,60 472 | place-sumav,place-bndhl,route,120 473 | place-sumav,place-cool,route,60 474 | place-sumav,place-cool,route,120 475 | place-symcl,place-nuniv,route,60 476 | place-symcl,place-nuniv,route,120 477 | place-symcl,place-prmnl,route,60 478 | place-tapst,place-bcnwa,route,60 479 | place-tapst,place-bcnwa,route,120 480 | place-tapst,place-denrd,route,0 481 | place-tapst,place-denrd,route,60 482 | place-tapst,place-denrd,route,120 483 | place-tumnl,place-bbsta,route,120 484 | place-tumnl,place-chncl,route,60 485 | place-tumnl,place-chncl,route,120 486 | place-valrd,place-capst,route,60 487 | place-valrd,place-cenav,route,60 488 | place-valrd,place-cenav,route,120 489 | place-waban,place-eliot,route,120 490 | place-waban,place-woodl,route,120 491 | place-waban,place-woodl,route,180 492 | place-wascm,place-sthld,route,60 493 | place-wascm,place-sthld,route,120 494 | place-wascm,place-wrnst,route,60 495 | place-wascm,place-wrnst,route,120 496 | place-wascm,place-wrnst,route,180 497 | place-welln,place-astao,route,60 498 | place-welln,place-astao,route,120 499 | place-welln,place-astao,route,180 500 | place-welln,place-mlmnl,route,60 501 | place-welln,place-mlmnl,route,120 502 | place-welln,place-mlmnl,route,240 503 | place-wimnl,place-aport,route,120 504 | place-wimnl,place-orhte,route,120 505 | place-wimnl,place-orhte,route,180 506 | place-wlsta,place-nqncy,route,120 507 | place-wlsta,place-nqncy,route,180 508 | place-wlsta,place-qnctr,route,180 509 | place-wondl,place-rbmnl,route,60 510 | place-woodl,place-river,route,60 511 | place-woodl,place-river,route,120 512 | place-woodl,place-waban,route,60 513 | place-woodl,place-waban,route,120 514 | place-woodl,place-waban,route,180 515 | place-wrnst,place-alsgr,route,0 516 | place-wrnst,place-alsgr,route,60 517 | place-wrnst,place-wascm,route,60 518 | place-wrnst,place-wascm,route,120 519 | place-wrnst,place-wascm,route,180 520 | place-wtcst,place-crtst,route,120 521 | -------------------------------------------------------------------------------- /data/mbta/routes.csv: -------------------------------------------------------------------------------- 1 | place-spmnl,Green-C,427B1D 2 | place-eliot,Green-D,427B1D 3 | place-harvd,Green-B,427B1D 4 | place-tapst,Green-C,427B1D 5 | place-stplb,Green-B,427B1D 6 | place-boyls,Green-D,427B1D 7 | place-capst,Mattapan,E12D27 8 | place-lngmd,Green-E,427B1D 9 | place-orhte,Blue,2F5DA6 10 | place-bland,Green-B,427B1D 11 | place-tumnl,Orange,E87200 12 | place-armnl,Green-C,427B1D 13 | place-buwst,Green-B,427B1D 14 | place-astao,Orange,E87200 15 | place-knncl,Red,E12D27 16 | place-harsq,Red,E12D27 17 | place-haecl,Green-D,427B1D 18 | place-lake,Green-B,427B1D 19 | place-wrnst,Green-B,427B1D 20 | place-kencl,Green-C,427B1D 21 | place-wtcst,742,555555 22 | place-prmnl,Green-E,427B1D 23 | place-jaksn,Orange,E87200 24 | place-gover,Green-D,427B1D 25 | place-north,Orange,E87200 26 | place-engav,Green-C,427B1D 27 | place-chmnl,Red,E12D27 28 | place-gover,Green-E,427B1D 29 | place-north,Green-C,427B1D 30 | place-hymnl,Green-D,427B1D 31 | place-welln,Orange,E87200 32 | place-dwnxg,Red,E12D27 33 | place-stpul,Green-C,427B1D 34 | place-alsgr,Green-B,427B1D 35 | place-haecl,Green-E,427B1D 36 | place-grigg,Green-B,427B1D 37 | place-state,Blue,2F5DA6 38 | place-coecl,Green-B,427B1D 39 | place-longw,Green-D,427B1D 40 | place-fenwy,Green-D,427B1D 41 | place-bcnfd,Green-D,427B1D 42 | place-boyls,Green-E,427B1D 43 | place-chill,Green-B,427B1D 44 | place-lech,Green-B,427B1D 45 | place-bucen,Green-B,427B1D 46 | place-cool,Green-C,427B1D 47 | place-wascm,Green-B,427B1D 48 | place-hwsst,Green-C,427B1D 49 | place-wtcst,746,555555 50 | place-fldcr,Red,E12D27 51 | place-coecl,Green-D,427B1D 52 | place-newto,Green-D,427B1D 53 | place-bvmnl,Green-D,427B1D 54 | place-bcnwa,Green-C,427B1D 55 | place-nuniv,Green-E,427B1D 56 | place-andrw,Red,E12D27 57 | place-wimnl,Blue,2F5DA6 58 | place-qamnl,Red,E12D27 59 | place-lech,Green-D,427B1D 60 | place-portr,Red,E12D27 61 | place-sstat,741,555555 62 | place-pktrm,Green-C,427B1D 63 | place-gover,Blue,2F5DA6 64 | place-brntn,Red,E12D27 65 | place-ogmnl,Orange,E87200 66 | place-hymnl,Green-B,427B1D 67 | place-crtst,741,555555 68 | place-clmnl,Green-C,427B1D 69 | place-babck,Green-B,427B1D 70 | place-haecl,Green-B,427B1D 71 | place-river,Green-D,427B1D 72 | place-nqncy,Red,E12D27 73 | place-gover,Green-B,427B1D 74 | place-sull,Orange,E87200 75 | place-woodl,Green-D,427B1D 76 | place-rugg,Orange,E87200 77 | place-wondl,Blue,2F5DA6 78 | place-valrd,Mattapan,E12D27 79 | place-masta,Orange,E87200 80 | place-boyls,Green-B,427B1D 81 | place-lech,Green-E,427B1D 82 | place-sdmnl,Blue,2F5DA6 83 | place-cedgr,Mattapan,E12D27 84 | place-rsmnl,Green-D,427B1D 85 | place-coecl,Green-E,427B1D 86 | place-tumnl,751,555555 87 | place-matt,Mattapan,E12D27 88 | place-asmnl,Mattapan,E12D27 89 | place-fenwd,Green-E,427B1D 90 | place-rcmnl,Orange,E87200 91 | place-buest,Green-B,427B1D 92 | place-spmnl,Green-B,427B1D 93 | place-sstat,746,555555 94 | place-armnl,Green-B,427B1D 95 | place-cntsq,Red,E12D27 96 | place-asmnl,Red,E12D27 97 | place-crtst,746,555555 98 | place-pktrm,Red,E12D27 99 | place-denrd,Green-C,427B1D 100 | place-mispk,Green-E,427B1D 101 | place-kntst,Green-C,427B1D 102 | place-rvrwy,Green-E,427B1D 103 | place-cenav,Mattapan,E12D27 104 | place-newtn,Green-D,427B1D 105 | place-kencl,Green-B,427B1D 106 | place-tumnl,749,555555 107 | place-pktrm,Green-E,427B1D 108 | place-sstat,Red,E12D27 109 | place-sstat,742,555555 110 | place-mvbcl,Blue,2F5DA6 111 | place-davis,Red,E12D27 112 | place-pktrm,Green-D,427B1D 113 | place-north,Green-B,427B1D 114 | place-sbmnl,Orange,E87200 115 | place-crtst,742,555555 116 | place-bckhl,Green-E,427B1D 117 | place-mfa,Green-E,427B1D 118 | place-state,Orange,E87200 119 | place-smmnl,Red,E12D27 120 | place-chhil,Green-D,427B1D 121 | place-coecl,Green-C,427B1D 122 | place-plsgr,Green-B,427B1D 123 | place-brmnl,Green-E,427B1D 124 | place-alfcl,Red,E12D27 125 | place-lech,Green-C,427B1D 126 | place-butlr,Mattapan,E12D27 127 | place-bmmnl,Blue,2F5DA6 128 | place-symcl,Green-E,427B1D 129 | place-mlmnl,Orange,E87200 130 | place-waban,Green-D,427B1D 131 | place-armnl,Green-E,427B1D 132 | place-rbmnl,Blue,2F5DA6 133 | place-qnctr,Red,E12D27 134 | place-bbsta,Orange,E87200 135 | place-dwnxg,Orange,E87200 136 | place-spmnl,Green-E,427B1D 137 | place-brdwy,Red,E12D27 138 | place-jfk,Red,E12D27 139 | place-pktrm,Green-B,427B1D 140 | place-shmnl,Red,E12D27 141 | place-north,Green-D,427B1D 142 | place-sumav,Green-C,427B1D 143 | place-brkhl,Green-D,427B1D 144 | place-brico,Green-B,427B1D 145 | place-sougr,Green-B,427B1D 146 | place-hymnl,Green-C,427B1D 147 | place-haecl,Orange,E87200 148 | place-fbkst,Green-C,427B1D 149 | place-bndhl,Green-C,427B1D 150 | place-wlsta,Red,E12D27 151 | place-chncl,Orange,E87200 152 | place-grnst,Orange,E87200 153 | place-bomnl,Blue,2F5DA6 154 | place-haecl,Green-C,427B1D 155 | place-wtcst,741,555555 156 | place-smary,Green-C,427B1D 157 | place-kencl,Green-D,427B1D 158 | place-sthld,Green-B,427B1D 159 | place-hsmnl,Green-E,427B1D 160 | place-gover,Green-C,427B1D 161 | place-north,Green-E,427B1D 162 | place-boyls,Green-C,427B1D 163 | place-aqucl,Blue,2F5DA6 164 | place-spmnl,Green-D,427B1D 165 | place-forhl,Orange,E87200 166 | place-miltt,Mattapan,E12D27 167 | place-ccmnl,Orange,E87200 168 | place-armnl,Green-D,427B1D 169 | place-aport,Blue,2F5DA6 170 | place-chswk,Green-B,427B1D 171 | -------------------------------------------------------------------------------- /data/mbta/stops.csv: -------------------------------------------------------------------------------- 1 | place-alfcl,Alewife,42.395428,-71.142483 2 | place-alsgr,Allston Street,42.348701,-71.137955 3 | place-andrw,Andrew,42.330154,-71.057655 4 | place-aport,Airport,42.374262,-71.030395 5 | place-aqucl,Aquarium,42.359784,-71.051652 6 | place-armnl,Arlington,42.351902,-71.070893 7 | place-asmnl,Ashmont,42.284652,-71.064489 8 | place-astao,Assembly,42.392811,-71.077257 9 | place-babck,Babcock Street,42.35182,-71.12165 10 | place-bbsta,Back Bay,42.34735,-71.075727 11 | place-bckhl,Back of the Hill,42.330139,-71.111313 12 | place-bcnfd,Beaconsfield,42.335846,-71.140823 13 | place-bcnwa,Washington Square,42.339394,-71.13533 14 | place-bland,Blandford Street,42.349293,-71.100258 15 | place-bmmnl,Beachmont,42.39754234,-70.99231944 16 | place-bndhl,Brandon Hall,42.340023,-71.129082 17 | place-bomnl,Bowdoin,42.361365,-71.062037 18 | place-boyls,Boylston,42.35302,-71.06459 19 | place-brdwy,Broadway,42.342622,-71.056967 20 | place-brico,Packards Corner,42.351967,-71.125031 21 | place-brkhl,Brookline Hills,42.331333,-71.126999 22 | place-brmnl,Brigham Circle,42.334229,-71.104609 23 | place-brntn,Braintree,42.2078543,-71.0011385 24 | place-bucen,Boston Univ. Central,42.350082,-71.106865 25 | place-buest,Boston Univ. East,42.349735,-71.103889 26 | place-butlr,Butler,42.272343,-71.062584 27 | place-buwst,Boston Univ. West,42.350941,-71.113876 28 | place-bvmnl,Brookline Village,42.332774,-71.116296 29 | place-capst,Capen Street,42.267712,-71.087753 30 | place-ccmnl,Community College,42.373622,-71.069533 31 | place-cedgr,Cedar Grove,42.279682,-71.060432 32 | place-cenav,Central Ave.,42.270027,-71.073334 33 | place-chhil,Chestnut Hill,42.326653,-71.165314 34 | place-chill,Chestnut Hill Ave.,42.338169,-71.15316 35 | place-chmnl,Charles/MGH,42.361166,-71.070628 36 | place-chncl,Chinatown,42.352547,-71.062752 37 | place-chswk,Chiswick Road,42.340805,-71.150711 38 | place-clmnl,Cleveland Circle,42.336142,-71.149326 39 | place-cntsq,Central,42.365486,-71.103802 40 | place-coecl,Copley,42.349974,-71.077447 41 | place-cool,Coolidge Corner,42.342116,-71.121263 42 | place-crtst,Courthouse,42.35245,-71.04685 43 | place-davis,Davis,42.39674,-71.121815 44 | place-denrd,Dean Road,42.337807,-71.141853 45 | place-dwnxg,Downtown Crossing,42.355518,-71.060225 46 | place-eliot,Eliot,42.319023,-71.216713 47 | place-engav,Englewood Ave.,42.336971,-71.14566 48 | place-fbkst,Fairbanks Street,42.339725,-71.131073 49 | place-fenwd,Fenwood Road,42.333706,-71.105728 50 | place-fenwy,Fenway,42.345394,-71.104187 51 | place-fldcr,Fields Corner,42.300093,-71.061667 52 | place-forhl,Forest Hills,42.300523,-71.113686 53 | place-gover,Government Center,42.359705,-71.059215 54 | place-grigg,Griggs Street,42.348545,-71.134949 55 | place-grnst,Green Street,42.310525,-71.107414 56 | place-haecl,Haymarket,42.363021,-71.05829 57 | place-harsq,Harvard,42.373362,-71.118956 58 | place-harvd,Harvard Ave.,42.350243,-71.131355 59 | place-hsmnl,Heath Street,42.328681,-71.110559 60 | place-hwsst,Hawes Street,42.344906,-71.111145 61 | place-hymnl,Hynes Convention Center,42.347888,-71.087903 62 | place-jaksn,Jackson Square,42.323132,-71.099592 63 | place-jfk,JFK/Umass,42.320685,-71.052391 64 | place-kencl,Kenmore,42.348949,-71.095169 65 | place-knncl,Kendall/MIT,42.36249079,-71.08617653 66 | place-kntst,Kent Street,42.344074,-71.114197 67 | place-lake,Boston College,42.340081,-71.166769 68 | place-lech,Lechmere,42.370772,-71.076536 69 | place-lngmd,Longwood Medical Area,42.33596,-71.100052 70 | place-longw,Longwood,42.341145,-71.110451 71 | place-masta,Massachusetts Ave.,42.341512,-71.083423 72 | place-matt,Mattapan,42.267762,-71.092241 73 | place-mfa,Museum of Fine Arts,42.337711,-71.095512 74 | place-miltt,Milton,42.270306,-71.067673 75 | place-mispk,Mission Park,42.333195,-71.109756 76 | place-mlmnl,Malden Center,42.426632,-71.07411 77 | place-mvbcl,Maverick,42.36911856,-71.03952958 78 | place-newtn,Newton Highlands,42.321735,-71.206116 79 | place-newto,Newton Centre,42.329391,-71.192429 80 | place-north,North Station,42.365577,-71.06129 81 | place-nqncy,North Quincy,42.275275,-71.029583 82 | place-nuniv,Northeastern University,42.340401,-71.088806 83 | place-ogmnl,Oak Grove,42.43668,-71.071097 84 | place-orhte,Orient Heights,42.386867,-71.004736 85 | place-pktrm,Park Street,42.35639457,-71.0624242 86 | place-plsgr,Pleasant Street,42.351521,-71.118889 87 | place-portr,Porter,42.3884,-71.119149 88 | place-prmnl,Prudential,42.34557,-71.081696 89 | place-qamnl,Quincy Adams,42.233391,-71.007153 90 | place-qnctr,Quincy Center,42.251809,-71.005409 91 | place-rbmnl,Revere Beach,42.40784254,-70.99253321 92 | place-rcmnl,Roxbury Crossing,42.331397,-71.095451 93 | place-river,Riverside,42.337059,-71.251742 94 | place-rsmnl,Reservoir,42.335027,-71.148952 95 | place-rugg,Ruggles,42.336377,-71.088961 96 | place-rvrwy,Riverway,42.331684,-71.111931 97 | place-sbmnl,Stony Brook,42.317062,-71.104248 98 | place-sdmnl,Suffolk Downs,42.39050067,-70.99712259 99 | place-shmnl,Savin Hill,42.31129,-71.053331 100 | place-smary,Saint Mary Street,42.345974,-71.107353 101 | place-smmnl,Shawmut,42.29312583,-71.06573796 102 | place-sougr,South Street,42.3396,-71.157661 103 | place-spmnl,Science Park,42.366664,-71.067666 104 | place-sstat,South Station,42.352271,-71.055242 105 | place-state,State Street,42.358978,-71.057598 106 | place-sthld,Sutherland Road,42.341614,-71.146202 107 | place-stplb,Saint Paul Street,42.3512,-71.116104 108 | place-stpul,Saint Paul Street,42.343327,-71.116997 109 | place-sull,Sullivan Square,42.383975,-71.076994 110 | place-sumav,Summit Ave.,42.34111,-71.12561 111 | place-symcl,Symphony,42.342687,-71.085056 112 | place-tapst,Tappan Street,42.338459,-71.138702 113 | place-tumnl,Tufts Medical Center,42.349662,-71.063917 114 | place-valrd,Valley Road,42.268322,-71.081566 115 | place-waban,Waban,42.325943,-71.230728 116 | place-wascm,Washington Street,42.343864,-71.142853 117 | place-welln,Wellington,42.40237,-71.077082 118 | place-wimnl,Wood Island,42.3796403,-71.02286539 119 | place-wlsta,Wollaston,42.2665139,-71.0203369 120 | place-wondl,Wonderland,42.41342,-70.991648 121 | place-woodl,Woodland,42.333374,-71.244301 122 | place-wrnst,Warren Street,42.348343,-71.140457 123 | place-wtcst,World Trade Center,42.34863,-71.04246 124 | -------------------------------------------------------------------------------- /data/mta/routes.csv: -------------------------------------------------------------------------------- 1 | 101,1,EE352E 2 | 103,1,EE352E 3 | 104,1,EE352E 4 | 106,1,EE352E 5 | 107,1,EE352E 6 | 108,1,EE352E 7 | 109,1,EE352E 8 | 110,1,EE352E 9 | 111,1,EE352E 10 | 112,1,EE352E 11 | 113,1,EE352E 12 | 114,1,EE352E 13 | 115,1,EE352E 14 | 116,1,EE352E 15 | 117,1,EE352E 16 | 118,1,EE352E 17 | 119,1,EE352E 18 | 120,1,EE352E 19 | 120,2,EE352E 20 | 120,3,EE352E 21 | 121,1,EE352E 22 | 121,2,EE352E 23 | 122,1,EE352E 24 | 122,2,EE352E 25 | 123,1,EE352E 26 | 123,2,EE352E 27 | 123,3,EE352E 28 | 124,1,EE352E 29 | 124,2,EE352E 30 | 125,1,EE352E 31 | 125,2,EE352E 32 | 126,1,EE352E 33 | 126,2,EE352E 34 | 127,1,EE352E 35 | 127,2,EE352E 36 | 127,3,EE352E 37 | 128,1,EE352E 38 | 128,2,EE352E 39 | 128,3,EE352E 40 | 129,1,EE352E 41 | 129,2,EE352E 42 | 130,1,EE352E 43 | 130,2,EE352E 44 | 131,1,EE352E 45 | 131,2,EE352E 46 | 132,1,EE352E 47 | 132,2,EE352E 48 | 132,3,EE352E 49 | 133,1,EE352E 50 | 133,2,EE352E 51 | 134,1,EE352E 52 | 134,2,EE352E 53 | 135,1,EE352E 54 | 135,2,EE352E 55 | 136,1,EE352E 56 | 136,2,EE352E 57 | 137,1,EE352E 58 | 137,2,EE352E 59 | 137,3,EE352E 60 | 138,1,EE352E 61 | 139,1,EE352E 62 | 140,1,EE352E 63 | 201,2,EE352E 64 | 201,5,00933C 65 | 204,2,EE352E 66 | 204,5,00933C 67 | 205,2,EE352E 68 | 205,5,00933C 69 | 206,2,EE352E 70 | 206,5,00933C 71 | 207,2,EE352E 72 | 207,5,00933C 73 | 208,2,EE352E 74 | 208,5,00933C 75 | 209,2,EE352E 76 | 209,5,00933C 77 | 210,2,EE352E 78 | 210,5,00933C 79 | 211,2,EE352E 80 | 211,5,00933C 81 | 212,2,EE352E 82 | 212,5,00933C 83 | 213,2,EE352E 84 | 213,5,00933C 85 | 214,2,EE352E 86 | 214,5,00933C 87 | 215,2,EE352E 88 | 215,5,00933C 89 | 216,2,EE352E 90 | 216,5,00933C 91 | 217,2,EE352E 92 | 217,5,00933C 93 | 218,2,EE352E 94 | 218,5,00933C 95 | 219,2,EE352E 96 | 219,5,00933C 97 | 220,2,EE352E 98 | 220,5,00933C 99 | 221,2,EE352E 100 | 221,5,00933C 101 | 222,2,EE352E 102 | 222,5,00933C 103 | 224,2,EE352E 104 | 224,3,EE352E 105 | 225,2,EE352E 106 | 225,3,EE352E 107 | 226,2,EE352E 108 | 226,3,EE352E 109 | 227,2,EE352E 110 | 227,3,EE352E 111 | 228,2,EE352E 112 | 228,3,EE352E 113 | 229,2,EE352E 114 | 229,3,EE352E 115 | 230,2,EE352E 116 | 230,3,EE352E 117 | 231,2,EE352E 118 | 231,3,EE352E 119 | 232,2,EE352E 120 | 232,3,EE352E 121 | 233,2,EE352E 122 | 233,3,EE352E 123 | 234,2,EE352E 124 | 234,3,EE352E 125 | 234,4,00933C 126 | 234,5,00933C 127 | 235,2,EE352E 128 | 235,3,EE352E 129 | 235,4,00933C 130 | 235,5,00933C 131 | 236,2,EE352E 132 | 236,3,EE352E 133 | 236,4,00933C 134 | 237,2,EE352E 135 | 237,3,EE352E 136 | 237,4,00933C 137 | 238,2,EE352E 138 | 238,3,EE352E 139 | 238,4,00933C 140 | 239,2,EE352E 141 | 239,3,EE352E 142 | 239,4,00933C 143 | 239,5,00933C 144 | 241,2,EE352E 145 | 241,5,00933C 146 | 242,2,EE352E 147 | 242,5,00933C 148 | 243,2,EE352E 149 | 243,5,00933C 150 | 244,2,EE352E 151 | 244,5,00933C 152 | 245,2,EE352E 153 | 245,5,00933C 154 | 246,2,EE352E 155 | 246,5,00933C 156 | 247,2,EE352E 157 | 247,5,00933C 158 | 248,2,EE352E 159 | 248,3,EE352E 160 | 248,4,00933C 161 | 248,5,00933C 162 | 249,2,EE352E 163 | 249,3,EE352E 164 | 249,4,00933C 165 | 249,5,00933C 166 | 250,2,EE352E 167 | 250,3,EE352E 168 | 250,4,00933C 169 | 250,5,00933C 170 | 251,2,EE352E 171 | 251,3,EE352E 172 | 251,4,00933C 173 | 251,5,00933C 174 | 252,2,EE352E 175 | 252,3,EE352E 176 | 252,4,00933C 177 | 252,5,00933C 178 | 253,2,EE352E 179 | 253,3,EE352E 180 | 253,4,00933C 181 | 253,5,00933C 182 | 254,2,EE352E 183 | 254,3,EE352E 184 | 254,4,00933C 185 | 254,5,00933C 186 | 255,2,EE352E 187 | 255,3,EE352E 188 | 255,4,00933C 189 | 255,5,00933C 190 | 256,2,EE352E 191 | 256,3,EE352E 192 | 256,4,00933C 193 | 256,5,00933C 194 | 257,2,EE352E 195 | 257,3,EE352E 196 | 257,4,00933C 197 | 257,5,00933C 198 | 301,3,EE352E 199 | 302,3,EE352E 200 | 401,4,00933C 201 | 402,4,00933C 202 | 405,4,00933C 203 | 406,4,00933C 204 | 407,4,00933C 205 | 408,4,00933C 206 | 409,4,00933C 207 | 410,4,00933C 208 | 411,4,00933C 209 | 412,4,00933C 210 | 413,4,00933C 211 | 414,4,00933C 212 | 415,4,00933C 213 | 416,4,00933C 214 | 416,5,00933C 215 | 418,4,00933C 216 | 418,5,00933C 217 | 419,4,00933C 218 | 419,5,00933C 219 | 420,4,00933C 220 | 420,5,00933C 221 | 423,4,00933C 222 | 423,5,00933C 223 | 501,5,00933C 224 | 502,5,00933C 225 | 503,5,00933C 226 | 504,5,00933C 227 | 505,5,00933C 228 | 601,6,00933C 229 | 601,6X,00A65C 230 | 602,6,00933C 231 | 602,6X,00A65C 232 | 603,6,00933C 233 | 603,6X,00A65C 234 | 604,6,00933C 235 | 604,6X,00A65C 236 | 606,6,00933C 237 | 606,6X,00A65C 238 | 607,6,00933C 239 | 607,6X,00A65C 240 | 608,6,00933C 241 | 608,6X,00A65C 242 | 609,6,00933C 243 | 609,6X,00A65C 244 | 610,6,00933C 245 | 610,6X,00A65C 246 | 611,6,00933C 247 | 611,6X,00A65C 248 | 612,6,00933C 249 | 612,6X,00A65C 250 | 613,6,00933C 251 | 613,6X,00A65C 252 | 614,6,00933C 253 | 615,6,00933C 254 | 616,6,00933C 255 | 617,6,00933C 256 | 618,6,00933C 257 | 619,6,00933C 258 | 619,6X,00A65C 259 | 621,4,00933C 260 | 621,5,00933C 261 | 621,6,00933C 262 | 621,6X,00A65C 263 | 622,4,00933C 264 | 622,6,00933C 265 | 622,6X,00A65C 266 | 623,4,00933C 267 | 623,6,00933C 268 | 623,6X,00A65C 269 | 624,4,00933C 270 | 624,6,00933C 271 | 624,6X,00A65C 272 | 625,4,00933C 273 | 625,6,00933C 274 | 625,6X,00A65C 275 | 626,4,00933C 276 | 626,5,00933C 277 | 626,6,00933C 278 | 626,6X,00A65C 279 | 627,4,00933C 280 | 627,6,00933C 281 | 627,6X,00A65C 282 | 628,4,00933C 283 | 628,6,00933C 284 | 628,6X,00A65C 285 | 629,4,00933C 286 | 629,5,00933C 287 | 629,6,00933C 288 | 629,6X,00A65C 289 | 630,4,00933C 290 | 630,6,00933C 291 | 630,6X,00A65C 292 | 631,4,00933C 293 | 631,5,00933C 294 | 631,6,00933C 295 | 631,6X,00A65C 296 | 632,4,00933C 297 | 632,6,00933C 298 | 632,6X,00A65C 299 | 633,4,00933C 300 | 633,6,00933C 301 | 633,6X,00A65C 302 | 634,4,00933C 303 | 634,6,00933C 304 | 634,6X,00A65C 305 | 635,4,00933C 306 | 635,5,00933C 307 | 635,6,00933C 308 | 635,6X,00A65C 309 | 636,4,00933C 310 | 636,6,00933C 311 | 636,6X,00A65C 312 | 637,4,00933C 313 | 637,6,00933C 314 | 637,6X,00A65C 315 | 638,4,00933C 316 | 638,6,00933C 317 | 638,6X,00A65C 318 | 639,4,00933C 319 | 639,6,00933C 320 | 639,6X,00A65C 321 | 640,4,00933C 322 | 640,5,00933C 323 | 640,6,00933C 324 | 640,6X,00A65C 325 | 701,7,B933AD 326 | 701,7X,B933AD 327 | 702,7,B933AD 328 | 702,7X,B933AD 329 | 705,7,B933AD 330 | 706,7,B933AD 331 | 707,7,B933AD 332 | 707,7X,B933AD 333 | 708,7,B933AD 334 | 709,7,B933AD 335 | 710,7,B933AD 336 | 711,7,B933AD 337 | 712,7,B933AD 338 | 712,7X,B933AD 339 | 713,7,B933AD 340 | 714,7,B933AD 341 | 715,7,B933AD 342 | 716,7,B933AD 343 | 718,7,B933AD 344 | 718,7X,B933AD 345 | 719,7,B933AD 346 | 719,7X,B933AD 347 | 720,7,B933AD 348 | 720,7X,B933AD 349 | 721,7,B933AD 350 | 721,7X,B933AD 351 | 723,7,B933AD 352 | 723,7X,B933AD 353 | 724,7,B933AD 354 | 724,7X,B933AD 355 | 725,7,B933AD 356 | 725,7X,B933AD 357 | 726,7,B933AD 358 | 726,7X,B933AD 359 | 901,GS,6D6E71 360 | 902,GS,6D6E71 361 | A02,A,2850AD 362 | A03,A,2850AD 363 | A05,A,2850AD 364 | A06,A,2850AD 365 | A07,A,2850AD 366 | A09,A,2850AD 367 | A09,C,2850AD 368 | A10,A,2850AD 369 | A10,C,2850AD 370 | A11,A,2850AD 371 | A11,C,2850AD 372 | A12,A,2850AD 373 | A12,B,FF6319 374 | A12,C,2850AD 375 | A14,A,2850AD 376 | A14,B,FF6319 377 | A14,C,2850AD 378 | A15,A,2850AD 379 | A15,B,FF6319 380 | A15,C,2850AD 381 | A15,D,FF6319 382 | A16,A,2850AD 383 | A16,B,FF6319 384 | A16,C,2850AD 385 | A17,A,2850AD 386 | A17,B,FF6319 387 | A17,C,2850AD 388 | A18,A,2850AD 389 | A18,B,FF6319 390 | A18,C,2850AD 391 | A19,A,2850AD 392 | A19,B,FF6319 393 | A19,C,2850AD 394 | A20,A,2850AD 395 | A20,B,FF6319 396 | A20,C,2850AD 397 | A21,A,2850AD 398 | A21,B,FF6319 399 | A21,C,2850AD 400 | A22,A,2850AD 401 | A22,B,FF6319 402 | A22,C,2850AD 403 | A24,A,2850AD 404 | A24,B,FF6319 405 | A24,C,2850AD 406 | A24,D,FF6319 407 | A25,A,2850AD 408 | A25,C,2850AD 409 | A25,E,2850AD 410 | A27,A,2850AD 411 | A27,C,2850AD 412 | A27,E,2850AD 413 | A28,A,2850AD 414 | A28,C,2850AD 415 | A28,E,2850AD 416 | A30,A,2850AD 417 | A30,C,2850AD 418 | A30,E,2850AD 419 | A31,A,2850AD 420 | A31,C,2850AD 421 | A31,E,2850AD 422 | A32,A,2850AD 423 | A32,C,2850AD 424 | A32,E,2850AD 425 | A33,A,2850AD 426 | A33,C,2850AD 427 | A33,E,2850AD 428 | A34,A,2850AD 429 | A34,C,2850AD 430 | A34,E,2850AD 431 | A36,A,2850AD 432 | A36,C,2850AD 433 | A38,A,2850AD 434 | A38,C,2850AD 435 | A40,A,2850AD 436 | A40,C,2850AD 437 | A41,A,2850AD 438 | A41,C,2850AD 439 | A41,F,FF6319 440 | A42,A,2850AD 441 | A42,C,2850AD 442 | A42,G,6CBE45 443 | A43,A,2850AD 444 | A43,C,2850AD 445 | A44,A,2850AD 446 | A44,C,2850AD 447 | A45,A,2850AD 448 | A45,C,2850AD 449 | A46,A,2850AD 450 | A46,C,2850AD 451 | A47,A,2850AD 452 | A47,C,2850AD 453 | A48,A,2850AD 454 | A48,C,2850AD 455 | A49,A,2850AD 456 | A49,C,2850AD 457 | A50,A,2850AD 458 | A50,C,2850AD 459 | A51,A,2850AD 460 | A51,C,2850AD 461 | A52,A,2850AD 462 | A52,C,2850AD 463 | A53,A,2850AD 464 | A53,C,2850AD 465 | A54,A,2850AD 466 | A54,C,2850AD 467 | A55,A,2850AD 468 | A55,C,2850AD 469 | A57,A,2850AD 470 | A59,A,2850AD 471 | A60,A,2850AD 472 | A61,A,2850AD 473 | A63,A,2850AD 474 | A64,A,2850AD 475 | A65,A,2850AD 476 | B04,F,FF6319 477 | B06,F,FF6319 478 | B08,F,FF6319 479 | B10,F,FF6319 480 | B12,D,FF6319 481 | B13,D,FF6319 482 | B14,D,FF6319 483 | B15,D,FF6319 484 | B16,D,FF6319 485 | B17,D,FF6319 486 | B18,D,FF6319 487 | B19,D,FF6319 488 | B20,D,FF6319 489 | B21,D,FF6319 490 | B22,D,FF6319 491 | B23,D,FF6319 492 | D01,D,FF6319 493 | D03,B,FF6319 494 | D03,D,FF6319 495 | D04,B,FF6319 496 | D04,D,FF6319 497 | D05,B,FF6319 498 | D05,D,FF6319 499 | D06,B,FF6319 500 | D06,D,FF6319 501 | D07,B,FF6319 502 | D07,D,FF6319 503 | D08,B,FF6319 504 | D08,D,FF6319 505 | D09,B,FF6319 506 | D09,D,FF6319 507 | D10,B,FF6319 508 | D10,D,FF6319 509 | D11,B,FF6319 510 | D11,D,FF6319 511 | D12,B,FF6319 512 | D12,D,FF6319 513 | D13,B,FF6319 514 | D13,D,FF6319 515 | D14,B,FF6319 516 | D14,D,FF6319 517 | D14,E,2850AD 518 | D15,B,FF6319 519 | D15,D,FF6319 520 | D15,F,FF6319 521 | D15,M,FF6319 522 | D16,B,FF6319 523 | D16,D,FF6319 524 | D16,F,FF6319 525 | D16,M,FF6319 526 | D17,B,FF6319 527 | D17,D,FF6319 528 | D17,F,FF6319 529 | D17,M,FF6319 530 | D18,F,FF6319 531 | D18,M,FF6319 532 | D19,F,FF6319 533 | D19,M,FF6319 534 | D20,B,FF6319 535 | D20,D,FF6319 536 | D20,F,FF6319 537 | D20,M,FF6319 538 | D21,B,FF6319 539 | D21,D,FF6319 540 | D21,F,FF6319 541 | D21,M,FF6319 542 | D22,B,FF6319 543 | D22,D,FF6319 544 | D24,B,FF6319 545 | D24,Q,FCCC0A 546 | D25,B,FF6319 547 | D25,Q,FCCC0A 548 | D26,B,FF6319 549 | D26,FS, 550 | D26,Q,FCCC0A 551 | D27,Q,FCCC0A 552 | D28,B,FF6319 553 | D28,Q,FCCC0A 554 | D29,Q,FCCC0A 555 | D30,Q,FCCC0A 556 | D31,B,FF6319 557 | D31,Q,FCCC0A 558 | D32,Q,FCCC0A 559 | D33,Q,FCCC0A 560 | D34,Q,FCCC0A 561 | D35,B,FF6319 562 | D35,Q,FCCC0A 563 | D37,Q,FCCC0A 564 | D38,Q,FCCC0A 565 | D39,B,FF6319 566 | D39,Q,FCCC0A 567 | D40,B,FF6319 568 | D40,Q,FCCC0A 569 | D41,Q,FCCC0A 570 | D42,F,FF6319 571 | D42,Q,FCCC0A 572 | D43,D,FF6319 573 | D43,F,FF6319 574 | D43,N,FCCC0A 575 | D43,Q,FCCC0A 576 | E01,E,2850AD 577 | F01,E,2850AD 578 | F01,F,FF6319 579 | F02,F,FF6319 580 | F03,E,2850AD 581 | F03,F,FF6319 582 | F04,F,FF6319 583 | F05,E,2850AD 584 | F05,F,FF6319 585 | F06,E,2850AD 586 | F06,F,FF6319 587 | F07,E,2850AD 588 | F07,F,FF6319 589 | F09,E,2850AD 590 | F09,M,FF6319 591 | F11,E,2850AD 592 | F11,M,FF6319 593 | F12,E,2850AD 594 | F12,M,FF6319 595 | F14,F,FF6319 596 | F15,F,FF6319 597 | F16,F,FF6319 598 | F18,F,FF6319 599 | F20,F,FF6319 600 | F20,G,6CBE45 601 | F21,F,FF6319 602 | F21,G,6CBE45 603 | F22,F,FF6319 604 | F22,G,6CBE45 605 | F23,F,FF6319 606 | F23,G,6CBE45 607 | F24,F,FF6319 608 | F24,G,6CBE45 609 | F25,F,FF6319 610 | F25,G,6CBE45 611 | F26,F,FF6319 612 | F26,G,6CBE45 613 | F27,F,FF6319 614 | F27,G,6CBE45 615 | F29,F,FF6319 616 | F30,F,FF6319 617 | F31,F,FF6319 618 | F32,F,FF6319 619 | F33,F,FF6319 620 | F34,F,FF6319 621 | F35,F,FF6319 622 | F36,F,FF6319 623 | F38,F,FF6319 624 | F39,F,FF6319 625 | G05,E,2850AD 626 | G05,J,996633 627 | G05,Z,996633 628 | G06,E,2850AD 629 | G06,J,996633 630 | G06,Z,996633 631 | G07,E,2850AD 632 | G08,E,2850AD 633 | G08,F,FF6319 634 | G08,M,FF6319 635 | G08,R,FCCC0A 636 | G09,E,2850AD 637 | G09,M,FF6319 638 | G09,R,FCCC0A 639 | G10,E,2850AD 640 | G10,M,FF6319 641 | G10,R,FCCC0A 642 | G11,E,2850AD 643 | G11,M,FF6319 644 | G11,R,FCCC0A 645 | G12,E,2850AD 646 | G12,M,FF6319 647 | G12,R,FCCC0A 648 | G13,E,2850AD 649 | G13,M,FF6319 650 | G13,R,FCCC0A 651 | G14,E,2850AD 652 | G14,F,FF6319 653 | G14,M,FF6319 654 | G14,R,FCCC0A 655 | G15,E,2850AD 656 | G15,M,FF6319 657 | G15,R,FCCC0A 658 | G16,E,2850AD 659 | G16,M,FF6319 660 | G16,R,FCCC0A 661 | G18,E,2850AD 662 | G18,M,FF6319 663 | G18,R,FCCC0A 664 | G19,E,2850AD 665 | G19,M,FF6319 666 | G19,R,FCCC0A 667 | G20,E,2850AD 668 | G20,M,FF6319 669 | G20,R,FCCC0A 670 | G21,E,2850AD 671 | G21,M,FF6319 672 | G21,R,FCCC0A 673 | G22,G,6CBE45 674 | G24,G,6CBE45 675 | G26,G,6CBE45 676 | G28,G,6CBE45 677 | G29,G,6CBE45 678 | G30,G,6CBE45 679 | G31,G,6CBE45 680 | G32,G,6CBE45 681 | G33,G,6CBE45 682 | G34,G,6CBE45 683 | G35,G,6CBE45 684 | G36,G,6CBE45 685 | H01,A,2850AD 686 | H02,A,2850AD 687 | H03,A,2850AD 688 | H04,A,2850AD 689 | H04,H, 690 | H06,A,2850AD 691 | H07,A,2850AD 692 | H08,A,2850AD 693 | H09,A,2850AD 694 | H10,A,2850AD 695 | H11,A,2850AD 696 | H12,A,2850AD 697 | H12,H, 698 | H13,A,2850AD 699 | H13,H, 700 | H14,A,2850AD 701 | H14,H, 702 | H15,A,2850AD 703 | H15,H, 704 | J12,J,996633 705 | J12,Z,996633 706 | J13,J,996633 707 | J14,J,996633 708 | J14,Z,996633 709 | J15,J,996633 710 | J15,Z,996633 711 | J16,J,996633 712 | J17,J,996633 713 | J17,Z,996633 714 | J19,J,996633 715 | J20,J,996633 716 | J20,Z,996633 717 | J21,J,996633 718 | J21,Z,996633 719 | J22,J,996633 720 | J23,J,996633 721 | J23,Z,996633 722 | J24,J,996633 723 | J24,Z,996633 724 | J27,J,996633 725 | J27,Z,996633 726 | J28,J,996633 727 | J28,Z,996633 728 | J29,J,996633 729 | J30,J,996633 730 | J30,Z,996633 731 | J31,J,996633 732 | L01,L,A7A9AC 733 | L02,L,A7A9AC 734 | L03,L,A7A9AC 735 | L05,L,A7A9AC 736 | L06,L,A7A9AC 737 | L08,L,A7A9AC 738 | L10,L,A7A9AC 739 | L11,L,A7A9AC 740 | L12,L,A7A9AC 741 | L13,L,A7A9AC 742 | L14,L,A7A9AC 743 | L15,L,A7A9AC 744 | L16,L,A7A9AC 745 | L17,L,A7A9AC 746 | L19,L,A7A9AC 747 | L20,L,A7A9AC 748 | L21,L,A7A9AC 749 | L22,L,A7A9AC 750 | L24,L,A7A9AC 751 | L25,L,A7A9AC 752 | L26,L,A7A9AC 753 | L27,L,A7A9AC 754 | L28,L,A7A9AC 755 | L29,L,A7A9AC 756 | M01,M,FF6319 757 | M04,M,FF6319 758 | M05,M,FF6319 759 | M06,M,FF6319 760 | M08,M,FF6319 761 | M09,M,FF6319 762 | M10,M,FF6319 763 | M11,J,996633 764 | M11,M,FF6319 765 | M11,Z,996633 766 | M12,J,996633 767 | M12,M,FF6319 768 | M13,J,996633 769 | M13,M,FF6319 770 | M14,J,996633 771 | M14,M,FF6319 772 | M16,J,996633 773 | M16,M,FF6319 774 | M16,Z,996633 775 | M18,J,996633 776 | M18,M,FF6319 777 | M18,Z,996633 778 | M19,J,996633 779 | M19,Z,996633 780 | M20,J,996633 781 | M20,Z,996633 782 | M21,J,996633 783 | M21,Z,996633 784 | M22,J,996633 785 | M22,Z,996633 786 | M23,J,996633 787 | M23,Z,996633 788 | N02,N,FCCC0A 789 | N03,N,FCCC0A 790 | N04,N,FCCC0A 791 | N05,N,FCCC0A 792 | N06,N,FCCC0A 793 | N07,N,FCCC0A 794 | N08,N,FCCC0A 795 | N09,N,FCCC0A 796 | N10,N,FCCC0A 797 | Q01,N,FCCC0A 798 | Q01,Q,FCCC0A 799 | R01,N,FCCC0A 800 | R01,Q,FCCC0A 801 | R03,N,FCCC0A 802 | R03,Q,FCCC0A 803 | R04,N,FCCC0A 804 | R04,Q,FCCC0A 805 | R05,N,FCCC0A 806 | R05,Q,FCCC0A 807 | R06,N,FCCC0A 808 | R06,Q,FCCC0A 809 | R08,N,FCCC0A 810 | R08,Q,FCCC0A 811 | R09,N,FCCC0A 812 | R09,Q,FCCC0A 813 | R11,N,FCCC0A 814 | R11,Q,FCCC0A 815 | R11,R,FCCC0A 816 | R13,N,FCCC0A 817 | R13,Q,FCCC0A 818 | R13,R,FCCC0A 819 | R14,N,FCCC0A 820 | R14,Q,FCCC0A 821 | R14,R,FCCC0A 822 | R15,N,FCCC0A 823 | R15,Q,FCCC0A 824 | R15,R,FCCC0A 825 | R16,N,FCCC0A 826 | R16,Q,FCCC0A 827 | R16,R,FCCC0A 828 | R17,N,FCCC0A 829 | R17,Q,FCCC0A 830 | R17,R,FCCC0A 831 | R18,N,FCCC0A 832 | R18,Q,FCCC0A 833 | R18,R,FCCC0A 834 | R19,N,FCCC0A 835 | R19,Q,FCCC0A 836 | R19,R,FCCC0A 837 | R20,N,FCCC0A 838 | R20,Q,FCCC0A 839 | R20,R,FCCC0A 840 | R21,N,FCCC0A 841 | R21,Q,FCCC0A 842 | R21,R,FCCC0A 843 | R22,N,FCCC0A 844 | R22,Q,FCCC0A 845 | R22,R,FCCC0A 846 | R23,N,FCCC0A 847 | R23,R,FCCC0A 848 | R24,N,FCCC0A 849 | R24,R,FCCC0A 850 | R25,N,FCCC0A 851 | R25,R,FCCC0A 852 | R26,N,FCCC0A 853 | R26,R,FCCC0A 854 | R27,N,FCCC0A 855 | R27,R,FCCC0A 856 | R28,N,FCCC0A 857 | R28,R,FCCC0A 858 | R29,N,FCCC0A 859 | R29,R,FCCC0A 860 | R30,B,FF6319 861 | R30,D,FF6319 862 | R30,N,FCCC0A 863 | R30,Q,FCCC0A 864 | R30,R,FCCC0A 865 | R31,D,FF6319 866 | R31,N,FCCC0A 867 | R31,R,FCCC0A 868 | R32,D,FF6319 869 | R32,N,FCCC0A 870 | R32,R,FCCC0A 871 | R33,D,FF6319 872 | R33,N,FCCC0A 873 | R33,R,FCCC0A 874 | R34,D,FF6319 875 | R34,N,FCCC0A 876 | R34,R,FCCC0A 877 | R35,D,FF6319 878 | R35,N,FCCC0A 879 | R35,R,FCCC0A 880 | R36,D,FF6319 881 | R36,N,FCCC0A 882 | R36,R,FCCC0A 883 | R39,N,FCCC0A 884 | R39,R,FCCC0A 885 | R40,N,FCCC0A 886 | R40,R,FCCC0A 887 | R41,N,FCCC0A 888 | R41,R,FCCC0A 889 | R42,R,FCCC0A 890 | R43,R,FCCC0A 891 | R44,R,FCCC0A 892 | R45,R,FCCC0A 893 | S01,FS, 894 | S03,FS, 895 | S04,FS, 896 | S09,SI, 897 | S10,SI, 898 | S12,SI, 899 | S13,SI, 900 | S14,SI, 901 | S15,SI, 902 | S16,SI, 903 | S17,SI, 904 | S18,SI, 905 | S19,SI, 906 | S20,SI, 907 | S21,SI, 908 | S22,SI, 909 | S23,SI, 910 | S24,SI, 911 | S25,SI, 912 | S26,SI, 913 | S27,SI, 914 | S28,SI, 915 | S29,SI, 916 | S30,SI, 917 | S31,SI, 918 | -------------------------------------------------------------------------------- /data/mta/stops.csv: -------------------------------------------------------------------------------- 1 | 101,Van Cortlandt Park - 242 St,40.889248,-73.898583 2 | 103,238 St,40.884667,-73.90087 3 | 104,231 St,40.878856,-73.904834 4 | 106,Marble Hill - 225 St,40.874561,-73.909831 5 | 107,215 St,40.869444,-73.915279 6 | 108,207 St,40.864621,-73.918822 7 | 109,Dyckman St,40.860531,-73.925536 8 | 110,191 St,40.855225,-73.929412 9 | 111,181 St,40.849505,-73.933596 10 | 112,168 St - Washington Hts,40.840556,-73.940133 11 | 113,157 St,40.834041,-73.94489 12 | 114,145 St,40.826551,-73.95036 13 | 115,137 St - City College,40.822008,-73.953676 14 | 116,125 St,40.815581,-73.958372 15 | 117,116 St - Columbia University,40.807722,-73.96411 16 | 118,Cathedral Pkwy,40.803967,-73.966847 17 | 119,103 St,40.799446,-73.968379 18 | 120,96 St,40.793919,-73.972323 19 | 121,86 St,40.788644,-73.976218 20 | 122,79 St,40.783934,-73.979917 21 | 123,72 St,40.778453,-73.98197 22 | 124,66 St - Lincoln Center,40.77344,-73.982209 23 | 125,59 St - Columbus Circle,40.768247,-73.981929 24 | 126,50 St,40.761728,-73.983849 25 | 127,Times Sq - 42 St,40.75529,-73.987495 26 | 128,34 St - Penn Station,40.750373,-73.991057 27 | 129,28 St,40.747215,-73.993365 28 | 130,23 St,40.744081,-73.995657 29 | 131,18 St,40.74104,-73.997871 30 | 132,14 St,40.737826,-74.000201 31 | 133,Christopher St - Sheridan Sq,40.733422,-74.002906 32 | 134,Houston St,40.728251,-74.005367 33 | 135,Canal St,40.722854,-74.006277 34 | 136,Franklin St,40.719318,-74.006886 35 | 137,Chambers St,40.715478,-74.009266 36 | 138,Cortlandt St,40.711835,-74.012188 37 | 139,Rector St,40.707513,-74.013783 38 | 140,South Ferry Loop,40.701411,-74.013205 39 | 201,Wakefield - 241 St,40.903125,-73.85062 40 | 204,Nereid Av,40.898379,-73.854376 41 | 205,233 St,40.893193,-73.857473 42 | 206,225 St,40.888022,-73.860341 43 | 207,219 St,40.883895,-73.862633 44 | 208,Gun Hill Rd,40.87785,-73.866256 45 | 209,Burke Av,40.871356,-73.867164 46 | 210,Allerton Av,40.865462,-73.867352 47 | 211,Pelham Pkwy,40.857192,-73.867615 48 | 212,Bronx Park East,40.848828,-73.868457 49 | 213,E 180 St,40.841894,-73.873488 50 | 214,West Farms Sq - E Tremont Av,40.840295,-73.880049 51 | 215,174 St,40.837288,-73.887734 52 | 216,Freeman St,40.829993,-73.891865 53 | 217,Simpson St,40.824073,-73.893064 54 | 218,Intervale Av,40.822181,-73.896736 55 | 219,Prospect Av,40.819585,-73.90177 56 | 220,Jackson Av,40.81649,-73.907807 57 | 221,3 Av - 149 St,40.816109,-73.917757 58 | 222,149 St - Grand Concourse,40.81841,-73.926718 59 | 224,135 St,40.814229,-73.94077 60 | 225,125 St,40.807754,-73.945495 61 | 226,116 St,40.802098,-73.949625 62 | 227,Central Park North (110 St),40.799075,-73.951822 63 | 228,Park Pl,40.713051,-74.008811 64 | 229,Fulton St,40.709416,-74.006571 65 | 230,Wall St,40.706821,-74.0091 66 | 231,Clark St,40.697466,-73.993086 67 | 232,Borough Hall,40.693219,-73.989998 68 | 233,Hoyt St,40.690545,-73.985065 69 | 234,Nevins St,40.688246,-73.980492 70 | 235,Atlantic Av - Barclays Ctr,40.684359,-73.977666 71 | 236,Bergen St,40.680829,-73.975098 72 | 237,Grand Army Plaza,40.675235,-73.971046 73 | 238,Eastern Pkwy - Brooklyn Museum,40.671987,-73.964375 74 | 239,Franklin Av,40.670682,-73.958131 75 | 241,President St,40.667883,-73.950683 76 | 242,Sterling St,40.662742,-73.95085 77 | 243,Winthrop St,40.656652,-73.9502 78 | 244,Church Av,40.650843,-73.949575 79 | 245,Beverly Rd,40.645098,-73.948959 80 | 246,Newkirk Av,40.639967,-73.948411 81 | 247,Flatbush Av - Brooklyn College,40.632836,-73.947642 82 | 248,Nostrand Av,40.669847,-73.950466 83 | 249,Kingston Av,40.669399,-73.942161 84 | 250,Crown Hts - Utica Av,40.668897,-73.932942 85 | 251,Sutter Av - Rutland Rd,40.664717,-73.92261 86 | 252,Saratoga Av,40.661453,-73.916327 87 | 253,Rockaway Av,40.662549,-73.908946 88 | 254,Junius St,40.663515,-73.902447 89 | 255,Pennsylvania Av,40.664635,-73.894895 90 | 256,Van Siclen Av,40.665449,-73.889395 91 | 257,New Lots Av,40.666235,-73.884079 92 | 301,Harlem - 148 St,40.82388,-73.93647 93 | 302,145 St,40.820421,-73.936245 94 | 401,Woodlawn,40.886037,-73.878751 95 | 402,Mosholu Pkwy,40.87975,-73.884655 96 | 405,Bedford Park Blvd - Lehman College,40.873412,-73.890064 97 | 406,Kingsbridge Rd,40.86776,-73.897174 98 | 407,Fordham Rd,40.862803,-73.901034 99 | 408,183 St,40.858407,-73.903879 100 | 409,Burnside Av,40.853453,-73.907684 101 | 410,176 St,40.84848,-73.911794 102 | 411,Mt Eden Av,40.844434,-73.914685 103 | 412,170 St,40.840075,-73.917791 104 | 413,167 St,40.835537,-73.9214 105 | 414,161 St - Yankee Stadium,40.827994,-73.925831 106 | 415,149 St - Grand Concourse,40.818375,-73.927351 107 | 416,138 St - Grand Concourse,40.813224,-73.929849 108 | 418,Fulton St,40.710368,-74.009509 109 | 419,Wall St,40.707557,-74.011862 110 | 420,Bowling Green,40.704817,-74.014065 111 | 423,Borough Hall,40.692404,-73.990151 112 | 501,Eastchester - Dyre Av,40.8883,-73.830834 113 | 502,Baychester Av,40.878663,-73.838591 114 | 503,Gun Hill Rd,40.869526,-73.846384 115 | 504,Pelham Pkwy,40.858985,-73.855359 116 | 505,Morris Park,40.854364,-73.860495 117 | 601,Pelham Bay Park,40.852462,-73.828121 118 | 602,Buhre Av,40.84681,-73.832569 119 | 603,Middletown Rd,40.843863,-73.836322 120 | 604,Westchester Sq - E Tremont Av,40.839892,-73.842952 121 | 606,Zerega Av,40.836488,-73.847036 122 | 607,Castle Hill Av,40.834255,-73.851222 123 | 608,Parkchester,40.833226,-73.860816 124 | 609,St Lawrence Av,40.831509,-73.867618 125 | 610,Morrison Av- Sound View,40.829521,-73.874516 126 | 611,Elder Av,40.828584,-73.879159 127 | 612,Whitlock Av,40.826525,-73.886283 128 | 613,Hunts Point Av,40.820948,-73.890549 129 | 614,Longwood Av,40.816104,-73.896435 130 | 615,E 149 St,40.812118,-73.904098 131 | 616,E 143 St - St Mary's St,40.808719,-73.907657 132 | 617,Cypress Av,40.805368,-73.914042 133 | 618,Brook Av,40.807566,-73.91924 134 | 619,3 Av - 138 St,40.810476,-73.926138 135 | 621,125 St,40.804138,-73.937594 136 | 622,116 St,40.798629,-73.941617 137 | 623,110 St,40.79502,-73.94425 138 | 624,103 St,40.7906,-73.947478 139 | 625,96 St,40.785672,-73.95107 140 | 626,86 St,40.779492,-73.955589 141 | 627,77 St,40.77362,-73.959874 142 | 628,68 St - Hunter College,40.768141,-73.96387 143 | 629,59 St,40.762526,-73.967967 144 | 630,51 St,40.757107,-73.97192 145 | 631,Grand Central - 42 St,40.751776,-73.976848 146 | 632,33 St,40.746081,-73.982076 147 | 633,28 St,40.74307,-73.984264 148 | 634,23 St,40.739864,-73.986599 149 | 635,14 St - Union Sq,40.734673,-73.989951 150 | 636,Astor Pl,40.730054,-73.99107 151 | 637,Bleecker St,40.725915,-73.994659 152 | 638,Spring St,40.722301,-73.997141 153 | 639,Canal St,40.718803,-74.000193 154 | 640,Brooklyn Bridge - City Hall,40.713065,-74.004131 155 | 701,Flushing - Main St,40.7596,-73.83003 156 | 702,Mets - Willets Point,40.754622,-73.845625 157 | 705,111 St,40.75173,-73.855334 158 | 706,103 St - Corona Plaza,40.749865,-73.8627 159 | 707,Junction Blvd,40.749145,-73.869527 160 | 708,90 St - Elmhurst Av,40.748408,-73.876613 161 | 709,82 St - Jackson Hts,40.747659,-73.883697 162 | 710,74 St - Broadway,40.746848,-73.891394 163 | 711,69 St,40.746325,-73.896403 164 | 712,Woodside - 61 St,40.74563,-73.902984 165 | 713,52 St,40.744149,-73.912549 166 | 714,46 St,40.743132,-73.918435 167 | 715,40 St,40.743781,-73.924016 168 | 716,33 St,40.744587,-73.930997 169 | 718,Queensboro Plaza,40.750582,-73.940202 170 | 719,Court Sq,40.747023,-73.945264 171 | 720,Hunters Point Av,40.742216,-73.948916 172 | 721,Vernon Blvd - Jackson Av,40.742626,-73.953581 173 | 723,Grand Central - 42 St,40.751431,-73.976041 174 | 724,5 Av,40.753821,-73.981963 175 | 725,Times Sq - 42 St,40.755477,-73.987691 176 | 726,34 St - 11 Av,40.755882,-74.00191 177 | 901,Grand Central - 42 St,40.752769,-73.979189 178 | 902,Times Sq - 42 St,40.755983,-73.986229 179 | A02,Inwood - 207 St,40.868072,-73.919899 180 | A03,Dyckman St,40.865491,-73.927271 181 | A05,190 St,40.859022,-73.93418 182 | A06,181 St,40.851695,-73.937969 183 | A07,175 St,40.847391,-73.939704 184 | A09,168 St,40.840719,-73.939561 185 | A10,163 St - Amsterdam Av,40.836013,-73.939892 186 | A11,155 St,40.830518,-73.941514 187 | A12,145 St,40.824783,-73.944216 188 | A14,135 St,40.817894,-73.947649 189 | A15,125 St,40.811109,-73.952343 190 | A16,116 St,40.805085,-73.954882 191 | A17,Cathedral Pkwy (110 St),40.800603,-73.958161 192 | A18,103 St,40.796092,-73.961454 193 | A19,96 St,40.791642,-73.964696 194 | A20,86 St,40.785868,-73.968916 195 | A21,81 St - Museum of Natural History,40.781433,-73.972143 196 | A22,72 St,40.775594,-73.97641 197 | A24,59 St - Columbus Circle,40.768296,-73.981736 198 | A25,50 St,40.762456,-73.985984 199 | A27,42 St - Port Authority Bus Terminal,40.757308,-73.989735 200 | A28,34 St - Penn Station,40.752287,-73.993391 201 | A30,23 St,40.745906,-73.998041 202 | A31,14 St,40.740893,-74.00169 203 | A32,W 4 St,40.732338,-74.000495 204 | A33,Spring St,40.726227,-74.003739 205 | A34,Canal St,40.720824,-74.005229 206 | A36,Chambers St,40.714111,-74.008585 207 | A38,Fulton St,40.710197,-74.007691 208 | A40,High St,40.699337,-73.990531 209 | A41,Jay St - MetroTech,40.692338,-73.987342 210 | A42,Hoyt - Schermerhorn Sts,40.688484,-73.985001 211 | A43,Lafayette Av,40.686113,-73.973946 212 | A44,Clinton - Washington Avs,40.683263,-73.965838 213 | A45,Franklin Av,40.68138,-73.956848 214 | A46,Nostrand Av,40.680438,-73.950426 215 | A47,Kingston - Throop Avs,40.679921,-73.940858 216 | A48,Utica Av,40.679364,-73.930729 217 | A49,Ralph Av,40.678822,-73.920786 218 | A50,Rockaway Av,40.67834,-73.911946 219 | A51,Broadway Jct,40.678334,-73.905316 220 | A52,Liberty Av,40.674542,-73.896548 221 | A53,Van Siclen Av,40.67271,-73.890358 222 | A54,Shepherd Av,40.67413,-73.88075 223 | A55,Euclid Av,40.675377,-73.872106 224 | A57,Grant Av,40.677044,-73.86505 225 | A59,80 St,40.679371,-73.858992 226 | A60,88 St,40.679843,-73.85147 227 | A61,Rockaway Blvd,40.680429,-73.843853 228 | A63,104 St,40.681711,-73.837683 229 | A64,111 St,40.684331,-73.832163 230 | A65,Ozone Park - Lefferts Blvd,40.685951,-73.825798 231 | B04,21 St - Queensbridge,40.754203,-73.942836 232 | B06,Roosevelt Island,40.759145,-73.95326 233 | B08,Lexington Av/63 St,40.764629,-73.966113 234 | B10,57 St,40.763972,-73.97745 235 | B12,9 Av,40.646292,-73.994324 236 | B13,Fort Hamilton Pkwy,40.640914,-73.994304 237 | B14,50 St,40.63626,-73.994791 238 | B15,55 St,40.631435,-73.995476 239 | B16,62 St,40.626472,-73.996895 240 | B17,71 St,40.619589,-73.998864 241 | B18,79 St,40.613501,-74.00061 242 | B19,18 Av,40.607954,-74.001736 243 | B20,20 Av,40.604556,-73.998168 244 | B21,Bay Pkwy,40.601875,-73.993728 245 | B22,25 Av,40.597704,-73.986829 246 | B23,Bay 50 St,40.588841,-73.983765 247 | D01,Norwood - 205 St,40.874811,-73.878855 248 | D03,Bedford Park Blvd,40.873244,-73.887138 249 | D04,Kingsbridge Rd,40.866978,-73.893509 250 | D05,Fordham Rd,40.861296,-73.897749 251 | D06,182-183 Sts,40.856093,-73.900741 252 | D07,Tremont Av,40.85041,-73.905227 253 | D08,174-175 Sts,40.8459,-73.910136 254 | D09,170 St,40.839306,-73.9134 255 | D10,167 St,40.833771,-73.91844 256 | D11,161 St - Yankee Stadium,40.827905,-73.925651 257 | D12,155 St,40.830135,-73.938209 258 | D13,145 St,40.824783,-73.944216 259 | D14,7 Av,40.762862,-73.981637 260 | D15,47-50 Sts - Rockefeller Ctr,40.758663,-73.981329 261 | D16,42 St - Bryant Pk,40.754222,-73.984569 262 | D17,34 St - Herald Sq,40.749719,-73.987823 263 | D18,23 St,40.742878,-73.992821 264 | D19,14 St,40.738228,-73.996209 265 | D20,W 4 St,40.732338,-74.000495 266 | D21,Broadway-Lafayette St,40.725297,-73.996204 267 | D22,Grand St,40.718267,-73.993753 268 | D24,Atlantic Av - Barclays Ctr,40.68446,-73.97689 269 | D25,7 Av,40.67705,-73.972367 270 | D26,Prospect Park,40.661614,-73.962246 271 | D27,Parkside Av,40.655292,-73.961495 272 | D28,Church Av,40.650527,-73.962982 273 | D29,Beverley Rd,40.644031,-73.964492 274 | D30,Cortelyou Rd,40.640927,-73.963891 275 | D31,Newkirk Plaza,40.635082,-73.962793 276 | D32,Avenue H,40.62927,-73.961639 277 | D33,Avenue J,40.625039,-73.960803 278 | D34,Avenue M,40.617618,-73.959399 279 | D35,Kings Hwy,40.60867,-73.957734 280 | D37,Avenue U,40.5993,-73.955929 281 | D38,Neck Rd,40.595246,-73.955161 282 | D39,Sheepshead Bay,40.586896,-73.954155 283 | D40,Brighton Beach,40.577621,-73.961376 284 | D41,Ocean Pkwy,40.576312,-73.968501 285 | D42,W 8 St - NY Aquarium,40.576127,-73.975939 286 | D43,Coney Island - Stillwell Av,40.577422,-73.981233 287 | E01,World Trade Center,40.712582,-74.009781 288 | F01,Jamaica - 179 St,40.712646,-73.783817 289 | F02,169 St,40.71047,-73.793604 290 | F03,Parsons Blvd,40.707564,-73.803326 291 | F04,Sutphin Blvd,40.70546,-73.810708 292 | F05,Briarwood - Van Wyck Blvd,40.709179,-73.820574 293 | F06,Kew Gardens - Union Tpke,40.714441,-73.831008 294 | F07,75 Av,40.718331,-73.837324 295 | F09,Court Sq,40.747846,-73.946 296 | F11,Lexington Av/53 St,40.757552,-73.969055 297 | F12,5 Av/53 St,40.760167,-73.975224 298 | F14,2 Av,40.723402,-73.989938 299 | F15,Delancey St,40.718611,-73.988114 300 | F16,East Broadway,40.713715,-73.990173 301 | F18,York St,40.701397,-73.986751 302 | F20,Bergen St,40.686145,-73.990862 303 | F21,Carroll St,40.680303,-73.995048 304 | F22,Smith - 9 Sts,40.67358,-73.995959 305 | F23,4 Av,40.670272,-73.989779 306 | F24,7 Av,40.666271,-73.980305 307 | F25,15 St - Prospect Park,40.660365,-73.979493 308 | F26,Fort Hamilton Pkwy,40.650782,-73.975776 309 | F27,Church Av,40.644041,-73.979678 310 | F29,Ditmas Av,40.636119,-73.978172 311 | F30,18 Av,40.629755,-73.976971 312 | F31,Avenue I,40.625322,-73.976127 313 | F32,Bay Pkwy,40.620769,-73.975264 314 | F33,Avenue N,40.61514,-73.974197 315 | F34,Avenue P,40.608944,-73.973022 316 | F35,Kings Hwy,40.603217,-73.972361 317 | F36,Avenue U,40.596063,-73.973357 318 | F38,Avenue X,40.58962,-73.97425 319 | F39,Neptune Av,40.581011,-73.974574 320 | G05,Jamaica Center - Parsons/Archer,40.702147,-73.801109 321 | G06,Sutphin Blvd - Archer Av - JFK Airport,40.700486,-73.807969 322 | G07,Jamaica - Van Wyck,40.702566,-73.816859 323 | G08,Forest Hills - 71 Av,40.721691,-73.844521 324 | G09,67 Av,40.726523,-73.852719 325 | G10,63 Dr - Rego Park,40.729846,-73.861604 326 | G11,Woodhaven Blvd,40.733106,-73.869229 327 | G12,Grand Av - Newtown,40.737015,-73.877223 328 | G13,Elmhurst Av,40.742454,-73.882017 329 | G14,Jackson Hts - Roosevelt Av,40.746644,-73.891338 330 | G15,65 St,40.749669,-73.898453 331 | G16,Northern Blvd,40.752885,-73.906006 332 | G18,46 St,40.756312,-73.913333 333 | G19,Steinway St,40.756879,-73.92074 334 | G20,36 St,40.752039,-73.928781 335 | G21,Queens Plaza,40.748973,-73.937243 336 | G22,Court Sq,40.746554,-73.943832 337 | G24,21 St,40.744065,-73.949724 338 | G26,Greenpoint Av,40.731352,-73.954449 339 | G28,Nassau Av,40.724635,-73.951277 340 | G29,Metropolitan Av,40.712792,-73.951418 341 | G30,Broadway,40.706092,-73.950308 342 | G31,Flushing Av,40.700377,-73.950234 343 | G32,Myrtle - Willoughby Avs,40.694568,-73.949046 344 | G33,Bedford - Nostrand Avs,40.689627,-73.953522 345 | G34,Classon Av,40.688873,-73.96007 346 | G35,Clinton - Washington Avs,40.688089,-73.966839 347 | G36,Fulton St,40.687119,-73.975375 348 | H01,Aqueduct Racetrack,40.668234,-73.834058 349 | H02,Aqueduct - N Conduit Av,40.668234,-73.834058 350 | H03,Howard Beach - JFK Airport,40.660476,-73.830301 351 | H04,Broad Channel,40.608382,-73.815925 352 | H06,Beach 67 St,40.590927,-73.796924 353 | H07,Beach 60 St,40.592374,-73.788522 354 | H08,Beach 44 St,40.592943,-73.776013 355 | H09,Beach 36 St,40.595398,-73.768175 356 | H10,Beach 25 St,40.600066,-73.761353 357 | H11,Far Rockaway - Mott Av,40.603995,-73.755405 358 | H12,Beach 90 St,40.588034,-73.813641 359 | H13,Beach 98 St,40.585307,-73.820558 360 | H14,Beach 105 St,40.583209,-73.827559 361 | H15,Rockaway Park - Beach 116 St,40.580903,-73.835592 362 | J12,121 St,40.700492,-73.828294 363 | J13,111 St,40.697418,-73.836345 364 | J14,104 St,40.695178,-73.84433 365 | J15,Woodhaven Blvd,40.693879,-73.851576 366 | J16,85 St - Forest Pkwy,40.692435,-73.86001 367 | J17,75 St,40.691324,-73.867139 368 | J19,Cypress Hills,40.689941,-73.87255 369 | J20,Crescent St,40.683194,-73.873785 370 | J21,Norwood Av,40.68141,-73.880039 371 | J22,Cleveland St,40.679947,-73.884639 372 | J23,Van Siclen Av,40.678024,-73.891688 373 | J24,Alabama Av,40.676992,-73.898654 374 | J27,Broadway Jct,40.679498,-73.904512 375 | J28,Chauncey St,40.682893,-73.910456 376 | J29,Halsey St,40.68637,-73.916559 377 | J30,Gates Av,40.68963,-73.92227 378 | J31,Kosciuszko St,40.693342,-73.928814 379 | L01,8 Av,40.739777,-74.002578 380 | L02,6 Av,40.737335,-73.996786 381 | L03,Union Sq - 14 St,40.734789,-73.99073 382 | L05,3 Av,40.732849,-73.986122 383 | L06,1 Av,40.730953,-73.981628 384 | L08,Bedford Av,40.717304,-73.956872 385 | L10,Lorimer St,40.714063,-73.950275 386 | L11,Graham Av,40.714565,-73.944053 387 | L12,Grand St,40.711926,-73.94067 388 | L13,Montrose Av,40.707739,-73.93985 389 | L14,Morgan Av,40.706152,-73.933147 390 | L15,Jefferson St,40.706607,-73.922913 391 | L16,DeKalb Av,40.703811,-73.918425 392 | L17,Myrtle - Wyckoff Avs,40.699814,-73.911586 393 | L19,Halsey St,40.695602,-73.904084 394 | L20,Wilson Av,40.688764,-73.904046 395 | L21,Bushwick Av - Aberdeen St,40.682829,-73.905249 396 | L22,Broadway Jct,40.678856,-73.90324 397 | L24,Atlantic Av,40.675345,-73.903097 398 | L25,Sutter Av,40.669367,-73.901975 399 | L26,Livonia Av,40.664038,-73.900571 400 | L27,New Lots Av,40.658733,-73.899232 401 | L28,E 105 St,40.650573,-73.899485 402 | L29,Canarsie - Rockaway Pkwy,40.646654,-73.90185 403 | M01,Middle Village - Metropolitan Av,40.711396,-73.889601 404 | M04,Fresh Pond Rd,40.706186,-73.895877 405 | M05,Forest Av,40.704423,-73.903077 406 | M06,Seneca Av,40.702762,-73.90774 407 | M08,Myrtle - Wyckoff Avs,40.69943,-73.912385 408 | M09,Knickerbocker Av,40.698664,-73.919711 409 | M10,Central Av,40.697857,-73.927397 410 | M11,Myrtle Av,40.697207,-73.935657 411 | M12,Flushing Av,40.70026,-73.941126 412 | M13,Lorimer St,40.703869,-73.947408 413 | M14,Hewes St,40.70687,-73.953431 414 | M16,Marcy Av,40.708359,-73.957757 415 | M18,Essex St,40.718315,-73.987437 416 | M19,Bowery,40.72028,-73.993915 417 | M20,Canal St,40.718092,-73.999892 418 | M21,Chambers St,40.713243,-74.003401 419 | M22,Fulton St,40.710374,-74.007582 420 | M23,Broad St,40.706476,-74.011056 421 | N02,8 Av,40.635064,-74.011719 422 | N03,Fort Hamilton Pkwy,40.631386,-74.005351 423 | N04,New Utrecht Av,40.624842,-73.996353 424 | N05,18 Av,40.620671,-73.990414 425 | N06,20 Av,40.61741,-73.985026 426 | N07,Bay Pkwy,40.611815,-73.981848 427 | N08,Kings Hwy,40.603923,-73.980353 428 | N09,Avenue U,40.597473,-73.979137 429 | N10,86 St,40.592721,-73.97823 430 | Q01,Canal St,40.718383,-74.00046 431 | R01,Astoria - Ditmars Blvd,40.775036,-73.912034 432 | R03,Astoria Blvd,40.770258,-73.917843 433 | R04,30 Av,40.766779,-73.921479 434 | R05,Broadway,40.76182,-73.925508 435 | R06,36 Av,40.756804,-73.929575 436 | R08,39 Av,40.752882,-73.932755 437 | R09,Queensboro Plaza,40.750582,-73.940202 438 | R11,Lexington Av/59 St,40.76266,-73.967258 439 | R13,5 Av/59 St,40.764811,-73.973347 440 | R14,57 St - 7 Av,40.764664,-73.980658 441 | R15,49 St,40.759901,-73.984139 442 | R16,Times Sq - 42 St,40.754672,-73.986754 443 | R17,34 St - Herald Sq,40.749567,-73.98795 444 | R18,28 St,40.745494,-73.988691 445 | R19,23 St,40.741303,-73.989344 446 | R20,14 St - Union Sq,40.735736,-73.990568 447 | R21,8 St - NYU,40.730328,-73.992629 448 | R22,Prince St,40.724329,-73.997702 449 | R23,Canal St,40.719527,-74.001775 450 | R24,City Hall,40.713282,-74.006978 451 | R25,Cortlandt St,40.710668,-74.011029 452 | R26,Rector St,40.70722,-74.013342 453 | R27,Whitehall St,40.703087,-74.012994 454 | R28,Court St,40.6941,-73.991777 455 | R29,Jay St - MetroTech,40.69218,-73.985942 456 | R30,DeKalb Av,40.690635,-73.981824 457 | R31,Atlantic Av - Barclays Ctr,40.683666,-73.97881 458 | R32,Union St,40.677316,-73.98311 459 | R33,9 St,40.670847,-73.988302 460 | R34,Prospect Av,40.665414,-73.992872 461 | R35,25 St,40.660397,-73.998091 462 | R36,36 St,40.655144,-74.003549 463 | R39,45 St,40.648939,-74.010006 464 | R40,53 St,40.645069,-74.014034 465 | R41,59 St,40.641362,-74.017881 466 | R42,Bay Ridge Av,40.634967,-74.023377 467 | R43,77 St,40.629742,-74.02551 468 | R44,86 St,40.622687,-74.028398 469 | R45,Bay Ridge - 95 St,40.616622,-74.030876 470 | S01,Franklin Av,40.680596,-73.955827 471 | S03,Park Pl,40.674772,-73.957624 472 | S04,Botanic Garden,40.670343,-73.959245 473 | S09,Tottenville,40.512764,-74.251961 474 | S10,Atlantic,40.515401,-74.245689 475 | S12,Nassau,40.517812,-74.238373 476 | S13,Richmond Valley,40.519631,-74.229141 477 | S14,Pleasant Plains,40.52241,-74.217847 478 | S15,Prince's Bay,40.525507,-74.200064 479 | S16,Huguenot,40.533674,-74.191794 480 | S17,Annadale,40.54046,-74.178217 481 | S18,Eltingville,40.544601,-74.16457 482 | S19,Great Kills,40.551231,-74.151399 483 | S20,Bay Terrace,40.5564,-74.136907 484 | S21,Oakwood Heights,40.56511,-74.12632 485 | S22,New Dorp,40.57348,-74.11721 486 | S23,Grant City,40.578965,-74.109704 487 | S24,Jefferson Av,40.583591,-74.103338 488 | S25,Dongan Hills,40.588849,-74.09609 489 | S26,Old Town,40.596612,-74.087368 490 | S27,Grasmere,40.603117,-74.084087 491 | S28,Clifton,40.621319,-74.071402 492 | S29,Stapleton,40.627915,-74.075162 493 | S30,Tompkinsville,40.636949,-74.074835 494 | S31,St George,40.643748,-74.073643 495 | -------------------------------------------------------------------------------- /data/ratp/routes.csv: -------------------------------------------------------------------------------- 1 | 1166824,14,FFFFFF 2 | 1166825,14,FFFFFF 3 | 1166826,14,FFFFFF 4 | 1166827,14,FFFFFF 5 | 1166828,14,FFFFFF 6 | 1166829,14,FFFFFF 7 | 1166830,14,FFFFFF 8 | 1166831,14,FFFFFF 9 | 1166832,14,FFFFFF 10 | 1166833,14,FFFFFF 11 | 1166834,14,FFFFFF 12 | 1166835,14,FFFFFF 13 | 1166838,14,FFFFFF 14 | 1166839,14,FFFFFF 15 | 1166840,14,FFFFFF 16 | 1166841,14,FFFFFF 17 | 140078,13,FFFFFF 18 | 140079,13,FFFFFF 19 | 1629,2,FFFFFF 20 | 1630,3,FFFFFF 21 | 1632,12,FFFFFF 22 | 1633,9,FFFFFF 23 | 1634,3,FFFFFF 24 | 1635,7B,FFFFFF 25 | 1637,9,FFFFFF 26 | 1638,13,FFFFFF 27 | 1639,7,FFFFFF 28 | 1640,6,FFFFFF 29 | 1641,5,FFFFFF 30 | 1642,1,FFFFFF 31 | 1644,6,FFFFFF 32 | 1645,4,FFFFFF 33 | 1646,12,FFFFFF 34 | 1647,9,FFFFFF 35 | 1648,7,FFFFFF 36 | 1649,7,FFFFFF 37 | 1651,9,FFFFFF 38 | 1653,10,FFFFFF 39 | 1655,4,FFFFFF 40 | 1656,13,FFFFFF 41 | 1657,6,FFFFFF 42 | 1659,3B,FFFFFF 43 | 1661,10,FFFFFF 44 | 1662,3,FFFFFF 45 | 1662795,13,FFFFFF 46 | 1662796,13,FFFFFF 47 | 1662797,13,FFFFFF 48 | 1662798,13,FFFFFF 49 | 1665,6,FFFFFF 50 | 1666,10,FFFFFF 51 | 1667,12,FFFFFF 52 | 1668,4,FFFFFF 53 | 1669,12,FFFFFF 54 | 1674,2,FFFFFF 55 | 1675,5,FFFFFF 56 | 1676,7,FFFFFF 57 | 1677,4,FFFFFF 58 | 1678,9,FFFFFF 59 | 1681,7,FFFFFF 60 | 1682,11,FFFFFF 61 | 1683,3,FFFFFF 62 | 1684,2,FFFFFF 63 | 1685,7,FFFFFF 64 | 1686,12,FFFFFF 65 | 1687,6,FFFFFF 66 | 1688,1,FFFFFF 67 | 1690,10,FFFFFF 68 | 1691,12,FFFFFF 69 | 1692,4,FFFFFF 70 | 1692060,13,FFFFFF 71 | 1692061,13,FFFFFF 72 | 1694,2,FFFFFF 73 | 1695,7,FFFFFF 74 | 1696,7,FFFFFF 75 | 1698,1,FFFFFF 76 | 1700,5,FFFFFF 77 | 1702,9,FFFFFF 78 | 1703,7,FFFFFF 79 | 1704,9,FFFFFF 80 | 1707,2,FFFFFF 81 | 1708,9,FFFFFF 82 | 1709,9,FFFFFF 83 | 1710,12,FFFFFF 84 | 1712,9,FFFFFF 85 | 1714,9,FFFFFF 86 | 1715,9,FFFFFF 87 | 1716,13,FFFFFF 88 | 1717,13,FFFFFF 89 | 1718,3B,FFFFFF 90 | 1719,13,FFFFFF 91 | 1720,12,FFFFFF 92 | 1721,4,FFFFFF 93 | 1722,3,FFFFFF 94 | 1723,12,FFFFFF 95 | 1724,13,FFFFFF 96 | 1725,1,FFFFFF 97 | 1728,3,FFFFFF 98 | 1729,4,FFFFFF 99 | 1730,9,FFFFFF 100 | 1731,4,FFFFFF 101 | 1733,4,FFFFFF 102 | 1734,7,FFFFFF 103 | 1735,4,FFFFFF 104 | 1736,2,FFFFFF 105 | 1737,3,FFFFFF 106 | 1738,3,FFFFFF 107 | 1740,7,FFFFFF 108 | 1741,13,FFFFFF 109 | 1742,4,FFFFFF 110 | 1743,12,FFFFFF 111 | 1744,7,FFFFFF 112 | 1745,9,FFFFFF 113 | 1746,5,FFFFFF 114 | 1747,9,FFFFFF 115 | 1748,13,FFFFFF 116 | 1749,13,FFFFFF 117 | 1750,12,FFFFFF 118 | 1751,1,FFFFFF 119 | 1752,3B,FFFFFF 120 | 1753,11,FFFFFF 121 | 1755,1,FFFFFF 122 | 1756,7B,FFFFFF 123 | 1757,7,FFFFFF 124 | 1758,11,FFFFFF 125 | 1759,5,FFFFFF 126 | 1760,3,FFFFFF 127 | 1761,11,FFFFFF 128 | 1762,9,FFFFFF 129 | 1763,6,FFFFFF 130 | 1764,4,FFFFFF 131 | 1765,3,FFFFFF 132 | 1766,3,FFFFFF 133 | 1767,5,FFFFFF 134 | 1772,5,FFFFFF 135 | 1773,1,FFFFFF 136 | 1774,7,FFFFFF 137 | 1779,3,FFFFFF 138 | 1780,6,FFFFFF 139 | 1781,6,FFFFFF 140 | 1782,12,FFFFFF 141 | 1783,3B,FFFFFF 142 | 1784,2,FFFFFF 143 | 1785,3,FFFFFF 144 | 1786,3,FFFFFF 145 | 1787,13,FFFFFF 146 | 1788,2,FFFFFF 147 | 1789,6,FFFFFF 148 | 1790,7,FFFFFF 149 | 1791,2,FFFFFF 150 | 1792,12,FFFFFF 151 | 1793,5,FFFFFF 152 | 1794,6,FFFFFF 153 | 1795,2,FFFFFF 154 | 1796,13,FFFFFF 155 | 1797,7B,FFFFFF 156 | 1798,11,FFFFFF 157 | 1799,13,FFFFFF 158 | 1800,7,FFFFFF 159 | 1802,3,FFFFFF 160 | 1803,1,FFFFFF 161 | 1804,9,FFFFFF 162 | 1805,7,FFFFFF 163 | 1806,7,FFFFFF 164 | 1808,7,FFFFFF 165 | 1811,10,FFFFFF 166 | 1812,2,FFFFFF 167 | 1814,9,FFFFFF 168 | 1816,9,FFFFFF 169 | 1817,10,FFFFFF 170 | 1818,10,FFFFFF 171 | 1819,9,FFFFFF 172 | 1820,13,FFFFFF 173 | 1822,2,FFFFFF 174 | 1824,4,FFFFFF 175 | 1825,6,FFFFFF 176 | 1826,12,FFFFFF 177 | 1827,13,FFFFFF 178 | 1828,4,FFFFFF 179 | 1832,1,FFFFFF 180 | 1833,2,FFFFFF 181 | 1834,6,FFFFFF 182 | 1836,6,FFFFFF 183 | 1841,12,FFFFFF 184 | 1842,12,FFFFFF 185 | 1843,5,FFFFFF 186 | 1844,9,FFFFFF 187 | 1845,4,FFFFFF 188 | 1846,3,FFFFFF 189 | 1847,7,FFFFFF 190 | 1849,7,FFFFFF 191 | 1854,7,FFFFFF 192 | 1855,4,FFFFFF 193 | 1856,1,FFFFFF 194 | 1858,13,FFFFFF 195 | 1860,7,FFFFFF 196 | 1861,7B,FFFFFF 197 | 1862,3,FFFFFF 198 | 1864,1,FFFFFF 199 | 1867,10,FFFFFF 200 | 1869,12,FFFFFF 201 | 1870,12,FFFFFF 202 | 1871,7,FFFFFF 203 | 1872,13,FFFFFF 204 | 1873,9,FFFFFF 205 | 1874,13,FFFFFF 206 | 1875,11,FFFFFF 207 | 1876,7,FFFFFF 208 | 1879,13,FFFFFF 209 | 1880,13,FFFFFF 210 | 1881,3,FFFFFF 211 | 1882,9,FFFFFF 212 | 1883,12,FFFFFF 213 | 1884,9,FFFFFF 214 | 1886,12,FFFFFF 215 | 1887,1,FFFFFF 216 | 1888,13,FFFFFF 217 | 1889,3,FFFFFF 218 | 1890,9,FFFFFF 219 | 1891,5,FFFFFF 220 | 1892,1,FFFFFF 221 | 1893,11,FFFFFF 222 | 1895,9,FFFFFF 223 | 1897,13,FFFFFF 224 | 1898,5,FFFFFF 225 | 1899,9,FFFFFF 226 | 1900,2,FFFFFF 227 | 1901,5,FFFFFF 228 | 1902,7B,FFFFFF 229 | 1903,10,FFFFFF 230 | 1905,11,FFFFFF 231 | 1906,12,FFFFFF 232 | 1907,7,FFFFFF 233 | 1908,10,FFFFFF 234 | 1909,6,FFFFFF 235 | 1910,2,FFFFFF 236 | 1911,7,FFFFFF 237 | 1916,10,FFFFFF 238 | 1917,9,FFFFFF 239 | 1920,12,FFFFFF 240 | 1922,5,FFFFFF 241 | 1925,7,FFFFFF 242 | 1926,6,FFFFFF 243 | 1927,10,FFFFFF 244 | 1928,13,FFFFFF 245 | 1930,6,FFFFFF 246 | 1932,5,FFFFFF 247 | 1933,1,FFFFFF 248 | 1934,4,FFFFFF 249 | 1935,3,FFFFFF 250 | 1936,9,FFFFFF 251 | 1938,12,FFFFFF 252 | 1944,7,FFFFFF 253 | 1945,1,FFFFFF 254 | 1946,9,FFFFFF 255 | 1947,13,FFFFFF 256 | 1948,13,FFFFFF 257 | 1949,3,FFFFFF 258 | 1950,3,FFFFFF 259 | 1951,5,FFFFFF 260 | 1952,10,FFFFFF 261 | 1953,4,FFFFFF 262 | 1954,7,FFFFFF 263 | 1955,1,FFFFFF 264 | 1957,4,FFFFFF 265 | 1958,5,FFFFFF 266 | 1959,13,FFFFFF 267 | 1961,1,FFFFFF 268 | 1962,6,FFFFFF 269 | 1963,11,FFFFFF 270 | 1964,4,FFFFFF 271 | 1965,11,FFFFFF 272 | 1966,7,FFFFFF 273 | 1969,13,FFFFFF 274 | 1971,7,FFFFFF 275 | 1972,9,FFFFFF 276 | 1974,6,FFFFFF 277 | 1975,4,FFFFFF 278 | 1977,10,FFFFFF 279 | 1978,2,FFFFFF 280 | 1980,1,FFFFFF 281 | 1982,12,FFFFFF 282 | 1984,12,FFFFFF 283 | 1985,7,FFFFFF 284 | 1986,12,FFFFFF 285 | 1987,6,FFFFFF 286 | 1989,2,FFFFFF 287 | 1993,9,FFFFFF 288 | 1996,4,FFFFFF 289 | 1997,6,FFFFFF 290 | 2001,9,FFFFFF 291 | 2002,7B,FFFFFF 292 | 2004,10,FFFFFF 293 | 2005,10,FFFFFF 294 | 2007,3,FFFFFF 295 | 2008,5,FFFFFF 296 | 2009,13,FFFFFF 297 | 2013,7B,FFFFFF 298 | 2014,9,FFFFFF 299 | 2015,7,FFFFFF 300 | 2016,6,FFFFFF 301 | 2017,5,FFFFFF 302 | 2018,10,FFFFFF 303 | 2020,7,FFFFFF 304 | 2025,13,FFFFFF 305 | 2026,10,FFFFFF 306 | 2028,1,FFFFFF 307 | 2029,2,FFFFFF 308 | 2030,6,FFFFFF 309 | 2031,10,FFFFFF 310 | 2032,9,FFFFFF 311 | 2033,4,FFFFFF 312 | 2034,4,FFFFFF 313 | 2035,1,FFFFFF 314 | 2036,1,FFFFFF 315 | 2037,12,FFFFFF 316 | 2040,4,FFFFFF 317 | 2041,2,FFFFFF 318 | 2043,9,FFFFFF 319 | 2044,3,FFFFFF 320 | 2046,2,FFFFFF 321 | 2048,1,FFFFFF 322 | 2050,3,FFFFFF 323 | 2051,11,FFFFFF 324 | 2052,12,FFFFFF 325 | 2055,7,FFFFFF 326 | 2057,10,FFFFFF 327 | 2058,2,FFFFFF 328 | 2061,4,FFFFFF 329 | 2062,1,FFFFFF 330 | 2063,5,FFFFFF 331 | 2065,6,FFFFFF 332 | 2066,11,FFFFFF 333 | 2067,1,FFFFFF 334 | 2068,6,FFFFFF 335 | 2069,6,FFFFFF 336 | 2071,2,FFFFFF 337 | 2072,5,FFFFFF 338 | 2073,6,FFFFFF 339 | 2075,7B,FFFFFF 340 | 2076,5,FFFFFF 341 | 2079,2,FFFFFF 342 | 2080,7,FFFFFF 343 | 2081,6,FFFFFF 344 | 2082,6,FFFFFF 345 | 2083,1,FFFFFF 346 | 2085,7,FFFFFF 347 | 2086,2,FFFFFF 348 | 2087,2,FFFFFF 349 | 2088,9,FFFFFF 350 | 2089,5,FFFFFF 351 | 2093,7,FFFFFF 352 | 2094,6,FFFFFF 353 | 2096,2,FFFFFF 354 | 2098,1,FFFFFF 355 | 2099,3,FFFFFF 356 | 2100,11,FFFFFF 357 | 2101,12,FFFFFF 358 | 2104,7,FFFFFF 359 | 2106,10,FFFFFF 360 | 2107,2,FFFFFF 361 | 2110,4,FFFFFF 362 | 2111,1,FFFFFF 363 | 2112,5,FFFFFF 364 | 2114,6,FFFFFF 365 | 2115,11,FFFFFF 366 | 2116,1,FFFFFF 367 | 2117,6,FFFFFF 368 | 2118,6,FFFFFF 369 | 2120,2,FFFFFF 370 | 2121,5,FFFFFF 371 | 2122,6,FFFFFF 372 | 2124,7B,FFFFFF 373 | 2125,5,FFFFFF 374 | 2128,2,FFFFFF 375 | 2132,7B,FFFFFF 376 | 2133,9,FFFFFF 377 | 2134,7,FFFFFF 378 | 2135,6,FFFFFF 379 | 2136,5,FFFFFF 380 | 2137,10,FFFFFF 381 | 2139,7,FFFFFF 382 | 2144,13,FFFFFF 383 | 2147,1,FFFFFF 384 | 2148,2,FFFFFF 385 | 2149,6,FFFFFF 386 | 2150,10,FFFFFF 387 | 2151,9,FFFFFF 388 | 2152,4,FFFFFF 389 | 2153,4,FFFFFF 390 | 2154,1,FFFFFF 391 | 2155,1,FFFFFF 392 | 2156,12,FFFFFF 393 | 2159,4,FFFFFF 394 | 2160,2,FFFFFF 395 | 2162,9,FFFFFF 396 | 2163,3,FFFFFF 397 | 2164,5,FFFFFF 398 | 2165,13,FFFFFF 399 | 2167,10,FFFFFF 400 | 2168,2,FFFFFF 401 | 2170,1,FFFFFF 402 | 2172,12,FFFFFF 403 | 2174,12,FFFFFF 404 | 2175,7,FFFFFF 405 | 2176,12,FFFFFF 406 | 2177,6,FFFFFF 407 | 2179,2,FFFFFF 408 | 2183,9,FFFFFF 409 | 2185,4,FFFFFF 410 | 2186,6,FFFFFF 411 | 2190,9,FFFFFF 412 | 2191,7B,FFFFFF 413 | 2193,10,FFFFFF 414 | 2194,10,FFFFFF 415 | 2196,3,FFFFFF 416 | 2199,7,FFFFFF 417 | 2200,1,FFFFFF 418 | 2201,9,FFFFFF 419 | 2202,13,FFFFFF 420 | 2203,13,FFFFFF 421 | 2204,3,FFFFFF 422 | 2205,3,FFFFFF 423 | 2206,5,FFFFFF 424 | 2207,10,FFFFFF 425 | 2208,4,FFFFFF 426 | 2209,7,FFFFFF 427 | 2210,1,FFFFFF 428 | 2212,4,FFFFFF 429 | 2213,5,FFFFFF 430 | 2214,13,FFFFFF 431 | 2216,1,FFFFFF 432 | 2217,6,FFFFFF 433 | 2218,11,FFFFFF 434 | 2219,4,FFFFFF 435 | 2220,11,FFFFFF 436 | 2221,7,FFFFFF 437 | 2224,13,FFFFFF 438 | 2226,7,FFFFFF 439 | 2227,9,FFFFFF 440 | 2229,6,FFFFFF 441 | 2230,4,FFFFFF 442 | 2232,7,FFFFFF 443 | 2233,10,FFFFFF 444 | 2234,6,FFFFFF 445 | 2235,2,FFFFFF 446 | 2236,7,FFFFFF 447 | 2241,10,FFFFFF 448 | 2242,9,FFFFFF 449 | 2245,12,FFFFFF 450 | 2247,5,FFFFFF 451 | 2250,7,FFFFFF 452 | 2251,6,FFFFFF 453 | 2252,10,FFFFFF 454 | 2253,13,FFFFFF 455 | 2255,6,FFFFFF 456 | 2256,10,FFFFFF 457 | 2257,5,FFFFFF 458 | 2258,1,FFFFFF 459 | 2259,4,FFFFFF 460 | 2260,3,FFFFFF 461 | 2261,9,FFFFFF 462 | 2263,12,FFFFFF 463 | 2266,11,FFFFFF 464 | 2267,12,FFFFFF 465 | 2268,13,FFFFFF 466 | 2269,9,FFFFFF 467 | 2270,13,FFFFFF 468 | 2271,11,FFFFFF 469 | 2272,7,FFFFFF 470 | 2275,13,FFFFFF 471 | 2276,13,FFFFFF 472 | 2277,3,FFFFFF 473 | 2278,9,FFFFFF 474 | 2279,12,FFFFFF 475 | 2280,9,FFFFFF 476 | 2282,12,FFFFFF 477 | 2283,1,FFFFFF 478 | 2284,13,FFFFFF 479 | 2285,3,FFFFFF 480 | 2286,9,FFFFFF 481 | 2287,5,FFFFFF 482 | 2288,1,FFFFFF 483 | 2289,11,FFFFFF 484 | 2291,9,FFFFFF 485 | 2293,13,FFFFFF 486 | 2294,5,FFFFFF 487 | 2295,9,FFFFFF 488 | 2296,2,FFFFFF 489 | 2297,5,FFFFFF 490 | 2298,7B,FFFFFF 491 | 2299,10,FFFFFF 492 | 2301,7,FFFFFF 493 | 2303,6,FFFFFF 494 | 2308,12,FFFFFF 495 | 2309,12,FFFFFF 496 | 2310,5,FFFFFF 497 | 2311,9,FFFFFF 498 | 2312,4,FFFFFF 499 | 2313,3,FFFFFF 500 | 2314,7,FFFFFF 501 | 2316,7,FFFFFF 502 | 2321,7,FFFFFF 503 | 2322,4,FFFFFF 504 | 2323,1,FFFFFF 505 | 2325,13,FFFFFF 506 | 2327,7,FFFFFF 507 | 2328,7B,FFFFFF 508 | 2329,3,FFFFFF 509 | 2331,1,FFFFFF 510 | 2334,10,FFFFFF 511 | 2336,12,FFFFFF 512 | 2337,12,FFFFFF 513 | 2338,2,FFFFFF 514 | 2339,6,FFFFFF 515 | 2341,3,FFFFFF 516 | 2342,1,FFFFFF 517 | 2343,9,FFFFFF 518 | 2344,7,FFFFFF 519 | 2345,7,FFFFFF 520 | 2346,10,FFFFFF 521 | 2347,7,FFFFFF 522 | 2350,10,FFFFFF 523 | 2351,2,FFFFFF 524 | 2353,9,FFFFFF 525 | 2354,10,FFFFFF 526 | 2355,9,FFFFFF 527 | 2358,9,FFFFFF 528 | 2359,13,FFFFFF 529 | 2361,2,FFFFFF 530 | 2363,4,FFFFFF 531 | 2364,6,FFFFFF 532 | 2365,12,FFFFFF 533 | 2366,13,FFFFFF 534 | 2367,4,FFFFFF 535 | 2371,1,FFFFFF 536 | 2372,13,FFFFFF 537 | 2373,7,FFFFFF 538 | 2374,4,FFFFFF 539 | 2375,3,FFFFFF 540 | 2376,3,FFFFFF 541 | 2377,5,FFFFFF 542 | 2382,5,FFFFFF 543 | 2383,1,FFFFFF 544 | 2384,7,FFFFFF 545 | 2389,3,FFFFFF 546 | 2390,6,FFFFFF 547 | 2391,6,FFFFFF 548 | 2392,12,FFFFFF 549 | 2393,3B,FFFFFF 550 | 2394,2,FFFFFF 551 | 2395,3,FFFFFF 552 | 2396,3,FFFFFF 553 | 2397,13,FFFFFF 554 | 2398,2,FFFFFF 555 | 2399,6,FFFFFF 556 | 2400,7,FFFFFF 557 | 2401,2,FFFFFF 558 | 2402,12,FFFFFF 559 | 2403,5,FFFFFF 560 | 2404,6,FFFFFF 561 | 2405,2,FFFFFF 562 | 2406,13,FFFFFF 563 | 2408,11,FFFFFF 564 | 2409,6,FFFFFF 565 | 2411,4,FFFFFF 566 | 2412,7,FFFFFF 567 | 2413,4,FFFFFF 568 | 2414,2,FFFFFF 569 | 2415,3,FFFFFF 570 | 2416,3,FFFFFF 571 | 2418,7,FFFFFF 572 | 2419,13,FFFFFF 573 | 2420,4,FFFFFF 574 | 2421,12,FFFFFF 575 | 2422,7,FFFFFF 576 | 2423,9,FFFFFF 577 | 2424,5,FFFFFF 578 | 2425,9,FFFFFF 579 | 2426,13,FFFFFF 580 | 2427,13,FFFFFF 581 | 2428,12,FFFFFF 582 | 2429,1,FFFFFF 583 | 2430,3B,FFFFFF 584 | 2431,11,FFFFFF 585 | 2433,1,FFFFFF 586 | 2434,7B,FFFFFF 587 | 2435,7,FFFFFF 588 | 2436,11,FFFFFF 589 | 2437,5,FFFFFF 590 | 2438,3,FFFFFF 591 | 2439,11,FFFFFF 592 | 2440,9,FFFFFF 593 | 2441,9,FFFFFF 594 | 2442,4,FFFFFF 595 | 2443,1,FFFFFF 596 | 2445,5,FFFFFF 597 | 2447,9,FFFFFF 598 | 2448,7,FFFFFF 599 | 2449,9,FFFFFF 600 | 2452,2,FFFFFF 601 | 2453,9,FFFFFF 602 | 2454,9,FFFFFF 603 | 2455,12,FFFFFF 604 | 2457,9,FFFFFF 605 | 2459,9,FFFFFF 606 | 2460,9,FFFFFF 607 | 2461,13,FFFFFF 608 | 2462,13,FFFFFF 609 | 2463,3B,FFFFFF 610 | 2464,13,FFFFFF 611 | 2465,12,FFFFFF 612 | 2466,4,FFFFFF 613 | 2467,3,FFFFFF 614 | 2468,12,FFFFFF 615 | 2469,13,FFFFFF 616 | 2470,1,FFFFFF 617 | 2471,3,FFFFFF 618 | 2472,4,FFFFFF 619 | 2475,6,FFFFFF 620 | 2476,10,FFFFFF 621 | 2477,12,FFFFFF 622 | 2478,4,FFFFFF 623 | 2479,12,FFFFFF 624 | 2484,2,FFFFFF 625 | 2485,5,FFFFFF 626 | 2486,7,FFFFFF 627 | 2487,4,FFFFFF 628 | 2488,9,FFFFFF 629 | 2491,7,FFFFFF 630 | 2492,11,FFFFFF 631 | 2493,3,FFFFFF 632 | 2494,2,FFFFFF 633 | 2495,7,FFFFFF 634 | 2496,12,FFFFFF 635 | 2497,6,FFFFFF 636 | 2498,1,FFFFFF 637 | 2500,10,FFFFFF 638 | 2501,12,FFFFFF 639 | 2502,4,FFFFFF 640 | 2504,2,FFFFFF 641 | 2505,7,FFFFFF 642 | 2506,7,FFFFFF 643 | 2509,2,FFFFFF 644 | 2510,3,FFFFFF 645 | 2512,12,FFFFFF 646 | 2513,9,FFFFFF 647 | 2514,3,FFFFFF 648 | 2517,9,FFFFFF 649 | 2518,13,FFFFFF 650 | 2519,7,FFFFFF 651 | 2520,6,FFFFFF 652 | 2521,5,FFFFFF 653 | 2522,1,FFFFFF 654 | 2524,6,FFFFFF 655 | 2525,4,FFFFFF 656 | 2526,12,FFFFFF 657 | 2527,9,FFFFFF 658 | 2528,7,FFFFFF 659 | 2529,7,FFFFFF 660 | 2531,9,FFFFFF 661 | 2533,10,FFFFFF 662 | 2535,4,FFFFFF 663 | 2536,13,FFFFFF 664 | 2537,6,FFFFFF 665 | 2539,3B,FFFFFF 666 | 2541,10,FFFFFF 667 | 2542,3,FFFFFF 668 | 2543,6,FFFFFF 669 | 2544,1,FFFFFF 670 | 2546,7,FFFFFF 671 | 2547,2,FFFFFF 672 | 2548,2,FFFFFF 673 | 2549,9,FFFFFF 674 | 2550,5,FFFFFF 675 | 3343334,8,FFFFFF 676 | 3343335,8,FFFFFF 677 | 3343336,8,FFFFFF 678 | 3343337,8,FFFFFF 679 | 3343338,8,FFFFFF 680 | 3343339,8,FFFFFF 681 | 3343746,8,FFFFFF 682 | 3343752,8,FFFFFF 683 | 3343753,8,FFFFFF 684 | 3343754,8,FFFFFF 685 | 3343755,8,FFFFFF 686 | 3343756,8,FFFFFF 687 | 3343757,8,FFFFFF 688 | 3343758,8,FFFFFF 689 | 3343759,8,FFFFFF 690 | 3343760,8,FFFFFF 691 | 3343761,8,FFFFFF 692 | 3343762,8,FFFFFF 693 | 3343763,8,FFFFFF 694 | 3343764,8,FFFFFF 695 | 3343765,8,FFFFFF 696 | 3343766,8,FFFFFF 697 | 3343767,8,FFFFFF 698 | 3343768,8,FFFFFF 699 | 3343769,8,FFFFFF 700 | 3343770,8,FFFFFF 701 | 3343771,8,FFFFFF 702 | 3343772,8,FFFFFF 703 | 3343773,8,FFFFFF 704 | 3343774,8,FFFFFF 705 | 3343775,8,FFFFFF 706 | 3343776,8,FFFFFF 707 | 3343777,8,FFFFFF 708 | 3343778,8,FFFFFF 709 | 3343779,8,FFFFFF 710 | 3343780,8,FFFFFF 711 | 3343781,8,FFFFFF 712 | 3343782,8,FFFFFF 713 | 3343783,8,FFFFFF 714 | 3343784,8,FFFFFF 715 | 3343785,8,FFFFFF 716 | 3343786,8,FFFFFF 717 | 3343787,8,FFFFFF 718 | 3343788,8,FFFFFF 719 | 3343789,8,FFFFFF 720 | 3343790,8,FFFFFF 721 | 3343791,8,FFFFFF 722 | 3343792,8,FFFFFF 723 | 3343793,8,FFFFFF 724 | 3343794,8,FFFFFF 725 | 3343795,8,FFFFFF 726 | 3343796,8,FFFFFF 727 | 3343797,8,FFFFFF 728 | 3343798,8,FFFFFF 729 | 3343799,8,FFFFFF 730 | 3343800,8,FFFFFF 731 | 3343801,8,FFFFFF 732 | 3343802,8,FFFFFF 733 | 3343803,8,FFFFFF 734 | 3343804,8,FFFFFF 735 | 3343805,8,FFFFFF 736 | 3343806,8,FFFFFF 737 | 3343807,8,FFFFFF 738 | 3343808,8,FFFFFF 739 | 3343809,8,FFFFFF 740 | 3343810,8,FFFFFF 741 | 3343811,8,FFFFFF 742 | 3343812,8,FFFFFF 743 | 3343813,8,FFFFFF 744 | 3343814,8,FFFFFF 745 | 3343815,8,FFFFFF 746 | 3343816,8,FFFFFF 747 | 3343817,8,FFFFFF 748 | 3343818,8,FFFFFF 749 | 3343819,8,FFFFFF 750 | 3343825,8,FFFFFF 751 | 3901291,12,FFFFFF 752 | 3901292,12,FFFFFF 753 | 4028973,4,FFFFFF 754 | 4028974,4,FFFFFF 755 | 6129304,14,FFFFFF 756 | 6129305,14,FFFFFF 757 | 8433,10,FFFFFF 758 | 967988,11,FFFFFF 759 | 967989,11,FFFFFF 760 | -------------------------------------------------------------------------------- /data/wmata/edges.csv: -------------------------------------------------------------------------------- 1 | 10142,21110,route,180 2 | 10142,7686,route,180 3 | 10344,308,route,60 4 | 10344,7474,route,120 5 | 10352,13995,route,360 6 | 10352,14816,route,360 7 | 10776,9880,route,120 8 | 11332,12488,route,180 9 | 11332,12926,route,120 10 | 11332,8040,route,180 11 | 11602,11610,route,240 12 | 11602,14118,route,240 13 | 11610,11602,route,240 14 | 11731,11733,route,180 15 | 11733,11731,route,180 16 | 11733,3034,route,180 17 | 11886,3034,route,180 18 | 11886,5305,route,180 19 | 12282,12631,route,240 20 | 12282,14118,route,180 21 | 12282,39924,route,420 22 | 12488,11332,route,180 23 | 12488,12648,route,120 24 | 12631,12282,route,240 25 | 12631,12922,route,120 26 | 12648,12488,route,120 27 | 12648,12922,route,60 28 | 12872,12874,route,120 29 | 12872,4567,route,120 30 | 12874,12872,route,120 31 | 12874,7474,route,120 32 | 12900,6479,route,120 33 | 12900,7333,route,120 34 | 12906,5017,route,120 35 | 12906,7671,route,120 36 | 12922,12631,route,120 37 | 12922,12648,route,60 38 | 12926,11332,route,120 39 | 12926,12928,route,180 40 | 12928,12926,route,180 41 | 12928,12930,route,60 42 | 12928,5017,route,300 43 | 12928,5017,route,360 44 | 12930,12928,route,60 45 | 12930,12928,route,120 46 | 12930,9720,route,120 47 | 1305,13107,route,120 48 | 1305,13107,route,180 49 | 1305,4613,route,180 50 | 13107,1305,route,120 51 | 13107,1305,route,180 52 | 13107,4664,route,180 53 | 13107,4664,route,240 54 | 13986,13995,route,120 55 | 13986,9838,route,300 56 | 13995,10352,route,360 57 | 13995,10352,route,420 58 | 13995,13986,route,120 59 | 13995,9880,route,120 60 | 14118,11602,route,240 61 | 14118,12282,route,180 62 | 1418,25552,route,120 63 | 1418,308,route,120 64 | 14816,10352,route,360 65 | 16051,4271,route,180 66 | 20078,21029,route,180 67 | 20078,6963,route,180 68 | 21029,20078,route,180 69 | 21029,4271,route,180 70 | 21110,10142,route,180 71 | 2124,2658,route,180 72 | 2124,999,route,180 73 | 22094,3542,route,180 74 | 22094,3969,route,180 75 | 25426,5030,route,120 76 | 25426,5110,route,240 77 | 25552,1418,route,120 78 | 25552,25553,route,180 79 | 25553,25552,route,180 80 | 25553,5305,route,240 81 | 2640,3542,route,180 82 | 2640,4387,route,180 83 | 2658,2124,route,180 84 | 3034,11733,route,180 85 | 3034,11886,route,180 86 | 308,10344,route,60 87 | 308,1418,route,120 88 | 3542,22094,route,180 89 | 3542,2640,route,180 90 | 3969,22094,route,180 91 | 3969,7993,route,180 92 | 39924,12282,route,420 93 | 39924,39925,route,120 94 | 39925,39924,route,120 95 | 39925,39926,route,120 96 | 39926,39925,route,120 97 | 39926,39927,route,120 98 | 39927,39926,route,120 99 | 39927,39928,route,420 100 | 39928,39927,route,420 101 | 4271,16051,route,180 102 | 4271,21029,route,180 103 | 4364,4387,route,180 104 | 4364,5660,route,120 105 | 4387,2640,route,180 106 | 4387,4364,route,180 107 | 4567,12872,route,120 108 | 4567,6671,route,120 109 | 4613,1305,route,180 110 | 4613,1305,route,240 111 | 4613,5110,route,240 112 | 4655,6751,route,180 113 | 4655,7681,route,120 114 | 4664,13107,route,180 115 | 4664,4697,route,180 116 | 4664,4697,route,240 117 | 4697,4664,route,180 118 | 4710,5305,route,180 119 | 4710,6671,route,180 120 | 4905,4912,route,120 121 | 4905,4956,route,120 122 | 4912,4905,route,120 123 | 4912,4941,route,120 124 | 4941,4912,route,120 125 | 4941,5660,route,180 126 | 4956,4905,route,120 127 | 4956,5635,route,180 128 | 5017,12906,route,120 129 | 5017,12928,route,300 130 | 5017,7333,route,120 131 | 5017,7376,route,120 132 | 5017,7477,route,120 133 | 5030,25426,route,120 134 | 5030,999,route,180 135 | 5110,25426,route,240 136 | 5110,4613,route,240 137 | 5110,4613,route,300 138 | 5110,6553,route,120 139 | 5305,11886,route,180 140 | 5305,25553,route,240 141 | 5305,4710,route,180 142 | 5305,6963,route,180 143 | 5635,4956,route,180 144 | 5635,7588,route,180 145 | 5635,7588,route,300 146 | 5660,4364,route,120 147 | 5660,4941,route,180 148 | 5759,6751,route,180 149 | 5759,7376,route,120 150 | 6479,12900,route,120 151 | 6479,6553,route,120 152 | 6553,5110,route,120 153 | 6553,6479,route,120 154 | 6671,4567,route,120 155 | 6671,4710,route,180 156 | 6751,4655,route,180 157 | 6751,5759,route,180 158 | 6963,20078,route,180 159 | 6963,5305,route,180 160 | 7333,12900,route,120 161 | 7333,5017,route,120 162 | 7376,5017,route,120 163 | 7376,5759,route,120 164 | 7474,10344,route,120 165 | 7474,12874,route,120 166 | 7474,7477,route,120 167 | 7474,7588,route,120 168 | 7474,7588,route,240 169 | 7477,5017,route,120 170 | 7477,7474,route,120 171 | 7588,5635,route,180 172 | 7588,7474,route,120 173 | 7588,7671,route,60 174 | 7588,7812,route,120 175 | 7671,12906,route,120 176 | 7671,7588,route,60 177 | 7671,7588,route,180 178 | 7681,4655,route,120 179 | 7681,7686,route,180 180 | 7686,10142,route,180 181 | 7686,7681,route,180 182 | 7812,7588,route,120 183 | 7812,7588,route,240 184 | 7812,7932,route,120 185 | 7932,7812,route,120 186 | 7932,8040,route,120 187 | 7993,3969,route,180 188 | 7993,9360,route,240 189 | 8040,11332,route,180 190 | 8040,7932,route,120 191 | 9360,7993,route,240 192 | 9720,12930,route,120 193 | 9720,9838,route,120 194 | 9838,13986,route,300 195 | 9838,9720,route,120 196 | 9880,10776,route,120 197 | 9880,13995,route,120 198 | 999,2124,route,180 199 | 999,5030,route,120 200 | 999,5030,route,180 201 | -------------------------------------------------------------------------------- /data/wmata/routes.csv: -------------------------------------------------------------------------------- 1 | 12631,Silver,CCCCCC 2 | 12906,Orange,f89038 3 | 12930,Blue,0d7bba 4 | 10352,Blue,0d7bba 5 | 22094,Red,e94333 6 | 12906,Silver,CCCCCC 7 | 12900,Blue,0d7bba 8 | 7812,Blue,0d7bba 9 | 4664,Silver,CCCCCC 10 | 21029,Red,e94333 11 | 12631,Orange,f89038 12 | 12874,Red,e94333 13 | 9838,Yellow,fde310 14 | 3542,Red,e94333 15 | 5759,Green,009d57 16 | 6553,Blue,0d7bba 17 | 7588,Blue,0d7bba 18 | 5017,Silver,CCCCCC 19 | 4912,Red,e94333 20 | 4905,Red,e94333 21 | 12928,Blue,0d7bba 22 | 5017,Orange,f89038 23 | 39924,Silver,CCCCCC 24 | 9360,Red,e94333 25 | 7932,Blue,0d7bba 26 | 6671,Red,e94333 27 | 7686,Green,009d57 28 | 9720,Blue,0d7bba 29 | 13107,Silver,CCCCCC 30 | 11602,Orange,f89038 31 | 6963,Red,e94333 32 | 999,Orange,f89038 33 | 1305,Blue,0d7bba 34 | 12488,Orange,f89038 35 | 4387,Red,e94333 36 | 8040,Blue,0d7bba 37 | 25553,Green,009d57 38 | 12488,Silver,CCCCCC 39 | 4364,Red,e94333 40 | 4941,Red,e94333 41 | 5017,Green,009d57 42 | 4697,Silver,CCCCCC 43 | 7588,Red,e94333 44 | 3969,Red,e94333 45 | 12282,Silver,CCCCCC 46 | 308,Green,009d57 47 | 13986,Blue,0d7bba 48 | 11332,Blue,0d7bba 49 | 4655,Green,009d57 50 | 12282,Orange,f89038 51 | 4710,Red,e94333 52 | 7333,Silver,CCCCCC 53 | 20078,Red,e94333 54 | 14816,Blue,0d7bba 55 | 6479,Silver,CCCCCC 56 | 13995,Yellow,fde310 57 | 4613,Blue,0d7bba 58 | 4567,Red,e94333 59 | 25553,Yellow,fde310 60 | 6479,Orange,f89038 61 | 7376,Green,009d57 62 | 7474,Red,e94333 63 | 5017,Yellow,fde310 64 | 7333,Orange,f89038 65 | 5030,Orange,f89038 66 | 308,Yellow,fde310 67 | 12922,Orange,f89038 68 | 7671,Orange,f89038 69 | 12926,Blue,0d7bba 70 | 5110,Blue,0d7bba 71 | 10142,Green,009d57 72 | 5305,Red,e94333 73 | 7671,Silver,CCCCCC 74 | 12922,Silver,CCCCCC 75 | 6479,Blue,0d7bba 76 | 4613,Silver,CCCCCC 77 | 12928,Yellow,fde310 78 | 7333,Blue,0d7bba 79 | 2124,Orange,f89038 80 | 5305,Yellow,fde310 81 | 11610,Orange,f89038 82 | 11886,Green,009d57 83 | 12872,Red,e94333 84 | 7477,Yellow,fde310 85 | 3034,Yellow,fde310 86 | 7671,Blue,0d7bba 87 | 10344,Yellow,fde310 88 | 5110,Silver,CCCCCC 89 | 10776,Yellow,fde310 90 | 5110,Orange,f89038 91 | 11731,Yellow,fde310 92 | 39928,Silver,CCCCCC 93 | 9720,Yellow,fde310 94 | 4956,Red,e94333 95 | 39925,Silver,CCCCCC 96 | 7474,Yellow,fde310 97 | 12648,Silver,CCCCCC 98 | 16051,Red,e94333 99 | 4697,Blue,0d7bba 100 | 8040,Orange,f89038 101 | 12930,Yellow,fde310 102 | 2658,Orange,f89038 103 | 1305,Silver,CCCCCC 104 | 8040,Silver,CCCCCC 105 | 5660,Red,e94333 106 | 5635,Red,e94333 107 | 5305,Green,009d57 108 | 9838,Blue,0d7bba 109 | 12648,Orange,f89038 110 | 21110,Green,009d57 111 | 9880,Yellow,fde310 112 | 11886,Yellow,fde310 113 | 11332,Silver,CCCCCC 114 | 3034,Green,009d57 115 | 7477,Green,009d57 116 | 10344,Green,009d57 117 | 6751,Green,009d57 118 | 11731,Green,009d57 119 | 11332,Orange,f89038 120 | 7474,Green,009d57 121 | 25552,Yellow,fde310 122 | 13995,Blue,0d7bba 123 | 11733,Yellow,fde310 124 | 5017,Blue,0d7bba 125 | 7681,Green,009d57 126 | 1418,Yellow,fde310 127 | 4271,Red,e94333 128 | 13107,Blue,0d7bba 129 | 7932,Orange,f89038 130 | 7932,Silver,CCCCCC 131 | 25426,Orange,f89038 132 | 4664,Blue,0d7bba 133 | 25552,Green,009d57 134 | 39926,Silver,CCCCCC 135 | 12906,Blue,0d7bba 136 | 12900,Silver,CCCCCC 137 | 7812,Silver,CCCCCC 138 | 7993,Red,e94333 139 | 12900,Orange,f89038 140 | 7812,Orange,f89038 141 | 11733,Green,009d57 142 | 2640,Red,e94333 143 | 1418,Green,009d57 144 | 6553,Silver,CCCCCC 145 | 7588,Silver,CCCCCC 146 | 13986,Yellow,fde310 147 | 39927,Silver,CCCCCC 148 | 7588,Orange,f89038 149 | 14118,Orange,f89038 150 | 6553,Orange,f89038 151 | -------------------------------------------------------------------------------- /data/wmata/stops.csv: -------------------------------------------------------------------------------- 1 | 10142,Suitland,38.843839,-76.93161 2 | 10344,Mt Vernon Sq/7th St-Convention Center,38.905638,-77.021905 3 | 10352,Van Dorn,38.799263,-77.129111 4 | 10776,Huntington Av,38.793895,-77.074955 5 | 11332,Rosslyn,38.895493,-77.071954 6 | 11602,Dunn Loring Merrifield,38.883146,-77.228654 7 | 11610,Vienna,38.877881,-77.271363 8 | 11731,Greenbelt,39.011067,-76.911011 9 | 11733,College Park/U Of MD,38.9784,-76.928197 10 | 11886,West Hyattsville,38.955028,-76.969522 11 | 12282,East Falls Church,38.886042,-77.156567 12 | 12488,Courthouse,38.891331,-77.084823 13 | 12631,Ballston,38.882238,-77.11155 14 | 12648,Clarendon,38.887176,-77.094987 15 | 12872,Union Station,38.89777,-77.006402 16 | 12874,Judiciary Square,38.896121,-77.016312 17 | 12900,Capitol South,38.885669,-77.005892 18 | 12906,Smithsonian,38.887587,-77.028174 19 | 12922,Virginia Square,38.883074,-77.103809 20 | 12926,Arlington Cemetery,38.884612,-77.062795 21 | 12928,Pentagon,38.869474,-77.053777 22 | 12930,Pentagon City,38.862961,-77.059142 23 | 1305,Capitol Heights,38.889571,-76.913313 24 | 13107,Addison Road,38.886702,-76.89329 25 | 13986,Braddock Rd,38.814052,-77.053434 26 | 13995,King Street,38.806506,-77.060796 27 | 14118,West Falls Church,38.900738,-77.188871 28 | 1418,U Street,38.917015,-77.029169 29 | 14816,Franconia Springfield,38.766196,-77.168487 30 | 16051,Glenmont,39.061743,-77.053097 31 | 20078,Silver Spring,38.993658,-77.032307 32 | 21029,Forest Glen,39.015465,-77.042667 33 | 21110,Branch Ave,38.827022,-76.911802 34 | 2124,Landover,38.933994,-76.890005 35 | 22094,White Flint,39.047162,-77.112782 36 | 25426,Minnesota Ave,38.898313,-76.947716 37 | 25552,Columbia Heights,38.928711,-77.032454 38 | 25553,Georgia Ave Petworth,38.936255,-77.024252 39 | 2640,Medical Center,39.000062,-77.096948 40 | 2658,New Carrollton,38.946912,-76.870445 41 | 3034,Prince Georges Plaza,38.965252,-76.955988 42 | 308,Shaw,38.914546,-77.021927 43 | 3542,Grosvenor,39.029243,-77.103838 44 | 3969,Twinbrook,39.062389,-77.120792 45 | 39924,McLean,38.925069,-77.208304 46 | 39925,Tysons Corner,38.920304,-77.221713 47 | 39926,Greensboro,38.919564,-77.232555 48 | 39927,Spring Hill,38.928544,-77.24088 49 | 39928,Wiehle-Reston EAST,38.947134,-77.337699 50 | 4271,Wheaton,39.038565,-77.050776 51 | 4364,Friendship Heights,38.960997,-77.085767 52 | 4387,Bethesda,38.984431,-77.094151 53 | 4567,NoMa-Gallaudet U (New York Ave),38.907413,-77.002981 54 | 4613,Benning Rd,38.890418,-76.937662 55 | 4655,Congress Heights,38.845379,-76.98786 56 | 4664,Morgan Boulevard,38.893586,-76.868498 57 | 4697,Largo Town Center,38.900269,-76.84454 58 | 4710,Brookland-CUA,38.933232,-76.994474 59 | 4905,Woodley Park-Zoo,38.925,-77.05235 60 | 4912,Cleveland Park,38.935852,-77.058624 61 | 4941,Van Ness-UDC,38.944519,-77.063716 62 | 4956,Dupont Circle,38.911129,-77.044428 63 | 5017,L'Enfant Plaza,38.884886,-77.0216 64 | 5030,Deanwood,38.907945,-76.935569 65 | 5110,Stadium Armory,38.885982,-76.977168 66 | 5305,Fort Totten,38.951808,-77.001864 67 | 5635,Farragut North,38.903297,-77.039502 68 | 5660,Tenleytown,38.947849,-77.079299 69 | 5759,Navy Yard,38.876517,-77.004749 70 | 6479,Eastern Market,38.884148,-76.99501 71 | 6553,Potomac Ave,38.880874,-76.985397 72 | 6671,Rhode Island,38.920778,-76.995682 73 | 6751,Anacostia,38.862117,-76.995325 74 | 6963,Takoma,38.975432,-77.017421 75 | 7333,Federal Center,38.884981,-77.015536 76 | 7376,Waterfront,38.876478,-77.017189 77 | 7474,Gallery Place Chinatown,38.898354,-77.021527 78 | 7477,Archives,38.893907,-77.021592 79 | 7588,Metro Center,38.898327,-77.027777 80 | 7671,Federal Triangle,38.893789,-77.027896 81 | 7681,Southern Ave,38.841047,-76.975003 82 | 7686,Naylor Road,38.851164,-76.956314 83 | 7812,McPherson Sq,38.901335,-77.031958 84 | 7932,Farragut West,38.901366,-77.039482 85 | 7993,Rockville,39.085452,-77.146689 86 | 8040,Foggy Bottom,38.900705,-77.050026 87 | 9360,Shady Grove,39.11999,-77.164761 88 | 9720,Crystal City,38.857817,-77.050346 89 | 9838,National Airport,38.853003,-77.043475 90 | 9880,Eisenhower Av,38.800345,-77.070831 91 | 999,Cheverly,38.916552,-76.915104 92 | -------------------------------------------------------------------------------- /data/wmatap/edges.csv: -------------------------------------------------------------------------------- 1 | 10142,21110,route,180 2 | 10142,7686,route,180 3 | 10344,308,route,60 4 | 10344,7474,route,120 5 | 10352,13995,route,360 6 | 10352,14816,route,360 7 | 10776,9880,route,120 8 | 11332,12488,route,180 9 | 11332,12926,route,120 10 | 11332,8040,route,180 11 | 11602,11610,route,240 12 | 11602,14118,route,240 13 | 11610,11602,route,240 14 | 11731,11733,route,180 15 | 11733,11731,route,180 16 | 11733,3034,route,180 17 | 11886,3034,route,180 18 | 11886,5305,route,180 19 | 12282,12631,route,240 20 | 12282,14118,route,180 21 | 12282,39924,route,420 22 | 12488,11332,route,180 23 | 12488,12648,route,120 24 | 12631,12282,route,240 25 | 12631,12922,route,120 26 | 12648,12488,route,120 27 | 12648,12922,route,60 28 | 12872,12874,route,120 29 | 12872,4567,route,120 30 | 12874,12872,route,120 31 | 12874,7474,route,120 32 | 12900,6479,route,120 33 | 12900,7333,route,120 34 | 12906,5017,route,120 35 | 12906,7671,route,120 36 | 12922,12631,route,120 37 | 12922,12648,route,60 38 | 12926,11332,route,120 39 | 12926,12928,route,180 40 | 12928,12926,route,180 41 | 12928,12930,route,60 42 | 12928,5017,route,300 43 | 12928,5017,route,360 44 | 12930,12928,route,60 45 | 12930,12928,route,120 46 | 12930,9720,route,120 47 | 1305,13107,route,120 48 | 1305,13107,route,180 49 | 1305,4613,route,180 50 | 13107,1305,route,120 51 | 13107,1305,route,180 52 | 13107,4664,route,180 53 | 13107,4664,route,240 54 | 13986,13995,route,120 55 | 13986,9838,route,300 56 | 13995,10352,route,360 57 | 13995,10352,route,420 58 | 13995,13986,route,120 59 | 13995,9880,route,120 60 | 14118,11602,route,240 61 | 14118,12282,route,180 62 | 1418,25552,route,120 63 | 1418,308,route,120 64 | 14816,10352,route,360 65 | 16051,4271,route,180 66 | 20078,21029,route,180 67 | 20078,6963,route,180 68 | 21029,20078,route,180 69 | 21029,4271,route,180 70 | 21110,10142,route,180 71 | 2124,2658,route,180 72 | 2124,999,route,180 73 | 22094,3542,route,180 74 | 22094,3969,route,180 75 | 25426,5030,route,120 76 | 25426,5110,route,240 77 | 25552,1418,route,120 78 | 25552,25553,route,180 79 | 25553,25552,route,180 80 | 25553,5305,route,240 81 | 2640,3542,route,180 82 | 2640,4387,route,180 83 | 2658,2124,route,180 84 | 3034,11733,route,180 85 | 3034,11886,route,180 86 | 308,10344,route,60 87 | 308,1418,route,120 88 | 3542,22094,route,180 89 | 3542,2640,route,180 90 | 3969,22094,route,180 91 | 3969,7993,route,180 92 | 39924,12282,route,420 93 | 39924,39925,route,120 94 | 39925,39924,route,120 95 | 39925,39926,route,120 96 | 39926,39925,route,120 97 | 39926,39927,route,120 98 | 39927,39926,route,120 99 | 39927,39928,route,420 100 | 39928,39927,route,420 101 | 4271,16051,route,180 102 | 4271,21029,route,180 103 | 4364,4387,route,180 104 | 4364,5660,route,120 105 | 4387,2640,route,180 106 | 4387,4364,route,180 107 | 4567,12872,route,120 108 | 4567,6671,route,120 109 | 4613,1305,route,180 110 | 4613,1305,route,240 111 | 4613,5110,route,240 112 | 4655,6751,route,180 113 | 4655,7681,route,120 114 | 4664,13107,route,180 115 | 4664,4697,route,180 116 | 4664,4697,route,240 117 | 4697,4664,route,180 118 | 4710,5305,route,180 119 | 4710,6671,route,180 120 | 4905,4912,route,120 121 | 4905,4956,route,120 122 | 4912,4905,route,120 123 | 4912,4941,route,120 124 | 4941,4912,route,120 125 | 4941,5660,route,180 126 | 4956,4905,route,120 127 | 4956,5635,route,180 128 | 5017,12906,route,120 129 | 5017,12928,route,300 130 | 5017,7333,route,120 131 | 5017,7376,route,120 132 | 5017,7477,route,120 133 | 5030,25426,route,120 134 | 5030,999,route,180 135 | 5110,25426,route,240 136 | 5110,4613,route,240 137 | 5110,4613,route,300 138 | 5110,6553,route,120 139 | 5305,11886,route,180 140 | 5305,25553,route,240 141 | 5305,4710,route,180 142 | 5305,6963,route,180 143 | 5635,4956,route,180 144 | 5635,7588,route,180 145 | 5635,7588,route,300 146 | 5660,4364,route,120 147 | 5660,4941,route,180 148 | 5759,6751,route,180 149 | 5759,7376,route,120 150 | 6479,12900,route,120 151 | 6479,6553,route,120 152 | 6553,5110,route,120 153 | 6553,6479,route,120 154 | 6671,4567,route,120 155 | 6671,4710,route,180 156 | 6751,4655,route,180 157 | 6751,5759,route,180 158 | 6963,20078,route,180 159 | 6963,5305,route,180 160 | 7333,12900,route,120 161 | 7333,5017,route,120 162 | 7376,5017,route,120 163 | 7376,5759,route,120 164 | 7474,10344,route,120 165 | 7474,12874,route,120 166 | 7474,7477,route,120 167 | 7474,7588,route,120 168 | 7474,7588,route,240 169 | 7477,5017,route,120 170 | 7477,7474,route,120 171 | 7588,5635,route,180 172 | 7588,7474,route,120 173 | 7588,7671,route,60 174 | 7588,7812,route,120 175 | 7671,12906,route,120 176 | 7671,7588,route,60 177 | 7671,7588,route,180 178 | 7681,4655,route,120 179 | 7681,7686,route,180 180 | 7686,10142,route,180 181 | 7686,7681,route,180 182 | 7812,7588,route,120 183 | 7812,7588,route,240 184 | 7812,7932,route,120 185 | 7932,7812,route,120 186 | 7932,8040,route,120 187 | 7993,3969,route,180 188 | 7993,9360,route,240 189 | 8040,11332,route,180 190 | 8040,7932,route,120 191 | 9360,7993,route,240 192 | 9720,12930,route,120 193 | 9720,9838,route,120 194 | 9838,13986,route,300 195 | 9838,9720,route,120 196 | 9880,10776,route,120 197 | 9880,13995,route,120 198 | 999,2124,route,180 199 | 999,5030,route,120 200 | 999,5030,route,180 201 | 4387,20078,route,444 202 | 20078,11733,route,804 203 | 11733,2658,route,600 204 | -------------------------------------------------------------------------------- /data/wmatap/routes.csv: -------------------------------------------------------------------------------- 1 | 12631,Silver,CCCCCC 2 | 12906,Orange,f89038 3 | 12930,Blue,0d7bba 4 | 10352,Blue,0d7bba 5 | 22094,Red,e94333 6 | 12906,Silver,CCCCCC 7 | 12900,Blue,0d7bba 8 | 7812,Blue,0d7bba 9 | 4664,Silver,CCCCCC 10 | 21029,Red,e94333 11 | 12631,Orange,f89038 12 | 12874,Red,e94333 13 | 9838,Yellow,fde310 14 | 3542,Red,e94333 15 | 5759,Green,009d57 16 | 6553,Blue,0d7bba 17 | 7588,Blue,0d7bba 18 | 5017,Silver,CCCCCC 19 | 4912,Red,e94333 20 | 4905,Red,e94333 21 | 12928,Blue,0d7bba 22 | 5017,Orange,f89038 23 | 39924,Silver,CCCCCC 24 | 9360,Red,e94333 25 | 7932,Blue,0d7bba 26 | 6671,Red,e94333 27 | 7686,Green,009d57 28 | 9720,Blue,0d7bba 29 | 13107,Silver,CCCCCC 30 | 11602,Orange,f89038 31 | 6963,Red,e94333 32 | 999,Orange,f89038 33 | 1305,Blue,0d7bba 34 | 12488,Orange,f89038 35 | 4387,Red,e94333 36 | 8040,Blue,0d7bba 37 | 25553,Green,009d57 38 | 12488,Silver,CCCCCC 39 | 4364,Red,e94333 40 | 4941,Red,e94333 41 | 5017,Green,009d57 42 | 4697,Silver,CCCCCC 43 | 7588,Red,e94333 44 | 3969,Red,e94333 45 | 12282,Silver,CCCCCC 46 | 308,Green,009d57 47 | 13986,Blue,0d7bba 48 | 11332,Blue,0d7bba 49 | 4655,Green,009d57 50 | 12282,Orange,f89038 51 | 4710,Red,e94333 52 | 7333,Silver,CCCCCC 53 | 20078,Red,e94333 54 | 14816,Blue,0d7bba 55 | 6479,Silver,CCCCCC 56 | 13995,Yellow,fde310 57 | 4613,Blue,0d7bba 58 | 4567,Red,e94333 59 | 25553,Yellow,fde310 60 | 6479,Orange,f89038 61 | 7376,Green,009d57 62 | 7474,Red,e94333 63 | 5017,Yellow,fde310 64 | 7333,Orange,f89038 65 | 5030,Orange,f89038 66 | 308,Yellow,fde310 67 | 12922,Orange,f89038 68 | 7671,Orange,f89038 69 | 12926,Blue,0d7bba 70 | 5110,Blue,0d7bba 71 | 10142,Green,009d57 72 | 5305,Red,e94333 73 | 7671,Silver,CCCCCC 74 | 12922,Silver,CCCCCC 75 | 6479,Blue,0d7bba 76 | 4613,Silver,CCCCCC 77 | 12928,Yellow,fde310 78 | 7333,Blue,0d7bba 79 | 2124,Orange,f89038 80 | 5305,Yellow,fde310 81 | 11610,Orange,f89038 82 | 11886,Green,009d57 83 | 12872,Red,e94333 84 | 7477,Yellow,fde310 85 | 3034,Yellow,fde310 86 | 7671,Blue,0d7bba 87 | 10344,Yellow,fde310 88 | 5110,Silver,CCCCCC 89 | 10776,Yellow,fde310 90 | 5110,Orange,f89038 91 | 11731,Yellow,fde310 92 | 39928,Silver,CCCCCC 93 | 9720,Yellow,fde310 94 | 4956,Red,e94333 95 | 39925,Silver,CCCCCC 96 | 7474,Yellow,fde310 97 | 12648,Silver,CCCCCC 98 | 16051,Red,e94333 99 | 4697,Blue,0d7bba 100 | 8040,Orange,f89038 101 | 12930,Yellow,fde310 102 | 2658,Orange,f89038 103 | 1305,Silver,CCCCCC 104 | 8040,Silver,CCCCCC 105 | 5660,Red,e94333 106 | 5635,Red,e94333 107 | 5305,Green,009d57 108 | 9838,Blue,0d7bba 109 | 12648,Orange,f89038 110 | 21110,Green,009d57 111 | 9880,Yellow,fde310 112 | 11886,Yellow,fde310 113 | 11332,Silver,CCCCCC 114 | 3034,Green,009d57 115 | 7477,Green,009d57 116 | 10344,Green,009d57 117 | 6751,Green,009d57 118 | 11731,Green,009d57 119 | 11332,Orange,f89038 120 | 7474,Green,009d57 121 | 25552,Yellow,fde310 122 | 13995,Blue,0d7bba 123 | 11733,Yellow,fde310 124 | 5017,Blue,0d7bba 125 | 7681,Green,009d57 126 | 1418,Yellow,fde310 127 | 4271,Red,e94333 128 | 13107,Blue,0d7bba 129 | 7932,Orange,f89038 130 | 7932,Silver,CCCCCC 131 | 25426,Orange,f89038 132 | 4664,Blue,0d7bba 133 | 25552,Green,009d57 134 | 39926,Silver,CCCCCC 135 | 12906,Blue,0d7bba 136 | 12900,Silver,CCCCCC 137 | 7812,Silver,CCCCCC 138 | 7993,Red,e94333 139 | 12900,Orange,f89038 140 | 7812,Orange,f89038 141 | 11733,Green,009d57 142 | 2640,Red,e94333 143 | 1418,Green,009d57 144 | 6553,Silver,CCCCCC 145 | 7588,Silver,CCCCCC 146 | 13986,Yellow,fde310 147 | 39927,Silver,CCCCCC 148 | 7588,Orange,f89038 149 | 14118,Orange,f89038 150 | 6553,Orange,f89038 151 | 4387,Purple,ff00ff 152 | 20078,Purple,ff00ff 153 | 11733,Purple,ff00ff 154 | 2658,Purple,ff00ff 155 | -------------------------------------------------------------------------------- /data/wmatap/stops.csv: -------------------------------------------------------------------------------- 1 | 10142,Suitland,38.843839,-76.93161 2 | 10344,Mt Vernon Sq/7th St-Convention Center,38.905638,-77.021905 3 | 10352,Van Dorn,38.799263,-77.129111 4 | 10776,Huntington Av,38.793895,-77.074955 5 | 11332,Rosslyn,38.895493,-77.071954 6 | 11602,Dunn Loring Merrifield,38.883146,-77.228654 7 | 11610,Vienna,38.877881,-77.271363 8 | 11731,Greenbelt,39.011067,-76.911011 9 | 11733,College Park/U Of MD,38.9784,-76.928197 10 | 11886,West Hyattsville,38.955028,-76.969522 11 | 12282,East Falls Church,38.886042,-77.156567 12 | 12488,Courthouse,38.891331,-77.084823 13 | 12631,Ballston,38.882238,-77.11155 14 | 12648,Clarendon,38.887176,-77.094987 15 | 12872,Union Station,38.89777,-77.006402 16 | 12874,Judiciary Square,38.896121,-77.016312 17 | 12900,Capitol South,38.885669,-77.005892 18 | 12906,Smithsonian,38.887587,-77.028174 19 | 12922,Virginia Square,38.883074,-77.103809 20 | 12926,Arlington Cemetery,38.884612,-77.062795 21 | 12928,Pentagon,38.869474,-77.053777 22 | 12930,Pentagon City,38.862961,-77.059142 23 | 1305,Capitol Heights,38.889571,-76.913313 24 | 13107,Addison Road,38.886702,-76.89329 25 | 13986,Braddock Rd,38.814052,-77.053434 26 | 13995,King Street,38.806506,-77.060796 27 | 14118,West Falls Church,38.900738,-77.188871 28 | 1418,U Street,38.917015,-77.029169 29 | 14816,Franconia Springfield,38.766196,-77.168487 30 | 16051,Glenmont,39.061743,-77.053097 31 | 20078,Silver Spring,38.993658,-77.032307 32 | 21029,Forest Glen,39.015465,-77.042667 33 | 21110,Branch Ave,38.827022,-76.911802 34 | 2124,Landover,38.933994,-76.890005 35 | 22094,White Flint,39.047162,-77.112782 36 | 25426,Minnesota Ave,38.898313,-76.947716 37 | 25552,Columbia Heights,38.928711,-77.032454 38 | 25553,Georgia Ave Petworth,38.936255,-77.024252 39 | 2640,Medical Center,39.000062,-77.096948 40 | 2658,New Carrollton,38.946912,-76.870445 41 | 3034,Prince Georges Plaza,38.965252,-76.955988 42 | 308,Shaw,38.914546,-77.021927 43 | 3542,Grosvenor,39.029243,-77.103838 44 | 3969,Twinbrook,39.062389,-77.120792 45 | 39924,McLean,38.925069,-77.208304 46 | 39925,Tysons Corner,38.920304,-77.221713 47 | 39926,Greensboro,38.919564,-77.232555 48 | 39927,Spring Hill,38.928544,-77.24088 49 | 39928,Wiehle-Reston EAST,38.947134,-77.337699 50 | 4271,Wheaton,39.038565,-77.050776 51 | 4364,Friendship Heights,38.960997,-77.085767 52 | 4387,Bethesda,38.984431,-77.094151 53 | 4567,NoMa-Gallaudet U (New York Ave),38.907413,-77.002981 54 | 4613,Benning Rd,38.890418,-76.937662 55 | 4655,Congress Heights,38.845379,-76.98786 56 | 4664,Morgan Boulevard,38.893586,-76.868498 57 | 4697,Largo Town Center,38.900269,-76.84454 58 | 4710,Brookland-CUA,38.933232,-76.994474 59 | 4905,Woodley Park-Zoo,38.925,-77.05235 60 | 4912,Cleveland Park,38.935852,-77.058624 61 | 4941,Van Ness-UDC,38.944519,-77.063716 62 | 4956,Dupont Circle,38.911129,-77.044428 63 | 5017,L'Enfant Plaza,38.884886,-77.0216 64 | 5030,Deanwood,38.907945,-76.935569 65 | 5110,Stadium Armory,38.885982,-76.977168 66 | 5305,Fort Totten,38.951808,-77.001864 67 | 5635,Farragut North,38.903297,-77.039502 68 | 5660,Tenleytown,38.947849,-77.079299 69 | 5759,Navy Yard,38.876517,-77.004749 70 | 6479,Eastern Market,38.884148,-76.99501 71 | 6553,Potomac Ave,38.880874,-76.985397 72 | 6671,Rhode Island,38.920778,-76.995682 73 | 6751,Anacostia,38.862117,-76.995325 74 | 6963,Takoma,38.975432,-77.017421 75 | 7333,Federal Center,38.884981,-77.015536 76 | 7376,Waterfront,38.876478,-77.017189 77 | 7474,Gallery Place Chinatown,38.898354,-77.021527 78 | 7477,Archives,38.893907,-77.021592 79 | 7588,Metro Center,38.898327,-77.027777 80 | 7671,Federal Triangle,38.893789,-77.027896 81 | 7681,Southern Ave,38.841047,-76.975003 82 | 7686,Naylor Road,38.851164,-76.956314 83 | 7812,McPherson Sq,38.901335,-77.031958 84 | 7932,Farragut West,38.901366,-77.039482 85 | 7993,Rockville,39.085452,-77.146689 86 | 8040,Foggy Bottom,38.900705,-77.050026 87 | 9360,Shady Grove,39.11999,-77.164761 88 | 9720,Crystal City,38.857817,-77.050346 89 | 9838,National Airport,38.853003,-77.043475 90 | 9880,Eisenhower Av,38.800345,-77.070831 91 | 999,Cheverly,38.916552,-76.915104 92 | -------------------------------------------------------------------------------- /lib/constants.js: -------------------------------------------------------------------------------- 1 | const socketMsg = { 2 | log: 'log', 3 | requestStops: 'request stops', 4 | sendStops: 'send stops', 5 | requestMergedStops: 'request merged stops', 6 | sendMergedStops: 'send merged stops', 7 | requestEdges: 'request edges', 8 | sendEdges: 'send edges', 9 | requestMergedEdges: 'request merged edges', 10 | sendMergedEdges: 'send merged edges', 11 | sendPR: 'send page rank', 12 | sendSystem: 'send system', 13 | requestSystem: 'request system', 14 | startDfs: 'start dfs', 15 | startBfs: 'start bfs', 16 | startPR: 'start pr', 17 | startDijkstra: 'start dij', 18 | dijkstra: 'dij', 19 | dfs: 'dfs', 20 | bfs: 'bfs', 21 | pageRank: 'pr', 22 | clearQueue: 'clearQueue', 23 | event: 'event', 24 | visitNode: 'visit node', 25 | leaveNode: 'leave node', 26 | showRanks: 'show rank', 27 | summary: 'summary', 28 | getMode: 'get mode' 29 | }; 30 | 31 | Object.freeze(socketMsg); 32 | 33 | module.exports = socketMsg; -------------------------------------------------------------------------------- /lib/dom/index.js: -------------------------------------------------------------------------------- 1 | import Map from './map'; 2 | import RouteList from './route-list'; 3 | import Popup from './popup'; 4 | import GitHubRibbon from './ribbon'; 5 | import TweetButton from './tweet-button'; 6 | import Modal from './modal'; 7 | import ModalTrigger from './modal-trigger'; 8 | 9 | export { 10 | Map, 11 | RouteList, 12 | Popup, 13 | GitHubRibbon, 14 | TweetButton, 15 | Modal, 16 | ModalTrigger 17 | }; -------------------------------------------------------------------------------- /lib/dom/map.js: -------------------------------------------------------------------------------- 1 | import React, { PropTypes } from 'react'; 2 | import DOM from 'react-dom'; 3 | import MapboxGl from "mapbox-gl"; 4 | 5 | const RANKS = 'ranks'; 6 | const VISITED = 'visited edges'; 7 | const LEFT = 'left edges'; 8 | const STOPS = 'stops'; 9 | const ROUTES = 'routes'; 10 | const TRANSFERS = 'transfers'; 11 | 12 | export default React.createClass({ 13 | childContextTypes: { 14 | map: PropTypes.object 15 | }, 16 | getInitialState: function() { 17 | return { 18 | map: undefined, 19 | visitedEdges: { 20 | type: 'FeatureCollection', 21 | features: [] 22 | }, 23 | leftEdges: { 24 | type: 'FeatureCollection', 25 | features: [] 26 | }, 27 | pageRanks: { 28 | type: 'FeatureCollection', 29 | features: [] 30 | } 31 | }; 32 | }, 33 | clearTrace: function() { 34 | let clearedVisited = { 35 | type: 'FeatureCollection', 36 | features: [] 37 | }; 38 | let clearedLeft = { 39 | type: 'FeatureCollection', 40 | features: [] 41 | }; 42 | let clearedRanks = { 43 | type: 'FeatureCollection', 44 | features: [] 45 | }; 46 | this.setState({ 47 | visitedEdges: clearedVisited, 48 | leftEdges: clearedLeft, 49 | pageRanks: clearedRanks 50 | }); 51 | this.state.map.getSource(VISITED).setData(clearedVisited); 52 | this.state.map.getSource(LEFT).setData(clearedLeft); 53 | this.state.map.getSource(RANKS).setData(clearedRanks); 54 | }, 55 | componentDidMount: function() { 56 | 57 | this._preloadImages(); 58 | 59 | MapboxGl.accessToken = 'pk.eyJ1IjoiZ3JlZW50IiwiYSI6ImNpazBqdWFsOTM5Nnh2M2x6dWZ2dnB3aHkifQ.97-pFPD8lQf02B6edag1rA'; 60 | 61 | let map = new MapboxGl.Map({ 62 | container: 'map', 63 | style: 'mapbox://styles/mapbox/dark-v9', 64 | zoom: 11 65 | }); 66 | 67 | //map.addControl(new MapboxGl.Navigation({ 68 | // 'position': 'top-left' 69 | //})); 70 | 71 | map.on('load', () => { this.props.onMapLoad() }); 72 | this.setState({ map: map }); 73 | }, 74 | setCenter: function(lon, lat, zoomLevel) { 75 | this.state.map.setCenter([lon, lat]); 76 | this.state.map.setZoom(zoomLevel); 77 | }, 78 | getMap: function() { 79 | return this.state.map; 80 | }, 81 | getChildContext: function() { 82 | return { 83 | map: this.state.map 84 | }; 85 | }, 86 | _preloadImages: function() { 87 | // Hack to preload images 88 | var images = ['1','2','3','4','5','6','6x','7','7x','a','b','c','d','e','f','fs','g','gs','j','l','m','n','q','r','si','z']; 89 | images.forEach(function(img) { 90 | var image = new Image(); 91 | image.src = '/files/icons/mta/' + img + '.png'; 92 | }); 93 | var parisImages = ['1','2','3','3b','4','5','6','7','7b','8','9','10','11','12','13','14','15','16','17','18','a','b','c','d','e']; 94 | parisImages.forEach(function(img) { 95 | var image = new Image(); 96 | image.src = '/files/icons/ratp/' + img + '.png'; 97 | }); 98 | }, 99 | setZoom: function(newZoomLevel) { 100 | this.state.map.easeTo({ zoom: newZoomLevel }); 101 | this.setState({ zoomLevel: newZoomLevel }); 102 | }, 103 | panTo: function(stop) { 104 | this.state.map.easeTo({ center: [ stop.longitude, stop.latitude ] }); 105 | }, 106 | _getStopsAsGeoJson: function(stops, ranks) { 107 | var stopsGeoJson = []; 108 | 109 | for (var stopIndex in stops) { 110 | let feature = { 111 | 'type': 'Feature', 112 | 'properties': { 113 | 'id': stops[stopIndex].id, 114 | 'name': stops[stopIndex].name, 115 | 'routes': stops[stopIndex].routes 116 | }, 117 | 'geometry': { 118 | 'type': 'Point', 119 | 'coordinates': [stops[stopIndex].longitude, stops[stopIndex].latitude] 120 | } 121 | }; 122 | if (ranks) { feature.properties.rank = ranks[stopIndex] } 123 | stopsGeoJson.push(feature); 124 | } 125 | stopsGeoJson = { 126 | 'type': 'FeatureCollection', 127 | 'features': stopsGeoJson 128 | }; 129 | 130 | return stopsGeoJson; 131 | }, 132 | addStops: function(stops) { 133 | let stopGeoJson = this._getStopsAsGeoJson(stops); 134 | 135 | this.state.map.addSource(RANKS, { 136 | type: "geojson", 137 | data: { 138 | type: 'FeatureCollection', 139 | features: [] 140 | } 141 | }); 142 | this.state.map.addSource(STOPS, { 143 | "type": "geojson", 144 | "data": stopGeoJson 145 | }); 146 | 147 | this.state.map.addLayer({ 148 | "id": STOPS, 149 | "type": "symbol", 150 | "source": STOPS, 151 | "layout": { 152 | "icon-image": "marker-11" 153 | } 154 | }, ROUTES); 155 | var self = this; 156 | 157 | this.state.map.on('mousemove', function(e) { 158 | var features = self.state.map.queryRenderedFeatures(e.point, { layers: [STOPS] }); 159 | self.state.map.getCanvas().style.cursor = (features.length) ? 'pointer' : ''; 160 | 161 | if (!features.length) { 162 | self.props.onStopHover(undefined); 163 | return; 164 | } 165 | 166 | var feature = features[0]; 167 | 168 | if (self.props.onStopHover) { 169 | self.props.onStopHover(feature.properties.id); 170 | } 171 | }); 172 | this.state.map.on('click', function(e) { 173 | var features = self.state.map.queryRenderedFeatures(e.point, { layers: [STOPS] }); 174 | if (!features.length) { return; } 175 | 176 | var feature = features[0]; 177 | 178 | if (self.props.onStopClick) { 179 | self.props.onStopClick(feature.properties.id); 180 | } 181 | }); 182 | }, 183 | showRanks: function(stops,ranks) { 184 | let stopGeoJson = this._getStopsAsGeoJson(stops,ranks); 185 | this.addRankLayers(stopGeoJson); 186 | this.state.map.getSource(STOPS).setData(stopGeoJson); 187 | this.state.map.getSource(RANKS).setData(stopGeoJson); 188 | }, 189 | addRankLayers: function(stopGeoJson) { 190 | const { map } = this.state; 191 | 192 | const ranks = stopGeoJson.features.map(stop => stop.properties.rank); 193 | const min = Math.min(...ranks); 194 | const max = Math.max(...ranks); 195 | const range = max - min; 196 | const firstFifth = 0.2 * range + min; 197 | const secondFifth = 0.4 * range + min; 198 | const thirdFifth = 0.6 * range + min; 199 | const fourthFifth = 0.8 * range + min; 200 | 201 | const layers = [ 202 | [min, 'rgba(0,255,0,0.8)', 60], 203 | [firstFifth, 'rgba(0,255,255,0.8)', 60], 204 | [secondFifth, 'rgba(0,0,255,0.8)', 60], 205 | [thirdFifth, 'rgba(255,0,255,0.8)', 60], 206 | [fourthFifth, 'rgba(255,0,0,0.8)', 60] 207 | ]; 208 | layers.forEach((layer, i) => { 209 | const layerId = 'cluster-'+i; 210 | // Remove this layer if it already exists 211 | if (typeof map.getLayer(layerId) !== "undefined") { 212 | map.removeLayer(layerId); 213 | } 214 | map.addLayer({ 215 | "id": layerId, 216 | "type": "circle", 217 | "source": RANKS, 218 | "paint": { 219 | "circle-color": layer[1], 220 | "circle-radius": layer[2], 221 | "circle-blur": 1 222 | }, 223 | "filter": i === layers.length - 1 ? 224 | [">=", "rank", layer[0]] : 225 | ["all", 226 | [">=", "rank", layer[0]], 227 | ["<", "rank", layers[i + 1][0]] 228 | ] 229 | }, STOPS); 230 | }); 231 | }, 232 | addEdges: function(edges) { 233 | let createLayer = function(map, id, data, color, width, opacity) { 234 | if (map.getSource(id) !== undefined) { map.removeSource(id); } 235 | if (map.getLayer(id) !== undefined) { map.removeLayer(id); } 236 | map.addSource(id, { 237 | type: 'geojson', 238 | data: { 239 | 'type': 'FeatureCollection', 240 | 'features': data 241 | } 242 | }); 243 | map.addLayer({ 244 | id: id, 245 | type: 'line', 246 | source: id, 247 | paint: { 248 | 'line-width': width, 249 | 'line-color': color, 250 | 'line-opacity': opacity 251 | } 252 | }); 253 | }; 254 | 255 | let transferEdges = edges.features.filter(feature => feature.properties.edgeType.toLowerCase() == 'transfer'); 256 | let routeEdges = edges.features.filter(feature => feature.properties.edgeType.toLowerCase() == 'route'); 257 | createLayer(this.state.map, TRANSFERS, transferEdges, '#708090', 2, 0.7); 258 | createLayer(this.state.map, ROUTES, routeEdges, '#ffffff', 2, 0.7); 259 | 260 | // Create source and layer for visited (and left) edges to be populated later 261 | createLayer(this.state.map, VISITED, this.state.visitedEdges, '#ff0000', 3, 1.0); 262 | createLayer(this.state.map, LEFT, this.state.leftEdges, '#0000ff', 3, 1.0); 263 | }, 264 | visitEdge: function(edge) { 265 | this.state.visitedEdges.features.push({ 266 | type: 'Feature', 267 | geometry: { 268 | type: 'LineString', 269 | coordinates: [ 270 | [ edge.origin.longitude, edge.origin.latitude ], 271 | [ edge.destination.longitude, edge.destination.latitude ] 272 | ] 273 | } 274 | }); 275 | this.state.map.getSource(VISITED).setData(this.state.visitedEdges); 276 | }, 277 | leaveEdge: function(edge) { 278 | this.state.leftEdges.features.push({ 279 | type: 'Feature', 280 | geometry: { 281 | type: 'LineString', 282 | coordinates: [ 283 | [ edge.origin.longitude, edge.origin.latitude ], 284 | [ edge.destination.longitude, edge.destination.latitude ] 285 | ] 286 | } 287 | }); 288 | this.state.map.getSource(LEFT).setData(this.state.leftEdges); 289 | }, 290 | render: function() { 291 | const { children } = this.props; 292 | 293 | return ( 294 |