From e20d42ed2de1f7262216e727018af25ba9c5a794 Mon Sep 17 00:00:00 2001 From: George Shammas Date: Thu, 1 Dec 2022 13:14:54 -0500 Subject: [PATCH] Generate stations.json using the offical MTA station list CSV --- README.md | 7 +- data/stations.csv | 500 -- data/stations.json | 12890 ++++++++++++++++---------------- scripts/make_stations_csv.py | 62 - scripts/make_stations_json.py | 84 +- 5 files changed, 6483 insertions(+), 7060 deletions(-) delete mode 100644 data/stations.csv delete mode 100755 scripts/make_stations_csv.py mode change 100755 => 100644 scripts/make_stations_json.py diff --git a/README.md b/README.md index 08ec9b5..0e2933d 100644 --- a/README.md +++ b/README.md @@ -62,14 +62,9 @@ Standard Flask option. Will enabled enhanced logging and wildcard CORS headers. ## Generating a Stations File -The MTA provides several static data files about the subway system but none include canonical information about each station. MTAPI includes a script that will parse the `stops.txt` and `transfers.txt` datasets provided by the MTA and attempt to group the different train stops into subway stations. MTAPI will use this JSON file for station names and locations. The grouping is not perfect and editing the resulting files is encouraged. - Usage: ``` -$ python make_stations_csv.py stops.txt transfers.txt > stations.csv -# edit groupings in stations.csv -$ python make_stations_json.py stations.csv > stations.json -# edit names in stations.json +$ python scripts/make_stations_json.py --output data/stations.json ``` ## Help diff --git a/data/stations.csv b/data/stations.csv deleted file mode 100644 index 3f75515..0000000 --- a/data/stations.csv +++ /dev/null @@ -1,500 +0,0 @@ -stop_id,name,lat,lon,parent_id -112,168 St-Washington Hts,40.840556,-73.940133,112 -A09,168 St,40.840719,-73.939561,112 -A24,59 St-Columbus Circle,40.768296,-73.981736,125 -125,59 St-Columbus Circle,40.768247,-73.981929,125 -902,Times Sq-42 St,40.755983,-73.986229,127 -127,Times Sq-42 St,40.75529,-73.987495,127 -R16,Times Sq-42 St,40.754672,-73.986754,127 -725,Times Sq-42 St,40.755477,-73.987691,127 -A27,42 St-Port Authority Bus Terminal,40.757308,-73.989735,127 -D19,14 St,40.738228,-73.996209,132 -L02,6 Av,40.737335,-73.996786,132 -132,14 St,40.737826,-74.000201,132 -140,South Ferry Loop,40.701411,-74.013205,140 -R27,Whitehall St-South Ferry,40.703087,-74.012994,140 -415,149 St-Grand Concourse,40.818375,-73.927351,222 -222,149 St-Grand Concourse,40.81841,-73.926718,222 -A36,Chambers St,40.714111,-74.008585,228 -228,Park Place,40.713051,-74.008811,228 -R25,Cortlandt St,40.710668,-74.011029,228 -E01,World Trade Center,40.712582,-74.009781,228 -A38,Fulton St,40.710197,-74.007691,229 -229,Fulton St,40.709416,-74.006571,229 -M22,Fulton St,40.710374,-74.007582,229 -418,Fulton St,40.710368,-74.009509,229 -R28,Court St,40.6941,-73.991777,232 -232,Borough Hall,40.693219,-73.989998,232 -423,Borough Hall,40.692404,-73.990151,232 -R31,Atlantic Av-Barclays Ctr,40.683666,-73.97881,235 -235,Atlantic Av-Barclays Ctr,40.684359,-73.977666,235 -D24,Atlantic Av-Barclays Ctr,40.68446,-73.97689,235 -S04,Botanic Garden,40.670343,-73.959245,239 -239,Franklin Av-Medgar Evers College,40.670682,-73.958131,239 -L26,Livonia Av,40.664038,-73.900571,254 -254,Junius St,40.663515,-73.902447,254 -D11,161 St-Yankee Stadium,40.827905,-73.925651,414 -414,161 St-Yankee Stadium,40.827994,-73.925831,414 -629,59 St,40.762526,-73.967967,629 -B08,Lexington Av/63 St,40.764629,-73.966113,629 -R11,Lexington Av/59 St,40.76266,-73.967258,629 -630,51 St,40.757107,-73.97192,630 -F11,Lexington Av/53 St,40.757552,-73.969055,630 -901,Grand Central-42 St,40.752769,-73.979189,631 -631,Grand Central-42 St,40.751776,-73.976848,631 -723,Grand Central-42 St,40.751431,-73.976041,631 -R20,14 St-Union Sq,40.735736,-73.990568,635 -L03,14 St-Union Sq,40.734789,-73.99073,635 -635,14 St-Union Sq,40.734673,-73.989951,635 -637,Bleecker St,40.725915,-73.994659,637 -D21,Broadway-Lafayette St,40.725297,-73.996204,637 -R23,Canal St,40.719527,-74.001775,639 -639,Canal St,40.718803,-74.000193,639 -M20,Canal St,40.718092,-73.999892,639 -Q01,Canal St,40.718383,-74.00046,639 -M21,Chambers St,40.713243,-74.003401,640 -640,Brooklyn Bridge-City Hall,40.713065,-74.004131,640 -G14,Jackson Hts-Roosevelt Av,40.746644,-73.891338,710 -710,74 St-Broadway,40.746848,-73.891394,710 -R09,Queensboro Plaza,40.750582,-73.940202,718 -718,Queensboro Plaza,40.750582,-73.940202,718 -F09,Court Sq-23 St,40.747846,-73.946,719 -G22,Court Sq,40.746554,-73.943832,719 -719,Court Sq,40.747023,-73.945264,719 -D16,42 St-Bryant Pk,40.754222,-73.984569,724 -724,5 Av,40.753821,-73.981963,724 -D13,145 St,40.824783,-73.944216,A12 -A12,145 St,40.824783,-73.944216,A12 -L01,8 Av,40.739777,-74.002578,A31 -A31,14 St,40.740893,-74.00169,A31 -A32,W 4 St-Wash Sq,40.732338,-74.000495,A32 -D20,W 4 St-Wash Sq,40.732338,-74.000495,A32 -R29,Jay St-MetroTech,40.69218,-73.985942,A41 -A41,Jay St-MetroTech,40.692338,-73.987342,A41 -S01,Franklin Av,40.680596,-73.955827,A45 -A45,Franklin Av,40.68138,-73.956848,A45 -J27,Broadway Junction,40.679498,-73.904512,A51 -L22,Broadway Junction,40.678856,-73.90324,A51 -A51,Broadway Junction,40.678334,-73.905316,A51 -N04,New Utrecht Av,40.624842,-73.996353,B16 -B16,62 St,40.626472,-73.996895,B16 -R17,34 St-Herald Sq,40.749567,-73.98795,D17 -D17,34 St-Herald Sq,40.749719,-73.987823,D17 -F15,Delancey St-Essex St,40.718611,-73.988114,F15 -M18,Delancey St-Essex St,40.718315,-73.987437,F15 -R33,4 Av-9 St,40.670847,-73.988302,F23 -F23,4 Av-9 St,40.670272,-73.989779,F23 -G29,Metropolitan Av,40.712792,-73.951418,G29 -L10,Lorimer St,40.714063,-73.950275,G29 -L17,Myrtle-Wyckoff Avs,40.699814,-73.911586,L17 -M08,Myrtle-Wyckoff Avs,40.69943,-73.912385,L17 -101,Van Cortlandt Park-242 St,40.889248,-73.898583,101 -103,238 St,40.884667,-73.90087,103 -104,231 St,40.878856,-73.904834,104 -106,Marble Hill-225 St,40.874561,-73.909831,106 -107,215 St,40.869444,-73.915279,107 -108,207 St,40.864621,-73.918822,108 -109,Dyckman St,40.860531,-73.925536,109 -110,191 St,40.855225,-73.929412,110 -111,181 St,40.849505,-73.933596,111 -113,157 St,40.834041,-73.94489,113 -114,145 St,40.826551,-73.95036,114 -115,137 St-City College,40.822008,-73.953676,115 -116,125 St,40.815581,-73.958372,116 -117,116 St-Columbia University,40.807722,-73.96411,117 -118,Cathedral Pkwy (110 St),40.803967,-73.966847,118 -119,103 St,40.799446,-73.968379,119 -120,96 St,40.793919,-73.972323,120 -121,86 St,40.788644,-73.976218,121 -122,79 St,40.783934,-73.979917,122 -123,72 St,40.778453,-73.98197,123 -124,66 St-Lincoln Center,40.77344,-73.982209,124 -126,50 St,40.761728,-73.983849,126 -128,34 St-Penn Station,40.750373,-73.991057,128 -129,28 St,40.747215,-73.993365,129 -130,23 St,40.744081,-73.995657,130 -131,18 St,40.74104,-73.997871,131 -133,Christopher St-Sheridan Sq,40.733422,-74.002906,133 -134,Houston St,40.728251,-74.005367,134 -135,Canal St,40.722854,-74.006277,135 -136,Franklin St,40.719318,-74.006886,136 -137,Chambers St,40.715478,-74.009266,137 -138,WTC Cortlandt,40.711835,-74.012188,138 -139,Rector St,40.707513,-74.013783,139 -142,South Ferry,40.702068,-74.013664,142 -201,Wakefield-241 St,40.903125,-73.85062,201 -204,Nereid Av,40.898379,-73.854376,204 -205,233 St,40.893193,-73.857473,205 -206,225 St,40.888022,-73.860341,206 -207,219 St,40.883895,-73.862633,207 -208,Gun Hill Rd,40.87785,-73.866256,208 -209,Burke Av,40.871356,-73.867164,209 -210,Allerton Av,40.865462,-73.867352,210 -211,Pelham Pkwy,40.857192,-73.867615,211 -212,Bronx Park East,40.848828,-73.868457,212 -213,E 180 St,40.841894,-73.873488,213 -214,West Farms Sq-E Tremont Av,40.840295,-73.880049,214 -215,174 St,40.837288,-73.887734,215 -216,Freeman St,40.829993,-73.891865,216 -217,Simpson St,40.824073,-73.893064,217 -218,Intervale Av,40.822181,-73.896736,218 -219,Prospect Av,40.819585,-73.90177,219 -220,Jackson Av,40.81649,-73.907807,220 -221,3 Av-149 St,40.816109,-73.917757,221 -224,135 St,40.814229,-73.94077,224 -225,125 St,40.807754,-73.945495,225 -226,116 St,40.802098,-73.949625,226 -227,Central Park North (110 St),40.799075,-73.951822,227 -230,Wall St,40.706821,-74.0091,230 -231,Clark St,40.697466,-73.993086,231 -233,Hoyt St,40.690545,-73.985065,233 -234,Nevins St,40.688246,-73.980492,234 -236,Bergen St,40.680829,-73.975098,236 -237,Grand Army Plaza,40.675235,-73.971046,237 -238,Eastern Pkwy-Brooklyn Museum,40.671987,-73.964375,238 -241,President St-Medgar Evers College,40.667883,-73.950683,241 -242,Sterling St,40.662742,-73.95085,242 -243,Winthrop St,40.656652,-73.9502,243 -244,Church Av,40.650843,-73.949575,244 -245,Beverly Rd,40.645098,-73.948959,245 -246,Newkirk Av-Little Haiti,40.639967,-73.948411,246 -247,Flatbush Av-Brooklyn College,40.632836,-73.947642,247 -248,Nostrand Av,40.669847,-73.950466,248 -249,Kingston Av,40.669399,-73.942161,249 -250,Crown Hts-Utica Av,40.668897,-73.932942,250 -251,Sutter Av-Rutland Rd,40.664717,-73.92261,251 -252,Saratoga Av,40.661453,-73.916327,252 -253,Rockaway Av,40.662549,-73.908946,253 -255,Pennsylvania Av,40.664635,-73.894895,255 -256,Van Siclen Av,40.665449,-73.889395,256 -257,New Lots Av,40.666235,-73.884079,257 -301,Harlem-148 St,40.82388,-73.93647,301 -302,145 St,40.820421,-73.936245,302 -401,Woodlawn,40.886037,-73.878751,401 -402,Mosholu Pkwy,40.87975,-73.884655,402 -405,Bedford Park Blvd-Lehman College,40.873412,-73.890064,405 -406,Kingsbridge Rd,40.86776,-73.897174,406 -407,Fordham Rd,40.862803,-73.901034,407 -408,183 St,40.858407,-73.903879,408 -409,Burnside Av,40.853453,-73.907684,409 -410,176 St,40.84848,-73.911794,410 -411,Mt Eden Av,40.844434,-73.914685,411 -412,170 St,40.840075,-73.917791,412 -413,167 St,40.835537,-73.9214,413 -416,138 St-Grand Concourse,40.813224,-73.929849,416 -419,Wall St,40.707557,-74.011862,419 -420,Bowling Green,40.704817,-74.014065,420 -501,Eastchester-Dyre Av,40.8883,-73.830834,501 -502,Baychester Av,40.878663,-73.838591,502 -503,Gun Hill Rd,40.869526,-73.846384,503 -504,Pelham Pkwy,40.858985,-73.855359,504 -505,Morris Park,40.854364,-73.860495,505 -601,Pelham Bay Park,40.852462,-73.828121,601 -602,Buhre Av,40.84681,-73.832569,602 -603,Middletown Rd,40.843863,-73.836322,603 -604,Westchester Sq-E Tremont Av,40.839892,-73.842952,604 -606,Zerega Av,40.836488,-73.847036,606 -607,Castle Hill Av,40.834255,-73.851222,607 -608,Parkchester,40.833226,-73.860816,608 -609,St Lawrence Av,40.831509,-73.867618,609 -610,Morrison Av-Soundview,40.829521,-73.874516,610 -611,Elder Av,40.828584,-73.879159,611 -612,Whitlock Av,40.826525,-73.886283,612 -613,Hunts Point Av,40.820948,-73.890549,613 -614,Longwood Av,40.816104,-73.896435,614 -615,E 149 St,40.812118,-73.904098,615 -616,E 143 St-St Mary's St,40.808719,-73.907657,616 -617,Cypress Av,40.805368,-73.914042,617 -618,Brook Av,40.807566,-73.91924,618 -619,3 Av-138 St,40.810476,-73.926138,619 -621,125 St,40.804138,-73.937594,621 -622,116 St,40.798629,-73.941617,622 -623,110 St,40.79502,-73.94425,623 -624,103 St,40.7906,-73.947478,624 -625,96 St,40.785672,-73.95107,625 -626,86 St,40.779492,-73.955589,626 -627,77 St,40.77362,-73.959874,627 -628,68 St-Hunter College,40.768141,-73.96387,628 -632,33 St,40.746081,-73.982076,632 -633,28 St,40.74307,-73.984264,633 -634,23 St,40.739864,-73.986599,634 -636,Astor Pl,40.730054,-73.99107,636 -638,Spring St,40.722301,-73.997141,638 -701,Flushing-Main St,40.7596,-73.83003,701 -702,Mets-Willets Point,40.754622,-73.845625,702 -705,111 St,40.75173,-73.855334,705 -706,103 St-Corona Plaza,40.749865,-73.8627,706 -707,Junction Blvd,40.749145,-73.869527,707 -708,90 St-Elmhurst Av,40.748408,-73.876613,708 -709,82 St-Jackson Hts,40.747659,-73.883697,709 -711,69 St,40.746325,-73.896403,711 -712,61 St-Woodside,40.74563,-73.902984,712 -713,52 St,40.744149,-73.912549,713 -714,46 St-Bliss St,40.743132,-73.918435,714 -715,40 St-Lowery St,40.743781,-73.924016,715 -716,33 St-Rawson St,40.744587,-73.930997,716 -720,Hunters Point Av,40.742216,-73.948916,720 -721,Vernon Blvd-Jackson Av,40.742626,-73.953581,721 -726,34 St-Hudson Yards,40.755882,-74.001910,726 -A02,Inwood-207 St,40.868072,-73.919899,A02 -A03,Dyckman St,40.865491,-73.927271,A03 -A05,190 St,40.859022,-73.93418,A05 -A06,181 St,40.851695,-73.937969,A06 -A07,175 St,40.847391,-73.939704,A07 -A10,163 St-Amsterdam Av,40.836013,-73.939892,A10 -A11,155 St,40.830518,-73.941514,A11 -A14,135 St,40.817894,-73.947649,A14 -A15,125 St,40.811109,-73.952343,A15 -A16,116 St,40.805085,-73.954882,A16 -A17,Cathedral Pkwy (110 St),40.800603,-73.958161,A17 -A18,103 St,40.796092,-73.961454,A18 -A19,96 St,40.791642,-73.964696,A19 -A20,86 St,40.785868,-73.968916,A20 -A21,81 St-Museum of Natural History,40.781433,-73.972143,A21 -A22,72 St,40.775594,-73.97641,A22 -A25,50 St,40.762456,-73.985984,A25 -A28,34 St-Penn Station,40.752287,-73.993391,A28 -A30,23 St,40.745906,-73.998041,A30 -A33,Spring St,40.726227,-74.003739,A33 -A34,Canal St,40.720824,-74.005229,A34 -A40,High St,40.699337,-73.990531,A40 -A42,Hoyt-Schermerhorn Sts,40.688484,-73.985001,A42 -A43,Lafayette Av,40.686113,-73.973946,A43 -A44,Clinton-Washington Avs,40.683263,-73.965838,A44 -A46,Nostrand Av,40.680438,-73.950426,A46 -A47,Kingston-Throop Avs,40.679921,-73.940858,A47 -A48,Utica Av,40.679364,-73.930729,A48 -A49,Ralph Av,40.678822,-73.920786,A49 -A50,Rockaway Av,40.67834,-73.911946,A50 -A52,Liberty Av,40.674542,-73.896548,A52 -A53,Van Siclen Av,40.67271,-73.890358,A53 -A54,Shepherd Av,40.67413,-73.88075,A54 -A55,Euclid Av,40.675377,-73.872106,A55 -A57,Grant Av,40.677044,-73.86505,A57 -A59,80 St,40.679371,-73.858992,A59 -A60,88 St,40.679843,-73.85147,A60 -A61,Rockaway Blvd,40.680429,-73.843853,A61 -A63,104 St,40.681711,-73.837683,A63 -A64,111 St,40.684331,-73.832163,A64 -A65,Ozone Park-Lefferts Blvd,40.685951,-73.825798,A65 -B04,21 St-Queensbridge,40.754203,-73.942836,B04 -B06,Roosevelt Island,40.759145,-73.95326,B06 -B10,57 St,40.763972,-73.97745,B10 -B12,9 Av,40.646292,-73.994324,B12 -B13,Fort Hamilton Pkwy,40.640914,-73.994304,B13 -B14,50 St,40.63626,-73.994791,B14 -B15,55 St,40.631435,-73.995476,B15 -B17,71 St,40.619589,-73.998864,B17 -B18,79 St,40.613501,-74.00061,B18 -B19,18 Av,40.607954,-74.001736,B19 -B20,20 Av,40.604556,-73.998168,B20 -B21,Bay Pkwy,40.601875,-73.993728,B21 -B22,25 Av,40.597704,-73.986829,B22 -B23,Bay 50 St,40.588841,-73.983765,B23 -D01,Norwood-205 St,40.874811,-73.878855,D01 -D03,Bedford Park Blvd,40.873244,-73.887138,D03 -D04,Kingsbridge Rd,40.866978,-73.893509,D04 -D05,Fordham Rd,40.861296,-73.897749,D05 -D06,182-183 Sts,40.856093,-73.900741,D06 -D07,Tremont Av,40.85041,-73.905227,D07 -D08,174-175 Sts,40.8459,-73.910136,D08 -D09,170 St,40.839306,-73.9134,D09 -D10,167 St,40.833771,-73.91844,D10 -D12,155 St,40.830135,-73.938209,D12 -D14,7 Av,40.762862,-73.981637,D14 -D15,47-50 Sts-Rockefeller Ctr,40.758663,-73.981329,D15 -D18,23 St,40.742878,-73.992821,D18 -D22,Grand St,40.718267,-73.993753,D22 -D25,7 Av,40.67705,-73.972367,D25 -D26,Prospect Park,40.661614,-73.962246,D26 -D27,Parkside Av,40.655292,-73.961495,D27 -D28,Church Av,40.650527,-73.962982,D28 -D29,Beverley Rd,40.644031,-73.964492,D29 -D30,Cortelyou Rd,40.640927,-73.963891,D30 -D31,Newkirk Plaza,40.635082,-73.962793,D31 -D32,Avenue H,40.62927,-73.961639,D32 -D33,Avenue J,40.625039,-73.960803,D33 -D34,Avenue M,40.617618,-73.959399,D34 -D35,Kings Hwy,40.60867,-73.957734,D35 -D37,Avenue U,40.5993,-73.955929,D37 -D38,Neck Rd,40.595246,-73.955161,D38 -D39,Sheepshead Bay,40.586896,-73.954155,D39 -D40,Brighton Beach,40.577621,-73.961376,D40 -D41,Ocean Pkwy,40.576312,-73.968501,D41 -D42,W 8 St-NY Aquarium,40.576127,-73.975939,D42 -D43,Coney Island-Stillwell Av,40.577422,-73.981233,D43 -F01,Jamaica-179 St,40.712646,-73.783817,F01 -F02,169 St,40.71047,-73.793604,F02 -F03,Parsons Blvd,40.707564,-73.803326,F03 -F04,Sutphin Blvd,40.70546,-73.810708,F04 -F05,Briarwood,40.709179,-73.820574,F05 -F06,Kew Gardens-Union Tpke,40.714441,-73.831008,F06 -F07,75 Av,40.718331,-73.837324,F07 -F12,5 Av/53 St,40.760167,-73.975224,F12 -F14,2 Av,40.723402,-73.989938,F14 -F16,East Broadway,40.713715,-73.990173,F16 -F18,York St,40.701397,-73.986751,F18 -F20,Bergen St,40.686145,-73.990862,F20 -F21,Carroll St,40.680303,-73.995048,F21 -F22,Smith-9 Sts,40.67358,-73.995959,F22 -F24,7 Av,40.666271,-73.980305,F24 -F25,15 St-Prospect Park,40.660365,-73.979493,F25 -F26,Fort Hamilton Pkwy,40.650782,-73.975776,F26 -F27,Church Av,40.644041,-73.979678,F27 -F29,Ditmas Av,40.636119,-73.978172,F29 -F30,18 Av,40.629755,-73.976971,F30 -F31,Avenue I,40.625322,-73.976127,F31 -F32,Bay Pkwy,40.620769,-73.975264,F32 -F33,Avenue N,40.61514,-73.974197,F33 -F34,Avenue P,40.608944,-73.973022,F34 -F35,Kings Hwy,40.603217,-73.972361,F35 -F36,Avenue U,40.596063,-73.973357,F36 -F38,Avenue X,40.58962,-73.97425,F38 -F39,Neptune Av,40.581011,-73.974574,F39 -G05,Jamaica Center-Parsons/Archer,40.702147,-73.801109,G05 -G06,Sutphin Blvd-Archer Av-JFK Airport,40.700486,-73.807969,G06 -G07,Jamaica-Van Wyck,40.702566,-73.816859,G07 -G08,Forest Hills-71 Av,40.721691,-73.844521,G08 -G09,67 Av,40.726523,-73.852719,G09 -G10,63 Dr-Rego Park,40.729846,-73.861604,G10 -G11,Woodhaven Blvd,40.733106,-73.869229,G11 -G12,Grand Av-Newtown,40.737015,-73.877223,G12 -G13,Elmhurst Av,40.742454,-73.882017,G13 -G15,65 St,40.749669,-73.898453,G15 -G16,Northern Blvd,40.752885,-73.906006,G16 -G18,46 St,40.756312,-73.913333,G18 -G19,Steinway St,40.756879,-73.92074,G19 -G20,36 St,40.752039,-73.928781,G20 -G21,Queens Plaza,40.748973,-73.937243,G21 -G24,21 St,40.744065,-73.949724,G24 -G26,Greenpoint Av,40.731352,-73.954449,G26 -G28,Nassau Av,40.724635,-73.951277,G28 -G30,Broadway,40.706092,-73.950308,G30 -G31,Flushing Av,40.700377,-73.950234,G31 -G32,Myrtle-Willoughby Avs,40.694568,-73.949046,G32 -G33,Bedford-Nostrand Avs,40.689627,-73.953522,G33 -G34,Classon Av,40.688873,-73.96007,G34 -G35,Clinton-Washington Avs,40.688089,-73.966839,G35 -G36,Fulton St,40.687119,-73.975375,G36 -H01,Aqueduct Racetrack,40.668234,-73.834058,H01 -H02,Aqueduct-N Conduit Av,40.668234,-73.834058,H02 -H03,Howard Beach-JFK Airport,40.660476,-73.830301,H03 -H04,Broad Channel,40.608382,-73.815925,H04 -H06,Beach 67 St,40.590927,-73.796924,H06 -H07,Beach 60 St,40.592374,-73.788522,H07 -H08,Beach 44 St,40.592943,-73.776013,H08 -H09,Beach 36 St,40.595398,-73.768175,H09 -H10,Beach 25 St,40.600066,-73.761353,H10 -H11,Far Rockaway-Mott Av,40.603995,-73.755405,H11 -H12,Beach 90 St,40.588034,-73.813641,H12 -H13,Beach 98 St,40.585307,-73.820558,H13 -H14,Beach 105 St,40.583209,-73.827559,H14 -H15,Rockaway Park-Beach 116 St,40.580903,-73.835592,H15 -H19,Broad Channel,40.609014,-73.816024,H19 -J12,121 St,40.700492,-73.828294,J12 -J13,111 St,40.697418,-73.836345,J13 -J14,104 St,40.695178,-73.84433,J14 -J15,Woodhaven Blvd,40.693879,-73.851576,J15 -J16,85 St-Forest Pkwy,40.692435,-73.86001,J16 -J17,75 St-Elderts Ln,40.691324,-73.867139,J17 -J19,Cypress Hills,40.689941,-73.87255,J19 -J20,Crescent St,40.683194,-73.873785,J20 -J21,Norwood Av,40.68141,-73.880039,J21 -J22,Cleveland St,40.679947,-73.884639,J22 -J23,Van Siclen Av,40.678024,-73.891688,J23 -J24,Alabama Av,40.676992,-73.898654,J24 -J28,Chauncey St,40.682893,-73.910456,J28 -J29,Halsey St,40.68637,-73.916559,J29 -J30,Gates Av,40.68963,-73.92227,J30 -J31,Kosciuszko St,40.693342,-73.928814,J31 -L05,3 Av,40.732849,-73.986122,L05 -L06,1 Av,40.730953,-73.981628,L06 -L08,Bedford Av,40.717304,-73.956872,L08 -L11,Graham Av,40.714565,-73.944053,L11 -L12,Grand St,40.711926,-73.94067,L12 -L13,Montrose Av,40.707739,-73.93985,L13 -L14,Morgan Av,40.706152,-73.933147,L14 -L15,Jefferson St,40.706607,-73.922913,L15 -L16,DeKalb Av,40.703811,-73.918425,L16 -L19,Halsey St,40.695602,-73.904084,L19 -L20,Wilson Av,40.688764,-73.904046,L20 -L21,Bushwick Av-Aberdeen St,40.682829,-73.905249,L21 -L24,Atlantic Av,40.675345,-73.903097,L24 -L25,Sutter Av,40.669367,-73.901975,L25 -L27,New Lots Av,40.658733,-73.899232,L27 -L28,East 105 St,40.650573,-73.899485,L28 -L29,Canarsie-Rockaway Pkwy,40.646654,-73.90185,L29 -M01,Middle Village-Metropolitan Av,40.711396,-73.889601,M01 -M04,Fresh Pond Rd,40.706186,-73.895877,M04 -M05,Forest Av,40.704423,-73.903077,M05 -M06,Seneca Av,40.702762,-73.90774,M06 -M09,Knickerbocker Av,40.698664,-73.919711,M09 -M10,Central Av,40.697857,-73.927397,M10 -M11,Myrtle Av,40.697207,-73.935657,M11 -M12,Flushing Av,40.70026,-73.941126,M12 -M13,Lorimer St,40.703869,-73.947408,M13 -M14,Hewes St,40.70687,-73.953431,M14 -M16,Marcy Av,40.708359,-73.957757,M16 -M19,Bowery,40.72028,-73.993915,M19 -M23,Broad St,40.706476,-74.011056,M23 -N02,8 Av,40.635064,-74.011719,N02 -N03,Fort Hamilton Pkwy,40.631386,-74.005351,N03 -N05,18 Av,40.620671,-73.990414,N05 -N06,20 Av,40.61741,-73.985026,N06 -N07,Bay Pkwy,40.611815,-73.981848,N07 -N08,Kings Hwy,40.603923,-73.980353,N08 -N09,Avenue U,40.597473,-73.979137,N09 -N10,86 St,40.592721,-73.97823,N10 -N12,S.B. Coney Island,40.577422,-73.981233,N12 -Q03,72 St,40.768799,-73.958424,Q03 -Q04,86 St,40.777891,-73.951787,Q04 -Q05,96 St,40.784318,-73.947152,Q05 -R01,Astoria-Ditmars Blvd,40.775036,-73.912034,R01 -R03,Astoria Blvd,40.770258,-73.917843,R03 -R04,30 Av,40.766779,-73.921479,R04 -R05,Broadway,40.76182,-73.925508,R05 -R06,36 Av,40.756804,-73.929575,R06 -R08,39 Av-Dutch Kills,40.752882,-73.932755,R08 -R13,5 Av/59 St,40.764811,-73.973347,R13 -R14,57 St-7 Av,40.764664,-73.980658,R14 -R15,49 St,40.759901,-73.984139,R15 -R18,28 St,40.745494,-73.988691,R18 -R19,23 St,40.741303,-73.989344,R19 -R21,8 St-NYU,40.730328,-73.992629,R21 -R22,Prince St,40.724329,-73.997702,R22 -R24,City Hall,40.713282,-74.006978,R24 -R26,Rector St,40.70722,-74.013342,R26 -R30,DeKalb Av,40.690635,-73.981824,R30 -R32,Union St,40.677316,-73.98311,R32 -R34,Prospect Av,40.665414,-73.992872,R34 -R35,25 St,40.660397,-73.998091,R35 -R36,36 St,40.655144,-74.003549,R36 -R39,45 St,40.648939,-74.010006,R39 -R40,53 St,40.645069,-74.014034,R40 -R41,59 St,40.641362,-74.017881,R41 -R42,Bay Ridge Av,40.634967,-74.023377,R42 -R43,77 St,40.629742,-74.02551,R43 -R44,86 St,40.622687,-74.028398,R44 -R45,Bay Ridge-95 St,40.616622,-74.030876,R45 -S03,Park Pl,40.674772,-73.957624,S03 -S09,Tottenville,40.512764,-74.251961,S09 -S11,Arthur Kill,40.516578,-74.242096,S11 -S13,Richmond Valley,40.519631,-74.229141,S13 -S14,Pleasant Plains,40.52241,-74.217847,S14 -S15,Prince's Bay,40.525507,-74.200064,S15 -S16,Huguenot,40.533674,-74.191794,S16 -S17,Annadale,40.54046,-74.178217,S17 -S18,Eltingville,40.544601,-74.16457,S18 -S19,Great Kills,40.551231,-74.151399,S19 -S20,Bay Terrace,40.5564,-74.136907,S20 -S21,Oakwood Heights,40.56511,-74.12632,S21 -S22,New Dorp,40.57348,-74.11721,S22 -S23,Grant City,40.578965,-74.109704,S23 -S24,Jefferson Av,40.583591,-74.103338,S24 -S25,Dongan Hills,40.588849,-74.09609,S25 -S26,Old Town,40.596612,-74.087368,S26 -S27,Grasmere,40.603117,-74.084087,S27 -S28,Clifton,40.621319,-74.071402,S28 -S29,Stapleton,40.627915,-74.075162,S29 -S30,Tompkinsville,40.636949,-74.074835,S30 -S31,St George,40.643748,-74.073643,S31 diff --git a/data/stations.json b/data/stations.json index 207b058..2f8ca74 100644 --- a/data/stations.json +++ b/data/stations.json @@ -1,6458 +1,6436 @@ { - "00ac": { - "id": "00ac", - "location": [ - 40.829521, - -73.874516 - ], - "name": "Morrison Av-Soundview", - "stops": { - "610": [ - 40.829521, - -73.874516 - ] - } - }, - "0116": { - "id": "0116", - "location": [ - 40.680829, - -73.975098 - ], - "name": "Bergen St", - "stops": { - "236": [ - 40.680829, - -73.975098 - ] - } - }, - "0132": { - "id": "0132", - "location": [ - 40.577621, - -73.961376 - ], - "name": "Brighton Beach", - "stops": { - "D40": [ - 40.577621, - -73.961376 - ] - } - }, - "013d": { - "id": "013d", - "location": [ - 40.711835, - -74.012188 - ], - "name": "WTC Cortlandt", - "stops": { - "138": [ - 40.711835, - -74.012188 - ] - } - }, - "020d": { - "id": "020d", - "location": [ - 40.625322, - -73.976127 - ], - "name": "Avenue I", - "stops": { - "F31": [ - 40.625322, - -73.976127 - ] - } - }, - "0252": { - "id": "0252", - "location": [ - 40.728251, - -74.005367 - ], - "name": "Houston St", - "stops": { - "134": [ - 40.728251, - -74.005367 - ] - } - }, - "0266": { - "id": "0266", - "location": [ - 40.645098, - -73.948959 - ], - "name": "Beverly Rd", - "stops": { - "245": [ - 40.645098, - -73.948959 - ] - } - }, - "02f1": { - "id": "02f1", - "location": [ - 40.682893, - -73.910456 - ], - "name": "Chauncey St", - "stops": { - "J28": [ - 40.682893, - -73.910456 - ] - } - }, - "032a": { - "id": "032a", - "location": [ - 40.791642, - -73.964696 - ], - "name": "96 St", - "stops": { - "A19": [ - 40.791642, - -73.964696 - ] - } - }, - "032e": { - "id": "032e", - "location": [ - 40.6637765, - -73.901509 - ], - "name": "Livonia Av / Junius St", - "stops": { - "254": [ - 40.663515, - -73.902447 - ], - "L26": [ - 40.664038, - -73.900571 - ] - } - }, - "03c6": { - "id": "03c6", - "location": [ - 40.661453, - -73.916327 - ], - "name": "Saratoga Av", - "stops": { - "252": [ - 40.661453, - -73.916327 - ] - } - }, - "05e1": { - "id": "05e1", - "location": [ - 40.764664, - -73.980658 - ], - "name": "57 St-7 Av", - "stops": { - "R14": [ - 40.764664, - -73.980658 - ] - } - }, - "060a": { - "id": "060a", - "location": [ - 40.816109, - -73.917757 - ], - "name": "3 Av-149 St", - "stops": { - "221": [ - 40.816109, - -73.917757 - ] - } - }, - "0690": { - "id": "0690", - "location": [ - 40.761728, - -73.983849 - ], - "name": "50 St", - "stops": { - "126": [ - 40.761728, - -73.983849 - ] - } - }, - "077e": { - "id": "077e", - "location": [ - 40.669399, - -73.942161 - ], - "name": "Kingston Av", - "stops": { - "249": [ - 40.669399, - -73.942161 - ] - } - }, - "078c": { - "id": "078c", - "location": [ - 40.603217, - -73.972361 - ], - "name": "Kings Hwy", - "stops": { - "F35": [ - 40.603217, - -73.972361 - ] - } - }, - "07c5": { - "id": "07c5", - "location": [ - 40.744149, - -73.912549 - ], - "name": "52 St", - "stops": { - "713": [ - 40.744149, - -73.912549 - ] - } - }, - "07e1": { - "id": "07e1", - "location": [ - 40.799446, - -73.968379 - ], - "name": "103 St", - "stops": { - "119": [ - 40.799446, - -73.968379 - ] - } - }, - "0916": { - "id": "0916", - "location": [ - 40.688764, - -73.904046 - ], - "name": "Wilson Av", - "stops": { - "L20": [ - 40.688764, - -73.904046 - ] - } - }, - "091d": { - "id": "091d", - "location": [ - 40.87785, - -73.866256 - ], - "name": "Gun Hill Rd", - "stops": { - "208": [ - 40.87785, - -73.866256 - ] - } - }, - "0920": { - "id": "0920", - "location": [ - 40.688873, - -73.96007 - ], - "name": "Classon Av", - "stops": { - "G34": [ - 40.688873, - -73.96007 - ] - } - }, - "099d": { - "id": "099d", - "location": [ - 40.576127, - -73.975939 - ], - "name": "W 8 St-NY Aquarium", - "stops": { - "D42": [ - 40.576127, - -73.975939 - ] - } - }, - "0a02": { - "id": "0a02", - "location": [ - 40.576312, - -73.968501 - ], - "name": "Ocean Pkwy", - "stops": { - "D41": [ - 40.576312, - -73.968501 - ] - } - }, - "0a81": { - "id": "0a81", - "location": [ - 40.718463, - -73.9877755 - ], - "name": "Delancey St-Essex St", - "stops": { - "F15": [ - 40.718611, - -73.988114 - ], - "M18": [ - 40.718315, - -73.987437 - ] - } - }, - "0cca": { - "id": "0cca", - "location": [ - 40.758663, - -73.981329 - ], - "name": "47-50 Sts-Rockefeller Ctr", - "stops": { - "D15": [ - 40.758663, - -73.981329 - ] - } - }, - "0d0f": { - "id": "0d0f", - "location": [ - 40.858407, - -73.903879 - ], - "name": "183 St", - "stops": { - "408": [ - 40.858407, - -73.903879 - ] - } - }, - "0d31": { - "id": "0d31", - "location": [ - 40.755882, - -74.00191 - ], - "name": "34 St-Hudson Yards", - "stops": { - "726": [ - 40.755882, - -74.00191 - ] - } - }, - "0d51": { - "id": "0d51", - "location": [ - 40.857192, - -73.867615 - ], - "name": "Pelham Pkwy", - "stops": { - "211": [ - 40.857192, - -73.867615 - ] - } - }, - "0d7d": { - "id": "0d7d", - "location": [ - 40.859022, - -73.93418 - ], - "name": "190 St", - "stops": { - "A05": [ - 40.859022, - -73.93418 - ] - } - }, - "0deb": { - "id": "0deb", - "location": [ - 40.835537, - -73.9214 - ], - "name": "167 St", - "stops": { - "413": [ - 40.835537, - -73.9214 - ] - } - }, - "0e0a": { - "id": "0e0a", - "location": [ - 40.762456, - -73.985984 - ], - "name": "50 St", - "stops": { - "A25": [ - 40.762456, - -73.985984 - ] - } - }, - "0e83": { - "id": "0e83", - "location": [ - 40.674542, - -73.896548 - ], - "name": "Liberty Av", - "stops": { - "A52": [ - 40.674542, - -73.896548 - ] - } - }, - "0fd1": { - "id": "0fd1", - "location": [ - 40.770258, - -73.917843 - ], - "name": "Astoria Blvd", - "stops": { - "R03": [ - 40.770258, - -73.917843 - ] - } - }, - "1068": { - "id": "1068", - "location": [ - 40.84848, - -73.911794 - ], - "name": "176 St", - "stops": { - "410": [ - 40.84848, - -73.911794 - ] - } - }, - "108a": { - "id": "108a", - "location": [ - 40.611815, - -73.981848 - ], - "name": "Bay Pkwy", - "stops": { - "N07": [ - 40.611815, - -73.981848 - ] - } - }, - "10c1": { - "id": "10c1", - "location": [ - 40.800603, - -73.958161 - ], - "name": "Cathedral Pkwy (110 St)", - "stops": { - "A17": [ - 40.800603, - -73.958161 - ] - } - }, - "11c7": { - "id": "11c7", - "location": [ - 40.629742, - -74.02551 - ], - "name": "77 St", - "stops": { - "R43": [ - 40.629742, - -74.02551 - ] - } - }, - "12d4": { - "id": "12d4", - "location": [ - 40.784318, - -73.947152 - ], - "name": "96 St", - "stops": { - "Q05": [ - 40.784318, - -73.947152 - ] - } - }, - "12f5": { - "id": "12f5", - "location": [ - 40.592721, - -73.97823 - ], - "name": "86 St", - "stops": { - "N10": [ - 40.592721, - -73.97823 - ] - } - }, - "1322": { - "id": "1322", - "location": [ - 40.680429, - -73.843853 - ], - "name": "Rockaway Blvd", - "stops": { - "A61": [ - 40.680429, - -73.843853 - ] - } - }, - "1378": { - "id": "1378", - "location": [ - 40.679947, - -73.884639 - ], - "name": "Cleveland St", - "stops": { - "J22": [ - 40.679947, - -73.884639 - ] - } - }, - "13fd": { - "id": "13fd", - "location": [ - 40.60867, - -73.957734 - ], - "name": "Kings Hwy", - "stops": { - "D35": [ - 40.60867, - -73.957734 - ] - } - }, - "13fe": { - "id": "13fe", - "location": [ - 40.814229, - -73.94077 - ], - "name": "135 St", - "stops": { - "224": [ - 40.814229, - -73.94077 - ] - } - }, - "145c": { - "id": "145c", - "location": [ - 40.679364, - -73.930729 - ], - "name": "Utica Av", - "stops": { - "A48": [ - 40.679364, - -73.930729 - ] - } - }, - "1534": { - "id": "1534", - "location": [ - 40.848828, - -73.868457 - ], - "name": "Bronx Park East", - "stops": { - "212": [ - 40.848828, - -73.868457 - ] - } - }, - "168d": { - "id": "168d", - "location": [ - 40.874811, - -73.878855 - ], - "name": "Norwood-205 St", - "stops": { - "D01": [ - 40.874811, - -73.878855 - ] - } - }, - "170d": { - "id": "170d", - "location": [ - 40.585307, - -73.820558 - ], - "name": "Beach 98 St", - "stops": { - "H13": [ - 40.585307, - -73.820558 - ] - } - }, - "17d6": { - "id": "17d6", - "location": [ - 40.844434, - -73.914685 - ], - "name": "Mt Eden Av", - "stops": { - "411": [ - 40.844434, - -73.914685 - ] - } - }, - "185c": { - "id": "185c", - "location": [ - 40.77362, - -73.959874 - ], - "name": "77 St", - "stops": { - "627": [ - 40.77362, - -73.959874 - ] - } - }, - "18c4": { - "id": "18c4", - "location": [ - 40.683263, - -73.965838 - ], - "name": "Clinton-Washington Avs", - "stops": { - "A44": [ - 40.683263, - -73.965838 - ] - } - }, - "18ca": { - "id": "18ca", - "location": [ - 40.713154, - -74.003766 - ], - "name": "Chambers St / Brooklyn Bridge-City Hall", - "stops": { - "640": [ - 40.713065, - -74.004131 - ], - "M21": [ - 40.713243, - -74.003401 - ] - } - }, - "1953": { - "id": "1953", - "location": [ - 40.742454, - -73.882017 - ], - "name": "Elmhurst Av", - "stops": { - "G13": [ - 40.742454, - -73.882017 - ] - } - }, - "19bc": { - "id": "19bc", - "location": [ - 40.74563, - -73.902984 - ], - "name": "61 St-Woodside", - "stops": { - "712": [ - 40.74563, - -73.902984 - ] - } - }, - "19f3": { - "id": "19f3", - "location": [ - 40.664717, - -73.92261 - ], - "name": "Sutter Av-Rutland Rd", - "stops": { - "251": [ - 40.664717, - -73.92261 - ] - } - }, - "1a2a": { - "id": "1a2a", - "location": [ - 40.70722, - -74.013342 - ], - "name": "Rector St", - "stops": { - "R26": [ - 40.70722, - -74.013342 - ] - } - }, - "1afa": { - "id": "1afa", - "location": [ - 40.74104, - -73.997871 - ], - "name": "18 St", - "stops": { - "131": [ - 40.74104, - -73.997871 - ] - } - }, - "1b2e": { - "id": "1b2e", - "location": [ - 40.644031, - -73.964492 - ], - "name": "Beverley Rd", - "stops": { - "D29": [ - 40.644031, - -73.964492 - ] - } - }, - "1b5c": { - "id": "1b5c", - "location": [ - 40.677316, - -73.98311 - ], - "name": "Union St", - "stops": { - "R32": [ - 40.677316, - -73.98311 - ] - } - }, - "1ccf": { - "id": "1ccf", - "location": [ - 40.742878, - -73.992821 - ], - "name": "23 St", - "stops": { - "D18": [ - 40.742878, - -73.992821 - ] - } - }, - "1d54": { - "id": "1d54", - "location": [ - 40.745906, - -73.998041 - ], - "name": "23 St", - "stops": { - "A30": [ - 40.745906, - -73.998041 - ] - } - }, - "1d93": { - "id": "1d93", - "location": [ - 40.709179, - -73.820574 - ], - "name": "Briarwood", - "stops": { - "F05": [ - 40.709179, - -73.820574 - ] - } - }, - "1df9": { - "id": "1df9", - "location": [ - 40.61514, - -73.974197 - ], - "name": "Avenue N", - "stops": { - "F33": [ - 40.61514, - -73.974197 - ] - } - }, - "1e5c": { - "id": "1e5c", - "location": [ - 40.680438, - -73.950426 - ], - "name": "Nostrand Av", - "stops": { - "A46": [ - 40.680438, - -73.950426 - ] - } - }, - "1e7f": { - "id": "1e7f", - "location": [ - 40.706152, - -73.933147 - ], - "name": "Morgan Av", - "stops": { - "L14": [ - 40.706152, - -73.933147 - ] - } - }, - "1ea4": { - "id": "1ea4", - "location": [ - 40.756312, - -73.913333 - ], - "name": "46 St", - "stops": { - "G18": [ - 40.756312, - -73.913333 - ] - } - }, - "1ecf": { - "id": "1ecf", - "location": [ - 40.747659, - -73.883697 - ], - "name": "82 St-Jackson Hts", - "stops": { - "709": [ - 40.747659, - -73.883697 - ] - } - }, - "1f40": { - "id": "1f40", - "location": [ - 40.581011, - -73.974574 - ], - "name": "Neptune Av", - "stops": { - "F39": [ - 40.581011, - -73.974574 - ] - } - }, - "1fd4": { - "id": "1fd4", - "location": [ - 40.730328, - -73.992629 - ], - "name": "8 St-NYU", - "stops": { - "R21": [ - 40.730328, - -73.992629 - ] - } - }, - "202c": { - "id": "202c", - "location": [ - 40.778453, - -73.98197 - ], - "name": "72 St", - "stops": { - "123": [ - 40.778453, - -73.98197 - ] - } - }, - "22f3": { - "id": "22f3", - "location": [ - 40.749669, - -73.898453 - ], - "name": "65 St", - "stops": { - "G15": [ - 40.749669, - -73.898453 - ] - } - }, - "232f": { - "id": "232f", - "location": [ - 40.583209, - -73.827559 - ], - "name": "Beach 105 St", - "stops": { - "H14": [ - 40.583209, - -73.827559 - ] - } - }, - "2335": { - "id": "2335", - "location": [ - 40.785672, - -73.95107 - ], - "name": "96 St", - "stops": { - "625": [ - 40.785672, - -73.95107 - ] - } - }, - "2468": { - "id": "2468", - "location": [ - 40.723402, - -73.989938 - ], - "name": "2 Av", - "stops": { - "F14": [ - 40.723402, - -73.989938 - ] - } - }, - "2489": { - "id": "2489", - "location": [ - 40.675345, - -73.903097 - ], - "name": "Atlantic Av", - "stops": { - "L24": [ - 40.675345, - -73.903097 - ] - } - }, - "2526": { - "id": "2526", - "location": [ - 40.686113, - -73.973946 - ], - "name": "Lafayette Av", - "stops": { - "A43": [ - 40.686113, - -73.973946 - ] - } - }, - "25fa": { - "id": "25fa", - "location": [ - 40.752885, - -73.906006 - ], - "name": "Northern Blvd", - "stops": { - "G16": [ - 40.752885, - -73.906006 - ] - } - }, - "26dd": { - "id": "26dd", - "location": [ - 40.74307, - -73.984264 - ], - "name": "28 St", - "stops": { - "633": [ - 40.74307, - -73.984264 - ] - } - }, - "26e0": { - "id": "26e0", - "location": [ - 40.608944, - -73.973022 - ], - "name": "Avenue P", - "stops": { - "F34": [ - 40.608944, - -73.973022 - ] - } - }, - "2723": { - "id": "2723", - "location": [ - 40.860531, - -73.925536 - ], - "name": "Dyckman St", - "stops": { - "109": [ - 40.860531, - -73.925536 - ] - } - }, - "274a": { - "id": "274a", - "location": [ - 40.898379, - -73.854376 - ], - "name": "Nereid Av", - "stops": { - "204": [ - 40.898379, - -73.854376 - ] - } - }, - "285e": { - "id": "285e", - "location": [ - 40.869526, - -73.846384 - ], - "name": "Gun Hill Rd", - "stops": { - "503": [ - 40.869526, - -73.846384 - ] - } - }, - "289d": { - "id": "289d", - "location": [ - 40.688246, - -73.980492 - ], - "name": "Nevins St", - "stops": { - "234": [ - 40.688246, - -73.980492 - ] - } - }, - "28df": { - "id": "28df", - "location": [ - 40.712603, - -74.0095515 - ], - "name": "Chambers St / Cortlandt St / World Trade Center / Park Place", - "stops": { - "228": [ - 40.713051, - -74.008811 - ], - "A36": [ - 40.714111, - -74.008585 - ], - "E01": [ - 40.712582, - -74.009781 - ], - "R25": [ - 40.710668, - -74.011029 - ] - } - }, - "2a59": { - "id": "2a59", - "location": [ - 40.677044, - -73.86505 - ], - "name": "Grant Av", - "stops": { - "A57": [ - 40.677044, - -73.86505 - ] - } - }, - "2b44": { - "id": "2b44", - "location": [ - 40.822008, - -73.953676 - ], - "name": "137 St-City College", - "stops": { - "115": [ - 40.822008, - -73.953676 - ] - } - }, - "2c9c": { - "id": "2c9c", - "location": [ - 40.578965, - -74.109704 - ], - "name": "Grant City", - "stops": { - "S23": [ - 40.578965, - -74.109704 - ] - } - }, - "2d15": { - "id": "2d15", - "location": [ - 40.759901, - -73.984139 - ], - "name": "49 St", - "stops": { - "R15": [ - 40.759901, - -73.984139 - ] - } - }, - "2f5d": { - "id": "2f5d", - "location": [ - 40.718331, - -73.837324 - ], - "name": "75 Av", - "stops": { - "F07": [ - 40.718331, - -73.837324 - ] - } - }, - "30f3": { - "id": "30f3", - "location": [ - 40.747141, - -73.945032 - ], - "name": "Court Sq-23 St / Court Sq", - "stops": { - "719": [ - 40.747023, - -73.945264 - ], - "F09": [ - 40.747846, - -73.946 - ], - "G22": [ - 40.746554, - -73.943832 - ] - } - }, - "31b9": { - "id": "31b9", - "location": [ - 40.700377, - -73.950234 - ], - "name": "Flushing Av", - "stops": { - "G31": [ - 40.700377, - -73.950234 - ] - } - }, - "31e9": { - "id": "31e9", - "location": [ - 40.725606, - -73.9954315 - ], - "name": "Broadway-Lafayette St / Bleecker St", - "stops": { - "637": [ - 40.725915, - -73.994659 - ], - "D21": [ - 40.725297, - -73.996204 - ] - } - }, - "3439": { - "id": "3439", - "location": [ - 40.682829, - -73.905249 - ], - "name": "Bushwick Av-Aberdeen St", - "stops": { - "L21": [ - 40.682829, - -73.905249 - ] - } - }, - "34ed": { - "id": "34ed", - "location": [ - 40.82388, - -73.93647 - ], - "name": "Harlem-148 St", - "stops": { - "301": [ - 40.82388, - -73.93647 - ] - } - }, - "3527": { - "id": "3527", - "location": [ - 40.640927, - -73.963891 - ], - "name": "Cortelyou Rd", - "stops": { - "D30": [ - 40.640927, - -73.963891 - ] - } - }, - "3570": { - "id": "3570", - "location": [ - 40.698664, - -73.919711 - ], - "name": "Knickerbocker Av", - "stops": { - "M09": [ - 40.698664, - -73.919711 - ] - } - }, - "3871": { - "id": "3871", - "location": [ - 40.798629, - -73.941617 - ], - "name": "116 St", - "stops": { - "622": [ - 40.798629, - -73.941617 - ] - } - }, - "38b3": { - "id": "38b3", - "location": [ - 40.889248, - -73.898583 - ], - "name": "Van Cortlandt Park-242 St", - "stops": { - "101": [ - 40.889248, - -73.898583 - ] - } - }, - "38c3": { - "id": "38c3", - "location": [ - 40.655144, - -74.003549 - ], - "name": "36 St", - "stops": { - "R36": [ - 40.655144, - -74.003549 - ] - } - }, - "38db": { - "id": "38db", - "location": [ - 40.639967, - -73.948411 - ], - "name": "Newkirk Av-Little Haiti", - "stops": { - "246": [ - 40.639967, - -73.948411 - ] - } - }, - "3927": { - "id": "3927", - "location": [ - 40.752287, - -73.993391 - ], - "name": "34 St-Penn Station", - "stops": { - "A28": [ - 40.752287, - -73.993391 - ] - } - }, - "392c": { - "id": "392c", - "location": [ - 40.706476, - -74.011056 - ], - "name": "Broad St", - "stops": { - "M23": [ - 40.706476, - -74.011056 - ] - } - }, - "3988": { - "id": "3988", - "location": [ - 40.715478, - -74.009266 - ], - "name": "Chambers St", - "stops": { - "137": [ - 40.715478, - -74.009266 - ] - } - }, - "3a03": { - "id": "3a03", - "location": [ - 40.691324, - -73.867139 - ], - "name": "75 St-Elderts Ln", - "stops": { - "J17": [ - 40.691324, - -73.867139 - ] - } - }, - "3b8a": { - "id": "3b8a", - "location": [ - 40.837288, - -73.887734 - ], - "name": "174 St", - "stops": { - "215": [ - 40.837288, - -73.887734 - ] - } - }, - "3cec": { - "id": "3cec", - "location": [ - 40.632836, - -73.947642 - ], - "name": "Flatbush Av-Brooklyn College", - "stops": { - "247": [ - 40.632836, - -73.947642 - ] - } - }, - "3cee": { - "id": "3cee", - "location": [ - 40.679843, - -73.85147 - ], - "name": "88 St", - "stops": { - "A60": [ - 40.679843, - -73.85147 - ] - } - }, - "3cf6": { - "id": "3cf6", - "location": [ - 40.710088750000004, - -74.00783825 - ], - "name": "Fulton St", - "stops": { - "229": [ - 40.709416, - -74.006571 - ], - "418": [ - 40.710368, - -74.009509 - ], - "A38": [ - 40.710197, - -74.007691 - ], - "M22": [ - 40.710374, - -74.007582 - ] - } - }, - "3e9b": { - "id": "3e9b", - "location": [ - 40.694568, - -73.949046 - ], - "name": "Myrtle-Willoughby Avs", - "stops": { - "G32": [ - 40.694568, - -73.949046 - ] - } - }, - "3f21": { - "id": "3f21", - "location": [ - 40.551231, - -74.151399 - ], - "name": "Great Kills", - "stops": { - "S19": [ - 40.551231, - -74.151399 - ] - } - }, - "3f99": { - "id": "3f99", - "location": [ - 40.8459, - -73.910136 - ], - "name": "174-175 Sts", - "stops": { - "D08": [ - 40.8459, - -73.910136 - ] - } - }, - "4029": { - "id": "4029", - "location": [ - 40.646654, - -73.90185 - ], - "name": "Canarsie-Rockaway Pkwy", - "stops": { - "L29": [ - 40.646654, - -73.90185 - ] - } - }, - "40de": { - "id": "40de", - "location": [ - 40.596612, - -74.087368 - ], - "name": "Old Town", - "stops": { - "S26": [ - 40.596612, - -74.087368 - ] - } - }, - "42a0": { - "id": "42a0", - "location": [ - 40.719318, - -74.006886 - ], - "name": "Franklin St", - "stops": { - "136": [ - 40.719318, - -74.006886 - ] - } - }, - "42e7": { - "id": "42e7", - "location": [ - 40.768141, - -73.96387 - ], - "name": "68 St-Hunter College", - "stops": { - "628": [ - 40.768141, - -73.96387 - ] - } - }, - "435b": { - "id": "435b", - "location": [ - 40.706186, - -73.895877 - ], - "name": "Fresh Pond Rd", - "stops": { - "M04": [ - 40.706186, - -73.895877 - ] - } - }, - "43ba": { - "id": "43ba", - "location": [ - 40.817894, - -73.947649 - ], - "name": "135 St", - "stops": { - "A14": [ - 40.817894, - -73.947649 - ] - } - }, - "449e": { - "id": "449e", - "location": [ - 40.824783, - -73.944216 - ], - "name": "145 St", - "stops": { - "A12": [ - 40.824783, - -73.944216 - ], - "D13": [ - 40.824783, - -73.944216 - ] - } - }, - "44ad": { - "id": "44ad", - "location": [ - 40.620769, - -73.975264 - ], - "name": "Bay Pkwy", - "stops": { - "F32": [ - 40.620769, - -73.975264 - ] - } - }, - "44c4": { - "id": "44c4", - "location": [ - 40.836488, - -73.847036 - ], - "name": "Zerega Av", - "stops": { - "606": [ - 40.836488, - -73.847036 - ] - } - }, - "44f4": { - "id": "44f4", - "location": [ - 40.592374, - -73.788522 - ], - "name": "Beach 60 St", - "stops": { - "H07": [ - 40.592374, - -73.788522 - ] - } - }, - "4564": { - "id": "4564", - "location": [ - 40.779492, - -73.955589 - ], - "name": "86 St", - "stops": { - "626": [ - 40.779492, - -73.955589 - ] - } - }, - "45fb": { - "id": "45fb", - "location": [ - 40.829993, - -73.891865 - ], - "name": "Freeman St", - "stops": { - "216": [ - 40.829993, - -73.891865 - ] - } - }, - "4657": { - "id": "4657", - "location": [ - 40.836013, - -73.939892 - ], - "name": "163 St-Amsterdam Av", - "stops": { - "A10": [ - 40.836013, - -73.939892 - ] - } - }, - "478e": { - "id": "478e", - "location": [ - 40.603117, - -74.084087 - ], - "name": "Grasmere", - "stops": { - "S27": [ - 40.603117, - -74.084087 - ] - } - }, - "47d7": { - "id": "47d7", - "location": [ - 40.692435, - -73.86001 - ], - "name": "85 St-Forest Pkwy", - "stops": { - "J16": [ - 40.692435, - -73.86001 - ] - } - }, - "48ab": { - "id": "48ab", - "location": [ - 40.7906, - -73.947478 - ], - "name": "103 St", - "stops": { - "624": [ - 40.7906, - -73.947478 - ] - } - }, - "48d9": { - "id": "48d9", - "location": [ - 40.7573295, - -73.97048749999999 - ], - "name": "Lexington Av/53 St / 51 St", - "stops": { - "630": [ - 40.757107, - -73.97192 - ], - "F11": [ - 40.757552, - -73.969055 - ] - } - }, - "48f0": { - "id": "48f0", - "location": [ - 40.577422, - -73.981233 - ], - "name": "Coney Island-Stillwell Av", - "stops": { - "D43": [ - 40.577422, - -73.981233 - ] - } - }, - "490c": { - "id": "490c", - "location": [ - 40.720824, - -74.005229 - ], - "name": "Canal St", - "stops": { - "A34": [ - 40.720824, - -74.005229 - ] - } - }, - "4a47": { - "id": "4a47", - "location": [ - 40.75173, - -73.855334 - ], - "name": "111 St", - "stops": { - "705": [ - 40.75173, - -73.855334 - ] - } - }, - "4bf3": { - "id": "4bf3", - "location": [ - 40.714441, - -73.831008 - ], - "name": "Kew Gardens-Union Tpke", - "stops": { - "F06": [ - 40.714441, - -73.831008 - ] - } - }, - "4c27": { - "id": "4c27", - "location": [ - 40.722301, - -73.997141 - ], - "name": "Spring St", - "stops": { - "638": [ - 40.722301, - -73.997141 - ] - } - }, - "4c56": { - "id": "4c56", - "location": [ - 40.788644, - -73.976218 - ], - "name": "86 St", - "stops": { - "121": [ - 40.788644, - -73.976218 - ] - } - }, - "4c5f": { - "id": "4c5f", - "location": [ - 40.660476, - -73.830301 - ], - "name": "Howard Beach-JFK Airport", - "stops": { - "H03": [ - 40.660476, - -73.830301 - ] - } - }, - "4c79": { - "id": "4c79", - "location": [ - 40.596063, - -73.973357 - ], - "name": "Avenue U", - "stops": { - "F36": [ - 40.596063, - -73.973357 - ] - } - }, - "4de0": { - "id": "4de0", - "location": [ - 40.580903, - -73.835592 - ], - "name": "Rockaway Park-Beach 116 St", - "stops": { - "H15": [ - 40.580903, - -73.835592 - ] - } - }, - "4e75": { - "id": "4e75", - "location": [ - 40.733106, - -73.869229 - ], - "name": "Woodhaven Blvd", - "stops": { - "G11": [ - 40.733106, - -73.869229 - ] - } - }, - "4edc": { - "id": "4edc", - "location": [ - 40.759145, - -73.95326 - ], - "name": "Roosevelt Island", - "stops": { - "B06": [ - 40.759145, - -73.95326 - ] - } - }, - "4f3c": { - "id": "4f3c", - "location": [ - 40.595246, - -73.955161 - ], - "name": "Neck Rd", - "stops": { - "D38": [ - 40.595246, - -73.955161 - ] - } - }, - "4f9e": { - "id": "4f9e", - "location": [ - 40.692259, - -73.98664199999999 - ], - "name": "Jay St-MetroTech", - "stops": { - "A41": [ - 40.692338, - -73.987342 - ], - "R29": [ - 40.69218, - -73.985942 - ] - } - }, - "500e": { - "id": "500e", - "location": [ - 40.749145, - -73.869527 - ], - "name": "Junction Blvd", - "stops": { - "707": [ - 40.749145, - -73.869527 - ] - } - }, - "5034": { - "id": "5034", - "location": [ - 40.764811, - -73.973347 - ], - "name": "5 Av/59 St", - "stops": { - "R13": [ - 40.764811, - -73.973347 - ] - } - }, - "5194": { - "id": "5194", - "location": [ - 40.707739, - -73.93985 - ], - "name": "Montrose Av", - "stops": { - "L13": [ - 40.707739, - -73.93985 - ] - } - }, - "5224": { - "id": "5224", - "location": [ - 40.763972, - -73.97745 - ], - "name": "57 St", - "stops": { - "B10": [ - 40.763972, - -73.97745 - ] - } - }, - "5256": { - "id": "5256", - "location": [ - 40.861296, - -73.897749 - ], - "name": "Fordham Rd", - "stops": { - "D05": [ - 40.861296, - -73.897749 - ] - } - }, - "5265": { - "id": "5265", - "location": [ - 40.512764, - -74.251961 - ], - "name": "Tottenville", - "stops": { - "S09": [ - 40.512764, - -74.251961 - ] - } - }, - "529d": { - "id": "529d", - "location": [ - 40.766779, - -73.921479 - ], - "name": "30 Av", - "stops": { - "R04": [ - 40.766779, - -73.921479 - ] - } - }, - "52ed": { - "id": "52ed", - "location": [ - 40.690635, - -73.981824 - ], - "name": "DeKalb Av", - "stops": { - "R30": [ - 40.690635, - -73.981824 - ] - } - }, - "530d": { - "id": "530d", - "location": [ - 40.63626, - -73.994791 - ], - "name": "50 St", - "stops": { - "B14": [ - 40.63626, - -73.994791 - ] - } - }, - "5397": { - "id": "5397", - "location": [ - 40.718267, - -73.993753 - ], - "name": "Grand St", - "stops": { - "D22": [ - 40.718267, - -73.993753 - ] - } - }, - "539f": { - "id": "539f", - "location": [ - 40.675235, - -73.971046 - ], - "name": "Grand Army Plaza", - "stops": { - "237": [ - 40.675235, - -73.971046 - ] - } - }, - "5492": { - "id": "5492", - "location": [ - 40.730953, - -73.981628 - ], - "name": "1 Av", - "stops": { - "L06": [ - 40.730953, - -73.981628 - ] - } - }, - "5511": { - "id": "5511", - "location": [ - 40.597704, - -73.986829 - ], - "name": "25 Av", - "stops": { - "B22": [ - 40.597704, - -73.986829 - ] - } - }, - "5545": { - "id": "5545", - "location": [ - 40.726523, - -73.852719 - ], - "name": "67 Av", - "stops": { - "G09": [ - 40.726523, - -73.852719 - ] - } - }, - "55b7": { - "id": "55b7", - "location": [ - 40.702566, - -73.816859 - ], - "name": "Jamaica-Van Wyck", - "stops": { - "G07": [ - 40.702566, - -73.816859 - ] - } - }, - "56bd": { - "id": "56bd", - "location": [ - 40.702762, - -73.90774 - ], - "name": "Seneca Av", - "stops": { - "M06": [ - 40.702762, - -73.90774 - ] - } - }, - "56d8": { - "id": "56d8", - "location": [ - 40.713715, - -73.990173 - ], - "name": "East Broadway", - "stops": { - "F16": [ - 40.713715, - -73.990173 - ] - } - }, - "577b": { - "id": "577b", - "location": [ - 40.820421, - -73.936245 - ], - "name": "145 St", - "stops": { - "302": [ - 40.820421, - -73.936245 - ] - } - }, - "58d4": { - "id": "58d4", - "location": [ - 40.812118, - -73.904098 - ], - "name": "E 149 St", - "stops": { - "615": [ - 40.812118, - -73.904098 - ] - } - }, - "5925": { - "id": "5925", - "location": [ - 40.775036, - -73.912034 - ], - "name": "Astoria-Ditmars Blvd", - "stops": { - "R01": [ - 40.775036, - -73.912034 - ] - } - }, - "5a85": { - "id": "5a85", - "location": [ - 40.866978, - -73.893509 - ], - "name": "Kingsbridge Rd", - "stops": { - "D04": [ - 40.866978, - -73.893509 - ] - } - }, - "5b18": { - "id": "5b18", - "location": [ - 40.695602, - -73.904084 - ], - "name": "Halsey St", - "stops": { - "L19": [ - 40.695602, - -73.904084 - ] - } - }, - "5b67": { - "id": "5b67", - "location": [ - 40.676992, - -73.898654 - ], - "name": "Alabama Av", - "stops": { - "J24": [ - 40.676992, - -73.898654 - ] - } - }, - "5b69": { - "id": "5b69", - "location": [ - 40.8883, - -73.830834 - ], - "name": "Eastchester-Dyre Av", - "stops": { - "501": [ - 40.8883, - -73.830834 - ] - } - }, - "5b74": { - "id": "5b74", - "location": [ - 40.685951, - -73.825798 - ], - "name": "Ozone Park-Lefferts Blvd", - "stops": { - "A65": [ - 40.685951, - -73.825798 - ] - } - }, - "5c68": { - "id": "5c68", - "location": [ - 40.868072, - -73.919899 - ], - "name": "Inwood-207 St", - "stops": { - "A02": [ - 40.868072, - -73.919899 - ] - } - }, - "5ce2": { - "id": "5ce2", - "location": [ - 40.70687, - -73.953431 - ], - "name": "Hewes St", - "stops": { - "M14": [ - 40.70687, - -73.953431 - ] - } - }, - "5d15": { - "id": "5d15", - "location": [ - 40.732849, - -73.986122 - ], - "name": "3 Av", - "stops": { - "L05": [ - 40.732849, - -73.986122 - ] - } - }, - "5d44": { - "id": "5d44", - "location": [ - 40.805368, - -73.914042 - ], - "name": "Cypress Av", - "stops": { - "617": [ - 40.805368, - -73.914042 - ] - } - }, - "5d6e": { - "id": "5d6e", - "location": [ - 40.634967, - -74.023377 - ], - "name": "Bay Ridge Av", - "stops": { - "R42": [ - 40.634967, - -74.023377 - ] - } - }, - "5eb7": { - "id": "5eb7", - "location": [ - 40.588034, - -73.813641 - ], - "name": "Beach 90 St", - "stops": { - "H12": [ - 40.588034, - -73.813641 - ] - } - }, - "5ec6": { - "id": "5ec6", - "location": [ - 40.71870125, - -74.00058 - ], - "name": "Canal St", - "stops": { - "639": [ - 40.718803, - -74.000193 - ], - "M20": [ - 40.718092, - -73.999892 - ], - "Q01": [ - 40.718383, - -74.00046 - ], - "R23": [ - 40.719527, - -74.001775 - ] - } - }, - "5ef0": { - "id": "5ef0", - "location": [ - 40.803967, - -73.966847 - ], - "name": "Cathedral Pkwy (110 St)", - "stops": { - "118": [ - 40.803967, - -73.966847 - ] - } - }, - "5f2c": { - "id": "5f2c", - "location": [ - 40.742216, - -73.948916 - ], - "name": "Hunters Point Av", - "stops": { - "720": [ - 40.742216, - -73.948916 - ] - } - }, - "5f40": { - "id": "5f40", - "location": [ - 40.713282, - -74.006978 - ], - "name": "City Hall", - "stops": { - "R24": [ - 40.713282, - -74.006978 - ] - } - }, - "5f93": { - "id": "5f93", - "location": [ - 40.855225, - -73.929412 - ], - "name": "191 St", - "stops": { - "110": [ - 40.855225, - -73.929412 - ] - } - }, - "5fd0": { - "id": "5fd0", - "location": [ - 40.826551, - -73.95036 - ], - "name": "145 St", - "stops": { - "114": [ - 40.826551, - -73.95036 - ] - } - }, - "6081": { - "id": "6081", - "location": [ - 40.746325, - -73.896403 - ], - "name": "69 St", - "stops": { - "711": [ - 40.746325, - -73.896403 - ] - } - }, - "61f2": { - "id": "61f2", - "location": [ - 40.668234, - -73.834058 - ], - "name": "Aqueduct Racetrack", - "stops": { - "H01": [ - 40.668234, - -73.834058 - ] - } - }, - "621b": { - "id": "621b", - "location": [ - 40.669847, - -73.950466 - ], - "name": "Nostrand Av", - "stops": { - "248": [ - 40.669847, - -73.950466 - ] - } - }, - "62a4": { - "id": "62a4", - "location": [ - 40.693241, - -73.990642 - ], - "name": "Borough Hall / Court St", - "stops": { - "232": [ - 40.693219, - -73.989998 - ], - "423": [ - 40.692404, - -73.990151 - ], - "R28": [ - 40.6941, - -73.991777 - ] - } - }, - "63dc": { - "id": "63dc", - "location": [ - 40.824073, - -73.893064 - ], - "name": "Simpson St", - "stops": { - "217": [ - 40.824073, - -73.893064 - ] - } - }, - "64f8": { - "id": "64f8", - "location": [ - 40.8183925, - -73.92703449999999 - ], - "name": "149 St-Grand Concourse", - "stops": { - "222": [ - 40.81841, - -73.926718 - ], - "415": [ - 40.818375, - -73.927351 - ] - } - }, - "6683": { - "id": "6683", - "location": [ - 40.684331, - -73.832163 - ], - "name": "111 St", - "stops": { - "A64": [ - 40.684331, - -73.832163 - ] - } - }, - "66ce": { - "id": "66ce", - "location": [ - 40.750582, - -73.940202 - ], - "name": "Queensboro Plaza", - "stops": { - "718": [ - 40.750582, - -73.940202 - ], - "R09": [ - 40.750582, - -73.940202 - ] - } - }, - "6766": { - "id": "6766", - "location": [ - 40.739864, - -73.986599 - ], - "name": "23 St", - "stops": { - "634": [ - 40.739864, - -73.986599 - ] - } - }, - "6854": { - "id": "6854", - "location": [ - 40.749643, - -73.9878865 - ], - "name": "34 St-Herald Sq", - "stops": { - "D17": [ - 40.749719, - -73.987823 - ], - "R17": [ - 40.749567, - -73.98795 - ] - } - }, - "688b": { - "id": "688b", - "location": [ - 40.519631, - -74.229141 - ], - "name": "Richmond Valley", - "stops": { - "S13": [ - 40.519631, - -74.229141 - ] - } - }, - "6898": { - "id": "6898", - "location": [ - 40.697418, - -73.836345 - ], - "name": "111 St", - "stops": { - "J13": [ - 40.697418, - -73.836345 - ] - } - }, - "68cf": { - "id": "68cf", - "location": [ - 40.601875, - -73.993728 - ], - "name": "Bay Pkwy", - "stops": { - "B21": [ - 40.601875, - -73.993728 - ] - } - }, - "691b": { - "id": "691b", - "location": [ - 40.7540215, - -73.98326599999999 - ], - "name": "42 St-Bryant Pk / 5 Av", - "stops": { - "724": [ - 40.753821, - -73.981963 - ], - "D16": [ - 40.754222, - -73.984569 - ] - } - }, - "6974": { - "id": "6974", - "location": [ - 40.884667, - -73.90087 - ], - "name": "238 St", - "stops": { - "103": [ - 40.884667, - -73.90087 - ] - } - }, - "698d": { - "id": "698d", - "location": [ - 40.849505, - -73.933596 - ], - "name": "181 St", - "stops": { - "111": [ - 40.849505, - -73.933596 - ] - } - }, - "69ad": { - "id": "69ad", - "location": [ - 40.883895, - -73.862633 - ], - "name": "219 St", - "stops": { - "207": [ - 40.883895, - -73.862633 - ] - } - }, - "69ba": { - "id": "69ba", - "location": [ - 40.688089, - -73.966839 - ], - "name": "Clinton-Washington Avs", - "stops": { - "G35": [ - 40.688089, - -73.966839 - ] - } - }, - "69be": { - "id": "69be", - "location": [ - 40.643748, - -74.073643 - ], - "name": "St George", - "stops": { - "S31": [ - 40.643748, - -74.073643 - ] - } - }, - "69cb": { - "id": "69cb", - "location": [ - 40.87975, - -73.884655 - ], - "name": "Mosholu Pkwy", - "stops": { - "402": [ - 40.87975, - -73.884655 - ] - } - }, - "6af5": { - "id": "6af5", - "location": [ - 40.619589, - -73.998864 - ], - "name": "71 St", - "stops": { - "B17": [ - 40.619589, - -73.998864 - ] - } - }, - "6b9a": { - "id": "6b9a", - "location": [ - 40.873244, - -73.887138 - ], - "name": "Bedford Park Blvd", - "stops": { - "D03": [ - 40.873244, - -73.887138 - ] - } - }, - "6c98": { - "id": "6c98", - "location": [ - 40.668897, - -73.932942 - ], - "name": "Crown Hts-Utica Av", - "stops": { - "250": [ - 40.668897, - -73.932942 - ] - } - }, - "6cec": { - "id": "6cec", - "location": [ - 40.607954, - -74.001736 - ], - "name": "18 Av", - "stops": { - "B19": [ - 40.607954, - -74.001736 - ] - } - }, - "6d12": { - "id": "6d12", - "location": [ - 40.693342, - -73.928814 - ], - "name": "Kosciuszko St", - "stops": { - "J31": [ - 40.693342, - -73.928814 - ] - } - }, - "6d6a": { - "id": "6d6a", - "location": [ - 40.681711, - -73.837683 - ], - "name": "104 St", - "stops": { - "A63": [ - 40.681711, - -73.837683 - ] - } - }, - "6d91": { - "id": "6d91", - "location": [ - 40.595398, - -73.768175 - ], - "name": "Beach 36 St", - "stops": { - "H09": [ - 40.595398, - -73.768175 - ] - } - }, - "6da9": { - "id": "6da9", - "location": [ - 40.706821, - -74.0091 - ], - "name": "Wall St", - "stops": { - "230": [ - 40.706821, - -74.0091 - ] - } - }, - "6e0b": { - "id": "6e0b", - "location": [ - 40.533674, - -74.191794 - ], - "name": "Huguenot", - "stops": { - "S16": [ - 40.533674, - -74.191794 - ] - } - }, - "6e3b": { - "id": "6e3b", - "location": [ - 40.777891, - -73.951787 - ], - "name": "86 St", - "stops": { - "Q04": [ - 40.777891, - -73.951787 - ] - } - }, - "6f3e": { - "id": "6f3e", - "location": [ - 40.865462, - -73.867352 - ], - "name": "Allerton Av", - "stops": { - "210": [ - 40.865462, - -73.867352 - ] - } - }, - "705f": { - "id": "705f", - "location": [ - 40.799075, - -73.951822 - ], - "name": "Central Park North (110 St)", - "stops": { - "227": [ - 40.799075, - -73.951822 - ] - } - }, - "7075": { - "id": "7075", - "location": [ - 40.636119, - -73.978172 - ], - "name": "Ditmas Av", - "stops": { - "F29": [ - 40.636119, - -73.978172 - ] - } - }, - "71ce": { - "id": "71ce", - "location": [ - 40.617618, - -73.959399 - ], - "name": "Avenue M", - "stops": { - "D34": [ - 40.617618, - -73.959399 - ] - } - }, - "71ea": { - "id": "71ea", - "location": [ - 40.625039, - -73.960803 - ], - "name": "Avenue J", - "stops": { - "D33": [ - 40.625039, - -73.960803 - ] - } - }, - "7268": { - "id": "7268", - "location": [ - 40.635082, - -73.962793 - ], - "name": "Newkirk Plaza", - "stops": { - "D31": [ - 40.635082, - -73.962793 - ] - } - }, - "72e2": { - "id": "72e2", - "location": [ - 40.586896, - -73.954155 - ], - "name": "Sheepshead Bay", - "stops": { - "D39": [ - 40.586896, - -73.954155 - ] - } - }, - "7327": { - "id": "7327", - "location": [ - 40.834041, - -73.94489 - ], - "name": "157 St", - "stops": { - "113": [ - 40.834041, - -73.94489 - ] - } - }, - "74a2": { - "id": "74a2", - "location": [ - 40.525507, - -74.200064 - ], - "name": "Prince's Bay", - "stops": { - "S15": [ - 40.525507, - -74.200064 - ] - } - }, - "7502": { - "id": "7502", - "location": [ - 40.732338, - -74.000495 - ], - "name": "W 4 St-Wash Sq", - "stops": { - "A32": [ - 40.732338, - -74.000495 - ], - "D20": [ - 40.732338, - -74.000495 - ] - } - }, - "757b": { - "id": "757b", - "location": [ - 40.903125, - -73.85062 - ], - "name": "Wakefield-241 St", - "stops": { - "201": [ - 40.903125, - -73.85062 - ] - } - }, - "7580": { - "id": "7580", - "location": [ - 40.57348, - -74.11721 - ], - "name": "New Dorp", - "stops": { - "S22": [ - 40.57348, - -74.11721 - ] - } - }, - "7594": { - "id": "7594", - "location": [ - 40.740335, - -74.002134 - ], - "name": "14 St / 8 Av", - "stops": { - "A31": [ - 40.740893, - -74.00169 - ], - "L01": [ - 40.739777, - -74.002578 - ] - } - }, - "75b5": { - "id": "75b5", - "location": [ - 40.830135, - -73.938209 - ], - "name": "155 St", - "stops": { - "D12": [ - 40.830135, - -73.938209 - ] - } - }, - "75ee": { - "id": "75ee", - "location": [ - 40.622687, - -74.028398 - ], - "name": "86 St", - "stops": { - "R44": [ - 40.622687, - -74.028398 - ] - } - }, - "76dc": { - "id": "76dc", - "location": [ - 40.750373, - -73.991057 - ], - "name": "34 St-Penn Station", - "stops": { - "128": [ - 40.750373, - -73.991057 - ] - } - }, - "7750": { - "id": "7750", - "location": [ - 40.808719, - -73.907657 - ], - "name": "E 143 St-St Mary's St", - "stops": { - "616": [ - 40.808719, - -73.907657 - ] - } - }, - "7751": { - "id": "7751", - "location": [ - 40.833771, - -73.91844 - ], - "name": "167 St", - "stops": { - "D10": [ - 40.833771, - -73.91844 - ] - } - }, - "7796": { - "id": "7796", - "location": [ - 40.613501, - -74.00061 - ], - "name": "79 St", - "stops": { - "B18": [ - 40.613501, - -74.00061 - ] - } - }, - "77e9": { - "id": "77e9", - "location": [ - 40.680303, - -73.995048 - ], - "name": "Carroll St", - "stops": { - "F21": [ - 40.680303, - -73.995048 - ] - } - }, - "78f3": { - "id": "78f3", - "location": [ - 40.655292, - -73.961495 - ], - "name": "Parkside Av", - "stops": { - "D27": [ - 40.655292, - -73.961495 - ] - } - }, - "7942": { - "id": "7942", - "location": [ - 40.76327166666667, - -73.96711266666667 - ], - "name": "Lexington Av/59 St / Lexington Av/63 St", - "stops": { - "629": [ - 40.762526, - -73.967967 - ], - "B08": [ - 40.764629, - -73.966113 - ], - "R11": [ - 40.76266, - -73.967258 - ] - } - }, - "7982": { - "id": "7982", - "location": [ - 40.687119, - -73.975375 - ], - "name": "Fulton St", - "stops": { - "G36": [ - 40.687119, - -73.975375 - ] - } - }, - "7a18": { - "id": "7a18", - "location": [ - 40.7682715, - -73.9818325 - ], - "name": "59 St-Columbus Circle", - "stops": { - "125": [ - 40.768247, - -73.981929 - ], - "A24": [ - 40.768296, - -73.981736 - ] - } - }, - "7a5d": { - "id": "7a5d", - "location": [ - 40.616622, - -74.030876 - ], - "name": "Bay Ridge-95 St", - "stops": { - "R45": [ - 40.616622, - -74.030876 - ] - } - }, - "7b17": { - "id": "7b17", - "location": [ - 40.752039, - -73.928781 - ], - "name": "36 St", - "stops": { - "G20": [ - 40.752039, - -73.928781 - ] - } - }, - "7c25": { - "id": "7c25", - "location": [ - 40.56511, - -74.12632 - ], - "name": "Oakwood Heights", - "stops": { - "S21": [ - 40.56511, - -74.12632 - ] - } - }, - "7c33": { - "id": "7c33", - "location": [ - 40.665414, - -73.992872 - ], - "name": "Prospect Av", - "stops": { - "R34": [ - 40.665414, - -73.992872 - ] - } - }, - "7cc9": { - "id": "7cc9", - "location": [ - 40.516578, - -74.242096 - ], - "name": "Arthur Kill", - "stops": { - "S11": [ - 40.516578, - -74.242096 - ] - } - }, - "7cd0": { - "id": "7cd0", - "location": [ - 40.68416166666667, - -73.97778866666665 - ], - "name": "Atlantic Av-Barclays Ctr", - "stops": { - "235": [ - 40.684359, - -73.977666 - ], - "D24": [ - 40.68446, - -73.97689 - ], - "R31": [ - 40.683666, - -73.97881 - ] - } - }, - "7da0": { - "id": "7da0", - "location": [ - 40.754203, - -73.942836 - ], - "name": "21 St-Queensbridge", - "stops": { - "B04": [ - 40.754203, - -73.942836 - ] - } - }, - "7e59": { - "id": "7e59", - "location": [ - 40.711926, - -73.94067 - ], - "name": "Grand St", - "stops": { - "L12": [ - 40.711926, - -73.94067 - ] - } - }, - "7eab": { - "id": "7eab", - "location": [ - 40.888022, - -73.860341 - ], - "name": "225 St", - "stops": { - "206": [ - 40.888022, - -73.860341 - ] - } - }, - "7eac": { - "id": "7eac", - "location": [ - 40.707557, - -74.011862 - ], - "name": "Wall St", - "stops": { - "419": [ - 40.707557, - -74.011862 - ] - } - }, - "7f1d": { - "id": "7f1d", - "location": [ - 40.722854, - -74.006277 - ], - "name": "Canal St", - "stops": { - "135": [ - 40.722854, - -74.006277 - ] - } - }, - "7f29": { - "id": "7f29", - "location": [ - 40.67705, - -73.972367 - ], - "name": "7 Av", - "stops": { - "D25": [ - 40.67705, - -73.972367 - ] - } - }, - "7fa0": { - "id": "7fa0", - "location": [ - 40.67358, - -73.995959 - ], - "name": "Smith-9 Sts", - "stops": { - "F22": [ - 40.67358, - -73.995959 - ] - } - }, - "810b": { - "id": "810b", - "location": [ - 40.701397, - -73.986751 - ], - "name": "York St", - "stops": { - "F18": [ - 40.701397, - -73.986751 - ] - } - }, - "816b": { - "id": "816b", - "location": [ - 40.886037, - -73.878751 - ], - "name": "Woodlawn", - "stops": { - "401": [ - 40.886037, - -73.878751 - ] - } - }, - "81e2": { - "id": "81e2", - "location": [ - 40.629755, - -73.976971 - ], - "name": "18 Av", - "stops": { - "F30": [ - 40.629755, - -73.976971 - ] - } - }, - "82e4": { - "id": "82e4", - "location": [ - 40.752882, - -73.932755 - ], - "name": "39 Av-Dutch Kills", - "stops": { - "R08": [ - 40.752882, - -73.932755 - ] - } - }, - "83a0": { - "id": "83a0", - "location": [ - 40.675377, - -73.872106 - ], - "name": "Euclid Av", - "stops": { - "A55": [ - 40.675377, - -73.872106 - ] - } - }, - "851d": { - "id": "851d", - "location": [ - 40.816104, - -73.896435 - ], - "name": "Longwood Av", - "stops": { - "614": [ - 40.816104, - -73.896435 - ] - } - }, - "85fc": { - "id": "85fc", - "location": [ - 40.804138, - -73.937594 - ], - "name": "125 St", - "stops": { - "621": [ - 40.804138, - -73.937594 - ] - } - }, - "8714": { - "id": "8714", - "location": [ - 40.85041, - -73.905227 - ], - "name": "Tremont Av", - "stops": { - "D07": [ - 40.85041, - -73.905227 - ] - } - }, - "87d2": { - "id": "87d2", - "location": [ - 40.751992, - -73.97735933333333 - ], - "name": "Grand Central-42 St", - "stops": { - "631": [ - 40.751776, - -73.976848 - ], - "723": [ - 40.751431, - -73.976041 - ], - "901": [ - 40.752769, - -73.979189 - ] - } - }, - "87ff": { - "id": "87ff", - "location": [ - 40.721691, - -73.844521 - ], - "name": "Forest Hills-71 Av", - "stops": { - "G08": [ - 40.721691, - -73.844521 - ] - } - }, - "8942": { - "id": "8942", - "location": [ - 40.697207, - -73.935657 - ], - "name": "Myrtle Av", - "stops": { - "M11": [ - 40.697207, - -73.935657 - ] - } - }, - "8a32": { - "id": "8a32", - "location": [ - 40.693879, - -73.851576 - ], - "name": "Woodhaven Blvd", - "stops": { - "J15": [ - 40.693879, - -73.851576 - ] - } - }, - "8a7f": { - "id": "8a7f", - "location": [ - 40.706607, - -73.922913 - ], - "name": "Jefferson St", - "stops": { - "L15": [ - 40.706607, - -73.922913 - ] - } - }, - "8acf": { - "id": "8acf", - "location": [ - 40.646292, - -73.994324 - ], - "name": "9 Av", - "stops": { - "B12": [ - 40.646292, - -73.994324 - ] - } - }, - "8bc9": { - "id": "8bc9", - "location": [ - 40.679371, - -73.858992 - ], - "name": "80 St", - "stops": { - "A59": [ - 40.679371, - -73.858992 - ] - } - }, - "8c69": { - "id": "8c69", - "location": [ - 40.8279495, - -73.925741 - ], - "name": "161 St-Yankee Stadium", - "stops": { - "414": [ - 40.827994, - -73.925831 - ], - "D11": [ - 40.827905, - -73.925651 - ] - } - }, - "8cb2": { - "id": "8cb2", - "location": [ - 40.86776, - -73.897174 - ], - "name": "Kingsbridge Rd", - "stops": { - "406": [ - 40.86776, - -73.897174 - ] - } - }, - "8d17": { - "id": "8d17", - "location": [ - 40.7134275, - -73.95084650000001 - ], - "name": "Metropolitan Av / Lorimer St", - "stops": { - "G29": [ - 40.712792, - -73.951418 - ], - "L10": [ - 40.714063, - -73.950275 - ] - } - }, - "8d93": { - "id": "8d93", - "location": [ - 40.775594, - -73.97641 - ], - "name": "72 St", - "stops": { - "A22": [ - 40.775594, - -73.97641 - ] - } - }, - "8df7": { - "id": "8df7", - "location": [ - 40.743781, - -73.924016 - ], - "name": "40 St-Lowery St", - "stops": { - "715": [ - 40.743781, - -73.924016 - ] - } - }, - "8e04": { - "id": "8e04", - "location": [ - 40.699337, - -73.990531 - ], - "name": "High St", - "stops": { - "A40": [ - 40.699337, - -73.990531 - ] - } - }, - "8e7e": { - "id": "8e7e", - "location": [ - 40.714565, - -73.944053 - ], - "name": "Graham Av", - "stops": { - "L11": [ - 40.714565, - -73.944053 - ] - } - }, - "8ebd": { - "id": "8ebd", - "location": [ - 40.828584, - -73.879159 - ], - "name": "Elder Av", - "stops": { - "611": [ - 40.828584, - -73.879159 - ] - } - }, - "8f24": { - "id": "8f24", - "location": [ - 40.678024, - -73.891688 - ], - "name": "Van Siclen Av", - "stops": { - "J23": [ - 40.678024, - -73.891688 - ] - } - }, - "8f6d": { - "id": "8f6d", - "location": [ - 40.679921, - -73.940858 - ], - "name": "Kingston-Throop Avs", - "stops": { - "A47": [ - 40.679921, - -73.940858 - ] - } - }, - "8fad": { - "id": "8fad", - "location": [ - 40.856093, - -73.900741 - ], - "name": "182-183 Sts", - "stops": { - "D06": [ - 40.856093, - -73.900741 - ] - } - }, - "8fe0": { - "id": "8fe0", - "location": [ - 40.813224, - -73.929849 - ], - "name": "138 St-Grand Concourse", - "stops": { - "416": [ - 40.813224, - -73.929849 - ] - } - }, - "9188": { - "id": "9188", - "location": [ - 40.650843, - -73.949575 - ], - "name": "Church Av", - "stops": { - "244": [ - 40.650843, - -73.949575 - ] - } - }, - "92eb": { - "id": "92eb", - "location": [ - 40.644041, - -73.979678 - ], - "name": "Church Av", - "stops": { - "F27": [ - 40.644041, - -73.979678 - ] - } - }, - "934a": { - "id": "934a", - "location": [ - 40.704423, - -73.903077 - ], - "name": "Forest Av", - "stops": { - "M05": [ - 40.704423, - -73.903077 - ] - } - }, - "9350": { - "id": "9350", - "location": [ - 40.768799, - -73.958424 - ], - "name": "72 St", - "stops": { - "Q03": [ - 40.768799, - -73.958424 - ] - } - }, - "93b3": { - "id": "93b3", - "location": [ - 40.635064, - -74.011719 - ], - "name": "8 Av", - "stops": { - "N02": [ - 40.635064, - -74.011719 - ] - } - }, - "951f": { - "id": "951f", - "location": [ - 40.588849, - -74.09609 - ], - "name": "Dongan Hills", - "stops": { - "S25": [ - 40.588849, - -74.09609 - ] - } - }, - "95cd": { - "id": "95cd", - "location": [ - 40.70546, - -73.810708 - ], - "name": "Sutphin Blvd", - "stops": { - "F04": [ - 40.70546, - -73.810708 - ] - } - }, - "96bd": { - "id": "96bd", - "location": [ - 40.603923, - -73.980353 - ], - "name": "Kings Hwy", - "stops": { - "N08": [ - 40.603923, - -73.980353 - ] - } - }, - "973e": { - "id": "973e", - "location": [ - 40.67834, - -73.911946 - ], - "name": "Rockaway Av", - "stops": { - "A50": [ - 40.67834, - -73.911946 - ] - } - }, - "979d": { - "id": "979d", - "location": [ - 40.841894, - -73.873488 - ], - "name": "E 180 St", - "stops": { - "213": [ - 40.841894, - -73.873488 - ] - } - }, - "97a6": { - "id": "97a6", - "location": [ - 40.683194, - -73.873785 - ], - "name": "Crescent St", - "stops": { - "J20": [ - 40.683194, - -73.873785 - ] - } - }, - "9910": { - "id": "9910", - "location": [ - 40.68963, - -73.92227 - ], - "name": "Gates Av", - "stops": { - "J30": [ - 40.68963, - -73.92227 - ] - } - }, - "996a": { - "id": "996a", - "location": [ - 40.833226, - -73.860816 - ], - "name": "Parkchester", - "stops": { - "608": [ - 40.833226, - -73.860816 - ] - } - }, - "9b04": { - "id": "9b04", - "location": [ - 40.697466, - -73.993086 - ], - "name": "Clark St", - "stops": { - "231": [ - 40.697466, - -73.993086 - ] - } - }, - "9b7d": { - "id": "9b7d", - "location": [ - 40.737796333333335, - -73.997732 - ], - "name": "14 St / 6 Av", - "stops": { - "132": [ - 40.737826, - -74.000201 - ], - "D19": [ - 40.738228, - -73.996209 - ], - "L02": [ - 40.737335, - -73.996786 - ] - } - }, - "9b86": { - "id": "9b86", - "location": [ - 40.744081, - -73.995657 - ], - "name": "23 St", - "stops": { - "130": [ - 40.744081, - -73.995657 - ] - } - }, - "9c82": { - "id": "9c82", - "location": [ - 40.749865, - -73.8627 - ], - "name": "103 St-Corona Plaza", - "stops": { - "706": [ - 40.749865, - -73.8627 - ] - } - }, - "9cf8": { - "id": "9cf8", - "location": [ - 40.839892, - -73.842952 - ], - "name": "Westchester Sq-E Tremont Av", - "stops": { - "604": [ - 40.839892, - -73.842952 - ] - } - }, - "9cfd": { - "id": "9cfd", - "location": [ - 40.802098, - -73.949625 - ], - "name": "116 St", - "stops": { - "226": [ - 40.802098, - -73.949625 - ] - } - }, - "9d44": { - "id": "9d44", - "location": [ - 40.711396, - -73.889601 - ], - "name": "Middle Village-Metropolitan Av", - "stops": { - "M01": [ - 40.711396, - -73.889601 - ] - } - }, - "9faa": { - "id": "9faa", - "location": [ - 40.583591, - -74.103338 - ], - "name": "Jefferson Av", - "stops": { - "S24": [ - 40.583591, - -74.103338 - ] - } - }, - "9fc3": { - "id": "9fc3", - "location": [ - 40.733422, - -74.002906 - ], - "name": "Christopher St-Sheridan Sq", - "stops": { - "133": [ - 40.733422, - -74.002906 - ] - } - }, - "a081": { - "id": "a081", - "location": [ - 40.648939, - -74.010006 - ], - "name": "45 St", - "stops": { - "R39": [ - 40.648939, - -74.010006 - ] - } - }, - "a0a0": { - "id": "a0a0", - "location": [ - 40.783934, - -73.979917 - ], - "name": "79 St", - "stops": { - "122": [ - 40.783934, - -73.979917 - ] - } - }, - "a0e7": { - "id": "a0e7", - "location": [ - 40.58962, - -73.97425 - ], - "name": "Avenue X", - "stops": { - "F38": [ - 40.58962, - -73.97425 - ] - } - }, - "a208": { - "id": "a208", - "location": [ - 40.755746, - -73.98758079999999 - ], - "name": "42 St-Port Authority Bus Terminal / Times Sq-42 St", - "stops": { - "127": [ - 40.75529, - -73.987495 - ], - "725": [ - 40.755477, - -73.987691 - ], - "902": [ - 40.755983, - -73.986229 - ], - "A27": [ - 40.757308, - -73.989735 - ], - "R16": [ - 40.754672, - -73.986754 - ] - } - }, - "a3a3": { - "id": "a3a3", - "location": [ - 40.741303, - -73.989344 - ], - "name": "23 St", - "stops": { - "R19": [ - 40.741303, - -73.989344 - ] - } - }, - "a3c6": { - "id": "a3c6", - "location": [ - 40.864621, - -73.918822 - ], - "name": "207 St", - "stops": { - "108": [ - 40.864621, - -73.918822 - ] - } - }, - "a3f2": { - "id": "a3f2", - "location": [ - 40.678822, - -73.920786 - ], - "name": "Ralph Av", - "stops": { - "A49": [ - 40.678822, - -73.920786 - ] - } - }, - "a47d": { - "id": "a47d", - "location": [ - 40.756804, - -73.929575 - ], - "name": "36 Av", - "stops": { - "R06": [ - 40.756804, - -73.929575 - ] - } - }, - "a4b6": { - "id": "a4b6", - "location": [ - 40.600066, - -73.761353 - ], - "name": "Beach 25 St", - "stops": { - "H10": [ - 40.600066, - -73.761353 - ] - } - }, - "a6b2": { - "id": "a6b2", - "location": [ - 40.62927, - -73.961639 - ], - "name": "Avenue H", - "stops": { - "D32": [ - 40.62927, - -73.961639 - ] - } - }, - "a733": { - "id": "a733", - "location": [ - 40.79502, - -73.94425 - ], - "name": "110 St", - "stops": { - "623": [ - 40.79502, - -73.94425 - ] - } - }, - "a7ee": { - "id": "a7ee", - "location": [ - 40.865491, - -73.927271 - ], - "name": "Dyckman St", - "stops": { - "A03": [ - 40.865491, - -73.927271 - ] - } - }, - "a85e": { - "id": "a85e", - "location": [ - 40.627915, - -74.075162 - ], - "name": "Stapleton", - "stops": { - "S29": [ - 40.627915, - -74.075162 - ] - } - }, - "a8ba": { - "id": "a8ba", - "location": [ - 40.702068, - -74.013664 - ], - "name": "South Ferry", - "stops": { - "142": [ - 40.702068, - -74.013664 - ] - } - }, - "a90d": { - "id": "a90d", - "location": [ - 40.5564, - -74.136907 - ], - "name": "Bay Terrace", - "stops": { - "S20": [ - 40.5564, - -74.136907 - ] - } - }, - "a96b": { - "id": "a96b", - "location": [ - 40.853453, - -73.907684 - ], - "name": "Burnside Av", - "stops": { - "409": [ - 40.853453, - -73.907684 - ] - } - }, - "a97d": { - "id": "a97d", - "location": [ - 40.869444, - -73.915279 - ], - "name": "215 St", - "stops": { - "107": [ - 40.869444, - -73.915279 - ] - } - }, - "aba3": { - "id": "aba3", - "location": [ - 40.742626, - -73.953581 - ], - "name": "Vernon Blvd-Jackson Av", - "stops": { - "721": [ - 40.742626, - -73.953581 - ] - } - }, - "abd8": { - "id": "abd8", - "location": [ - 40.746081, - -73.982076 - ], - "name": "33 St", - "stops": { - "632": [ - 40.746081, - -73.982076 - ] - } - }, - "abf9": { - "id": "abf9", - "location": [ - 40.660365, - -73.979493 - ], - "name": "15 St-Prospect Park", - "stops": { - "F25": [ - 40.660365, - -73.979493 - ] - } - }, - "ac1d": { - "id": "ac1d", - "location": [ - 40.671987, - -73.964375 - ], - "name": "Eastern Pkwy-Brooklyn Museum", - "stops": { - "238": [ - 40.671987, - -73.964375 - ] - } - }, - "ac92": { - "id": "ac92", - "location": [ - 40.61741, - -73.985026 - ], - "name": "20 Av", - "stops": { - "N06": [ - 40.61741, - -73.985026 - ] - } - }, - "ae0e": { - "id": "ae0e", - "location": [ - 40.748408, - -73.876613 - ], - "name": "90 St-Elmhurst Av", - "stops": { - "708": [ - 40.748408, - -73.876613 - ] - } - }, - "ae80": { - "id": "ae80", - "location": [ - 40.785868, - -73.968916 - ], - "name": "86 St", - "stops": { - "A20": [ - 40.785868, - -73.968916 - ] - } - }, - "aebd": { - "id": "aebd", - "location": [ - 40.5993, - -73.955929 - ], - "name": "Avenue U", - "stops": { - "D37": [ - 40.5993, - -73.955929 - ] - } - }, - "b00d": { - "id": "b00d", - "location": [ - 40.678896, - -73.90435599999999 - ], - "name": "Broadway Junction", - "stops": { - "A51": [ - 40.678334, - -73.905316 - ], - "J27": [ - 40.679498, - -73.904512 - ], - "L22": [ - 40.678856, - -73.90324 - ] - } - }, - "b063": { - "id": "b063", - "location": [ - 40.731352, - -73.954449 - ], - "name": "Greenpoint Av", - "stops": { - "G26": [ - 40.731352, - -73.954449 - ] - } - }, - "b0bd": { - "id": "b0bd", - "location": [ - 40.781433, - -73.972143 - ], - "name": "81 St-Museum of Natural History", - "stops": { - "A21": [ - 40.781433, - -73.972143 - ] - } - }, - "b142": { - "id": "b142", - "location": [ - 40.702147, - -73.801109 - ], - "name": "Jamaica Center-Parsons/Archer", - "stops": { - "G05": [ - 40.702147, - -73.801109 - ] - } - }, - "b1d1": { - "id": "b1d1", - "location": [ - 40.871356, - -73.867164 - ], - "name": "Burke Av", - "stops": { - "209": [ - 40.871356, - -73.867164 - ] - } - }, - "b1ee": { - "id": "b1ee", - "location": [ - 40.754622, - -73.845625 - ], - "name": "Mets-Willets Point", - "stops": { - "702": [ - 40.754622, - -73.845625 - ] - } - }, - "b2e2": { - "id": "b2e2", - "location": [ - 40.650527, - -73.962982 - ], - "name": "Church Av", - "stops": { - "D28": [ - 40.650527, - -73.962982 - ] - } - }, - "b2f6": { - "id": "b2f6", - "location": [ - 40.852462, - -73.828121 - ], - "name": "Pelham Bay Park", - "stops": { - "601": [ - 40.852462, - -73.828121 - ] - } - }, - "b337": { - "id": "b337", - "location": [ - 40.858985, - -73.855359 - ], - "name": "Pelham Pkwy", - "stops": { - "504": [ - 40.858985, - -73.855359 - ] - } - }, - "b3e5": { - "id": "b3e5", - "location": [ - 40.625657000000004, - -73.996624 - ], - "name": "62 St / New Utrecht Av", - "stops": { - "B16": [ - 40.626472, - -73.996895 - ], - "N04": [ - 40.624842, - -73.996353 - ] - } - }, - "b4a5": { - "id": "b4a5", - "location": [ - 40.7596, - -73.83003 - ], - "name": "Flushing-Main St", - "stops": { - "701": [ - 40.7596, - -73.83003 - ] - } - }, - "b5b4": { - "id": "b5b4", - "location": [ - 40.878663, - -73.838591 - ], - "name": "Baychester Av", - "stops": { - "502": [ - 40.878663, - -73.838591 - ] - } - }, - "b62b": { - "id": "b62b", - "location": [ - 40.851695, - -73.937969 - ], - "name": "181 St", - "stops": { - "A06": [ - 40.851695, - -73.937969 - ] - } - }, - "b6f0": { - "id": "b6f0", - "location": [ - 40.704817, - -74.014065 - ], - "name": "Bowling Green", - "stops": { - "420": [ - 40.704817, - -74.014065 - ] - } - }, - "b76c": { - "id": "b76c", - "location": [ - 40.631435, - -73.995476 - ], - "name": "55 St", - "stops": { - "B15": [ - 40.631435, - -73.995476 - ] - } - }, - "b81d": { - "id": "b81d", - "location": [ - 40.588841, - -73.983765 - ], - "name": "Bay 50 St", - "stops": { - "B23": [ - 40.588841, - -73.983765 - ] - } - }, - "b83f": { - "id": "b83f", - "location": [ - 40.756879, - -73.92074 - ], - "name": "Steinway St", - "stops": { - "G19": [ - 40.756879, - -73.92074 - ] - } - }, - "b8a1": { - "id": "b8a1", - "location": [ - 40.645069, - -74.014034 - ], - "name": "53 St", - "stops": { - "R40": [ - 40.645069, - -74.014034 - ] - } - }, - "b8bf": { - "id": "b8bf", - "location": [ - 40.6705125, - -73.958688 - ], - "name": "Botanic Garden / Franklin Av-Medgar Evers College", - "stops": { - "239": [ - 40.670682, - -73.958131 - ], - "S04": [ - 40.670343, - -73.959245 - ] - } - }, - "b8f3": { - "id": "b8f3", - "location": [ - 40.762862, - -73.981637 - ], - "name": "7 Av", - "stops": { - "D14": [ - 40.762862, - -73.981637 - ] - } - }, - "b922": { - "id": "b922", - "location": [ - 40.840075, - -73.917791 - ], - "name": "170 St", - "stops": { - "412": [ - 40.840075, - -73.917791 - ] - } - }, - "b994": { - "id": "b994", - "location": [ - 40.689627, - -73.953522 - ], - "name": "Bedford-Nostrand Avs", - "stops": { - "G33": [ - 40.689627, - -73.953522 - ] - } - }, - "ba60": { - "id": "ba60", - "location": [ - 40.631386, - -74.005351 - ], - "name": "Fort Hamilton Pkwy", - "stops": { - "N03": [ - 40.631386, - -74.005351 - ] - } - }, - "bba2": { - "id": "bba2", - "location": [ - 40.68637, - -73.916559 - ], - "name": "Halsey St", - "stops": { - "J29": [ - 40.68637, - -73.916559 - ] - } - }, - "bbcb": { - "id": "bbcb", - "location": [ - 40.873412, - -73.890064 - ], - "name": "Bedford Park Blvd-Lehman College", - "stops": { - "405": [ - 40.873412, - -73.890064 - ] - } - }, - "bed9": { - "id": "bed9", - "location": [ - 40.796092, - -73.961454 - ], - "name": "103 St", - "stops": { - "A18": [ - 40.796092, - -73.961454 - ] - } - }, - "bfe1": { - "id": "bfe1", - "location": [ - 40.712646, - -73.783817 - ], - "name": "Jamaica-179 St", - "stops": { - "F01": [ - 40.712646, - -73.783817 - ] - } - }, - "c0e1": { - "id": "c0e1", - "location": [ - 40.819585, - -73.90177 - ], - "name": "Prospect Av", - "stops": { - "219": [ - 40.819585, - -73.90177 - ] - } - }, - "c185": { - "id": "c185", - "location": [ - 40.744065, - -73.949724 - ], - "name": "21 St", - "stops": { - "G24": [ - 40.744065, - -73.949724 - ] - } - }, - "c24c": { - "id": "c24c", - "location": [ - 40.662549, - -73.908946 - ], - "name": "Rockaway Av", - "stops": { - "253": [ - 40.662549, - -73.908946 - ] - } - }, - "c277": { - "id": "c277", - "location": [ - 40.597473, - -73.979137 - ], - "name": "Avenue U", - "stops": { - "N09": [ - 40.597473, - -73.979137 - ] - } - }, - "c317": { - "id": "c317", - "location": [ - 40.636949, - -74.074835 - ], - "name": "Tompkinsville", - "stops": { - "S30": [ - 40.636949, - -74.074835 - ] - } - }, - "c399": { - "id": "c399", - "location": [ - 40.84681, - -73.832569 - ], - "name": "Buhre Av", - "stops": { - "602": [ - 40.84681, - -73.832569 - ] - } - }, - "c415": { - "id": "c415", - "location": [ - 40.697857, - -73.927397 - ], - "name": "Central Av", - "stops": { - "M10": [ - 40.697857, - -73.927397 - ] - } - }, - "c451": { - "id": "c451", - "location": [ - 40.815581, - -73.958372 - ], - "name": "125 St", - "stops": { - "116": [ - 40.815581, - -73.958372 - ] - } - }, - "c4cf": { - "id": "c4cf", - "location": [ - 40.603995, - -73.755405 - ], - "name": "Far Rockaway-Mott Av", - "stops": { - "H11": [ - 40.603995, - -73.755405 - ] - } - }, - "c5ab": { - "id": "c5ab", - "location": [ - 40.730054, - -73.99107 - ], - "name": "Astor Pl", - "stops": { - "636": [ - 40.730054, - -73.99107 - ] - } - }, - "c5f7": { - "id": "c5f7", - "location": [ - 40.695178, - -73.84433 - ], - "name": "104 St", - "stops": { - "J14": [ - 40.695178, - -73.84433 - ] - } - }, - "c643": { - "id": "c643", - "location": [ - 40.604556, - -73.998168 - ], - "name": "20 Av", - "stops": { - "B20": [ - 40.604556, - -73.998168 - ] - } - }, - "c6a0": { - "id": "c6a0", - "location": [ - 40.746746, - -73.891366 - ], - "name": "Jackson Hts-Roosevelt Av / 74 St-Broadway", - "stops": { - "710": [ - 40.746848, - -73.891394 - ], - "G14": [ - 40.746644, - -73.891338 - ] - } - }, - "c6e1": { - "id": "c6e1", - "location": [ - 40.621319, - -74.071402 - ], - "name": "Clifton", - "stops": { - "S28": [ - 40.621319, - -74.071402 - ] - } - }, - "c7ad": { - "id": "c7ad", - "location": [ - 40.72028, - -73.993915 - ], - "name": "Bowery", - "stops": { - "M19": [ - 40.72028, - -73.993915 - ] - } - }, - "c824": { - "id": "c824", - "location": [ - 40.71047, - -73.793604 - ], - "name": "169 St", - "stops": { - "F02": [ - 40.71047, - -73.793604 - ] - } - }, - "c8ff": { - "id": "c8ff", - "location": [ - 40.77344, - -73.982209 - ], - "name": "66 St-Lincoln Center", - "stops": { - "124": [ - 40.77344, - -73.982209 - ] - } - }, - "c9e1": { - "id": "c9e1", - "location": [ - 40.878856, - -73.904834 - ], - "name": "231 St", - "stops": { - "104": [ - 40.878856, - -73.904834 - ] - } - }, - "ca46": { - "id": "ca46", - "location": [ - 40.840295, - -73.880049 - ], - "name": "West Farms Sq-E Tremont Av", - "stops": { - "214": [ - 40.840295, - -73.880049 - ] - } - }, - "caba": { - "id": "caba", - "location": [ - 40.811109, - -73.952343 - ], - "name": "125 St", - "stops": { - "A15": [ - 40.811109, - -73.952343 - ] - } - }, - "cb70": { - "id": "cb70", - "location": [ - 40.656652, - -73.9502 - ], - "name": "Winthrop St", - "stops": { - "243": [ - 40.656652, - -73.9502 - ] - } - }, - "cdc0": { - "id": "cdc0", - "location": [ - 40.810476, - -73.926138 - ], - "name": "3 Av-138 St", - "stops": { - "619": [ - 40.810476, - -73.926138 - ] - } - }, - "ce2d": { - "id": "ce2d", - "location": [ - 40.689941, - -73.87255 - ], - "name": "Cypress Hills", - "stops": { - "J19": [ - 40.689941, - -73.87255 - ] - } - }, - "ce5b": { - "id": "ce5b", - "location": [ - 40.748973, - -73.937243 - ], - "name": "Queens Plaza", - "stops": { - "G21": [ - 40.748973, - -73.937243 - ] - } - }, - "ce97": { - "id": "ce97", - "location": [ - 40.717304, - -73.956872 - ], - "name": "Bedford Av", - "stops": { - "L08": [ - 40.717304, - -73.956872 - ] - } - }, - "cec6": { - "id": "cec6", - "location": [ - 40.735065999999996, - -73.99041633333333 - ], - "name": "14 St-Union Sq", - "stops": { - "635": [ - 40.734673, - -73.989951 - ], - "L03": [ - 40.734789, - -73.99073 - ], - "R20": [ - 40.735736, - -73.990568 - ] - } - }, - "cf15": { - "id": "cf15", - "location": [ - 40.661614, - -73.962246 - ], - "name": "Prospect Park", - "stops": { - "D26": [ - 40.661614, - -73.962246 - ] - } - }, - "d008": { - "id": "d008", - "location": [ - 40.724329, - -73.997702 - ], - "name": "Prince St", - "stops": { - "R22": [ - 40.724329, - -73.997702 - ] - } - }, - "d142": { - "id": "d142", - "location": [ - 40.743132, - -73.918435 - ], - "name": "46 St-Bliss St", - "stops": { - "714": [ - 40.743132, - -73.918435 - ] - } - }, - "d154": { - "id": "d154", - "location": [ - 40.650573, - -73.899485 - ], - "name": "East 105 St", - "stops": { - "L28": [ - 40.650573, - -73.899485 - ] - } - }, - "d1c3": { - "id": "d1c3", - "location": [ - 40.807754, - -73.945495 - ], - "name": "125 St", - "stops": { - "225": [ - 40.807754, - -73.945495 - ] - } - }, - "d1f3": { - "id": "d1f3", - "location": [ - 40.680988, - -73.95633749999999 - ], - "name": "Franklin Av", - "stops": { - "A45": [ - 40.68138, - -73.956848 - ], - "S01": [ - 40.680596, - -73.955827 - ] - } - }, - "d1f4": { - "id": "d1f4", - "location": [ - 40.747215, - -73.993365 - ], - "name": "28 St", - "stops": { - "129": [ - 40.747215, - -73.993365 - ] - } - }, - "d28b": { - "id": "d28b", - "location": [ - 40.670559499999996, - -73.9890405 - ], - "name": "4 Av-9 St", - "stops": { - "F23": [ - 40.670272, - -73.989779 - ], - "R33": [ - 40.670847, - -73.988302 - ] - } - }, - "d2ee": { - "id": "d2ee", - "location": [ - 40.703811, - -73.918425 - ], - "name": "DeKalb Av", - "stops": { - "L16": [ - 40.703811, - -73.918425 - ] - } - }, - "d7a7": { - "id": "d7a7", - "location": [ - 40.831509, - -73.867618 - ], - "name": "St Lawrence Av", - "stops": { - "609": [ - 40.831509, - -73.867618 - ] - } - }, - "d86e": { - "id": "d86e", - "location": [ - 40.843863, - -73.836322 - ], - "name": "Middletown Rd", - "stops": { - "603": [ - 40.843863, - -73.836322 - ] - } - }, - "d964": { - "id": "d964", - "location": [ - 40.666235, - -73.884079 - ], - "name": "New Lots Av", - "stops": { - "257": [ - 40.666235, - -73.884079 - ] - } - }, - "da4f": { - "id": "da4f", - "location": [ - 40.793919, - -73.972323 - ], - "name": "96 St", - "stops": { - "120": [ - 40.793919, - -73.972323 - ] - } - }, - "dc82": { - "id": "dc82", - "location": [ - 40.834255, - -73.851222 - ], - "name": "Castle Hill Av", - "stops": { - "607": [ - 40.834255, - -73.851222 - ] - } - }, - "dde6": { - "id": "dde6", - "location": [ - 40.658733, - -73.899232 - ], - "name": "New Lots Av", - "stops": { - "L27": [ - 40.658733, - -73.899232 - ] - } - }, - "df86": { - "id": "df86", - "location": [ - 40.707564, - -73.803326 - ], - "name": "Parsons Blvd", - "stops": { - "F03": [ - 40.707564, - -73.803326 - ] - } - }, - "e00d": { - "id": "e00d", - "location": [ - 40.707513, - -74.013783 - ], - "name": "Rector St", - "stops": { - "139": [ - 40.707513, - -74.013783 - ] - } - }, - "e165": { - "id": "e165", - "location": [ - 40.690545, - -73.985065 - ], - "name": "Hoyt St", - "stops": { - "233": [ - 40.690545, - -73.985065 - ] - } - }, - "e3da": { - "id": "e3da", - "location": [ - 40.724635, - -73.951277 - ], - "name": "Nassau Av", - "stops": { - "G28": [ - 40.724635, - -73.951277 - ] - } - }, - "e467": { - "id": "e467", - "location": [ - 40.8406375, - -73.939847 - ], - "name": "168 St / 168 St-Washington Hts", - "stops": { - "112": [ - 40.840556, - -73.940133 - ], - "A09": [ - 40.840719, - -73.939561 - ] - } - }, - "e4a6": { - "id": "e4a6", - "location": [ - 40.662742, - -73.95085 - ], - "name": "Sterling St", - "stops": { - "242": [ - 40.662742, - -73.95085 - ] - } - }, - "e4ac": { - "id": "e4ac", - "location": [ - 40.609014, - -73.816024 - ], - "name": "Broad Channel", - "stops": { - "H19": [ - 40.609014, - -73.816024 - ] - } - }, - "e54a": { - "id": "e54a", - "location": [ - 40.76182, - -73.925508 - ], - "name": "Broadway", - "stops": { - "R05": [ - 40.76182, - -73.925508 - ] - } - }, - "e61d": { - "id": "e61d", - "location": [ - 40.660397, - -73.998091 - ], - "name": "25 St", - "stops": { - "R35": [ - 40.660397, - -73.998091 - ] - } - }, - "e7f8": { - "id": "e7f8", - "location": [ - 40.744587, - -73.930997 - ], - "name": "33 St-Rawson St", - "stops": { - "716": [ - 40.744587, - -73.930997 - ] - } - }, - "e801": { - "id": "e801", - "location": [ - 40.805085, - -73.954882 - ], - "name": "116 St", - "stops": { - "A16": [ - 40.805085, - -73.954882 - ] - } - }, - "e820": { - "id": "e820", - "location": [ - 40.674772, - -73.957624 - ], - "name": "Park Pl", - "stops": { - "S03": [ - 40.674772, - -73.957624 - ] - } - }, - "e840": { - "id": "e840", - "location": [ - 40.544601, - -74.16457 - ], - "name": "Eltingville", - "stops": { - "S18": [ - 40.544601, - -74.16457 - ] - } - }, - "e875": { - "id": "e875", - "location": [ - 40.52241, - -74.217847 - ], - "name": "Pleasant Plains", - "stops": { - "S14": [ - 40.52241, - -74.217847 - ] - } - }, - "e8b3": { - "id": "e8b3", - "location": [ - 40.590927, - -73.796924 - ], - "name": "Beach 67 St", - "stops": { - "H06": [ - 40.590927, - -73.796924 - ] - } - }, - "e8c0": { - "id": "e8c0", - "location": [ - 40.854364, - -73.860495 - ], - "name": "Morris Park", - "stops": { - "505": [ - 40.854364, - -73.860495 - ] - } - }, - "e902": { - "id": "e902", - "location": [ - 40.760167, - -73.975224 - ], - "name": "5 Av/53 St", - "stops": { - "F12": [ - 40.760167, - -73.975224 - ] - } - }, - "e960": { - "id": "e960", - "location": [ - 40.67413, - -73.88075 - ], - "name": "Shepherd Av", - "stops": { - "A54": [ - 40.67413, - -73.88075 - ] - } - }, - "e96e": { - "id": "e96e", - "location": [ - 40.822181, - -73.896736 - ], - "name": "Intervale Av", - "stops": { - "218": [ - 40.822181, - -73.896736 - ] - } - }, - "e9b2": { - "id": "e9b2", - "location": [ - 40.70026, - -73.941126 - ], - "name": "Flushing Av", - "stops": { - "M12": [ - 40.70026, - -73.941126 - ] - } - }, - "ea7e": { - "id": "ea7e", - "location": [ - 40.745494, - -73.988691 - ], - "name": "28 St", - "stops": { - "R18": [ - 40.745494, - -73.988691 - ] - } - }, - "ea88": { - "id": "ea88", - "location": [ - 40.669367, - -73.901975 - ], - "name": "Sutter Av", - "stops": { - "L25": [ - 40.669367, - -73.901975 - ] - } - }, - "eae2": { - "id": "eae2", - "location": [ - 40.893193, - -73.857473 - ], - "name": "233 St", - "stops": { - "205": [ - 40.893193, - -73.857473 - ] - } - }, - "eb16": { - "id": "eb16", - "location": [ - 40.807722, - -73.96411 - ], - "name": "116 St-Columbia University", - "stops": { - "117": [ - 40.807722, - -73.96411 - ] - } - }, - "eb6f": { - "id": "eb6f", - "location": [ - 40.807566, - -73.91924 - ], - "name": "Brook Av", - "stops": { - "618": [ - 40.807566, - -73.91924 - ] - } - }, - "ebc5": { - "id": "ebc5", - "location": [ - 40.726227, - -74.003739 - ], - "name": "Spring St", - "stops": { - "A33": [ - 40.726227, - -74.003739 - ] - } - }, - "ebd7": { - "id": "ebd7", - "location": [ - 40.666271, - -73.980305 - ], - "name": "7 Av", - "stops": { - "F24": [ - 40.666271, - -73.980305 - ] - } - }, - "ec1f": { - "id": "ec1f", - "location": [ - 40.688484, - -73.985001 - ], - "name": "Hoyt-Schermerhorn Sts", - "stops": { - "A42": [ - 40.688484, - -73.985001 - ] - } - }, - "ec8c": { - "id": "ec8c", - "location": [ - 40.81649, - -73.907807 - ], - "name": "Jackson Av", - "stops": { - "220": [ - 40.81649, - -73.907807 - ] - } - }, - "ecbb": { - "id": "ecbb", - "location": [ - 40.737015, - -73.877223 - ], - "name": "Grand Av-Newtown", - "stops": { - "G12": [ - 40.737015, - -73.877223 - ] - } - }, - "ecd5": { - "id": "ecd5", - "location": [ - 40.702248999999995, - -74.01309950000001 - ], - "name": "South Ferry Loop / Whitehall St-South Ferry", - "stops": { - "140": [ - 40.701411, - -74.013205 - ], - "R27": [ - 40.703087, - -74.012994 - ] - } - }, - "ecf3": { - "id": "ecf3", - "location": [ - 40.67271, - -73.890358 - ], - "name": "Van Siclen Av", - "stops": { - "A53": [ - 40.67271, - -73.890358 - ] - } - }, - "ed90": { - "id": "ed90", - "location": [ - 40.640914, - -73.994304 - ], - "name": "Fort Hamilton Pkwy", - "stops": { - "B13": [ - 40.640914, - -73.994304 - ] - } - }, - "eeb4": { - "id": "eeb4", - "location": [ - 40.700486, - -73.807969 - ], - "name": "Sutphin Blvd-Archer Av-JFK Airport", - "stops": { - "G06": [ - 40.700486, - -73.807969 - ] - } - }, - "eee0": { - "id": "eee0", - "location": [ - 40.592943, - -73.776013 - ], - "name": "Beach 44 St", - "stops": { - "H08": [ - 40.592943, - -73.776013 - ] - } - }, - "ef66": { - "id": "ef66", - "location": [ - 40.608382, - -73.815925 - ], - "name": "Broad Channel", - "stops": { - "H04": [ - 40.608382, - -73.815925 - ] - } - }, - "f093": { - "id": "f093", - "location": [ - 40.874561, - -73.909831 - ], - "name": "Marble Hill-225 St", - "stops": { - "106": [ - 40.874561, - -73.909831 - ] - } - }, - "f145": { - "id": "f145", - "location": [ - 40.699622000000005, - -73.9119855 - ], - "name": "Myrtle-Wyckoff Avs", - "stops": { - "L17": [ - 40.699814, - -73.911586 - ], - "M08": [ - 40.69943, - -73.912385 - ] - } - }, - "f248": { - "id": "f248", - "location": [ - 40.54046, - -74.178217 - ], - "name": "Annadale", - "stops": { - "S17": [ - 40.54046, - -74.178217 - ] - } - }, - "f25c": { - "id": "f25c", - "location": [ - 40.703869, - -73.947408 - ], - "name": "Lorimer St", - "stops": { - "M13": [ - 40.703869, - -73.947408 - ] - } - }, - "f29c": { - "id": "f29c", - "location": [ - 40.820948, - -73.890549 - ], - "name": "Hunts Point Av", - "stops": { - "613": [ - 40.820948, - -73.890549 - ] - } - }, - "f340": { - "id": "f340", - "location": [ - 40.667883, - -73.950683 - ], - "name": "President St-Medgar Evers College", - "stops": { - "241": [ - 40.667883, - -73.950683 - ] - } - }, - "f3e5": { - "id": "f3e5", - "location": [ - 40.729846, - -73.861604 - ], - "name": "63 Dr-Rego Park", - "stops": { - "G10": [ - 40.729846, - -73.861604 - ] - } - }, - "f484": { - "id": "f484", - "location": [ - 40.839306, - -73.9134 - ], - "name": "170 St", - "stops": { - "D09": [ - 40.839306, - -73.9134 - ] - } - }, - "f4ad": { - "id": "f4ad", - "location": [ - 40.68141, - -73.880039 - ], - "name": "Norwood Av", - "stops": { - "J21": [ - 40.68141, - -73.880039 - ] - } - }, - "f4eb": { - "id": "f4eb", - "location": [ - 40.830518, - -73.941514 - ], - "name": "155 St", - "stops": { - "A11": [ - 40.830518, - -73.941514 - ] - } - }, - "f4f6": { - "id": "f4f6", - "location": [ - 40.862803, - -73.901034 - ], - "name": "Fordham Rd", - "stops": { - "407": [ - 40.862803, - -73.901034 - ] - } - }, - "f53a": { - "id": "f53a", - "location": [ - 40.700492, - -73.828294 - ], - "name": "121 St", - "stops": { - "J12": [ - 40.700492, - -73.828294 - ] - } - }, - "f55f": { - "id": "f55f", - "location": [ - 40.577422, - -73.981233 - ], - "name": "S.B. Coney Island", - "stops": { - "N12": [ - 40.577422, - -73.981233 - ] - } - }, - "f58d": { - "id": "f58d", - "location": [ - 40.706092, - -73.950308 - ], - "name": "Broadway", - "stops": { - "G30": [ - 40.706092, - -73.950308 - ] - } - }, - "f618": { - "id": "f618", - "location": [ - 40.650782, - -73.975776 - ], - "name": "Fort Hamilton Pkwy", - "stops": { - "F26": [ - 40.650782, - -73.975776 - ] - } - }, - "f718": { - "id": "f718", - "location": [ - 40.665449, - -73.889395 - ], - "name": "Van Siclen Av", - "stops": { - "256": [ - 40.665449, - -73.889395 - ] - } - }, - "f73c": { - "id": "f73c", - "location": [ - 40.847391, - -73.939704 - ], - "name": "175 St", - "stops": { - "A07": [ - 40.847391, - -73.939704 - ] - } - }, - "f76a": { - "id": "f76a", - "location": [ - 40.826525, - -73.886283 - ], - "name": "Whitlock Av", - "stops": { - "612": [ - 40.826525, - -73.886283 - ] - } - }, - "f916": { - "id": "f916", - "location": [ - 40.641362, - -74.017881 - ], - "name": "59 St", - "stops": { - "R41": [ - 40.641362, - -74.017881 - ] - } - }, - "f95c": { - "id": "f95c", - "location": [ - 40.620671, - -73.990414 - ], - "name": "18 Av", - "stops": { - "N05": [ - 40.620671, - -73.990414 - ] - } - }, - "f961": { - "id": "f961", - "location": [ - 40.708359, - -73.957757 - ], - "name": "Marcy Av", - "stops": { - "M16": [ - 40.708359, - -73.957757 - ] - } - }, - "fc33": { - "id": "fc33", - "location": [ - 40.686145, - -73.990862 - ], - "name": "Bergen St", - "stops": { - "F20": [ - 40.686145, - -73.990862 - ] - } - }, - "fe13": { - "id": "fe13", - "location": [ - 40.664635, - -73.894895 - ], - "name": "Pennsylvania Av", - "stops": { - "255": [ - 40.664635, - -73.894895 - ] - } - }, - "fe2e": { - "id": "fe2e", - "location": [ - 40.668234, - -73.834058 - ], - "name": "Aqueduct-N Conduit Av", - "stops": { - "H02": [ - 40.668234, - -73.834058 - ] - } - } + "1": { + "id": "1", + "location": [ + 40.775036, + -73.912034 + ], + "name": "Astoria-Ditmars Blvd", + "stops": { + "R01": [ + 40.775036, + -73.912034 + ] + } + }, + "2": { + "id": "2", + "location": [ + 40.770258, + -73.917843 + ], + "name": "Astoria Blvd", + "stops": { + "R03": [ + 40.770258, + -73.917843 + ] + } + }, + "3": { + "id": "3", + "location": [ + 40.766779, + -73.921479 + ], + "name": "30 Av", + "stops": { + "R04": [ + 40.766779, + -73.921479 + ] + } + }, + "4": { + "id": "4", + "location": [ + 40.76182, + -73.925508 + ], + "name": "Broadway", + "stops": { + "R05": [ + 40.76182, + -73.925508 + ] + } + }, + "5": { + "id": "5", + "location": [ + 40.756804, + -73.929575 + ], + "name": "36 Av", + "stops": { + "R06": [ + 40.756804, + -73.929575 + ] + } + }, + "6": { + "id": "6", + "location": [ + 40.752882, + -73.932755 + ], + "name": "39 Av-Dutch Kills", + "stops": { + "R08": [ + 40.752882, + -73.932755 + ] + } + }, + "613": { + "id": "613", + "location": [ + 40.76266, + -73.967258 + ], + "name": "Lexington Av/59 St", + "stops": { + "R11": [ + 40.76266, + -73.967258 + ], + "629": [ + 40.762526, + -73.967967 + ] + } + }, + "8": { + "id": "8", + "location": [ + 40.764811, + -73.973347 + ], + "name": "5 Av/59 St", + "stops": { + "R13": [ + 40.764811, + -73.973347 + ] + } + }, + "9": { + "id": "9", + "location": [ + 40.764664, + -73.980658 + ], + "name": "57 St-7 Av", + "stops": { + "R14": [ + 40.764664, + -73.980658 + ] + } + }, + "10": { + "id": "10", + "location": [ + 40.759901, + -73.984139 + ], + "name": "49 St", + "stops": { + "R15": [ + 40.759901, + -73.984139 + ] + } + }, + "611": { + "id": "611", + "location": [ + 40.754672, + -73.986754 + ], + "name": "Times Sq-42 St", + "stops": { + "R16": [ + 40.754672, + -73.986754 + ], + "A27": [ + 40.757308, + -73.989735 + ], + "127": [ + 40.75529, + -73.987495 + ], + "725": [ + 40.755477, + -73.987691 + ], + "902": [ + 40.755983, + -73.986229 + ] + } + }, + "607": { + "id": "607", + "location": [ + 40.749567, + -73.98795 + ], + "name": "34 St-Herald Sq", + "stops": { + "R17": [ + 40.749567, + -73.98795 + ], + "D17": [ + 40.749719, + -73.987823 + ] + } + }, + "13": { + "id": "13", + "location": [ + 40.745494, + -73.988691 + ], + "name": "28 St", + "stops": { + "R18": [ + 40.745494, + -73.988691 + ] + } + }, + "14": { + "id": "14", + "location": [ + 40.741303, + -73.989344 + ], + "name": "23 St", + "stops": { + "R19": [ + 40.741303, + -73.989344 + ] + } + }, + "602": { + "id": "602", + "location": [ + 40.735736, + -73.990568 + ], + "name": "14 St-Union Sq", + "stops": { + "R20": [ + 40.735736, + -73.990568 + ], + "L03": [ + 40.734789, + -73.99073 + ], + "635": [ + 40.734673, + -73.989951 + ] + } + }, + "16": { + "id": "16", + "location": [ + 40.730328, + -73.992629 + ], + "name": "8 St-NYU", + "stops": { + "R21": [ + 40.730328, + -73.992629 + ] + } + }, + "17": { + "id": "17", + "location": [ + 40.724329, + -73.997702 + ], + "name": "Prince St", + "stops": { + "R22": [ + 40.724329, + -73.997702 + ] + } + }, + "623": { + "id": "623", + "location": [ + 40.719527, + -74.001775 + ], + "name": "Canal St", + "stops": { + "R23": [ + 40.719527, + -74.001775 + ], + "Q01": [ + 40.718383, + -74.00046 + ], + "M20": [ + 40.718092, + -73.999892 + ], + "639": [ + 40.718803, + -74.000193 + ] + } + }, + "20": { + "id": "20", + "location": [ + 40.713282, + -74.006978 + ], + "name": "City Hall", + "stops": { + "R24": [ + 40.713282, + -74.006978 + ] + } + }, + "624": { + "id": "624", + "location": [ + 40.710668, + -74.011029 + ], + "name": "Cortlandt St", + "stops": { + "R25": [ + 40.710668, + -74.011029 + ], + "A36": [ + 40.714111, + -74.008585 + ], + "E01": [ + 40.712582, + -74.009781 + ], + "228": [ + 40.713051, + -74.008811 + ] + } + }, + "22": { + "id": "22", + "location": [ + 40.70722, + -74.013342 + ], + "name": "Rector St", + "stops": { + "R26": [ + 40.70722, + -74.013342 + ] + } + }, + "635": { + "id": "635", + "location": [ + 40.703087, + -74.012994 + ], + "name": "Whitehall St-South Ferry", + "stops": { + "R27": [ + 40.703087, + -74.012994 + ], + "142": [ + 40.702068, + -74.013664 + ] + } + }, + "620": { + "id": "620", + "location": [ + 40.6941, + -73.991777 + ], + "name": "Court St", + "stops": { + "R28": [ + 40.6941, + -73.991777 + ], + "232": [ + 40.693219, + -73.989998 + ], + "423": [ + 40.692404, + -73.990151 + ] + } + }, + "636": { + "id": "636", + "location": [ + 40.69218, + -73.985942 + ], + "name": "Jay St-MetroTech", + "stops": { + "R29": [ + 40.69218, + -73.985942 + ], + "A41": [ + 40.692338, + -73.987342 + ] + } + }, + "26": { + "id": "26", + "location": [ + 40.690635, + -73.981824 + ], + "name": "DeKalb Av", + "stops": { + "R30": [ + 40.690635, + -73.981824 + ] + } + }, + "617": { + "id": "617", + "location": [ + 40.683666, + -73.97881 + ], + "name": "Atlantic Av-Barclays Ctr", + "stops": { + "R31": [ + 40.683666, + -73.97881 + ], + "D24": [ + 40.68446, + -73.97689 + ], + "235": [ + 40.684359, + -73.977666 + ] + } + }, + "28": { + "id": "28", + "location": [ + 40.677316, + -73.98311 + ], + "name": "Union St", + "stops": { + "R32": [ + 40.677316, + -73.98311 + ] + } + }, + "608": { + "id": "608", + "location": [ + 40.670847, + -73.988302 + ], + "name": "4 Av-9 St", + "stops": { + "R33": [ + 40.670847, + -73.988302 + ], + "F23": [ + 40.670272, + -73.989779 + ] + } + }, + "30": { + "id": "30", + "location": [ + 40.665414, + -73.992872 + ], + "name": "Prospect Av", + "stops": { + "R34": [ + 40.665414, + -73.992872 + ] + } + }, + "31": { + "id": "31", + "location": [ + 40.660397, + -73.998091 + ], + "name": "25 St", + "stops": { + "R35": [ + 40.660397, + -73.998091 + ] + } + }, + "32": { + "id": "32", + "location": [ + 40.655144, + -74.003549 + ], + "name": "36 St", + "stops": { + "R36": [ + 40.655144, + -74.003549 + ] + } + }, + "33": { + "id": "33", + "location": [ + 40.648939, + -74.010006 + ], + "name": "45 St", + "stops": { + "R39": [ + 40.648939, + -74.010006 + ] + } + }, + "34": { + "id": "34", + "location": [ + 40.645069, + -74.014034 + ], + "name": "53 St", + "stops": { + "R40": [ + 40.645069, + -74.014034 + ] + } + }, + "35": { + "id": "35", + "location": [ + 40.641362, + -74.017881 + ], + "name": "59 St", + "stops": { + "R41": [ + 40.641362, + -74.017881 + ] + } + }, + "36": { + "id": "36", + "location": [ + 40.634967, + -74.023377 + ], + "name": "Bay Ridge Av", + "stops": { + "R42": [ + 40.634967, + -74.023377 + ] + } + }, + "37": { + "id": "37", + "location": [ + 40.629742, + -74.02551 + ], + "name": "77 St", + "stops": { + "R43": [ + 40.629742, + -74.02551 + ] + } + }, + "38": { + "id": "38", + "location": [ + 40.622687, + -74.028398 + ], + "name": "86 St", + "stops": { + "R44": [ + 40.622687, + -74.028398 + ] + } + }, + "39": { + "id": "39", + "location": [ + 40.616622, + -74.030876 + ], + "name": "Bay Ridge-95 St", + "stops": { + "R45": [ + 40.616622, + -74.030876 + ] + } + }, + "41": { + "id": "41", + "location": [ + 40.67705, + -73.972367 + ], + "name": "7 Av", + "stops": { + "D25": [ + 40.67705, + -73.972367 + ] + } + }, + "42": { + "id": "42", + "location": [ + 40.661614, + -73.962246 + ], + "name": "Prospect Park", + "stops": { + "D26": [ + 40.661614, + -73.962246 + ] + } + }, + "43": { + "id": "43", + "location": [ + 40.655292, + -73.961495 + ], + "name": "Parkside Av", + "stops": { + "D27": [ + 40.655292, + -73.961495 + ] + } + }, + "44": { + "id": "44", + "location": [ + 40.650527, + -73.962982 + ], + "name": "Church Av", + "stops": { + "D28": [ + 40.650527, + -73.962982 + ] + } + }, + "45": { + "id": "45", + "location": [ + 40.644031, + -73.964492 + ], + "name": "Beverley Rd", + "stops": { + "D29": [ + 40.644031, + -73.964492 + ] + } + }, + "46": { + "id": "46", + "location": [ + 40.640927, + -73.963891 + ], + "name": "Cortelyou Rd", + "stops": { + "D30": [ + 40.640927, + -73.963891 + ] + } + }, + "47": { + "id": "47", + "location": [ + 40.635082, + -73.962793 + ], + "name": "Newkirk Plaza", + "stops": { + "D31": [ + 40.635082, + -73.962793 + ] + } + }, + "48": { + "id": "48", + "location": [ + 40.62927, + -73.961639 + ], + "name": "Avenue H", + "stops": { + "D32": [ + 40.62927, + -73.961639 + ] + } + }, + "49": { + "id": "49", + "location": [ + 40.625039, + -73.960803 + ], + "name": "Avenue J", + "stops": { + "D33": [ + 40.625039, + -73.960803 + ] + } + }, + "50": { + "id": "50", + "location": [ + 40.617618, + -73.959399 + ], + "name": "Avenue M", + "stops": { + "D34": [ + 40.617618, + -73.959399 + ] + } + }, + "51": { + "id": "51", + "location": [ + 40.60867, + -73.957734 + ], + "name": "Kings Hwy", + "stops": { + "D35": [ + 40.60867, + -73.957734 + ] + } + }, + "52": { + "id": "52", + "location": [ + 40.5993, + -73.955929 + ], + "name": "Avenue U", + "stops": { + "D37": [ + 40.5993, + -73.955929 + ] + } + }, + "53": { + "id": "53", + "location": [ + 40.595246, + -73.955161 + ], + "name": "Neck Rd", + "stops": { + "D38": [ + 40.595246, + -73.955161 + ] + } + }, + "54": { + "id": "54", + "location": [ + 40.586896, + -73.954155 + ], + "name": "Sheepshead Bay", + "stops": { + "D39": [ + 40.586896, + -73.954155 + ] + } + }, + "55": { + "id": "55", + "location": [ + 40.577621, + -73.961376 + ], + "name": "Brighton Beach", + "stops": { + "D40": [ + 40.577621, + -73.961376 + ] + } + }, + "56": { + "id": "56", + "location": [ + 40.576312, + -73.968501 + ], + "name": "Ocean Pkwy", + "stops": { + "D41": [ + 40.576312, + -73.968501 + ] + } + }, + "57": { + "id": "57", + "location": [ + 40.576127, + -73.975939 + ], + "name": "W 8 St-NY Aquarium", + "stops": { + "D42": [ + 40.576127, + -73.975939 + ] + } + }, + "58": { + "id": "58", + "location": [ + 40.577422, + -73.981233 + ], + "name": "Coney Island-Stillwell Av", + "stops": { + "D43": [ + 40.577422, + -73.981233 + ] + } + }, + "59": { + "id": "59", + "location": [ + 40.646292, + -73.994324 + ], + "name": "9 Av", + "stops": { + "B12": [ + 40.646292, + -73.994324 + ] + } + }, + "60": { + "id": "60", + "location": [ + 40.640914, + -73.994304 + ], + "name": "Fort Hamilton Pkwy", + "stops": { + "B13": [ + 40.640914, + -73.994304 + ] + } + }, + "61": { + "id": "61", + "location": [ + 40.63626, + -73.994791 + ], + "name": "50 St", + "stops": { + "B14": [ + 40.63626, + -73.994791 + ] + } + }, + "62": { + "id": "62", + "location": [ + 40.631435, + -73.995476 + ], + "name": "55 St", + "stops": { + "B15": [ + 40.631435, + -73.995476 + ] + } + }, + "615": { + "id": "615", + "location": [ + 40.626472, + -73.996895 + ], + "name": "62 St", + "stops": { + "B16": [ + 40.626472, + -73.996895 + ], + "N04": [ + 40.624842, + -73.996353 + ] + } + }, + "64": { + "id": "64", + "location": [ + 40.619589, + -73.998864 + ], + "name": "71 St", + "stops": { + "B17": [ + 40.619589, + -73.998864 + ] + } + }, + "65": { + "id": "65", + "location": [ + 40.613501, + -74.00061 + ], + "name": "79 St", + "stops": { + "B18": [ + 40.613501, + -74.00061 + ] + } + }, + "66": { + "id": "66", + "location": [ + 40.607954, + -74.001736 + ], + "name": "18 Av", + "stops": { + "B19": [ + 40.607954, + -74.001736 + ] + } + }, + "67": { + "id": "67", + "location": [ + 40.604556, + -73.998168 + ], + "name": "20 Av", + "stops": { + "B20": [ + 40.604556, + -73.998168 + ] + } + }, + "68": { + "id": "68", + "location": [ + 40.601875, + -73.993728 + ], + "name": "Bay Pkwy", + "stops": { + "B21": [ + 40.601875, + -73.993728 + ] + } + }, + "69": { + "id": "69", + "location": [ + 40.597704, + -73.986829 + ], + "name": "25 Av", + "stops": { + "B22": [ + 40.597704, + -73.986829 + ] + } + }, + "70": { + "id": "70", + "location": [ + 40.588841, + -73.983765 + ], + "name": "Bay 50 St", + "stops": { + "B23": [ + 40.588841, + -73.983765 + ] + } + }, + "71": { + "id": "71", + "location": [ + 40.635064, + -74.011719 + ], + "name": "8 Av", + "stops": { + "N02": [ + 40.635064, + -74.011719 + ] + } + }, + "72": { + "id": "72", + "location": [ + 40.631386, + -74.005351 + ], + "name": "Fort Hamilton Pkwy", + "stops": { + "N03": [ + 40.631386, + -74.005351 + ] + } + }, + "74": { + "id": "74", + "location": [ + 40.620671, + -73.990414 + ], + "name": "18 Av", + "stops": { + "N05": [ + 40.620671, + -73.990414 + ] + } + }, + "75": { + "id": "75", + "location": [ + 40.61741, + -73.985026 + ], + "name": "20 Av", + "stops": { + "N06": [ + 40.61741, + -73.985026 + ] + } + }, + "76": { + "id": "76", + "location": [ + 40.611815, + -73.981848 + ], + "name": "Bay Pkwy", + "stops": { + "N07": [ + 40.611815, + -73.981848 + ] + } + }, + "77": { + "id": "77", + "location": [ + 40.603923, + -73.980353 + ], + "name": "Kings Hwy", + "stops": { + "N08": [ + 40.603923, + -73.980353 + ] + } + }, + "78": { + "id": "78", + "location": [ + 40.597473, + -73.979137 + ], + "name": "Avenue U", + "stops": { + "N09": [ + 40.597473, + -73.979137 + ] + } + }, + "79": { + "id": "79", + "location": [ + 40.592721, + -73.97823 + ], + "name": "86 St", + "stops": { + "N10": [ + 40.592721, + -73.97823 + ] + } + }, + "80": { + "id": "80", + "location": [ + 40.700492, + -73.828294 + ], + "name": "121 St", + "stops": { + "J12": [ + 40.700492, + -73.828294 + ] + } + }, + "81": { + "id": "81", + "location": [ + 40.697418, + -73.836345 + ], + "name": "111 St", + "stops": { + "J13": [ + 40.697418, + -73.836345 + ] + } + }, + "82": { + "id": "82", + "location": [ + 40.695178, + -73.84433 + ], + "name": "104 St", + "stops": { + "J14": [ + 40.695178, + -73.84433 + ] + } + }, + "83": { + "id": "83", + "location": [ + 40.693879, + -73.851576 + ], + "name": "Woodhaven Blvd", + "stops": { + "J15": [ + 40.693879, + -73.851576 + ] + } + }, + "84": { + "id": "84", + "location": [ + 40.692435, + -73.86001 + ], + "name": "85 St-Forest Pkwy", + "stops": { + "J16": [ + 40.692435, + -73.86001 + ] + } + }, + "85": { + "id": "85", + "location": [ + 40.691324, + -73.867139 + ], + "name": "75 St-Elderts Ln", + "stops": { + "J17": [ + 40.691324, + -73.867139 + ] + } + }, + "86": { + "id": "86", + "location": [ + 40.689941, + -73.87255 + ], + "name": "Cypress Hills", + "stops": { + "J19": [ + 40.689941, + -73.87255 + ] + } + }, + "87": { + "id": "87", + "location": [ + 40.683194, + -73.873785 + ], + "name": "Crescent St", + "stops": { + "J20": [ + 40.683194, + -73.873785 + ] + } + }, + "88": { + "id": "88", + "location": [ + 40.68141, + -73.880039 + ], + "name": "Norwood Av", + "stops": { + "J21": [ + 40.68141, + -73.880039 + ] + } + }, + "89": { + "id": "89", + "location": [ + 40.679947, + -73.884639 + ], + "name": "Cleveland St", + "stops": { + "J22": [ + 40.679947, + -73.884639 + ] + } + }, + "90": { + "id": "90", + "location": [ + 40.678024, + -73.891688 + ], + "name": "Van Siclen Av", + "stops": { + "J23": [ + 40.678024, + -73.891688 + ] + } + }, + "91": { + "id": "91", + "location": [ + 40.676992, + -73.898654 + ], + "name": "Alabama Av", + "stops": { + "J24": [ + 40.676992, + -73.898654 + ] + } + }, + "621": { + "id": "621", + "location": [ + 40.679498, + -73.904512 + ], + "name": "Broadway Junction", + "stops": { + "J27": [ + 40.679498, + -73.904512 + ], + "L22": [ + 40.678856, + -73.90324 + ], + "A51": [ + 40.678334, + -73.905316 + ] + } + }, + "93": { + "id": "93", + "location": [ + 40.682893, + -73.910456 + ], + "name": "Chauncey St", + "stops": { + "J28": [ + 40.682893, + -73.910456 + ] + } + }, + "94": { + "id": "94", + "location": [ + 40.68637, + -73.916559 + ], + "name": "Halsey St", + "stops": { + "J29": [ + 40.68637, + -73.916559 + ] + } + }, + "95": { + "id": "95", + "location": [ + 40.68963, + -73.92227 + ], + "name": "Gates Av", + "stops": { + "J30": [ + 40.68963, + -73.92227 + ] + } + }, + "96": { + "id": "96", + "location": [ + 40.693342, + -73.928814 + ], + "name": "Kosciuszko St", + "stops": { + "J31": [ + 40.693342, + -73.928814 + ] + } + }, + "97": { + "id": "97", + "location": [ + 40.697207, + -73.935657 + ], + "name": "Myrtle Av", + "stops": { + "M11": [ + 40.697207, + -73.935657 + ] + } + }, + "98": { + "id": "98", + "location": [ + 40.70026, + -73.941126 + ], + "name": "Flushing Av", + "stops": { + "M12": [ + 40.70026, + -73.941126 + ] + } + }, + "99": { + "id": "99", + "location": [ + 40.703869, + -73.947408 + ], + "name": "Lorimer St", + "stops": { + "M13": [ + 40.703869, + -73.947408 + ] + } + }, + "100": { + "id": "100", + "location": [ + 40.70687, + -73.953431 + ], + "name": "Hewes St", + "stops": { + "M14": [ + 40.70687, + -73.953431 + ] + } + }, + "101": { + "id": "101", + "location": [ + 40.708359, + -73.957757 + ], + "name": "Marcy Av", + "stops": { + "M16": [ + 40.708359, + -73.957757 + ] + } + }, + "625": { + "id": "625", + "location": [ + 40.718315, + -73.987437 + ], + "name": "Delancey St-Essex St", + "stops": { + "M18": [ + 40.718315, + -73.987437 + ], + "F15": [ + 40.718611, + -73.988114 + ] + } + }, + "103": { + "id": "103", + "location": [ + 40.72028, + -73.993915 + ], + "name": "Bowery", + "stops": { + "M19": [ + 40.72028, + -73.993915 + ] + } + }, + "622": { + "id": "622", + "location": [ + 40.713243, + -74.003401 + ], + "name": "Chambers St", + "stops": { + "M21": [ + 40.713243, + -74.003401 + ], + "640": [ + 40.713065, + -74.004131 + ] + } + }, + "628": { + "id": "628", + "location": [ + 40.710374, + -74.007582 + ], + "name": "Fulton St", + "stops": { + "M22": [ + 40.710374, + -74.007582 + ], + "A38": [ + 40.710197, + -74.007691 + ], + "229": [ + 40.709416, + -74.006571 + ], + "418": [ + 40.710368, + -74.009509 + ] + } + }, + "107": { + "id": "107", + "location": [ + 40.706476, + -74.011056 + ], + "name": "Broad St", + "stops": { + "M23": [ + 40.706476, + -74.011056 + ] + } + }, + "108": { + "id": "108", + "location": [ + 40.711396, + -73.889601 + ], + "name": "Middle Village-Metropolitan Av", + "stops": { + "M01": [ + 40.711396, + -73.889601 + ] + } + }, + "109": { + "id": "109", + "location": [ + 40.706186, + -73.895877 + ], + "name": "Fresh Pond Rd", + "stops": { + "M04": [ + 40.706186, + -73.895877 + ] + } + }, + "110": { + "id": "110", + "location": [ + 40.704423, + -73.903077 + ], + "name": "Forest Av", + "stops": { + "M05": [ + 40.704423, + -73.903077 + ] + } + }, + "111": { + "id": "111", + "location": [ + 40.702762, + -73.90774 + ], + "name": "Seneca Av", + "stops": { + "M06": [ + 40.702762, + -73.90774 + ] + } + }, + "630": { + "id": "630", + "location": [ + 40.69943, + -73.912385 + ], + "name": "Myrtle-Wyckoff Avs", + "stops": { + "M08": [ + 40.69943, + -73.912385 + ], + "L17": [ + 40.699814, + -73.911586 + ] + } + }, + "113": { + "id": "113", + "location": [ + 40.698664, + -73.919711 + ], + "name": "Knickerbocker Av", + "stops": { + "M09": [ + 40.698664, + -73.919711 + ] + } + }, + "114": { + "id": "114", + "location": [ + 40.697857, + -73.927397 + ], + "name": "Central Av", + "stops": { + "M10": [ + 40.697857, + -73.927397 + ] + } + }, + "618": { + "id": "618", + "location": [ + 40.739777, + -74.002578 + ], + "name": "8 Av", + "stops": { + "L01": [ + 40.739777, + -74.002578 + ], + "A31": [ + 40.740893, + -74.00169 + ] + } + }, + "601": { + "id": "601", + "location": [ + 40.737335, + -73.996786 + ], + "name": "6 Av", + "stops": { + "L02": [ + 40.737335, + -73.996786 + ], + "D19": [ + 40.738228, + -73.996209 + ], + "132": [ + 40.737826, + -74.000201 + ] + } + }, + "118": { + "id": "118", + "location": [ + 40.732849, + -73.986122 + ], + "name": "3 Av", + "stops": { + "L05": [ + 40.732849, + -73.986122 + ] + } + }, + "119": { + "id": "119", + "location": [ + 40.730953, + -73.981628 + ], + "name": "1 Av", + "stops": { + "L06": [ + 40.730953, + -73.981628 + ] + } + }, + "120": { + "id": "120", + "location": [ + 40.717304, + -73.956872 + ], + "name": "Bedford Av", + "stops": { + "L08": [ + 40.717304, + -73.956872 + ] + } + }, + "629": { + "id": "629", + "location": [ + 40.714063, + -73.950275 + ], + "name": "Lorimer St", + "stops": { + "L10": [ + 40.714063, + -73.950275 + ], + "G29": [ + 40.712792, + -73.951418 + ] + } + }, + "122": { + "id": "122", + "location": [ + 40.714565, + -73.944053 + ], + "name": "Graham Av", + "stops": { + "L11": [ + 40.714565, + -73.944053 + ] + } + }, + "123": { + "id": "123", + "location": [ + 40.711926, + -73.94067 + ], + "name": "Grand St", + "stops": { + "L12": [ + 40.711926, + -73.94067 + ] + } + }, + "124": { + "id": "124", + "location": [ + 40.707739, + -73.93985 + ], + "name": "Montrose Av", + "stops": { + "L13": [ + 40.707739, + -73.93985 + ] + } + }, + "125": { + "id": "125", + "location": [ + 40.706152, + -73.933147 + ], + "name": "Morgan Av", + "stops": { + "L14": [ + 40.706152, + -73.933147 + ] + } + }, + "126": { + "id": "126", + "location": [ + 40.706607, + -73.922913 + ], + "name": "Jefferson St", + "stops": { + "L15": [ + 40.706607, + -73.922913 + ] + } + }, + "127": { + "id": "127", + "location": [ + 40.703811, + -73.918425 + ], + "name": "DeKalb Av", + "stops": { + "L16": [ + 40.703811, + -73.918425 + ] + } + }, + "129": { + "id": "129", + "location": [ + 40.695602, + -73.904084 + ], + "name": "Halsey St", + "stops": { + "L19": [ + 40.695602, + -73.904084 + ] + } + }, + "130": { + "id": "130", + "location": [ + 40.688764, + -73.904046 + ], + "name": "Wilson Av", + "stops": { + "L20": [ + 40.688764, + -73.904046 + ] + } + }, + "131": { + "id": "131", + "location": [ + 40.682829, + -73.905249 + ], + "name": "Bushwick Av-Aberdeen St", + "stops": { + "L21": [ + 40.682829, + -73.905249 + ] + } + }, + "133": { + "id": "133", + "location": [ + 40.675345, + -73.903097 + ], + "name": "Atlantic Av", + "stops": { + "L24": [ + 40.675345, + -73.903097 + ] + } + }, + "134": { + "id": "134", + "location": [ + 40.669367, + -73.901975 + ], + "name": "Sutter Av", + "stops": { + "L25": [ + 40.669367, + -73.901975 + ] + } + }, + "135": { + "id": "135", + "location": [ + 40.664038, + -73.900571 + ], + "name": "Livonia Av", + "stops": { + "L26": [ + 40.664038, + -73.900571 + ] + } + }, + "136": { + "id": "136", + "location": [ + 40.658733, + -73.899232 + ], + "name": "New Lots Av", + "stops": { + "L27": [ + 40.658733, + -73.899232 + ] + } + }, + "137": { + "id": "137", + "location": [ + 40.650573, + -73.899485 + ], + "name": "East 105 St", + "stops": { + "L28": [ + 40.650573, + -73.899485 + ] + } + }, + "138": { + "id": "138", + "location": [ + 40.646654, + -73.90185 + ], + "name": "Canarsie-Rockaway Pkwy", + "stops": { + "L29": [ + 40.646654, + -73.90185 + ] + } + }, + "627": { + "id": "627", + "location": [ + 40.680596, + -73.955827 + ], + "name": "Franklin Av", + "stops": { + "S01": [ + 40.680596, + -73.955827 + ], + "A45": [ + 40.68138, + -73.956848 + ] + } + }, + "141": { + "id": "141", + "location": [ + 40.674772, + -73.957624 + ], + "name": "Park Pl", + "stops": { + "S03": [ + 40.674772, + -73.957624 + ] + } + }, + "626": { + "id": "626", + "location": [ + 40.670343, + -73.959245 + ], + "name": "Botanic Garden", + "stops": { + "S04": [ + 40.670343, + -73.959245 + ], + "239": [ + 40.670682, + -73.958131 + ] + } + }, + "143": { + "id": "143", + "location": [ + 40.868072, + -73.919899 + ], + "name": "Inwood-207 St", + "stops": { + "A02": [ + 40.868072, + -73.919899 + ] + } + }, + "144": { + "id": "144", + "location": [ + 40.865491, + -73.927271 + ], + "name": "Dyckman St", + "stops": { + "A03": [ + 40.865491, + -73.927271 + ] + } + }, + "145": { + "id": "145", + "location": [ + 40.859022, + -73.93418 + ], + "name": "190 St", + "stops": { + "A05": [ + 40.859022, + -73.93418 + ] + } + }, + "146": { + "id": "146", + "location": [ + 40.851695, + -73.937969 + ], + "name": "181 St", + "stops": { + "A06": [ + 40.851695, + -73.937969 + ] + } + }, + "147": { + "id": "147", + "location": [ + 40.847391, + -73.939704 + ], + "name": "175 St", + "stops": { + "A07": [ + 40.847391, + -73.939704 + ] + } + }, + "605": { + "id": "605", + "location": [ + 40.840719, + -73.939561 + ], + "name": "168 St", + "stops": { + "A09": [ + 40.840719, + -73.939561 + ], + "112": [ + 40.840556, + -73.940133 + ] + } + }, + "149": { + "id": "149", + "location": [ + 40.836013, + -73.939892 + ], + "name": "163 St-Amsterdam Av", + "stops": { + "A10": [ + 40.836013, + -73.939892 + ] + } + }, + "150": { + "id": "150", + "location": [ + 40.830518, + -73.941514 + ], + "name": "155 St", + "stops": { + "A11": [ + 40.830518, + -73.941514 + ] + } + }, + "151": { + "id": "151", + "location": [ + 40.824783, + -73.944216 + ], + "name": "145 St", + "stops": { + "A12": [ + 40.824783, + -73.944216 + ], + "D13": [ + 40.824783, + -73.944216 + ] + } + }, + "152": { + "id": "152", + "location": [ + 40.817894, + -73.947649 + ], + "name": "135 St", + "stops": { + "A14": [ + 40.817894, + -73.947649 + ] + } + }, + "153": { + "id": "153", + "location": [ + 40.811109, + -73.952343 + ], + "name": "125 St", + "stops": { + "A15": [ + 40.811109, + -73.952343 + ] + } + }, + "154": { + "id": "154", + "location": [ + 40.805085, + -73.954882 + ], + "name": "116 St", + "stops": { + "A16": [ + 40.805085, + -73.954882 + ] + } + }, + "155": { + "id": "155", + "location": [ + 40.800603, + -73.958161 + ], + "name": "Cathedral Pkwy (110 St)", + "stops": { + "A17": [ + 40.800603, + -73.958161 + ] + } + }, + "156": { + "id": "156", + "location": [ + 40.796092, + -73.961454 + ], + "name": "103 St", + "stops": { + "A18": [ + 40.796092, + -73.961454 + ] + } + }, + "157": { + "id": "157", + "location": [ + 40.791642, + -73.964696 + ], + "name": "96 St", + "stops": { + "A19": [ + 40.791642, + -73.964696 + ] + } + }, + "158": { + "id": "158", + "location": [ + 40.785868, + -73.968916 + ], + "name": "86 St", + "stops": { + "A20": [ + 40.785868, + -73.968916 + ] + } + }, + "159": { + "id": "159", + "location": [ + 40.781433, + -73.972143 + ], + "name": "81 St-Museum of Natural History", + "stops": { + "A21": [ + 40.781433, + -73.972143 + ] + } + }, + "160": { + "id": "160", + "location": [ + 40.775594, + -73.97641 + ], + "name": "72 St", + "stops": { + "A22": [ + 40.775594, + -73.97641 + ] + } + }, + "614": { + "id": "614", + "location": [ + 40.768296, + -73.981736 + ], + "name": "59 St-Columbus Circle", + "stops": { + "A24": [ + 40.768296, + -73.981736 + ], + "125": [ + 40.768247, + -73.981929 + ] + } + }, + "162": { + "id": "162", + "location": [ + 40.762456, + -73.985984 + ], + "name": "50 St", + "stops": { + "A25": [ + 40.762456, + -73.985984 + ] + } + }, + "164": { + "id": "164", + "location": [ + 40.752287, + -73.993391 + ], + "name": "34 St-Penn Station", + "stops": { + "A28": [ + 40.752287, + -73.993391 + ] + } + }, + "165": { + "id": "165", + "location": [ + 40.745906, + -73.998041 + ], + "name": "23 St", + "stops": { + "A30": [ + 40.745906, + -73.998041 + ] + } + }, + "167": { + "id": "167", + "location": [ + 40.732338, + -74.000495 + ], + "name": "W 4 St-Wash Sq", + "stops": { + "A32": [ + 40.732338, + -74.000495 + ], + "D20": [ + 40.732338, + -74.000495 + ] + } + }, + "168": { + "id": "168", + "location": [ + 40.726227, + -74.003739 + ], + "name": "Spring St", + "stops": { + "A33": [ + 40.726227, + -74.003739 + ] + } + }, + "169": { + "id": "169", + "location": [ + 40.720824, + -74.005229 + ], + "name": "Canal St", + "stops": { + "A34": [ + 40.720824, + -74.005229 + ] + } + }, + "173": { + "id": "173", + "location": [ + 40.699337, + -73.990531 + ], + "name": "High St", + "stops": { + "A40": [ + 40.699337, + -73.990531 + ] + } + }, + "175": { + "id": "175", + "location": [ + 40.688484, + -73.985001 + ], + "name": "Hoyt-Schermerhorn Sts", + "stops": { + "A42": [ + 40.688484, + -73.985001 + ] + } + }, + "176": { + "id": "176", + "location": [ + 40.686113, + -73.973946 + ], + "name": "Lafayette Av", + "stops": { + "A43": [ + 40.686113, + -73.973946 + ] + } + }, + "177": { + "id": "177", + "location": [ + 40.683263, + -73.965838 + ], + "name": "Clinton-Washington Avs", + "stops": { + "A44": [ + 40.683263, + -73.965838 + ] + } + }, + "179": { + "id": "179", + "location": [ + 40.680438, + -73.950426 + ], + "name": "Nostrand Av", + "stops": { + "A46": [ + 40.680438, + -73.950426 + ] + } + }, + "180": { + "id": "180", + "location": [ + 40.679921, + -73.940858 + ], + "name": "Kingston-Throop Avs", + "stops": { + "A47": [ + 40.679921, + -73.940858 + ] + } + }, + "181": { + "id": "181", + "location": [ + 40.679364, + -73.930729 + ], + "name": "Utica Av", + "stops": { + "A48": [ + 40.679364, + -73.930729 + ] + } + }, + "182": { + "id": "182", + "location": [ + 40.678822, + -73.920786 + ], + "name": "Ralph Av", + "stops": { + "A49": [ + 40.678822, + -73.920786 + ] + } + }, + "183": { + "id": "183", + "location": [ + 40.67834, + -73.911946 + ], + "name": "Rockaway Av", + "stops": { + "A50": [ + 40.67834, + -73.911946 + ] + } + }, + "185": { + "id": "185", + "location": [ + 40.674542, + -73.896548 + ], + "name": "Liberty Av", + "stops": { + "A52": [ + 40.674542, + -73.896548 + ] + } + }, + "186": { + "id": "186", + "location": [ + 40.67271, + -73.890358 + ], + "name": "Van Siclen Av", + "stops": { + "A53": [ + 40.67271, + -73.890358 + ] + } + }, + "187": { + "id": "187", + "location": [ + 40.67413, + -73.88075 + ], + "name": "Shepherd Av", + "stops": { + "A54": [ + 40.67413, + -73.88075 + ] + } + }, + "188": { + "id": "188", + "location": [ + 40.675377, + -73.872106 + ], + "name": "Euclid Av", + "stops": { + "A55": [ + 40.675377, + -73.872106 + ] + } + }, + "189": { + "id": "189", + "location": [ + 40.677044, + -73.86505 + ], + "name": "Grant Av", + "stops": { + "A57": [ + 40.677044, + -73.86505 + ] + } + }, + "190": { + "id": "190", + "location": [ + 40.679371, + -73.858992 + ], + "name": "80 St", + "stops": { + "A59": [ + 40.679371, + -73.858992 + ] + } + }, + "191": { + "id": "191", + "location": [ + 40.679843, + -73.85147 + ], + "name": "88 St", + "stops": { + "A60": [ + 40.679843, + -73.85147 + ] + } + }, + "192": { + "id": "192", + "location": [ + 40.680429, + -73.843853 + ], + "name": "Rockaway Blvd", + "stops": { + "A61": [ + 40.680429, + -73.843853 + ] + } + }, + "193": { + "id": "193", + "location": [ + 40.681711, + -73.837683 + ], + "name": "104 St", + "stops": { + "A63": [ + 40.681711, + -73.837683 + ] + } + }, + "194": { + "id": "194", + "location": [ + 40.684331, + -73.832163 + ], + "name": "111 St", + "stops": { + "A64": [ + 40.684331, + -73.832163 + ] + } + }, + "195": { + "id": "195", + "location": [ + 40.685951, + -73.825798 + ], + "name": "Ozone Park-Lefferts Blvd", + "stops": { + "A65": [ + 40.685951, + -73.825798 + ] + } + }, + "196": { + "id": "196", + "location": [ + 40.672097, + -73.835919 + ], + "name": "Aqueduct Racetrack", + "stops": { + "H01": [ + 40.672097, + -73.835919 + ] + } + }, + "197": { + "id": "197", + "location": [ + 40.668234, + -73.834058 + ], + "name": "Aqueduct-N Conduit Av", + "stops": { + "H02": [ + 40.668234, + -73.834058 + ] + } + }, + "198": { + "id": "198", + "location": [ + 40.660476, + -73.830301 + ], + "name": "Howard Beach-JFK Airport", + "stops": { + "H03": [ + 40.660476, + -73.830301 + ] + } + }, + "199": { + "id": "199", + "location": [ + 40.608382, + -73.815925 + ], + "name": "Broad Channel", + "stops": { + "H04": [ + 40.608382, + -73.815925 + ] + } + }, + "200": { + "id": "200", + "location": [ + 40.588034, + -73.813641 + ], + "name": "Beach 90 St", + "stops": { + "H12": [ + 40.588034, + -73.813641 + ] + } + }, + "201": { + "id": "201", + "location": [ + 40.585307, + -73.820558 + ], + "name": "Beach 98 St", + "stops": { + "H13": [ + 40.585307, + -73.820558 + ] + } + }, + "202": { + "id": "202", + "location": [ + 40.583209, + -73.827559 + ], + "name": "Beach 105 St", + "stops": { + "H14": [ + 40.583209, + -73.827559 + ] + } + }, + "203": { + "id": "203", + "location": [ + 40.580903, + -73.835592 + ], + "name": "Rockaway Park-Beach 116 St", + "stops": { + "H15": [ + 40.580903, + -73.835592 + ] + } + }, + "204": { + "id": "204", + "location": [ + 40.590927, + -73.796924 + ], + "name": "Beach 67 St", + "stops": { + "H06": [ + 40.590927, + -73.796924 + ] + } + }, + "205": { + "id": "205", + "location": [ + 40.592374, + -73.788522 + ], + "name": "Beach 60 St", + "stops": { + "H07": [ + 40.592374, + -73.788522 + ] + } + }, + "206": { + "id": "206", + "location": [ + 40.592943, + -73.776013 + ], + "name": "Beach 44 St", + "stops": { + "H08": [ + 40.592943, + -73.776013 + ] + } + }, + "207": { + "id": "207", + "location": [ + 40.595398, + -73.768175 + ], + "name": "Beach 36 St", + "stops": { + "H09": [ + 40.595398, + -73.768175 + ] + } + }, + "208": { + "id": "208", + "location": [ + 40.600066, + -73.761353 + ], + "name": "Beach 25 St", + "stops": { + "H10": [ + 40.600066, + -73.761353 + ] + } + }, + "209": { + "id": "209", + "location": [ + 40.603995, + -73.755405 + ], + "name": "Far Rockaway-Mott Av", + "stops": { + "H11": [ + 40.603995, + -73.755405 + ] + } + }, + "210": { + "id": "210", + "location": [ + 40.874811, + -73.878855 + ], + "name": "Norwood-205 St", + "stops": { + "D01": [ + 40.874811, + -73.878855 + ] + } + }, + "211": { + "id": "211", + "location": [ + 40.873244, + -73.887138 + ], + "name": "Bedford Park Blvd", + "stops": { + "D03": [ + 40.873244, + -73.887138 + ] + } + }, + "212": { + "id": "212", + "location": [ + 40.866978, + -73.893509 + ], + "name": "Kingsbridge Rd", + "stops": { + "D04": [ + 40.866978, + -73.893509 + ] + } + }, + "213": { + "id": "213", + "location": [ + 40.861296, + -73.897749 + ], + "name": "Fordham Rd", + "stops": { + "D05": [ + 40.861296, + -73.897749 + ] + } + }, + "214": { + "id": "214", + "location": [ + 40.856093, + -73.900741 + ], + "name": "182-183 Sts", + "stops": { + "D06": [ + 40.856093, + -73.900741 + ] + } + }, + "215": { + "id": "215", + "location": [ + 40.85041, + -73.905227 + ], + "name": "Tremont Av", + "stops": { + "D07": [ + 40.85041, + -73.905227 + ] + } + }, + "216": { + "id": "216", + "location": [ + 40.8459, + -73.910136 + ], + "name": "174-175 Sts", + "stops": { + "D08": [ + 40.8459, + -73.910136 + ] + } + }, + "217": { + "id": "217", + "location": [ + 40.839306, + -73.9134 + ], + "name": "170 St", + "stops": { + "D09": [ + 40.839306, + -73.9134 + ] + } + }, + "218": { + "id": "218", + "location": [ + 40.833771, + -73.91844 + ], + "name": "167 St", + "stops": { + "D10": [ + 40.833771, + -73.91844 + ] + } + }, + "604": { + "id": "604", + "location": [ + 40.827905, + -73.925651 + ], + "name": "161 St-Yankee Stadium", + "stops": { + "D11": [ + 40.827905, + -73.925651 + ], + "414": [ + 40.827994, + -73.925831 + ] + } + }, + "220": { + "id": "220", + "location": [ + 40.830135, + -73.938209 + ], + "name": "155 St", + "stops": { + "D12": [ + 40.830135, + -73.938209 + ] + } + }, + "221": { + "id": "221", + "location": [ + 40.754203, + -73.942836 + ], + "name": "21 St-Queensbridge", + "stops": { + "B04": [ + 40.754203, + -73.942836 + ] + } + }, + "222": { + "id": "222", + "location": [ + 40.759145, + -73.95326 + ], + "name": "Roosevelt Island", + "stops": { + "B06": [ + 40.759145, + -73.95326 + ] + } + }, + "223": { + "id": "223", + "location": [ + 40.764629, + -73.966113 + ], + "name": "Lexington Av/63 St", + "stops": { + "B08": [ + 40.764629, + -73.966113 + ] + } + }, + "224": { + "id": "224", + "location": [ + 40.763972, + -73.97745 + ], + "name": "57 St", + "stops": { + "B10": [ + 40.763972, + -73.97745 + ] + } + }, + "225": { + "id": "225", + "location": [ + 40.758663, + -73.981329 + ], + "name": "47-50 Sts-Rockefeller Ctr", + "stops": { + "D15": [ + 40.758663, + -73.981329 + ] + } + }, + "609": { + "id": "609", + "location": [ + 40.754222, + -73.984569 + ], + "name": "42 St-Bryant Pk", + "stops": { + "D16": [ + 40.754222, + -73.984569 + ], + "724": [ + 40.753821, + -73.981963 + ] + } + }, + "228": { + "id": "228", + "location": [ + 40.742878, + -73.992821 + ], + "name": "23 St", + "stops": { + "D18": [ + 40.742878, + -73.992821 + ] + } + }, + "619": { + "id": "619", + "location": [ + 40.725297, + -73.996204 + ], + "name": "Broadway-Lafayette St", + "stops": { + "D21": [ + 40.725297, + -73.996204 + ], + "637": [ + 40.725915, + -73.994659 + ] + } + }, + "231": { + "id": "231", + "location": [ + 40.718267, + -73.993753 + ], + "name": "Grand St", + "stops": { + "D22": [ + 40.718267, + -73.993753 + ] + } + }, + "232": { + "id": "232", + "location": [ + 40.723402, + -73.989938 + ], + "name": "2 Av", + "stops": { + "F14": [ + 40.723402, + -73.989938 + ] + } + }, + "234": { + "id": "234", + "location": [ + 40.713715, + -73.990173 + ], + "name": "East Broadway", + "stops": { + "F16": [ + 40.713715, + -73.990173 + ] + } + }, + "235": { + "id": "235", + "location": [ + 40.701397, + -73.986751 + ], + "name": "York St", + "stops": { + "F18": [ + 40.701397, + -73.986751 + ] + } + }, + "236": { + "id": "236", + "location": [ + 40.686145, + -73.990862 + ], + "name": "Bergen St", + "stops": { + "F20": [ + 40.686145, + -73.990862 + ] + } + }, + "237": { + "id": "237", + "location": [ + 40.680303, + -73.995048 + ], + "name": "Carroll St", + "stops": { + "F21": [ + 40.680303, + -73.995048 + ] + } + }, + "238": { + "id": "238", + "location": [ + 40.67358, + -73.995959 + ], + "name": "Smith-9 Sts", + "stops": { + "F22": [ + 40.67358, + -73.995959 + ] + } + }, + "240": { + "id": "240", + "location": [ + 40.666271, + -73.980305 + ], + "name": "7 Av", + "stops": { + "F24": [ + 40.666271, + -73.980305 + ] + } + }, + "241": { + "id": "241", + "location": [ + 40.660365, + -73.979493 + ], + "name": "15 St-Prospect Park", + "stops": { + "F25": [ + 40.660365, + -73.979493 + ] + } + }, + "242": { + "id": "242", + "location": [ + 40.650782, + -73.975776 + ], + "name": "Fort Hamilton Pkwy", + "stops": { + "F26": [ + 40.650782, + -73.975776 + ] + } + }, + "243": { + "id": "243", + "location": [ + 40.644041, + -73.979678 + ], + "name": "Church Av", + "stops": { + "F27": [ + 40.644041, + -73.979678 + ] + } + }, + "244": { + "id": "244", + "location": [ + 40.636119, + -73.978172 + ], + "name": "Ditmas Av", + "stops": { + "F29": [ + 40.636119, + -73.978172 + ] + } + }, + "245": { + "id": "245", + "location": [ + 40.629755, + -73.976971 + ], + "name": "18 Av", + "stops": { + "F30": [ + 40.629755, + -73.976971 + ] + } + }, + "246": { + "id": "246", + "location": [ + 40.625322, + -73.976127 + ], + "name": "Avenue I", + "stops": { + "F31": [ + 40.625322, + -73.976127 + ] + } + }, + "247": { + "id": "247", + "location": [ + 40.620769, + -73.975264 + ], + "name": "Bay Pkwy", + "stops": { + "F32": [ + 40.620769, + -73.975264 + ] + } + }, + "248": { + "id": "248", + "location": [ + 40.61514, + -73.974197 + ], + "name": "Avenue N", + "stops": { + "F33": [ + 40.61514, + -73.974197 + ] + } + }, + "249": { + "id": "249", + "location": [ + 40.608944, + -73.973022 + ], + "name": "Avenue P", + "stops": { + "F34": [ + 40.608944, + -73.973022 + ] + } + }, + "250": { + "id": "250", + "location": [ + 40.603217, + -73.972361 + ], + "name": "Kings Hwy", + "stops": { + "F35": [ + 40.603217, + -73.972361 + ] + } + }, + "251": { + "id": "251", + "location": [ + 40.596063, + -73.973357 + ], + "name": "Avenue U", + "stops": { + "F36": [ + 40.596063, + -73.973357 + ] + } + }, + "252": { + "id": "252", + "location": [ + 40.58962, + -73.97425 + ], + "name": "Avenue X", + "stops": { + "F38": [ + 40.58962, + -73.97425 + ] + } + }, + "253": { + "id": "253", + "location": [ + 40.581011, + -73.974574 + ], + "name": "Neptune Av", + "stops": { + "F39": [ + 40.581011, + -73.974574 + ] + } + }, + "254": { + "id": "254", + "location": [ + 40.712646, + -73.783817 + ], + "name": "Jamaica-179 St", + "stops": { + "F01": [ + 40.712646, + -73.783817 + ] + } + }, + "255": { + "id": "255", + "location": [ + 40.71047, + -73.793604 + ], + "name": "169 St", + "stops": { + "F02": [ + 40.71047, + -73.793604 + ] + } + }, + "256": { + "id": "256", + "location": [ + 40.707564, + -73.803326 + ], + "name": "Parsons Blvd", + "stops": { + "F03": [ + 40.707564, + -73.803326 + ] + } + }, + "257": { + "id": "257", + "location": [ + 40.70546, + -73.810708 + ], + "name": "Sutphin Blvd", + "stops": { + "F04": [ + 40.70546, + -73.810708 + ] + } + }, + "258": { + "id": "258", + "location": [ + 40.709179, + -73.820574 + ], + "name": "Briarwood", + "stops": { + "F05": [ + 40.709179, + -73.820574 + ] + } + }, + "259": { + "id": "259", + "location": [ + 40.714441, + -73.831008 + ], + "name": "Kew Gardens-Union Tpke", + "stops": { + "F06": [ + 40.714441, + -73.831008 + ] + } + }, + "260": { + "id": "260", + "location": [ + 40.718331, + -73.837324 + ], + "name": "75 Av", + "stops": { + "F07": [ + 40.718331, + -73.837324 + ] + } + }, + "261": { + "id": "261", + "location": [ + 40.721691, + -73.844521 + ], + "name": "Forest Hills-71 Av", + "stops": { + "G08": [ + 40.721691, + -73.844521 + ] + } + }, + "262": { + "id": "262", + "location": [ + 40.726523, + -73.852719 + ], + "name": "67 Av", + "stops": { + "G09": [ + 40.726523, + -73.852719 + ] + } + }, + "263": { + "id": "263", + "location": [ + 40.729846, + -73.861604 + ], + "name": "63 Dr-Rego Park", + "stops": { + "G10": [ + 40.729846, + -73.861604 + ] + } + }, + "264": { + "id": "264", + "location": [ + 40.733106, + -73.869229 + ], + "name": "Woodhaven Blvd", + "stops": { + "G11": [ + 40.733106, + -73.869229 + ] + } + }, + "265": { + "id": "265", + "location": [ + 40.737015, + -73.877223 + ], + "name": "Grand Av-Newtown", + "stops": { + "G12": [ + 40.737015, + -73.877223 + ] + } + }, + "266": { + "id": "266", + "location": [ + 40.742454, + -73.882017 + ], + "name": "Elmhurst Av", + "stops": { + "G13": [ + 40.742454, + -73.882017 + ] + } + }, + "616": { + "id": "616", + "location": [ + 40.746644, + -73.891338 + ], + "name": "Jackson Hts-Roosevelt Av", + "stops": { + "G14": [ + 40.746644, + -73.891338 + ], + "710": [ + 40.746848, + -73.891394 + ] + } + }, + "268": { + "id": "268", + "location": [ + 40.749669, + -73.898453 + ], + "name": "65 St", + "stops": { + "G15": [ + 40.749669, + -73.898453 + ] + } + }, + "269": { + "id": "269", + "location": [ + 40.752885, + -73.906006 + ], + "name": "Northern Blvd", + "stops": { + "G16": [ + 40.752885, + -73.906006 + ] + } + }, + "270": { + "id": "270", + "location": [ + 40.756312, + -73.913333 + ], + "name": "46 St", + "stops": { + "G18": [ + 40.756312, + -73.913333 + ] + } + }, + "271": { + "id": "271", + "location": [ + 40.756879, + -73.92074 + ], + "name": "Steinway St", + "stops": { + "G19": [ + 40.756879, + -73.92074 + ] + } + }, + "272": { + "id": "272", + "location": [ + 40.752039, + -73.928781 + ], + "name": "36 St", + "stops": { + "G20": [ + 40.752039, + -73.928781 + ] + } + }, + "273": { + "id": "273", + "location": [ + 40.748973, + -73.937243 + ], + "name": "Queens Plaza", + "stops": { + "G21": [ + 40.748973, + -73.937243 + ] + } + }, + "606": { + "id": "606", + "location": [ + 40.747846, + -73.946 + ], + "name": "Court Sq-23 St", + "stops": { + "F09": [ + 40.747846, + -73.946 + ], + "G22": [ + 40.746554, + -73.943832 + ], + "719": [ + 40.747023, + -73.945264 + ] + } + }, + "612": { + "id": "612", + "location": [ + 40.757552, + -73.969055 + ], + "name": "Lexington Av/53 St", + "stops": { + "F11": [ + 40.757552, + -73.969055 + ], + "630": [ + 40.757107, + -73.97192 + ] + } + }, + "276": { + "id": "276", + "location": [ + 40.760167, + -73.975224 + ], + "name": "5 Av/53 St", + "stops": { + "F12": [ + 40.760167, + -73.975224 + ] + } + }, + "277": { + "id": "277", + "location": [ + 40.762862, + -73.981637 + ], + "name": "7 Av", + "stops": { + "D14": [ + 40.762862, + -73.981637 + ] + } + }, + "278": { + "id": "278", + "location": [ + 40.702147, + -73.801109 + ], + "name": "Jamaica Center-Parsons/Archer", + "stops": { + "G05": [ + 40.702147, + -73.801109 + ] + } + }, + "279": { + "id": "279", + "location": [ + 40.700486, + -73.807969 + ], + "name": "Sutphin Blvd-Archer Av-JFK Airport", + "stops": { + "G06": [ + 40.700486, + -73.807969 + ] + } + }, + "280": { + "id": "280", + "location": [ + 40.702566, + -73.816859 + ], + "name": "Jamaica-Van Wyck", + "stops": { + "G07": [ + 40.702566, + -73.816859 + ] + } + }, + "282": { + "id": "282", + "location": [ + 40.744065, + -73.949724 + ], + "name": "21 St", + "stops": { + "G24": [ + 40.744065, + -73.949724 + ] + } + }, + "283": { + "id": "283", + "location": [ + 40.731352, + -73.954449 + ], + "name": "Greenpoint Av", + "stops": { + "G26": [ + 40.731352, + -73.954449 + ] + } + }, + "284": { + "id": "284", + "location": [ + 40.724635, + -73.951277 + ], + "name": "Nassau Av", + "stops": { + "G28": [ + 40.724635, + -73.951277 + ] + } + }, + "286": { + "id": "286", + "location": [ + 40.706092, + -73.950308 + ], + "name": "Broadway", + "stops": { + "G30": [ + 40.706092, + -73.950308 + ] + } + }, + "287": { + "id": "287", + "location": [ + 40.700377, + -73.950234 + ], + "name": "Flushing Av", + "stops": { + "G31": [ + 40.700377, + -73.950234 + ] + } + }, + "288": { + "id": "288", + "location": [ + 40.694568, + -73.949046 + ], + "name": "Myrtle-Willoughby Avs", + "stops": { + "G32": [ + 40.694568, + -73.949046 + ] + } + }, + "289": { + "id": "289", + "location": [ + 40.689627, + -73.953522 + ], + "name": "Bedford-Nostrand Avs", + "stops": { + "G33": [ + 40.689627, + -73.953522 + ] + } + }, + "290": { + "id": "290", + "location": [ + 40.688873, + -73.96007 + ], + "name": "Classon Av", + "stops": { + "G34": [ + 40.688873, + -73.96007 + ] + } + }, + "291": { + "id": "291", + "location": [ + 40.688089, + -73.966839 + ], + "name": "Clinton-Washington Avs", + "stops": { + "G35": [ + 40.688089, + -73.966839 + ] + } + }, + "292": { + "id": "292", + "location": [ + 40.687119, + -73.975375 + ], + "name": "Fulton St", + "stops": { + "G36": [ + 40.687119, + -73.975375 + ] + } + }, + "293": { + "id": "293", + "location": [ + 40.889248, + -73.898583 + ], + "name": "Van Cortlandt Park-242 St", + "stops": { + "101": [ + 40.889248, + -73.898583 + ] + } + }, + "294": { + "id": "294", + "location": [ + 40.884667, + -73.90087 + ], + "name": "238 St", + "stops": { + "103": [ + 40.884667, + -73.90087 + ] + } + }, + "295": { + "id": "295", + "location": [ + 40.878856, + -73.904834 + ], + "name": "231 St", + "stops": { + "104": [ + 40.878856, + -73.904834 + ] + } + }, + "296": { + "id": "296", + "location": [ + 40.874561, + -73.909831 + ], + "name": "Marble Hill-225 St", + "stops": { + "106": [ + 40.874561, + -73.909831 + ] + } + }, + "297": { + "id": "297", + "location": [ + 40.869444, + -73.915279 + ], + "name": "215 St", + "stops": { + "107": [ + 40.869444, + -73.915279 + ] + } + }, + "298": { + "id": "298", + "location": [ + 40.864621, + -73.918822 + ], + "name": "207 St", + "stops": { + "108": [ + 40.864621, + -73.918822 + ] + } + }, + "299": { + "id": "299", + "location": [ + 40.860531, + -73.925536 + ], + "name": "Dyckman St", + "stops": { + "109": [ + 40.860531, + -73.925536 + ] + } + }, + "300": { + "id": "300", + "location": [ + 40.855225, + -73.929412 + ], + "name": "191 St", + "stops": { + "110": [ + 40.855225, + -73.929412 + ] + } + }, + "301": { + "id": "301", + "location": [ + 40.849505, + -73.933596 + ], + "name": "181 St", + "stops": { + "111": [ + 40.849505, + -73.933596 + ] + } + }, + "303": { + "id": "303", + "location": [ + 40.834041, + -73.94489 + ], + "name": "157 St", + "stops": { + "113": [ + 40.834041, + -73.94489 + ] + } + }, + "304": { + "id": "304", + "location": [ + 40.826551, + -73.95036 + ], + "name": "145 St", + "stops": { + "114": [ + 40.826551, + -73.95036 + ] + } + }, + "305": { + "id": "305", + "location": [ + 40.822008, + -73.953676 + ], + "name": "137 St-City College", + "stops": { + "115": [ + 40.822008, + -73.953676 + ] + } + }, + "306": { + "id": "306", + "location": [ + 40.815581, + -73.958372 + ], + "name": "125 St", + "stops": { + "116": [ + 40.815581, + -73.958372 + ] + } + }, + "307": { + "id": "307", + "location": [ + 40.807722, + -73.96411 + ], + "name": "116 St-Columbia University", + "stops": { + "117": [ + 40.807722, + -73.96411 + ] + } + }, + "308": { + "id": "308", + "location": [ + 40.803967, + -73.966847 + ], + "name": "Cathedral Pkwy (110 St)", + "stops": { + "118": [ + 40.803967, + -73.966847 + ] + } + }, + "309": { + "id": "309", + "location": [ + 40.799446, + -73.968379 + ], + "name": "103 St", + "stops": { + "119": [ + 40.799446, + -73.968379 + ] + } + }, + "310": { + "id": "310", + "location": [ + 40.793919, + -73.972323 + ], + "name": "96 St", + "stops": { + "120": [ + 40.793919, + -73.972323 + ] + } + }, + "311": { + "id": "311", + "location": [ + 40.788644, + -73.976218 + ], + "name": "86 St", + "stops": { + "121": [ + 40.788644, + -73.976218 + ] + } + }, + "312": { + "id": "312", + "location": [ + 40.783934, + -73.979917 + ], + "name": "79 St", + "stops": { + "122": [ + 40.783934, + -73.979917 + ] + } + }, + "313": { + "id": "313", + "location": [ + 40.778453, + -73.98197 + ], + "name": "72 St", + "stops": { + "123": [ + 40.778453, + -73.98197 + ] + } + }, + "314": { + "id": "314", + "location": [ + 40.77344, + -73.982209 + ], + "name": "66 St-Lincoln Center", + "stops": { + "124": [ + 40.77344, + -73.982209 + ] + } + }, + "316": { + "id": "316", + "location": [ + 40.761728, + -73.983849 + ], + "name": "50 St", + "stops": { + "126": [ + 40.761728, + -73.983849 + ] + } + }, + "318": { + "id": "318", + "location": [ + 40.750373, + -73.991057 + ], + "name": "34 St-Penn Station", + "stops": { + "128": [ + 40.750373, + -73.991057 + ] + } + }, + "319": { + "id": "319", + "location": [ + 40.747215, + -73.993365 + ], + "name": "28 St", + "stops": { + "129": [ + 40.747215, + -73.993365 + ] + } + }, + "320": { + "id": "320", + "location": [ + 40.744081, + -73.995657 + ], + "name": "23 St", + "stops": { + "130": [ + 40.744081, + -73.995657 + ] + } + }, + "321": { + "id": "321", + "location": [ + 40.74104, + -73.997871 + ], + "name": "18 St", + "stops": { + "131": [ + 40.74104, + -73.997871 + ] + } + }, + "323": { + "id": "323", + "location": [ + 40.733422, + -74.002906 + ], + "name": "Christopher St-Sheridan Sq", + "stops": { + "133": [ + 40.733422, + -74.002906 + ] + } + }, + "324": { + "id": "324", + "location": [ + 40.728251, + -74.005367 + ], + "name": "Houston St", + "stops": { + "134": [ + 40.728251, + -74.005367 + ] + } + }, + "325": { + "id": "325", + "location": [ + 40.722854, + -74.006277 + ], + "name": "Canal St", + "stops": { + "135": [ + 40.722854, + -74.006277 + ] + } + }, + "326": { + "id": "326", + "location": [ + 40.719318, + -74.006886 + ], + "name": "Franklin St", + "stops": { + "136": [ + 40.719318, + -74.006886 + ] + } + }, + "327": { + "id": "327", + "location": [ + 40.715478, + -74.009266 + ], + "name": "Chambers St", + "stops": { + "137": [ + 40.715478, + -74.009266 + ] + } + }, + "328": { + "id": "328", + "location": [ + 40.711835, + -74.012188 + ], + "name": "WTC Cortlandt", + "stops": { + "138": [ + 40.711835, + -74.012188 + ] + } + }, + "329": { + "id": "329", + "location": [ + 40.707513, + -74.013783 + ], + "name": "Rector St", + "stops": { + "139": [ + 40.707513, + -74.013783 + ] + } + }, + "333": { + "id": "333", + "location": [ + 40.706821, + -74.0091 + ], + "name": "Wall St", + "stops": { + "230": [ + 40.706821, + -74.0091 + ] + } + }, + "334": { + "id": "334", + "location": [ + 40.697466, + -73.993086 + ], + "name": "Clark St", + "stops": { + "231": [ + 40.697466, + -73.993086 + ] + } + }, + "336": { + "id": "336", + "location": [ + 40.690545, + -73.985065 + ], + "name": "Hoyt St", + "stops": { + "233": [ + 40.690545, + -73.985065 + ] + } + }, + "337": { + "id": "337", + "location": [ + 40.688246, + -73.980492 + ], + "name": "Nevins St", + "stops": { + "234": [ + 40.688246, + -73.980492 + ] + } + }, + "339": { + "id": "339", + "location": [ + 40.680829, + -73.975098 + ], + "name": "Bergen St", + "stops": { + "236": [ + 40.680829, + -73.975098 + ] + } + }, + "340": { + "id": "340", + "location": [ + 40.675235, + -73.971046 + ], + "name": "Grand Army Plaza", + "stops": { + "237": [ + 40.675235, + -73.971046 + ] + } + }, + "341": { + "id": "341", + "location": [ + 40.671987, + -73.964375 + ], + "name": "Eastern Pkwy-Brooklyn Museum", + "stops": { + "238": [ + 40.671987, + -73.964375 + ] + } + }, + "343": { + "id": "343", + "location": [ + 40.669847, + -73.950466 + ], + "name": "Nostrand Av", + "stops": { + "248": [ + 40.669847, + -73.950466 + ] + } + }, + "344": { + "id": "344", + "location": [ + 40.669399, + -73.942161 + ], + "name": "Kingston Av", + "stops": { + "249": [ + 40.669399, + -73.942161 + ] + } + }, + "345": { + "id": "345", + "location": [ + 40.668897, + -73.932942 + ], + "name": "Crown Hts-Utica Av", + "stops": { + "250": [ + 40.668897, + -73.932942 + ] + } + }, + "346": { + "id": "346", + "location": [ + 40.664717, + -73.92261 + ], + "name": "Sutter Av-Rutland Rd", + "stops": { + "251": [ + 40.664717, + -73.92261 + ] + } + }, + "347": { + "id": "347", + "location": [ + 40.661453, + -73.916327 + ], + "name": "Saratoga Av", + "stops": { + "252": [ + 40.661453, + -73.916327 + ] + } + }, + "348": { + "id": "348", + "location": [ + 40.662549, + -73.908946 + ], + "name": "Rockaway Av", + "stops": { + "253": [ + 40.662549, + -73.908946 + ] + } + }, + "349": { + "id": "349", + "location": [ + 40.663515, + -73.902447 + ], + "name": "Junius St", + "stops": { + "254": [ + 40.663515, + -73.902447 + ] + } + }, + "350": { + "id": "350", + "location": [ + 40.664635, + -73.894895 + ], + "name": "Pennsylvania Av", + "stops": { + "255": [ + 40.664635, + -73.894895 + ] + } + }, + "351": { + "id": "351", + "location": [ + 40.665449, + -73.889395 + ], + "name": "Van Siclen Av", + "stops": { + "256": [ + 40.665449, + -73.889395 + ] + } + }, + "352": { + "id": "352", + "location": [ + 40.666235, + -73.884079 + ], + "name": "New Lots Av", + "stops": { + "257": [ + 40.666235, + -73.884079 + ] + } + }, + "353": { + "id": "353", + "location": [ + 40.667883, + -73.950683 + ], + "name": "President Street-Medgar Evers College", + "stops": { + "241": [ + 40.667883, + -73.950683 + ] + } + }, + "354": { + "id": "354", + "location": [ + 40.662742, + -73.95085 + ], + "name": "Sterling St", + "stops": { + "242": [ + 40.662742, + -73.95085 + ] + } + }, + "355": { + "id": "355", + "location": [ + 40.656652, + -73.9502 + ], + "name": "Winthrop St", + "stops": { + "243": [ + 40.656652, + -73.9502 + ] + } + }, + "356": { + "id": "356", + "location": [ + 40.650843, + -73.949575 + ], + "name": "Church Av", + "stops": { + "244": [ + 40.650843, + -73.949575 + ] + } + }, + "357": { + "id": "357", + "location": [ + 40.645098, + -73.948959 + ], + "name": "Beverly Rd", + "stops": { + "245": [ + 40.645098, + -73.948959 + ] + } + }, + "358": { + "id": "358", + "location": [ + 40.639967, + -73.948411 + ], + "name": "Newkirk Av - Little Haiti", + "stops": { + "246": [ + 40.639967, + -73.948411 + ] + } + }, + "359": { + "id": "359", + "location": [ + 40.632836, + -73.947642 + ], + "name": "Flatbush Av-Brooklyn College", + "stops": { + "247": [ + 40.632836, + -73.947642 + ] + } + }, + "360": { + "id": "360", + "location": [ + 40.852462, + -73.828121 + ], + "name": "Pelham Bay Park", + "stops": { + "601": [ + 40.852462, + -73.828121 + ] + } + }, + "361": { + "id": "361", + "location": [ + 40.84681, + -73.832569 + ], + "name": "Buhre Av", + "stops": { + "602": [ + 40.84681, + -73.832569 + ] + } + }, + "362": { + "id": "362", + "location": [ + 40.843863, + -73.836322 + ], + "name": "Middletown Rd", + "stops": { + "603": [ + 40.843863, + -73.836322 + ] + } + }, + "363": { + "id": "363", + "location": [ + 40.839892, + -73.842952 + ], + "name": "Westchester Sq-E Tremont Av", + "stops": { + "604": [ + 40.839892, + -73.842952 + ] + } + }, + "364": { + "id": "364", + "location": [ + 40.836488, + -73.847036 + ], + "name": "Zerega Av", + "stops": { + "606": [ + 40.836488, + -73.847036 + ] + } + }, + "365": { + "id": "365", + "location": [ + 40.834255, + -73.851222 + ], + "name": "Castle Hill Av", + "stops": { + "607": [ + 40.834255, + -73.851222 + ] + } + }, + "366": { + "id": "366", + "location": [ + 40.833226, + -73.860816 + ], + "name": "Parkchester", + "stops": { + "608": [ + 40.833226, + -73.860816 + ] + } + }, + "367": { + "id": "367", + "location": [ + 40.831509, + -73.867618 + ], + "name": "St Lawrence Av", + "stops": { + "609": [ + 40.831509, + -73.867618 + ] + } + }, + "368": { + "id": "368", + "location": [ + 40.829521, + -73.874516 + ], + "name": "Morrison Av-Soundview", + "stops": { + "610": [ + 40.829521, + -73.874516 + ] + } + }, + "369": { + "id": "369", + "location": [ + 40.828584, + -73.879159 + ], + "name": "Elder Av", + "stops": { + "611": [ + 40.828584, + -73.879159 + ] + } + }, + "370": { + "id": "370", + "location": [ + 40.826525, + -73.886283 + ], + "name": "Whitlock Av", + "stops": { + "612": [ + 40.826525, + -73.886283 + ] + } + }, + "371": { + "id": "371", + "location": [ + 40.820948, + -73.890549 + ], + "name": "Hunts Point Av", + "stops": { + "613": [ + 40.820948, + -73.890549 + ] + } + }, + "372": { + "id": "372", + "location": [ + 40.816104, + -73.896435 + ], + "name": "Longwood Av", + "stops": { + "614": [ + 40.816104, + -73.896435 + ] + } + }, + "373": { + "id": "373", + "location": [ + 40.812118, + -73.904098 + ], + "name": "E 149 St", + "stops": { + "615": [ + 40.812118, + -73.904098 + ] + } + }, + "374": { + "id": "374", + "location": [ + 40.808719, + -73.907657 + ], + "name": "E 143 St-St Mary's St", + "stops": { + "616": [ + 40.808719, + -73.907657 + ] + } + }, + "375": { + "id": "375", + "location": [ + 40.805368, + -73.914042 + ], + "name": "Cypress Av", + "stops": { + "617": [ + 40.805368, + -73.914042 + ] + } + }, + "376": { + "id": "376", + "location": [ + 40.807566, + -73.91924 + ], + "name": "Brook Av", + "stops": { + "618": [ + 40.807566, + -73.91924 + ] + } + }, + "377": { + "id": "377", + "location": [ + 40.810476, + -73.926138 + ], + "name": "3 Av-138 St", + "stops": { + "619": [ + 40.810476, + -73.926138 + ] + } + }, + "378": { + "id": "378", + "location": [ + 40.886037, + -73.878751 + ], + "name": "Woodlawn", + "stops": { + "401": [ + 40.886037, + -73.878751 + ] + } + }, + "379": { + "id": "379", + "location": [ + 40.87975, + -73.884655 + ], + "name": "Mosholu Pkwy", + "stops": { + "402": [ + 40.87975, + -73.884655 + ] + } + }, + "380": { + "id": "380", + "location": [ + 40.873412, + -73.890064 + ], + "name": "Bedford Park Blvd-Lehman College", + "stops": { + "405": [ + 40.873412, + -73.890064 + ] + } + }, + "381": { + "id": "381", + "location": [ + 40.86776, + -73.897174 + ], + "name": "Kingsbridge Rd", + "stops": { + "406": [ + 40.86776, + -73.897174 + ] + } + }, + "382": { + "id": "382", + "location": [ + 40.862803, + -73.901034 + ], + "name": "Fordham Rd", + "stops": { + "407": [ + 40.862803, + -73.901034 + ] + } + }, + "383": { + "id": "383", + "location": [ + 40.858407, + -73.903879 + ], + "name": "183 St", + "stops": { + "408": [ + 40.858407, + -73.903879 + ] + } + }, + "384": { + "id": "384", + "location": [ + 40.853453, + -73.907684 + ], + "name": "Burnside Av", + "stops": { + "409": [ + 40.853453, + -73.907684 + ] + } + }, + "385": { + "id": "385", + "location": [ + 40.84848, + -73.911794 + ], + "name": "176 St", + "stops": { + "410": [ + 40.84848, + -73.911794 + ] + } + }, + "386": { + "id": "386", + "location": [ + 40.844434, + -73.914685 + ], + "name": "Mt Eden Av", + "stops": { + "411": [ + 40.844434, + -73.914685 + ] + } + }, + "387": { + "id": "387", + "location": [ + 40.840075, + -73.917791 + ], + "name": "170 St", + "stops": { + "412": [ + 40.840075, + -73.917791 + ] + } + }, + "388": { + "id": "388", + "location": [ + 40.835537, + -73.9214 + ], + "name": "167 St", + "stops": { + "413": [ + 40.835537, + -73.9214 + ] + } + }, + "603": { + "id": "603", + "location": [ + 40.818375, + -73.927351 + ], + "name": "149 St-Grand Concourse", + "stops": { + "415": [ + 40.818375, + -73.927351 + ], + "222": [ + 40.81841, + -73.926718 + ] + } + }, + "391": { + "id": "391", + "location": [ + 40.813224, + -73.929849 + ], + "name": "138 St-Grand Concourse", + "stops": { + "416": [ + 40.813224, + -73.929849 + ] + } + }, + "392": { + "id": "392", + "location": [ + 40.804138, + -73.937594 + ], + "name": "125 St", + "stops": { + "621": [ + 40.804138, + -73.937594 + ] + } + }, + "393": { + "id": "393", + "location": [ + 40.798629, + -73.941617 + ], + "name": "116 St", + "stops": { + "622": [ + 40.798629, + -73.941617 + ] + } + }, + "394": { + "id": "394", + "location": [ + 40.79502, + -73.94425 + ], + "name": "110 St", + "stops": { + "623": [ + 40.79502, + -73.94425 + ] + } + }, + "395": { + "id": "395", + "location": [ + 40.7906, + -73.947478 + ], + "name": "103 St", + "stops": { + "624": [ + 40.7906, + -73.947478 + ] + } + }, + "396": { + "id": "396", + "location": [ + 40.785672, + -73.95107 + ], + "name": "96 St", + "stops": { + "625": [ + 40.785672, + -73.95107 + ] + } + }, + "397": { + "id": "397", + "location": [ + 40.779492, + -73.955589 + ], + "name": "86 St", + "stops": { + "626": [ + 40.779492, + -73.955589 + ] + } + }, + "398": { + "id": "398", + "location": [ + 40.77362, + -73.959874 + ], + "name": "77 St", + "stops": { + "627": [ + 40.77362, + -73.959874 + ] + } + }, + "399": { + "id": "399", + "location": [ + 40.768141, + -73.96387 + ], + "name": "68 St-Hunter College", + "stops": { + "628": [ + 40.768141, + -73.96387 + ] + } + }, + "610": { + "id": "610", + "location": [ + 40.751776, + -73.976848 + ], + "name": "Grand Central-42 St", + "stops": { + "631": [ + 40.751776, + -73.976848 + ], + "723": [ + 40.751431, + -73.976041 + ], + "901": [ + 40.752769, + -73.979189 + ] + } + }, + "403": { + "id": "403", + "location": [ + 40.746081, + -73.982076 + ], + "name": "33 St", + "stops": { + "632": [ + 40.746081, + -73.982076 + ] + } + }, + "404": { + "id": "404", + "location": [ + 40.74307, + -73.984264 + ], + "name": "28 St", + "stops": { + "633": [ + 40.74307, + -73.984264 + ] + } + }, + "405": { + "id": "405", + "location": [ + 40.739864, + -73.986599 + ], + "name": "23 St", + "stops": { + "634": [ + 40.739864, + -73.986599 + ] + } + }, + "407": { + "id": "407", + "location": [ + 40.730054, + -73.99107 + ], + "name": "Astor Pl", + "stops": { + "636": [ + 40.730054, + -73.99107 + ] + } + }, + "409": { + "id": "409", + "location": [ + 40.722301, + -73.997141 + ], + "name": "Spring St", + "stops": { + "638": [ + 40.722301, + -73.997141 + ] + } + }, + "413": { + "id": "413", + "location": [ + 40.707557, + -74.011862 + ], + "name": "Wall St", + "stops": { + "419": [ + 40.707557, + -74.011862 + ] + } + }, + "414": { + "id": "414", + "location": [ + 40.704817, + -74.014065 + ], + "name": "Bowling Green", + "stops": { + "420": [ + 40.704817, + -74.014065 + ] + } + }, + "416": { + "id": "416", + "location": [ + 40.903125, + -73.85062 + ], + "name": "Wakefield-241 St", + "stops": { + "201": [ + 40.903125, + -73.85062 + ] + } + }, + "417": { + "id": "417", + "location": [ + 40.898379, + -73.854376 + ], + "name": "Nereid Av", + "stops": { + "204": [ + 40.898379, + -73.854376 + ] + } + }, + "418": { + "id": "418", + "location": [ + 40.893193, + -73.857473 + ], + "name": "233 St", + "stops": { + "205": [ + 40.893193, + -73.857473 + ] + } + }, + "419": { + "id": "419", + "location": [ + 40.888022, + -73.860341 + ], + "name": "225 St", + "stops": { + "206": [ + 40.888022, + -73.860341 + ] + } + }, + "420": { + "id": "420", + "location": [ + 40.883895, + -73.862633 + ], + "name": "219 St", + "stops": { + "207": [ + 40.883895, + -73.862633 + ] + } + }, + "421": { + "id": "421", + "location": [ + 40.87785, + -73.866256 + ], + "name": "Gun Hill Rd", + "stops": { + "208": [ + 40.87785, + -73.866256 + ] + } + }, + "422": { + "id": "422", + "location": [ + 40.871356, + -73.867164 + ], + "name": "Burke Av", + "stops": { + "209": [ + 40.871356, + -73.867164 + ] + } + }, + "423": { + "id": "423", + "location": [ + 40.865462, + -73.867352 + ], + "name": "Allerton Av", + "stops": { + "210": [ + 40.865462, + -73.867352 + ] + } + }, + "424": { + "id": "424", + "location": [ + 40.857192, + -73.867615 + ], + "name": "Pelham Pkwy", + "stops": { + "211": [ + 40.857192, + -73.867615 + ] + } + }, + "425": { + "id": "425", + "location": [ + 40.848828, + -73.868457 + ], + "name": "Bronx Park East", + "stops": { + "212": [ + 40.848828, + -73.868457 + ] + } + }, + "426": { + "id": "426", + "location": [ + 40.841894, + -73.873488 + ], + "name": "E 180 St", + "stops": { + "213": [ + 40.841894, + -73.873488 + ] + } + }, + "427": { + "id": "427", + "location": [ + 40.840295, + -73.880049 + ], + "name": "West Farms Sq-E Tremont Av", + "stops": { + "214": [ + 40.840295, + -73.880049 + ] + } + }, + "428": { + "id": "428", + "location": [ + 40.837288, + -73.887734 + ], + "name": "174 St", + "stops": { + "215": [ + 40.837288, + -73.887734 + ] + } + }, + "429": { + "id": "429", + "location": [ + 40.829993, + -73.891865 + ], + "name": "Freeman St", + "stops": { + "216": [ + 40.829993, + -73.891865 + ] + } + }, + "430": { + "id": "430", + "location": [ + 40.824073, + -73.893064 + ], + "name": "Simpson St", + "stops": { + "217": [ + 40.824073, + -73.893064 + ] + } + }, + "431": { + "id": "431", + "location": [ + 40.822181, + -73.896736 + ], + "name": "Intervale Av", + "stops": { + "218": [ + 40.822181, + -73.896736 + ] + } + }, + "432": { + "id": "432", + "location": [ + 40.819585, + -73.90177 + ], + "name": "Prospect Av", + "stops": { + "219": [ + 40.819585, + -73.90177 + ] + } + }, + "433": { + "id": "433", + "location": [ + 40.81649, + -73.907807 + ], + "name": "Jackson Av", + "stops": { + "220": [ + 40.81649, + -73.907807 + ] + } + }, + "434": { + "id": "434", + "location": [ + 40.816109, + -73.917757 + ], + "name": "3 Av-149 St", + "stops": { + "221": [ + 40.816109, + -73.917757 + ] + } + }, + "436": { + "id": "436", + "location": [ + 40.82388, + -73.93647 + ], + "name": "Harlem-148 St", + "stops": { + "301": [ + 40.82388, + -73.93647 + ] + } + }, + "437": { + "id": "437", + "location": [ + 40.820421, + -73.936245 + ], + "name": "145 St", + "stops": { + "302": [ + 40.820421, + -73.936245 + ] + } + }, + "438": { + "id": "438", + "location": [ + 40.814229, + -73.94077 + ], + "name": "135 St", + "stops": { + "224": [ + 40.814229, + -73.94077 + ] + } + }, + "439": { + "id": "439", + "location": [ + 40.807754, + -73.945495 + ], + "name": "125 St", + "stops": { + "225": [ + 40.807754, + -73.945495 + ] + } + }, + "440": { + "id": "440", + "location": [ + 40.802098, + -73.949625 + ], + "name": "116 St", + "stops": { + "226": [ + 40.802098, + -73.949625 + ] + } + }, + "441": { + "id": "441", + "location": [ + 40.799075, + -73.951822 + ], + "name": "Central Park North (110 St)", + "stops": { + "227": [ + 40.799075, + -73.951822 + ] + } + }, + "442": { + "id": "442", + "location": [ + 40.8883, + -73.830834 + ], + "name": "Eastchester-Dyre Av", + "stops": { + "501": [ + 40.8883, + -73.830834 + ] + } + }, + "443": { + "id": "443", + "location": [ + 40.878663, + -73.838591 + ], + "name": "Baychester Av", + "stops": { + "502": [ + 40.878663, + -73.838591 + ] + } + }, + "444": { + "id": "444", + "location": [ + 40.869526, + -73.846384 + ], + "name": "Gun Hill Rd", + "stops": { + "503": [ + 40.869526, + -73.846384 + ] + } + }, + "445": { + "id": "445", + "location": [ + 40.858985, + -73.855359 + ], + "name": "Pelham Pkwy", + "stops": { + "504": [ + 40.858985, + -73.855359 + ] + } + }, + "446": { + "id": "446", + "location": [ + 40.854364, + -73.860495 + ], + "name": "Morris Park", + "stops": { + "505": [ + 40.854364, + -73.860495 + ] + } + }, + "447": { + "id": "447", + "location": [ + 40.7596, + -73.83003 + ], + "name": "Flushing-Main St", + "stops": { + "701": [ + 40.7596, + -73.83003 + ] + } + }, + "448": { + "id": "448", + "location": [ + 40.754622, + -73.845625 + ], + "name": "Mets-Willets Point", + "stops": { + "702": [ + 40.754622, + -73.845625 + ] + } + }, + "449": { + "id": "449", + "location": [ + 40.75173, + -73.855334 + ], + "name": "111 St", + "stops": { + "705": [ + 40.75173, + -73.855334 + ] + } + }, + "450": { + "id": "450", + "location": [ + 40.749865, + -73.8627 + ], + "name": "103 St-Corona Plaza", + "stops": { + "706": [ + 40.749865, + -73.8627 + ] + } + }, + "451": { + "id": "451", + "location": [ + 40.749145, + -73.869527 + ], + "name": "Junction Blvd", + "stops": { + "707": [ + 40.749145, + -73.869527 + ] + } + }, + "452": { + "id": "452", + "location": [ + 40.748408, + -73.876613 + ], + "name": "90 St-Elmhurst Av", + "stops": { + "708": [ + 40.748408, + -73.876613 + ] + } + }, + "453": { + "id": "453", + "location": [ + 40.747659, + -73.883697 + ], + "name": "82 St-Jackson Hts", + "stops": { + "709": [ + 40.747659, + -73.883697 + ] + } + }, + "455": { + "id": "455", + "location": [ + 40.746325, + -73.896403 + ], + "name": "69 St", + "stops": { + "711": [ + 40.746325, + -73.896403 + ] + } + }, + "456": { + "id": "456", + "location": [ + 40.74563, + -73.902984 + ], + "name": "Woodside-61 St", + "stops": { + "712": [ + 40.74563, + -73.902984 + ] + } + }, + "457": { + "id": "457", + "location": [ + 40.744149, + -73.912549 + ], + "name": "52 St", + "stops": { + "713": [ + 40.744149, + -73.912549 + ] + } + }, + "458": { + "id": "458", + "location": [ + 40.743132, + -73.918435 + ], + "name": "46 St-Bliss St", + "stops": { + "714": [ + 40.743132, + -73.918435 + ] + } + }, + "459": { + "id": "459", + "location": [ + 40.743781, + -73.924016 + ], + "name": "40 St-Lowery St", + "stops": { + "715": [ + 40.743781, + -73.924016 + ] + } + }, + "460": { + "id": "460", + "location": [ + 40.744587, + -73.930997 + ], + "name": "33 St-Rawson St", + "stops": { + "716": [ + 40.744587, + -73.930997 + ] + } + }, + "461": { + "id": "461", + "location": [ + 40.750582, + -73.940202 + ], + "name": "Queensboro Plaza", + "stops": { + "718": [ + 40.750582, + -73.940202 + ], + "R09": [ + 40.750582, + -73.940202 + ] + } + }, + "463": { + "id": "463", + "location": [ + 40.742216, + -73.948916 + ], + "name": "Hunters Point Av", + "stops": { + "720": [ + 40.742216, + -73.948916 + ] + } + }, + "464": { + "id": "464", + "location": [ + 40.742626, + -73.953581 + ], + "name": "Vernon Blvd-Jackson Av", + "stops": { + "721": [ + 40.742626, + -73.953581 + ] + } + }, + "471": { + "id": "471", + "location": [ + 40.755882, + -74.00191 + ], + "name": "34 St-Hudson Yards", + "stops": { + "726": [ + 40.755882, + -74.00191 + ] + } + }, + "475": { + "id": "475", + "location": [ + 40.784318, + -73.947152 + ], + "name": "96 St", + "stops": { + "Q05": [ + 40.784318, + -73.947152 + ] + } + }, + "476": { + "id": "476", + "location": [ + 40.777891, + -73.951787 + ], + "name": "86 St", + "stops": { + "Q04": [ + 40.777891, + -73.951787 + ] + } + }, + "477": { + "id": "477", + "location": [ + 40.768799, + -73.958424 + ], + "name": "72 St", + "stops": { + "Q03": [ + 40.768799, + -73.958424 + ] + } + }, + "501": { + "id": "501", + "location": [ + 40.643748, + -74.073643 + ], + "name": "St George", + "stops": { + "S31": [ + 40.643748, + -74.073643 + ] + } + }, + "502": { + "id": "502", + "location": [ + 40.636949, + -74.074835 + ], + "name": "Tompkinsville", + "stops": { + "S30": [ + 40.636949, + -74.074835 + ] + } + }, + "503": { + "id": "503", + "location": [ + 40.627915, + -74.075162 + ], + "name": "Stapleton", + "stops": { + "S29": [ + 40.627915, + -74.075162 + ] + } + }, + "504": { + "id": "504", + "location": [ + 40.621319, + -74.071402 + ], + "name": "Clifton", + "stops": { + "S28": [ + 40.621319, + -74.071402 + ] + } + }, + "505": { + "id": "505", + "location": [ + 40.603117, + -74.084087 + ], + "name": "Grasmere", + "stops": { + "S27": [ + 40.603117, + -74.084087 + ] + } + }, + "506": { + "id": "506", + "location": [ + 40.596612, + -74.087368 + ], + "name": "Old Town", + "stops": { + "S26": [ + 40.596612, + -74.087368 + ] + } + }, + "507": { + "id": "507", + "location": [ + 40.588849, + -74.09609 + ], + "name": "Dongan Hills", + "stops": { + "S25": [ + 40.588849, + -74.09609 + ] + } + }, + "508": { + "id": "508", + "location": [ + 40.583591, + -74.103338 + ], + "name": "Jefferson Av", + "stops": { + "S24": [ + 40.583591, + -74.103338 + ] + } + }, + "509": { + "id": "509", + "location": [ + 40.578965, + -74.109704 + ], + "name": "Grant City", + "stops": { + "S23": [ + 40.578965, + -74.109704 + ] + } + }, + "510": { + "id": "510", + "location": [ + 40.57348, + -74.11721 + ], + "name": "New Dorp", + "stops": { + "S22": [ + 40.57348, + -74.11721 + ] + } + }, + "511": { + "id": "511", + "location": [ + 40.56511, + -74.12632 + ], + "name": "Oakwood Heights", + "stops": { + "S21": [ + 40.56511, + -74.12632 + ] + } + }, + "512": { + "id": "512", + "location": [ + 40.5564, + -74.136907 + ], + "name": "Bay Terrace", + "stops": { + "S20": [ + 40.5564, + -74.136907 + ] + } + }, + "513": { + "id": "513", + "location": [ + 40.551231, + -74.151399 + ], + "name": "Great Kills", + "stops": { + "S19": [ + 40.551231, + -74.151399 + ] + } + }, + "514": { + "id": "514", + "location": [ + 40.544601, + -74.16457 + ], + "name": "Eltingville", + "stops": { + "S18": [ + 40.544601, + -74.16457 + ] + } + }, + "515": { + "id": "515", + "location": [ + 40.54046, + -74.178217 + ], + "name": "Annadale", + "stops": { + "S17": [ + 40.54046, + -74.178217 + ] + } + }, + "516": { + "id": "516", + "location": [ + 40.533674, + -74.191794 + ], + "name": "Huguenot", + "stops": { + "S16": [ + 40.533674, + -74.191794 + ] + } + }, + "517": { + "id": "517", + "location": [ + 40.525507, + -74.200064 + ], + "name": "Prince's Bay", + "stops": { + "S15": [ + 40.525507, + -74.200064 + ] + } + }, + "518": { + "id": "518", + "location": [ + 40.52241, + -74.217847 + ], + "name": "Pleasant Plains", + "stops": { + "S14": [ + 40.52241, + -74.217847 + ] + } + }, + "519": { + "id": "519", + "location": [ + 40.519631, + -74.229141 + ], + "name": "Richmond Valley", + "stops": { + "S13": [ + 40.519631, + -74.229141 + ] + } + }, + "522": { + "id": "522", + "location": [ + 40.512764, + -74.251961 + ], + "name": "Tottenville", + "stops": { + "S09": [ + 40.512764, + -74.251961 + ] + } + }, + "523": { + "id": "523", + "location": [ + 40.516578, + -74.242096 + ], + "name": "Arthur Kill", + "stops": { + "S11": [ + 40.516578, + -74.242096 + ] + } + } } \ No newline at end of file diff --git a/scripts/make_stations_csv.py b/scripts/make_stations_csv.py deleted file mode 100755 index fd66de3..0000000 --- a/scripts/make_stations_csv.py +++ /dev/null @@ -1,62 +0,0 @@ -# Given GTFS stops.txt and transfers.txt, creates a stations.csv file of station groupings based on stations connected in transfers.txt. -# The stations.csv file can be edited to relabel and reorganize the groupings (groupings of more than one station appear at the top of the file). -# The edited stations.csv can be converted to a stations.json by make_stations_json.py. -# Assumes that transfers.txt only refers to GTFS "stations" (location_type 1) and that transfers.txt has transitive closure. - -import argparse, csv, json, sys - -def main(): - parser = argparse.ArgumentParser(description='Generate stations CSV file for use with make_stations_json.py') - parser.add_argument('stops_file', default='stops.txt') - parser.add_argument('transfers_file', default='transfers.txt') - args = parser.parse_args() - - stops = {} - transfers = {} - - # load stops into a dict - with open(args.stops_file, 'r') as f: - reader = csv.DictReader(f) - for row in reader: - if row['parent_station']: - continue - - stops[row['stop_id']] = { - 'name': row['stop_name'], - 'lat': row['stop_lat'], - 'lon': row['stop_lon'] - } - - # load transfer groups into a dict. duplicates will be filtered out later - with open(args.transfers_file, 'r') as f: - reader = csv.DictReader(f) - for row in reader: - if row['from_stop_id'] == row['to_stop_id']: - continue - - try: - transfers[row['from_stop_id']].add(row['to_stop_id']) - except KeyError as e: - transfers[row['from_stop_id']] = set([row['from_stop_id'], row['to_stop_id']]) - - # write CSV to stdout - writer = csv.writer(sys.stdout) - writer.writerow(['stop_id', 'name', 'lat', 'lon', 'parent_id']) - - # write grouped stops first for easy editing - for parent_id in transfers: - # skip duplicate groups - if parent_id > min(transfers[parent_id]): - continue - - for stop_id in transfers[parent_id]: - stop = stops.pop(stop_id) - writer.writerow([stop_id, stop['name'], stop['lat'], stop['lon'], parent_id]) - - # write the non-grouped stops - for stop_id in stops: - writer.writerow([stop_id, stops[stop_id]['name'], stops[stop_id]['lat'], stops[stop_id]['lon'], stop_id]) - - -if __name__ == '__main__': - main() diff --git a/scripts/make_stations_json.py b/scripts/make_stations_json.py old mode 100755 new mode 100644 index 9a5f0b6..dd9b50a --- a/scripts/make_stations_json.py +++ b/scripts/make_stations_json.py @@ -1,48 +1,60 @@ -# Given stations.csv, creates a stations.json of stop groupings where each group's lat/lon is the average of its member stops. +import requests +import csv +import json +import sys +import argparse -import argparse, csv, json, sys -from hashlib import md5 -ID_LENGTH = 4 +# This URL comes from the MTA developer data +# http://web.mta.info/developers/developer-data-terms.html#data +DEFAULT_STATIONS_URL = "https://atisdata.s3.amazonaws.com/Station/Stations.csv" + def main(): - parser = argparse.ArgumentParser(description='Generate stations JSON file for MtaSanitize server.') - parser.add_argument('stations_file', default='stations.json') + parser = argparse.ArgumentParser( + description="Generate stations JSON file for MtaSanitize server.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument( + "-o", + "--output", + default="stations.json", + help="Where to output the file to, use - for stdout.", + ) + parser.add_argument( + "-u", + "--url", + default=DEFAULT_STATIONS_URL, + help="Where to get the stations CSV from.", + ) args = parser.parse_args() - stations = {} - with open(args.stations_file, 'r') as f: - reader = csv.DictReader(f) - for row in reader: + output = {} + with requests.get(args.url) as r: - if row['parent_id'] in stations: - stations[row['parent_id']]['stops'][row['stop_id']] = [float(row['lat']), float(row['lon'])] - stations[row['parent_id']]['name'].add(row['name']) - else: - stations[row['parent_id']] = { - 'name': set([row['name']]), - 'stops': { - row['stop_id']: [float(row['lat']), float(row['lon'])] - } + reader = csv.DictReader(r.text.splitlines()) + for row in reader: + if not row["Complex ID"] in output: + output[row["Complex ID"]] = { + "id": row["Complex ID"], + "location": [ + float(row["GTFS Latitude"]), + float(row["GTFS Longitude"]), + ], + "name": row["Stop Name"], + "stops": {}, } + output[row["Complex ID"]]["stops"][row["GTFS Stop ID"]] = [ + float(row["GTFS Latitude"]), + float(row["GTFS Longitude"]), + ] - keyed_stations = {} - for station in stations.values(): - station['name'] = ' / '.join(station['name']) - station['location'] = [ - sum(v[0] for v in station['stops'].values()) / float(len(station['stops'])), - sum(v[1] for v in station['stops'].values()) / float(len(station['stops'])) - ] - station['id'] = md5(''.join(station['stops'].keys()).encode('utf-8')).hexdigest()[:ID_LENGTH] - - while station['id'] in keyed_stations: - # keep hashing til we get a unique ID - station['id'] = md5(station['id'].encode('utf-8')).hexdigest()[:ID_LENGTH] - - keyed_stations[station['id']] = station - - json.dump(keyed_stations, sys.stdout, sort_keys=True, indent=4, separators=(',', ': ')) + if args.output == "-": + json.dump(output, sys.stdout, indent=True) + else: + with open(args.output, "w") as f: + json.dump(output, f, indent=True) -if __name__ == '__main__': +if __name__ == "__main__": main()