Browse Source

incremental updates to AVLS view

* example data (from TCAT) so an example instance can be run
* conversion script to go from GTFS to geojson format the client expects
* some minor documentation additions
* map resizing works now
* added copyright headers
abram 4 years ago
parent
commit
3438e8d8da

+ 7 - 0
experimental/data/NOTES

@@ -0,0 +1,7 @@
+Notes
+===
+
+* `routes.txt` - has `route_id`
+* `shapes.txt` - has `shape_id`, `shape_pt_lat` and `shape_pt_lon` (and `shape_pt_sequence`)
+* `trips.txt` - has `route_id`, `shape_id`
+* `stops.txt` - has `stop_id` ... 

+ 2 - 0
experimental/data/agency.txt

@@ -0,0 +1,2 @@
+agency_id,agency_name,agency_url,agency_timezone,agency_lang,agency_phone,agency_fare_url,agency_email
+0,Tompkins Consolidated Area Transit Inc,http://www.tcatbus.com/,America/New_York,en,607-277-RIDE,https://www.tcatbus.com/ride/fare-pass-options/,support@availtec.com

+ 2 - 0
experimental/data/calendar.txt

@@ -0,0 +1,2 @@
+service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date
+1,1,1,1,1,1,1,1,20211104,20221103

+ 78 - 0
experimental/data/calendar_dates.txt

@@ -0,0 +1,78 @@
+service_id,date,exception_type
+13,20211107,1
+13,20211114,1
+13,20211121,1
+13,20211128,1
+13,20211205,1
+13,20211212,1
+13,20211219,1
+13,20211226,1
+13,20220102,1
+13,20220109,1
+13,20220116,1
+12,20211108,1
+12,20211115,1
+12,20211122,1
+12,20211129,1
+12,20211206,1
+12,20211213,1
+12,20211220,1
+12,20211227,1
+12,20220103,1
+12,20220110,1
+12,20220117,1
+12,20211109,1
+12,20211116,1
+12,20211123,1
+12,20211130,1
+12,20211207,1
+12,20211214,1
+12,20211221,1
+12,20211228,1
+12,20220104,1
+12,20220111,1
+12,20220118,1
+12,20211110,1
+12,20211117,1
+12,20211124,1
+12,20211201,1
+12,20211208,1
+12,20211215,1
+12,20211222,1
+12,20211229,1
+12,20220105,1
+12,20220112,1
+12,20220119,1
+12,20211104,1
+12,20211111,1
+12,20211118,1
+12,20211202,1
+12,20211209,1
+12,20211216,1
+12,20211223,1
+12,20211230,1
+12,20220106,1
+12,20220113,1
+12,20220120,1
+11,20211105,1
+11,20211112,1
+11,20211119,1
+11,20211126,1
+11,20211203,1
+11,20211210,1
+11,20211217,1
+11,20211224,1
+11,20211231,1
+11,20220107,1
+11,20220114,1
+11,20220121,1
+15,20211106,1
+15,20211113,1
+15,20211120,1
+15,20211127,1
+15,20211204,1
+15,20211211,1
+15,20211218,1
+15,20220108,1
+15,20220115,1
+15,20220122,1

+ 2 - 0
experimental/data/fare_attributes.txt

@@ -0,0 +1,2 @@
+fare_id,price,currency_type,payment_method,transfers,agency_id,transfer_duration
+6,1.50,USD,0,1,0,60

+ 2 - 0
experimental/data/feed_info.txt

@@ -0,0 +1,2 @@
+feed_publisher_name,feed_publisher_url,feed_lang,feed_start_date,feed_end_date,feed_version
+Tompkins Consolidated Area Transit Inc,http://tcatbus.com/,en,20211104,20220122,20211103

+ 1 - 0
experimental/data/frequencies.txt

@@ -0,0 +1 @@
+trip_id,start_time,end_time,headway_secs,exact_times

+ 29 - 0
experimental/data/routes.txt

@@ -0,0 +1,29 @@
+route_id,agency_id,route_short_name,route_long_name,route_desc,route_type,route_url,route_color,route_text_color,route_sort_order
+10,0,"10","Route 10","Cornell - Commons",3,,211561,ffffff,1
+11,0,"11","Route 11","Ithaca College - Commons",3,,F36623,FFFFFF,12
+13,0,"13","Route 13","IHS - Northside - Commons",3,,00736C,FFFFFF,18
+14,0,"14","Route 14","West Hill - Hospital - Commons",3,,00AEAF,FFFFFF,20
+15,0,"15","Route 15","Southside Shopper",3,,FACE07,100001,28
+17,0,"17","Route 17","TCAT - Fall Creek - Commons",3,,AAA000,FFFFFF,30
+20,0,"20","Route 20","Enfield - Commons",3,,F5977A,FFFFFF,32
+21,0,"21","Route 21","Trumansburg - Commons",3,,ED1D26,FFFFFF,34
+30,0,"30","Route 30","Commons - Cornell - Shops at Ithaca Mall",3,,AB6339,FFFFFF,38
+32,0,"32","Route 32","Airport - Cornell - Commons",3,,615CA8,FFFFFF,42
+36,0,"36","Route 36","South Lansing - Cornell - Commons",3,,615CA8,FFFFFF,42
+37,0,"37","Route 37","North Lansing - Cornell - Commons",3,,005F22,FFFFFF,46
+40,0,"40","Route 40","Groton - Freeville- Cornell - Commons",3,,0077A4,FFFFFF,48
+43,0,"43","Route 43","TC3 - Varna - Cornell - Commons",3,,014964,FFFFFF,52
+51,0,"51","Route 51","Commons - Cornell - EHP - Eastern Height",3,,009955,FFFFFF,54
+52,0,"52","Route 52","Caroline - Brooktondale - Commons",3,,2D3194,FFFFFF,56
+53,0,"53","Route 53","Ellis Hollow - Commons",3,,9b9fd9,000000,57
+65,0,"65","Route 65","Danby",3,,F5999D,000000,60
+67,0,"67","Route 67","Newfield - Commons",3,,EB048E,FFFFFF,62
+77,0,"77","Route 77","Warren@ Farrel - Mall",3,,91288F,FFFFFF,72
+81,0,"81","Route 81","Cornell Daytime Campus Service",3,,f24040,ffffff,74
+82,0,"82","Route 82","Cornell Campus Service - East Hill Offic",3,,00A99E,FFFFFF,75
+83,0,"83","Route 83","Cornell North Campus Service",3,,c81919,ffffff,77
+90,0,"90","Route 90","Ithaca Commons - Cornell University",3,,7c0410,ffffff,80
+92,0,"92","Route 92","Cornell Campus Service-Nights",3,,550707,ffffff,82
+135,0,"135","Route 13S","Northside - Shopping - Commons",3,,1ba745,030202,19
+145,0,"145","Route 14S","West Hill - Shopping",3,,FF4EC5,FFFFFF,22
+314,0,"314","Route 31-41","31-41 combined",3,,9951e1,050505,40

File diff suppressed because it is too large
+ 38827 - 0
experimental/data/shapes.txt


File diff suppressed because it is too large
+ 50400 - 0
experimental/data/stop_times.txt


+ 649 - 0
experimental/data/stops.txt

@@ -0,0 +1,649 @@
+stop_id,stop_code,stop_name,stop_desc,stop_lat,stop_lon,zone_id,stop_url,location_type,parent_station,wheelchair_boarding
+100,100,"Ithaca Commons - Seneca St",,42.440502,-76.496506,,,0,,0
+103,103,"Tioga @ Court",,42.442574,-76.496895,,,0,,0
+105,105,"Court @ Linn",,42.443115,-76.494507,,,0,,0
+107,107,"Cayuga @ Buffalo",,42.441227,-76.499046,,,0,,0
+108,108,"Cayuga @ Buffalo",,42.441402,-76.499176,,,0,,0
+110,110,"Geneva @ State/MLK",,42.439583,-76.500801,,,0,,0
+1111,1111,"University @ Cornell Ave",,42.447132,-76.493027,,,0,,0
+1113,1113,"University @ Lake",,42.449551,-76.492081,,,0,,0
+1119,1119,"Auden Ithaca",,42.450989,-76.493675,,,0,,0
+112,112,"Albany at Salvation Army",,42.43988,-76.501778,,,0,,0
+1120,1120,"Auden Ithaca",,42.451084,-76.493645,,,0,,0
+1121,1121,"Lake @ Falls",,42.452843,-76.494621,,,0,,0
+1122,1122,"Lake @ Lincoln",,42.452271,-76.49472,,,0,,0
+1123,1123,"Falls @ Lake",,42.452839,-76.494843,,,0,,0
+1124,1124,"Falls @ Lake",,42.452934,-76.494896,,,0,,0
+1125,1125,"Lake St at Ithaca High School",,42.455181,-76.496002,,,0,,0
+1126,1126,"Lake St at Ithaca High School",,42.455162,-76.496094,,,0,,0
+1129,1129,"Lake St at Boynton Middle School",,42.460854,-76.497299,,,0,,0
+113,113,"Seneca @ Albany",,42.440392,-76.501617,,,0,,0
+1130,1130,"Lake St at Boynton Middle School",,42.460827,-76.497368,,,0,,0
+1137,1137,"East Shore @ James L. Gibbs",,42.463848,-76.498863,,,0,,0
+1138,1138,"East Shore @ James L. Gibbs",,42.464016,-76.499168,,,0,,0
+1143,1143,"Stewart Park Entrance",,42.462711,-76.500809,,,0,,0
+115,115,"State/MLK @ Albany",,42.4394,-76.501869,,,0,,0
+127,127,"State/MLK @ Plain",,42.439346,-76.504135,,,0,,0
+128,128,"State/MLK @ Plain",,42.439434,-76.503761,,,0,,0
+1301,1301,"Thurston @ Stewart",,42.454651,-76.490387,,,0,,0
+1306,1306,"Thurston @ Barton",,42.453785,-76.487991,,,0,,0
+1307,1307,"Thurston @ Barton",,42.453758,-76.488167,,,0,,0
+1308,1308,"Thurston @ Highland",,42.453831,-76.486816,,,0,,0
+1309,1309,"Thurston @ Highland",,42.453632,-76.486359,,,0,,0
+1310,1310,"Highland @ Thurston",,42.453846,-76.486504,,,0,,0
+1311,1311,"Highland @ Thurston",,42.453926,-76.486465,,,0,,0
+1313,1313,"55 Ridgewood Rd pk",,42.455589,-76.489044,,,0,,0
+1314,1314,"Highland @ Wyckoff",,42.456318,-76.486115,,,0,,0
+1315,1315,"Highland @ Wyckoff",,42.456394,-76.485985,,,0,,0
+1316,1316,"Highland @ Lakeland",,42.45845,-76.486519,,,0,,0
+1317,1317,"Highland @ Lakeland",,42.458408,-76.486382,,,0,,0
+1319,1319,"Wyckoff @ Highland",,42.456223,-76.486092,,,0,,0
+1323,1323,"Risley Hall - Front",,42.453423,-76.481499,,,0,,0
+1325,1325,"Thurston at Balch Hall",,42.452957,-76.480995,,,0,,0
+1326,1326,"Risley Hall - Shelter",,42.452244,-76.481293,,,0,,0
+1327,1327,"Cradit Farm @ Thurston",,42.452473,-76.480713,,,0,,0
+1328,1328,"Cradit Farm at Balch Hall",,42.452866,-76.47937,,,0,,0
+1329,1329,"Helen Newman Hall",,42.45322,-76.477264,,,0,,0
+133,133,"McGraw House",,42.437733,-76.500595,,,0,,0
+1330,1330,"Appel Commons",,42.453255,-76.477318,,,0,,0
+1331,1331,"Cradit Farm @ Pleasant Grove",,42.455299,-76.473724,,,0,,0
+134,134,"McGraw House",,42.437733,-76.50071,,,0,,0
+1342,1342,"Northcross @ Jessup",,42.456978,-76.478416,,,0,,0
+1343,1343,"Robert Purcell Community Center",,42.456635,-76.476936,,,0,,0
+1344,1344,"Robert Purcell Community Center",,42.456741,-76.477135,,,0,,0
+1345,1345,"Jessup @ Pleasant Grove",,42.456734,-76.474564,,,0,,0
+1346,1346,"Jessup @ Pleasant Grove",,42.456818,-76.474648,,,0,,0
+1347,1347,"Pleasant Grove @ Jessup",,42.456741,-76.47403,,,0,,0
+1348,1348,"Pleasant Grove @ Jessup",,42.456924,-76.474319,,,0,,0
+1349,1349,"Hasbrouck Apts",,42.456341,-76.471642,,,0,,0
+135,135,"Green @ Fayette",,42.438461,-76.502815,,,0,,0
+1351,1351,"A Lot - Upper Stop",,42.458111,-76.475403,,,0,,0
+1353,1353,"A Lot - Lower Stop",,42.458027,-76.47728,,,0,,0
+1355,1355,"Jessup @ Triphammer",,42.456367,-76.48082,,,0,,0
+1356,1356,"Jessup @ Triphammer",,42.456406,-76.48101,,,0,,0
+1357,1357,"Triphammer @ Jessup",,42.456215,-76.481216,,,0,,0
+1358,1358,"Triphammer @ Dearborn",,42.456375,-76.481369,,,0,,0
+1360,1360,"Triphammer @ Country Club Rd",,42.458389,-76.482224,,,0,,0
+1361,1361,"Triphammer @ Country Club Rd",,42.458408,-76.482086,,,0,,0
+1362,1362,"Triphammer @ Oak Hill",,42.460621,-76.482162,,,0,,0
+1363,1363,"Triphammer @ Oak Hill",,42.460396,-76.481873,,,0,,0
+1367,1367,"Triphammer @ Iroquois",,42.462852,-76.483383,,,0,,0
+1368,1368,"Triphammer @ Iroquois",,42.463116,-76.483597,,,0,,0
+1371,1371,"Northway @ Triphammer",,42.46632,-76.48436,,,0,,0
+1372,1372,"Triphammer @ Northway",,42.466553,-76.484207,,,0,,0
+1373,1373,"Triphammer @ Northway",,42.466339,-76.484116,,,0,,0
+1375,1375,"The Parkway @ Upland",,42.463627,-76.486542,,,0,,0
+1376,1376,"The Parkway @ Upland",,42.463799,-76.486687,,,0,,0
+1377,1377,"The Parkway @ Northway",,42.465145,-76.48671,,,0,,0
+1378,1378,"Northway @ The Parkway",,42.465393,-76.486671,,,0,,0
+1507,1507,"Stewart @ University",,42.44912,-76.490311,,,0,,0
+1508,1508,"University @ Stewart",,42.449306,-76.490227,,,0,,0
+1511,1511,"Boldt Hall",,42.449238,-76.488693,,,0,,0
+1512,1512,"Baker Flagpole  - Slope Side",,42.447544,-76.487564,,,0,,0
+1513,1513,"Baker Flagpole",,42.447533,-76.487709,,,0,,0
+1520,1520,"Milstein Hall",,42.451385,-76.483688,,,0,,0
+1521,1521,"Milstein Hall",,42.451355,-76.483688,,,0,,0
+1524,1524,"Goldwin Smith Hall",,42.449841,-76.482941,,,0,,0
+1525,1525,"Rockefeller Hall",,42.4496,-76.482788,,,0,,0
+1530,1530,"Anabel Taylor Hall",,42.44479,-76.485138,,,0,,0
+1531,1531,"Carpenter Hall",,42.444889,-76.484993,,,0,,0
+1533,1533,"Statler Hall",,42.446033,-76.48259,,,0,,0
+1534,1534,"Sage Hall",,42.445351,-76.482689,,,0,,0
+1535,1535,"Campus @ Gates Hall",,42.445217,-76.480431,,,0,,0
+1540,1540,"Uris Hall Across Street",,42.44759,-76.482399,,,0,,0
+1541,1541,"Uris Hall",,42.447525,-76.482079,,,0,,0
+1542,1542,"Kennedy Hall",,42.447624,-76.479439,,,0,,0
+1543,1543,"Corson/Mudd Hall",,42.44754,-76.479324,,,0,,0
+1544,1544,"Bradfield Hall",,42.447594,-76.475822,,,0,,0
+1545,1545,"Bradfield Hall Across Street",,42.447533,-76.475578,,,0,,0
+1546,1546,"Dairy Bar Across Street",,42.447575,-76.471359,,,0,,0
+1547,1547,"Dairy Bar",,42.44751,-76.471199,,,0,,0
+1549,1549,"Garden@Tower",,42.447388,-76.479691,,,0,,0
+1553,1553,"Boyce Thompson Institute",,42.447491,-76.467636,,,0,,0
+1555,1555,"Vet School",,42.447311,-76.466805,,,0,,0
+1556,1556,"Vet Medical Center",,42.446373,-76.464867,,,0,,0
+1557,1557,"Vet Medical Center",,42.446301,-76.464821,,,0,,0
+1562,1562,"Campus @ Tower",,42.445831,-76.466187,,,0,,0
+1564,1564,"Campus @ Judd Falls",,42.445389,-76.469337,,,0,,0
+1565,1565,"Campus @ Judd Falls",,42.445236,-76.469833,,,0,,0
+1571,1571,"Campus @ Bartels Hall",,42.445202,-76.476555,,,0,,0
+1573,1573,"Campus @ Wilson Lab",,42.445358,-76.473061,,,0,,0
+165,165,"Ithaca Commons - Green St",,42.438618,-76.497658,,,0,,0
+1701,1701,"State/MLK @ Stewart",,42.439247,-76.490463,,,0,,0
+1702,1702,"State/MLK @ Stewart",,42.439339,-76.490433,,,0,,0
+1703,1703,"State/MLK @ Quarry",,42.438679,-76.488632,,,0,,0
+1704,1704,"State/MLK @ Quarry",,42.438667,-76.488419,,,0,,0
+1708,1708,"State/MLK @ Giles",,42.432598,-76.478142,,,0,,0
+1709,1709,"State/MLK @ Cornell",,42.43269,-76.478127,,,0,,0
+171,171,"Aurora @ State/MLK",,42.439274,-76.495399,,,0,,0
+1710,1710,"College @ Mitchell",,42.437771,-76.48513,,,0,,0
+1711,1711,"College @ Mitchell",,42.437832,-76.485023,,,0,,0
+1712,1712,"Mitchell @ College",,42.437717,-76.484932,,,0,,0
+1713,1713,"Mitchell @ College",,42.437607,-76.484871,,,0,,0
+1715,1715,"Collegetown Crossing",,42.440639,-76.485153,,,0,,0
+1716,1716,"Schwartz Performing Arts Center",,42.442558,-76.485336,,,0,,0
+1719,1719,"College @ Oak",,42.442371,-76.485214,,,0,,0
+172,172,"Ithaca Commons - Aurora St",,42.439236,-76.495552,,,0,,0
+1721,1721,"Stewart @ Seneca",,42.44059,-76.489723,,,0,,0
+1722,1722,"Stewart @ Seneca",,42.440758,-76.489799,,,0,,0
+1725,1725,"Stewart @ Williams",,42.442619,-76.489769,,,0,,0
+1726,1726,"Stewart @ Williams",,42.442543,-76.489906,,,0,,0
+1731,1731,"Dryden @ Linden - Breazzano Center",,42.441601,-76.484337,,,0,,0
+1744,1744,"Fairmount @ Ithaca Rd",,42.439091,-76.480042,,,0,,0
+1746,1746,"Ithaca @ Elmwood",,42.439449,-76.478958,,,0,,0
+1747,1747,"Ithaca @ Elmwood",,42.439339,-76.478912,,,0,,0
+1751,1751,"Humphreys Service Building",,42.442245,-76.476654,,,0,,0
+1752,1752,"Humphreys Service Building",,42.44236,-76.476662,,,0,,0
+1753,1753,"Maple @ Veterans - Maplewood Apts",,42.441185,-76.475128,,,0,,0
+1754,1754,"Maple @ Veterans - Maplewood Apts",,42.441284,-76.474976,,,0,,0
+1757,1757,"Ithaca East Apts",,42.441299,-76.472,,,0,,0
+1758,1758,"Ithaca East Apts",,42.441357,-76.47187,,,0,,0
+1767,1767,"Pine Tree at East Hill Plaza",,42.437576,-76.46508,,,0,,0
+1768,1768,"Pine Tree at East Hill Plaza",,42.437607,-76.465248,,,0,,0
+1769,1769,"CISER",,42.43853,-76.465202,,,0,,0
+1770,1770,"CISER",,42.438629,-76.465202,,,0,,0
+1771,1771,"East Hill Office Building",,42.438877,-76.46286,,,0,,0
+1772,1772,"East Hill Office Building",,42.43858,-76.463516,,,0,,0
+1774,1774,"East Hill Plaza",,42.437618,-76.462776,,,0,,0
+2309,2309,"EcoVillage",,42.448181,-76.540108,,,0,,0
+2310,2310,"EcoVillage",,42.448265,-76.540222,,,0,,0
+2315,2315,"Mecklenburg Rd @ Sheffield",,42.447361,-76.571388,,,0,,0
+2316,2316,"Mecklenburg Rd @ Sheffield",,42.447376,-76.57106,,,0,,0
+2319,2319,"Mecklenburg Rd @ Van Dorn",,42.452053,-76.591423,,,0,,0
+2320,2320,"Mecklenburg Rd @ Van Dorn",,42.452099,-76.590965,,,0,,0
+2323,2323,"Mecklenburg Rd @ Applegate",,42.451523,-76.611549,,,0,,0
+2324,2324,"Mecklenburg Rd @ Applegate",,42.451603,-76.611176,,,0,,0
+2325,2325,"Mecklenburg Rd at Sandy Creek",,42.451069,-76.626183,,,0,,0
+2326,2326,"Mecklenburg Rd at Sandy Creek",,42.451149,-76.626022,,,0,,0
+2329,2329,"Enfield Elementary",,42.449696,-76.631004,,,0,,0
+2330,2330,"Enfield Elementary",,42.449688,-76.631104,,,0,,0
+2333,2333,"Enfield Park and Ride",,42.438198,-76.630821,,,0,,0
+2334,2334,"Enfield Park and Ride",,42.438221,-76.630882,,,0,,0
+2337,2337,"Enfield Main Rd @ Bostwick",,42.421387,-76.629402,,,0,,0
+2338,2338,"Enfield Main Rd @ Bostwick",,42.421535,-76.629517,,,0,,0
+2339,2339,"Enfield Highway Department",,42.416069,-76.627701,,,0,,0
+2511,2511,"Candlewyck Park Apts",,42.459969,-76.528595,,,0,,0
+2514,2514,"Trumansburg Rd @ Bundy",,42.460575,-76.52977,,,0,,0
+2533,2533,"1229 Trumansburg Rd - Cayuga Ridge",,42.462475,-76.53273,,,0,,0
+2534,2534,"1229 Trumansburg Rd - Cayuga Ridge",,42.462429,-76.532852,,,0,,0
+2542,2542,"Overlook Apts",,42.465775,-76.540718,,,0,,0
+2543,2543,"Cayuga Meadows",,42.46442,-76.541122,,,0,,0
+2546,2546,"Cayuga Medical Center",,42.468266,-76.537064,,,0,,0
+2547,2547,"Museum of the Earth",,42.467205,-76.536995,,,0,,0
+2550,2550,"Trumansburg Rd at CMC",,42.466614,-76.539749,,,0,,0
+2553,2553,"Trumansburg Rd at CMC",,42.466751,-76.539795,,,0,,0
+2555,2555,"Trumansburg Rd at Professional Building",,42.467991,-76.541824,,,0,,0
+2556,2556,"Trumansburg Rd at Professional Building",,42.467861,-76.541779,,,0,,0
+2557,2557,"Professional Building",,42.468006,-76.541252,,,0,,0
+2559,2559,"Trumansburg Rd @ Dubois",,42.471375,-76.54705,,,0,,0
+2560,2560,"Trumansburg Rd @ Dubois",,42.471432,-76.547417,,,0,,0
+2563,2563,"Trumansburg Rd @ Woolf",,42.477474,-76.557503,,,0,,0
+2564,2564,"Trumansburg Rd @ Woolf",,42.477558,-76.557755,,,0,,0
+2567,2567,"Trumansburg Rd @ Iradell",,42.480034,-76.560837,,,0,,0
+2568,2568,"Trumansburg Rd @ Iradell",,42.480186,-76.561195,,,0,,0
+2573,2573,"Trumansburg Rd @ Krums Corner",,42.486095,-76.57325,,,0,,0
+2574,2574,"Trumansburg Rd @ Krums Corner",,42.486118,-76.57357,,,0,,0
+2577,2577,"Trumansburg Rd @ Perry City Rd",,42.495731,-76.595734,,,0,,0
+2578,2578,"Trumansburg Rd @ Perry City Rd",,42.495911,-76.596428,,,0,,0
+2581,2581,"Trumansburg Rd @ Colegrove",,42.505047,-76.610146,,,0,,0
+2582,2582,"Trumansburg Rd @ Colegrove",,42.505081,-76.610367,,,0,,0
+2583,2583,"Jacksonville Post Office",,42.507759,-76.613831,,,0,,0
+2584,2584,"Jacksonville Post Office",,42.507713,-76.613922,,,0,,0
+2611,2611,"Trumansburg Rd at Shur-Save",,42.534092,-76.642525,,,0,,0
+2612,2612,"Trumansburg Rd at Kinney Drugs",,42.534016,-76.642586,,,0,,0
+2615,2615,"E Main @ Cemetery Rd",,42.536743,-76.647865,,,0,,0
+2616,2616,"E Main @ Cemetery Rd",,42.536655,-76.647957,,,0,,0
+2619,2619,"Trumansburg Central School",,42.539295,-76.653046,,,0,,0
+2620,2620,"Trumansburg Central School",,42.539268,-76.653206,,,0,,0
+2623,2623,"Main @ South (Trumansburg)",,42.541088,-76.65873,,,0,,0
+2624,2624,"Main @ South (Trumansburg)",,42.540951,-76.658554,,,0,,0
+2627,2627,"Main @ Washington (Trumansburg)",,42.542171,-76.662697,,,0,,0
+2628,2628,"Main @ Washington (Trumansburg)",,42.542072,-76.662788,,,0,,0
+2631,2631,"Trumansburg Park and Ride",,42.541954,-76.666672,,,0,,0
+2641,2641,"Juniper Manor",,42.540401,-76.663864,,,0,,0
+2669,2669,"Main @ Seneca (Trumansburg)",,42.54726,-76.672882,,,0,,0
+2670,2670,"Seneca @ Main (Trumansburg)",,42.547352,-76.67321,,,0,,0
+2671,2671,"Aubles Trailer Park",,42.547237,-76.678131,,,0,,0
+3111,3111,"East Shore Dr @ Burdick Hill",,42.49778,-76.50972,,,0,,0
+3112,3112,"East Shore Dr @ Burdick Hill",,42.497959,-76.509857,,,0,,0
+3115,3115,"East Shore Dr @ Waterwagon",,42.515568,-76.508316,,,0,,0
+3116,3116,"East Shore Dr @ Waterwagon",,42.515717,-76.50843,,,0,,0
+3119,3119,"East Shore Dr @ Asbury",,42.524967,-76.500092,,,0,,0
+3120,3120,"East Shore Dr @ Asbury",,42.52512,-76.50029,,,0,,0
+3127,3127,"Cayuga  Vista @ East Shore",,42.533287,-76.501457,,,0,,0
+3129,3129,"East Shore Dr @ Cayuga Vista",,42.532883,-76.502785,,,0,,0
+313,313,"Hudson @ Columbia",,42.435791,-76.492256,,,0,,0
+3130,3130,"East Shore Dr @ Cayuga Vista",,42.532848,-76.502991,,,0,,0
+3137,3137,"Lansing Town Hall",,42.53791,-76.502403,,,0,,0
+3139,3139,"East Shore Dr @ Auburn Rd",,42.537678,-76.505966,,,0,,0
+314,314,"Hudson @ Columbia",,42.435936,-76.492378,,,0,,0
+3140,3140,"East Shore Dr @ Ridge Rd",,42.537491,-76.50618,,,0,,0
+3141,3141,"Ridge Rd @ Conlon",,42.537964,-76.50782,,,0,,0
+3142,3142,"Ridge Rd @ Conlon",,42.53801,-76.507584,,,0,,0
+3149,3149,"Ridge Rd @ Brickyard",,42.543377,-76.525162,,,0,,0
+3150,3150,"Ridge Rd @ Brickyard",,42.54343,-76.524826,,,0,,0
+3154,3154,"Lansing School",,42.54274,-76.536758,,,0,,0
+3158,3158,"Ridge Rd @ Ludlowville Rd",,42.542175,-76.536819,,,0,,0
+317,317,"Hudson at South Hill School",,42.433704,-76.491631,,,0,,0
+318,318,"Hudson at South Hill School",,42.433723,-76.491737,,,0,,0
+323,323,"Hudson @ Pearsall",,42.43145,-76.492088,,,0,,0
+324,324,"Hudson @ Grandview",,42.431004,-76.492424,,,0,,0
+327,327,"Coddington @ Hudson",,42.429077,-76.491089,,,0,,0
+328,328,"Hudson @ Coddington",,42.429348,-76.491463,,,0,,0
+329,329,"Coddington at Ithaca College",,42.426823,-76.488838,,,0,,0
+330,330,"Coddington at Ithaca College",,42.426819,-76.488937,,,0,,0
+3305,3305,"Warren @ Asbury",,42.524666,-76.47261,,,0,,0
+3306,3306,"Asbury @ Warren",,42.524723,-76.472847,,,0,,0
+3309,3309,"Asbury @ Armstrong",,42.526867,-76.484116,,,0,,0
+3310,3310,"Asbury @ Armstrong",,42.526951,-76.48381,,,0,,0
+3312,3312,"Asbury @ Triphammer",,42.526733,-76.491699,,,0,,0
+3313,3313,"Triphammer @ Asbury Rd",,42.526585,-76.491776,,,0,,0
+3314,3314,"Triphammer @ Asbury",,42.526794,-76.491959,,,0,,0
+3315,3315,"Triphammer @ Peruville",,42.538322,-76.492561,,,0,,0
+3316,3316,"Triphammer @ Peruville",,42.538002,-76.492683,,,0,,0
+337,337,"Ithaca College - Garden Apts",,42.425053,-76.492081,,,0,,0
+338,338,"Ithaca College - Garden Apts",,42.425182,-76.49192,,,0,,0
+339,339,"Ithaca College - Roy Park School",,42.424274,-76.495438,,,0,,0
+340,340,"Ithaca College - Roy Park School",,42.424351,-76.495422,,,0,,0
+341,341,"Ithaca College - Main Entrance",,42.421406,-76.499977,,,0,,0
+342,342,"Ithaca College - Alumni Circle",,42.421803,-76.499657,,,0,,0
+343,343,"Ithaca College - Alumni Circle",,42.42173,-76.499405,,,0,,0
+348,348,"Ithaca College - Butterfield Stadium",,42.419464,-76.498459,,,0,,0
+349,349,"Ithaca College - The Towers",,42.420338,-76.494415,,,0,,0
+351,351,"Ithaca College - Terrace Apts",,42.419609,-76.49659,,,0,,0
+3511,3511,"Triphammer @ Hanshaw",,42.469692,-76.480324,,,0,,0
+3512,3512,"Triphammer @ Hanshaw",,42.469814,-76.480644,,,0,,0
+3515,3515,"Triphammer @ Texas",,42.472656,-76.481323,,,0,,0
+3516,3516,"Triphammer @ Spruce",,42.472546,-76.481438,,,0,,0
+3519,3519,"Triphammer @ Winthrop",,42.475204,-76.481628,,,0,,0
+352,352,"Ithaca College - Terrace Apts",,42.419682,-76.49659,,,0,,0
+3520,3520,"Triphammer @ Winthrop",,42.475216,-76.481857,,,0,,0
+3521,3521,"Triphammer at Kendall",,42.476627,-76.48175,,,0,,0
+3522,3522,"Triphammer at Kendall",,42.476658,-76.481979,,,0,,0
+3523,3523,"Sheraton @ Triphammer",,42.478161,-76.481316,,,0,,0
+3524,3524,"Sheraton @ Triphammer",,42.478241,-76.481407,,,0,,0
+3525,3525,"Lansing West Apts",,42.479057,-76.482613,,,0,,0
+3526,3526,"Triphammer Marketplace",,42.478714,-76.482216,,,0,,0
+3547,3547,"Cinema @ Sheraton",,42.478607,-76.478294,,,0,,0
+3548,3548,"Cinema @ Sheraton",,42.478653,-76.478394,,,0,,0
+3549,3549,"Cinema @ Uptown",,42.480976,-76.478439,,,0,,0
+3550,3550,"Uptown @ Cinema",,42.481106,-76.478333,,,0,,0
+3553,3553,"Uptown Village Apts",,42.478474,-76.472534,,,0,,0
+3554,3554,"Uptown Village Apts",,42.478493,-76.472672,,,0,,0
+3555,3555,"Gaslight Village Apts",,42.481285,-76.474915,,,0,,0
+3556,3556,"Gaslight Village Apts",,42.481339,-76.474922,,,0,,0
+3557,3557,"University Park Apts",,42.48074,-76.472801,,,0,,0
+3558,3558,"University Park Apts",,42.480549,-76.472885,,,0,,0
+3559,3559,"Warrenwood Apts",,42.478523,-76.468956,,,0,,0
+3560,3560,"Warrenwood Apts",,42.478584,-76.468826,,,0,,0
+3579,3579,"Cayuga Mall",,42.483673,-76.485535,,,0,,0
+3584,3584,"YMCA",,42.48597,-76.488831,,,0,,0
+3588,3588,"The Shops at Ithaca Mall",,42.48262,-76.489914,,,0,,0
+3593,3593,"Tops Supermarket (Lansing)",,42.482422,-76.486397,,,0,,0
+3601,3601,"Triphammer @ Graham",,42.486004,-76.487053,,,0,,0
+3605,3605,"Triphammer @ Craft",,42.490372,-76.489594,,,0,,0
+3606,3606,"Triphammer @ Craft",,42.490654,-76.489883,,,0,,0
+3609,3609,"Triphammer @ Horizon",,42.498306,-76.490303,,,0,,0
+361,361,"South Hill Business Park",,42.423557,-76.501976,,,0,,0
+3610,3610,"Triphammer @ Burdick Hill",,42.498566,-76.490517,,,0,,0
+3613,3613,"Triphammer @ Triphammer Terrace",,42.515961,-76.491188,,,0,,0
+3614,3614,"Triphammer @ Waterwagon",,42.516273,-76.491379,,,0,,0
+365,365,"Longview",,42.415726,-76.503906,,,0,,0
+369,369,"Danby @ Vista",,42.413101,-76.502968,,,0,,0
+3711,3711,"Pleasant Grove @ Hanshaw",,42.467655,-76.477821,,,0,,0
+3712,3712,"Pleasant Grove @ Hanshaw",,42.467319,-76.477898,,,0,,0
+3715,3715,"Hanshaw @ Blackstone",,42.466927,-76.470787,,,0,,0
+3716,3716,"Hanshaw @ Blackstone",,42.46703,-76.470512,,,0,,0
+372,372,"College Circle Apts - North Entrance",,42.413074,-76.500534,,,0,,0
+3721,3721,"Warren @ Christopher",,42.472012,-76.464485,,,0,,0
+3722,3722,"Warren @ Christopher",,42.472069,-76.464592,,,0,,0
+3725,3725,"Warren at BOCES",,42.474792,-76.465851,,,0,,0
+3726,3726,"Dewitt Middle School",,42.474888,-76.466103,,,0,,0
+3727,3727,"Warren at Warrenwood Apts",,42.477661,-76.466888,,,0,,0
+3728,3728,"Warren at Warrenwood Apts",,42.477055,-76.467026,,,0,,0
+373,373,"College Circle Apts - Community Building",,42.411572,-76.500519,,,0,,0
+3733,3733,"Convenient Care",,42.479858,-76.465172,,,0,,0
+3735,3735,"Guthrie Orthopedic",,42.480507,-76.46402,,,0,,0
+3740,3740,"Warren @ Dart",,42.483459,-76.46743,,,0,,0
+3741,3741,"Warren @ Dart",,42.483356,-76.467247,,,0,,0
+3743,3743,"Warren @ Northwoods",,42.486023,-76.467331,,,0,,0
+3744,3744,"Warren @ Northwoods",,42.486298,-76.467537,,,0,,0
+3745,3745,"Northwoods Apts",,42.486336,-76.470436,,,0,,0
+3747,3747,"Warren Rd Post Office",,42.489956,-76.46756,,,0,,0
+3748,3748,"Warren @ Bomax",,42.490177,-76.467796,,,0,,0
+3749,3749,"Tompkins County Jail",,42.493011,-76.467758,,,0,,0
+3750,3750,"Borg Warner",,42.49334,-76.467964,,,0,,0
+3751,3751,"Warren @ Dutch Mill",,42.507618,-76.47168,,,0,,0
+3752,3752,"Warren @ Dutch Mill",,42.507893,-76.471825,,,0,,0
+3759,3759,"Warren @ Farrell",,42.514465,-76.472069,,,0,,0
+376,376,"College Circle Apts - North Lot",,42.412563,-76.499191,,,0,,0
+3760,3760,"Warren @ Farrell",,42.514725,-76.472206,,,0,,0
+3761,3761,"Springbrook @ Farrell",,42.514565,-76.467926,,,0,,0
+3762,3762,"Village Solars South",,42.509426,-76.47081,,,0,,0
+3763,3763,"Village Solars South",,42.509354,-76.47081,,,0,,0
+3764,3764,"Village Solars North",,42.511513,-76.47081,,,0,,0
+3765,3765,"Village Solars North",,42.511448,-76.470795,,,0,,0
+3781,3781,"Thornwood @ Brown",,42.487255,-76.46492,,,0,,0
+3782,3782,"Brown @ Thornwood",,42.487301,-76.465141,,,0,,0
+3783,3783,"Brown @ Culligan",,42.487488,-76.462181,,,0,,0
+3784,3784,"Culligan @ Brown",,42.487785,-76.462502,,,0,,0
+3785,3785,"Airport",,42.49052,-76.463974,,,0,,0
+3790,3790,"Langmuir Lab",,42.485481,-76.458176,,,0,,0
+3794,3794,"20 Thornwood Dr",,42.484016,-76.463638,,,0,,0
+3900,3900,"Warren @ Hanshaw",,42.467171,-76.466042,,,0,,0
+3901,3901,"Hanshaw @ Warren",,42.467075,-76.466278,,,0,,0
+3902,3902,"Hanshaw @ Warren",,42.467136,-76.465836,,,0,,0
+3903,3903,"Hanshaw @ Muriel",,42.467182,-76.461723,,,0,,0
+3904,3904,"Muriel @ Hanshaw",,42.467308,-76.461678,,,0,,0
+3905,3905,"Hanshaw @ Salem",,42.467262,-76.458817,,,0,,0
+3906,3906,"Hanshaw @ Salem",,42.467339,-76.458504,,,0,,0
+3908,3908,"Hanshaw @ Muriel",,42.467251,-76.461487,,,0,,0
+3909,3909,"Salem @ Maplewood",,42.469334,-76.45871,,,0,,0
+3911,3911,"Salem @ Birchwood",,42.471275,-76.457008,,,0,,0
+3915,3915,"Winston Court Apts",,42.475567,-76.457382,,,0,,0
+3919,3919,"Rose Hill @ Tareyton",,42.474007,-76.459808,,,0,,0
+3921,3921,"Rose Hill @ Muriel",,42.473938,-76.461838,,,0,,0
+3923,3923,"128 Muriel St",,42.470608,-76.461807,,,0,,0
+3931,3931,"Hanshaw @ Sapsucker Woods",,42.46748,-76.450233,,,0,,0
+3932,3932,"Sapsucker Woods @ Hanshaw",,42.467548,-76.450371,,,0,,0
+3936,3936,"Lab of Ornithology",,42.479336,-76.450516,,,0,,0
+3947,3947,"Guthrie Ithaca",,42.476494,-76.432449,,,0,,0
+3951,3951,"Hanshaw Village",,42.483364,-76.429214,,,0,,0
+4311,4311,"Freeville Rd at William George Academy",,42.505863,-76.334953,,,0,,0
+4312,4312,"Freeville Rd at William George Academy",,42.505901,-76.33522,,,0,,0
+4315,4315,"Railroad @ Cook (Freeville)",,42.512444,-76.342766,,,0,,0
+4316,4316,"Railroad @ Cook (Freeville)",,42.512405,-76.343048,,,0,,0
+4318,4318,"Station Park - Freeville",,42.513123,-76.345047,,,0,,0
+4321,4321,"Freeville Park and Ride",,42.511971,-76.350449,,,0,,0
+4322,4322,"Freeville Park and Ride",,42.512016,-76.350533,,,0,,0
+4325,4325,"Rte 38 @ Fall Creek Rd",,42.51384,-76.346809,,,0,,0
+4326,4326,"Rte38 @ Main (Freeville)",,42.513981,-76.346893,,,0,,0
+4328,4328,"Railroad @ Main (Freeville)",,42.513874,-76.346474,,,0,,0
+4335,4335,"Groton Rd @ Peruville",,42.54808,-76.361519,,,0,,0
+4336,4336,"Groton Rd @ Peruville",,42.548393,-76.361771,,,0,,0
+4351,4351,"Groton High School",,42.580624,-76.369049,,,0,,0
+4352,4352,"Groton High School",,42.580643,-76.369202,,,0,,0
+4355,4355,"Peru Rd @ Hamilton Square",,42.583397,-76.368423,,,0,,0
+4356,4356,"Peru Rd @ Hamilton Square",,42.583427,-76.368568,,,0,,0
+4359,4359,"South @ Main (Groton)",,42.58493,-76.365761,,,0,,0
+4360,4360,"Main @ South (Groton)",,42.585087,-76.36573,,,0,,0
+4361,4361,"Main @ Railroad (Groton)",,42.586338,-76.366043,,,0,,0
+4362,4362,"Main @ Railroad (Groton)",,42.586483,-76.366241,,,0,,0
+4365,4365,"Groton Express Mart",,42.587536,-76.366852,,,0,,0
+4375,4375,"Groton Town Hall",,42.589951,-76.369118,,,0,,0
+4378,4378,"Main @ Groton Park N Ride",,42.590046,-76.367752,,,0,,0
+4387,4387,"Cortland St @ Cayuga",,42.590714,-76.368065,,,0,,0
+4505,4505,"Dryden Rd @ Game Farm",,42.450832,-76.449585,,,0,,0
+4506,4506,"Dryden Rd @ Game Farm",,42.451,-76.449409,,,0,,0
+4509,4509,"Dryden Rd @ Forest Home",,42.453087,-76.444336,,,0,,0
+4510,4510,"Dryden Rd @ Forest Home",,42.453156,-76.444397,,,0,,0
+4511,4511,"933 Dryden Rd - Varna Auto",,42.454197,-76.440651,,,0,,0
+4512,4512,"Varna",,42.454292,-76.440674,,,0,,0
+4515,4515,"Dryden Rd @ Mt Pleasant",,42.455818,-76.436302,,,0,,0
+4516,4516,"Dryden Rd @ Freese",,42.455952,-76.436256,,,0,,0
+4517,4517,"1062 Dryden Rd - Pineridge Apts",,42.459278,-76.430199,,,0,,0
+4518,4518,"1062 Dryden Rd - Pineridge Apts",,42.459351,-76.430244,,,0,,0
+4519,4519,"Turkey Hill at Varna Fire Station",,42.45916,-76.427452,,,0,,0
+4520,4520,"Turkey Hill at Varna Fire Station",,42.458969,-76.427589,,,0,,0
+4521,4521,"Dryden Rd @ Turkey Hill",,42.460251,-76.427536,,,0,,0
+4522,4522,"Dryden Rd @ Turkey Hill",,42.460426,-76.427246,,,0,,0
+4523,4523,"Turkey Hill @ Mt. Pleasant",,42.453247,-76.429237,,,0,,0
+4524,4524,"Turkey Hill @ Mt. Pleasant",,42.453114,-76.429283,,,0,,0
+4527,4527,"Dryden Rd @ Baker Hill",,42.46735,-76.410881,,,0,,0
+4528,4528,"Dryden Rd @ Baker Hill",,42.467411,-76.410957,,,0,,0
+4537,4537,"Main St @ Dryden Rd (Etna)",,42.476929,-76.387047,,,0,,0
+4538,4538,"Dryden Rd @ Main St (Etna)",,42.476181,-76.387283,,,0,,0
+4539,4539,"Main St @ Dryden Rd (Etna)",,42.476486,-76.387291,,,0,,0
+4540,4540,"Dryden Rd @ Main St (Etna)",,42.476467,-76.386917,,,0,,0
+4543,4543,"Dryden Rd @ Mineah",,42.480637,-76.373871,,,0,,0
+4544,4544,"Dryden Rd @ Kirk",,42.480835,-76.373444,,,0,,0
+4549,4549,"Lower Creek @ Pickney",,42.476944,-76.40641,,,0,,0
+4553,4553,"Creekwood Apts",,42.479568,-76.399712,,,0,,0
+4554,4554,"Creekwood Apts",,42.479595,-76.399765,,,0,,0
+4562,4562,"Etna @ Pinckney",,42.48724,-76.409447,,,0,,0
+4568,4568,"Lower Creek @ Etna Ln",,42.485447,-76.385246,,,0,,0
+4569,4569,"Main @ Etna Ln - Etna Mills Apts",,42.485332,-76.383629,,,0,,0
+4570,4570,"Main @ Etna Ln - Etna Mills Apts",,42.485317,-76.383759,,,0,,0
+4707,4707,"Dryden Rd @ Yellowbarn",,42.486992,-76.343086,,,0,,0
+4708,4708,"Dryden Rd @ Johnson",,42.487099,-76.343109,,,0,,0
+4709,4709,"Dryden Rd @ Irish Settlement",,42.489574,-76.328468,,,0,,0
+4710,4710,"Dryden Rd @ George",,42.489693,-76.328056,,,0,,0
+4713,4713,"W Main @ Hilton (Dryden)",,42.490097,-76.311264,,,0,,0
+4714,4714,"W Main @ Hilton (Dryden)",,42.490189,-76.311302,,,0,,0
+4715,4715,"Main @ Rochester (Dryden)",,42.490322,-76.303551,,,0,,0
+4716,4716,"Main @ Rochester (Dryden)",,42.490452,-76.303452,,,0,,0
+4717,4717,"Dryden Village - Post Office",,42.490452,-76.299393,,,0,,0
+4718,4718,"Dryden Village - Main @ Library",,42.490551,-76.299408,,,0,,0
+4723,4723,"South @ Union",,42.489349,-76.2976,,,0,,0
+4724,4724,"South @ Union",,42.489346,-76.297714,,,0,,0
+4728,4728,"South @ Ferguson",,42.483341,-76.297333,,,0,,0
+4732,4732,"Dryden Harford Rd @ Beam Hill",,42.472267,-76.294868,,,0,,0
+4733,4733,"Keith at Jim Schug Trail",,42.469131,-76.289116,,,0,,0
+4734,4734,"Rt 38 @ Keith",,42.468792,-76.291672,,,0,,0
+4735,4735,"Keith @ Lake",,42.470005,-76.283508,,,0,,0
+4737,4737,"Lake @ Kimberly",,42.480396,-76.290596,,,0,,0
+4749,4749,"36 North St - Dunkin Donuts",,42.494858,-76.297844,,,0,,0
+4750,4750,"43 North St - Valero",,42.494755,-76.298004,,,0,,0
+4751,4751,"North @ Lee",,42.497982,-76.297989,,,0,,0
+4752,4752,"North @ Freeville",,42.498405,-76.298218,,,0,,0
+4755,4755,"North @ Brightday",,42.50071,-76.298172,,,0,,0
+4756,4756,"North @ Brightday",,42.500816,-76.298302,,,0,,0
+4773,4773,"Poets Landing Apartments",,42.498402,-76.309402,,,0,,0
+4776,4776,"Dryden Central School",,42.498505,-76.309319,,,0,,0
+4779,4779,"Freeville Rd @ Lewis",,42.498043,-76.302422,,,0,,0
+4780,4780,"Freeville Rd @ Enterprise",,42.498161,-76.302177,,,0,,0
+4783,4783,"TC3",,42.502785,-76.288277,,,0,,0
+4787,4787,"TC3 Dorms",,42.499817,-76.284431,,,0,,0
+503,503,"Clinton @ Fayette",,42.436722,-76.50267,,,0,,0
+504,504,"Clinton @ Fayette",,42.436798,-76.502449,,,0,,0
+511,511,"Clinton West Plaza",,42.436604,-76.506348,,,0,,0
+512,512,"Clinton @ Corn",,42.436687,-76.505882,,,0,,0
+519,519,"Plain @ Center",,42.435444,-76.503685,,,0,,0
+520,520,"Plain @ Center",,42.435612,-76.503777,,,0,,0
+523,523,"Plain @ Wood",,42.432682,-76.50354,,,0,,0
+524,524,"Plain @ Wood",,42.432819,-76.503647,,,0,,0
+527,527,"215 Elmira Rd - Pudgies",,42.429901,-76.504684,,,0,,0
+528,528,"214 Elmira Rd - Ithaca ReUse",,42.429981,-76.504814,,,0,,0
+531,531,"Meadow @ Wood",,42.432533,-76.507942,,,0,,0
+5311,5311,"Turkey Hill @ Ellis Hollow Creek",,42.442387,-76.428764,,,0,,0
+5312,5312,"Turkey Hill @ Ellis Hollow Creek",,42.442574,-76.428917,,,0,,0
+5316,5316,"Turkey Hill @ Ellis Hollow",,42.430874,-76.428185,,,0,,0
+5318,5318,"Ellis Hollow @ Turkey Hill",,42.430786,-76.428001,,,0,,0
+532,532,"Meadow @ Wood",,42.43232,-76.508133,,,0,,0
+5321,5321,"Ellis Hollow @ Genung",,42.428082,-76.415283,,,0,,0
+5322,5322,"Ellis Hollow @ Genung",,42.428101,-76.415062,,,0,,0
+5331,5331,"Ellis Hollow @ Ellis Hollow Creek",,42.425316,-76.381676,,,0,,0
+5332,5332,"Ellis Hollow @ Ellis Hollow Creek",,42.425243,-76.381332,,,0,,0
+5337,5337,"Ellis Hollow @ Eagleshead",,42.423756,-76.378471,,,0,,0
+5338,5338,"Ellis Hollow @ Eagleshead",,42.423752,-76.378227,,,0,,0
+5341,5341,"Ellis Hollow @ Hunt Hill",,42.422554,-76.377106,,,0,,0
+5342,5342,"Ellis Hollow @ Hunt Hill",,42.422405,-76.376808,,,0,,0
+535,535,"Titus Towers",,42.431789,-76.504509,,,0,,0
+541,541,"Wegmans",,42.434944,-76.509613,,,0,,0
+543,543,"Tops Supermarket (Ithaca)",,42.432365,-76.509804,,,0,,0
+545,545,"South Meadow Marketplace",,42.430428,-76.50988,,,0,,0
+547,547,"Fairgrounds Memorial Parkway at Lowes",,42.429966,-76.511955,,,0,,0
+549,549,"WalMart",,42.428844,-76.513329,,,0,,0
+551,551,"Walmart South Entrance",,42.427132,-76.511909,,,0,,0
+5525,5525,"318 Pine Tree - Equestrian Center",,42.434036,-76.463066,,,0,,0
+5526,5526,"318 Pine Tree - Equestrian Center",,42.434044,-76.463264,,,0,,0
+5530,5530,"Honness @ Pine Tree",,42.429714,-76.462929,,,0,,0
+5531,5531,"Pine Tree @ Honness",,42.429882,-76.462433,,,0,,0
+5532,5532,"Pine Tree @ Honness",,42.42984,-76.462563,,,0,,0
+5536,5536,"Honness at Ithaca Recreation Way",,42.429604,-76.467056,,,0,,0
+5541,5541,"Snyder Hill @ Sugarbush",,42.429371,-76.459671,,,0,,0
+5542,5542,"Snyder Hill @ Sugarbush",,42.429325,-76.459396,,,0,,0
+5545,5545,"Regency @ Snyder Hill",,42.426128,-76.455276,,,0,,0
+5546,5546,"Snyder Hill @ Regency",,42.426277,-76.455353,,,0,,0
+5548,5548,"Snyder Hill @ Hungerford Hill",,42.425091,-76.453789,,,0,,0
+5549,5549,"Snyder Hill @ Dove",,42.423912,-76.45105,,,0,,0
+5552,5552,"Skyvue @ Snyder Hill",,42.422901,-76.448456,,,0,,0
+5559,5559,"Eastern Heights @ Sharlene",,42.423298,-76.452621,,,0,,0
+5560,5560,"Eastern Heights @ Landmark",,42.42437,-76.454544,,,0,,0
+5561,5561,"Eastern Heights @ Joanne",,42.424992,-76.456482,,,0,,0
+559,559,"Meadow at Ithaca Shopping Plaza",,42.429436,-76.507767,,,0,,0
+561,561,"Elmira @ Meadow",,42.427567,-76.508827,,,0,,0
+562,562,"Meadow @ Elmira",,42.428619,-76.508163,,,0,,0
+564,564,"Elmira Rd @ Walmart",,42.426552,-76.511276,,,0,,0
+565,565,"323 Elmira Rd - Byrne Dairy",,42.426125,-76.511551,,,0,,0
+567,567,"359 Elmira Rd - Fairfield Inn",,42.423042,-76.515701,,,0,,0
+568,568,"366 Elmira Rd - Speedway",,42.422878,-76.516205,,,0,,0
+569,569,"Elmira @ Spencer",,42.420002,-76.519447,,,0,,0
+570,570,"Elmira @ Spencer",,42.419739,-76.520027,,,0,,0
+5707,5707,"Slaterville Rd @ Honness",,42.429516,-76.472298,,,0,,0
+5708,5708,"Slaterville Rd @ Honness",,42.429367,-76.472244,,,0,,0
+571,571,"Elmira @ Buttermilk",,42.417809,-76.522888,,,0,,0
+5710,5710,"Honness @ Slaterville Rd",,42.429417,-76.471939,,,0,,0
+5712,5712,"Slaterville Rd @ Tower View",,42.426205,-76.467339,,,0,,0
+5715,5715,"Slaterville Rd @ Lois - Commonland",,42.424248,-76.464165,,,0,,0
+5716,5716,"Slaterville Rd @ Lois - Commonland",,42.424183,-76.464195,,,0,,0
+5719,5719,"Pine Tree @ Slaterville Rd",,42.423244,-76.46151,,,0,,0
+572,572,"Elmira @ Buttermilk",,42.41777,-76.523399,,,0,,0
+5720,5720,"Pine Tree @ Slaterville Rd",,42.422577,-76.46154,,,0,,0
+5729,5729,"Slaterville Rd @ German Cross",,42.405312,-76.429245,,,0,,0
+5730,5730,"Slaterville Rd @ German Cross",,42.405418,-76.429626,,,0,,0
+5733,5733,"Slaterville Rd @ Brooktondale Rd",,42.402771,-76.423897,,,0,,0
+5734,5734,"Slaterville Rd @ Brooktondale",,42.402802,-76.424408,,,0,,0
+5736,5736,"Brooktondale @ Slaterville Rd",,42.402458,-76.423737,,,0,,0
+5737,5737,"Slaterville Rd @ Bessemer Hill",,42.39616,-76.408714,,,0,,0
+5738,5738,"Slaterville Rd @ Bessemer Hill",,42.396091,-76.40905,,,0,,0
+5741,5741,"Slaterville Rd @ Landon",,42.395496,-76.397835,,,0,,0
+5742,5742,"Slaterville Rd @ Landon",,42.395466,-76.398033,,,0,,0
+5743,5743,"Slaterville Rd @ Snyder Hill",,42.395462,-76.382034,,,0,,0
+5744,5744,"Slaterville Rd @ Snyder Hill",,42.395374,-76.382385,,,0,,0
+5745,5745,"Slaterville Rd @ Thomas",,42.394417,-76.375069,,,0,,0
+5746,5746,"Slaterville Rd @ Lounsberry",,42.394356,-76.37532,,,0,,0
+5747,5747,"Ellis Hollow @ Slaterville Rd",,42.393826,-76.367271,,,0,,0
+5748,5748,"Slaterville Rd @ Ellis Hollow",,42.393597,-76.367424,,,0,,0
+5749,5749,"Slaterville Rd @ Ellis Hollow",,42.393692,-76.366982,,,0,,0
+5752,5752,"Slaterville Rd @ Boiceville",,42.393753,-76.362991,,,0,,0
+5753,5753,"Slaterville Rd @ Boiceville",,42.393841,-76.362694,,,0,,0
+5754,5754,"Boiceville @ Slaterville Rd",,42.393688,-76.362801,,,0,,0
+5759,5759,"Caroline Town Hall",,42.393986,-76.349709,,,0,,0
+5760,5760,"Caroline Town Hall",,42.393898,-76.349716,,,0,,0
+5771,5771,"Caroline Turn-Around",,42.377563,-76.280907,,,0,,0
+5779,5779,"Brooktondale Rd @ Besemer",,42.388641,-76.408112,,,0,,0
+5780,5780,"Brooktondale Rd @ Besemer",,42.388695,-76.408585,,,0,,0
+5785,5785,"Brooktondale Store",,42.381554,-76.396744,,,0,,0
+5786,5786,"Brooktondale Store",,42.381489,-76.396805,,,0,,0
+5787,5787,"Brooktondale Park and Ride",,42.381004,-76.393372,,,0,,0
+5788,5788,"Brooktondale Park and Ride",,42.380924,-76.393486,,,0,,0
+5792,5792,"Valley @ Boiceville",,42.385826,-76.360313,,,0,,0
+5794,5794,"Boiceville @ Valley",,42.38596,-76.36013,,,0,,0
+5795,5795,"Boiceville Cottages",,42.388184,-76.361778,,,0,,0
+5796,5796,"Boiceville Cottages",,42.388237,-76.361893,,,0,,0
+6321,6321,"Danby Rd @ King",,42.407223,-76.502945,,,0,,0
+6322,6322,"Danby Rd @ King",,42.408066,-76.503189,,,0,,0
+6329,6329,"Danby Rd @ Comfort",,42.39439,-76.497513,,,0,,0
+6330,6330,"Danby Rd @ Comfort",,42.394547,-76.497833,,,0,,0
+6337,6337,"Danby Rd @ Muzzy",,42.380821,-76.491165,,,0,,0
+6338,6338,"Danby Rd @ Muzzy",,42.380978,-76.491463,,,0,,0
+6343,6343,"Danby Rd @ Miller",,42.367725,-76.486862,,,0,,0
+6344,6344,"Danby Rd @ Miller",,42.367626,-76.487091,,,0,,0
+6349,6349,"Danby Fire Station",,42.358238,-76.483131,,,0,,0
+6350,6350,"Danby Fire Station",,42.358288,-76.483368,,,0,,0
+6351,6351,"Danby Town Hall Park and Ride",,42.354198,-76.4814,,,0,,0
+6352,6352,"Danby Town Hall Park and Ride",,42.354099,-76.481598,,,0,,0
+6353,6353,"Danby Rd @ Bald Hill",,42.352375,-76.480721,,,0,,0
+6354,6354,"Danby Rd @ Bald Hill",,42.352505,-76.480965,,,0,,0
+6357,6357,"Danby Rd @ Michigan Hollow",,42.349846,-76.478836,,,0,,0
+6358,6358,"Danby Rd @ Michigan Hollow",,42.349903,-76.479202,,,0,,0
+6363,6363,"Danby Rd @ Steam Mill",,42.343376,-76.466331,,,0,,0
+6364,6364,"Danby Rd @ Steam Mill",,42.343456,-76.466766,,,0,,0
+6367,6367,"South Danby Park and Ride",,42.339382,-76.458618,,,0,,0
+6368,6368,"South Danby Park and Ride",,42.339214,-76.458702,,,0,,0
+6374,6374,"Hillview Terrace MHC",,42.3279,-76.440941,,,0,,0
+6511,6511,"West Danby Rd @ Decker",,42.387653,-76.553864,,,0,,0
+6515,6515,"West Danby Rd @ Melody - Meadowbrook Par",,42.381859,-76.553596,,,0,,0
+6519,6519,"West Danby Rd @ Shelter Valley",,42.373962,-76.551369,,,0,,0
+6524,6524,"Newfield Depot @ W Danby",,42.368603,-76.552292,,,0,,0
+6532,6532,"Newfield Depot @ Valley Manor",,42.368721,-76.555298,,,0,,0
+661,661,"Green @ Meadow",,42.438309,-76.508499,,,0,,0
+663,663,"State/MLK @ Meadow",,42.439217,-76.507942,,,0,,0
+664,664,"State/MLK @ Meadow",,42.439297,-76.50808,,,0,,0
+665,665,"State/MLK @ Fulton",,42.439156,-76.509888,,,0,,0
+668,668,"State @ Fulton",,42.439243,-76.511024,,,0,,0
+669,669,"State/MLK @ Taughannock",,42.439579,-76.512512,,,0,,0
+6711,6711,"Elmira Rd @ Five Mile",,42.413532,-76.533424,,,0,,0
+6712,6712,"Elmira Rd @ Five Mile",,42.413754,-76.533295,,,0,,0
+6713,6713,"Elmira Rd @ 7 Mile",,42.408623,-76.541237,,,0,,0
+6714,6714,"Elmira Rd @ 7 Mile",,42.408623,-76.541496,,,0,,0
+6717,6717,"Elmira Rd @ Enfield Falls",,42.403488,-76.546204,,,0,,0
+6718,6718,"Elmira Rd @ Enfield Falls",,42.403728,-76.546303,,,0,,0
+672,672,"Seneca @ Fulton",,42.440086,-76.511139,,,0,,0
+6720,6720,"Elmira Rd @ Enfield Creek Overpass",,42.397011,-76.546852,,,0,,0
+6721,6721,"Elmira Rd @ Enfield Creek Overpass",,42.397995,-76.545906,,,0,,0
+673,673,"Buffalo @ Fulton",,42.440853,-76.510956,,,0,,0
+6742,6742,"Elmira Rd @ Burdge Hill",,42.366524,-76.586296,,,0,,0
+676,676,"Buffalo @ Taughannock",,42.440952,-76.51329,,,0,,0
+6767,6767,"Newfield Depot @ Mill",,42.363846,-76.585739,,,0,,0
+6775,6775,"Newfield-Town Hall",,42.362503,-76.589577,,,0,,0
+6779,6779,"Main @ Bridge",,42.362003,-76.590652,,,0,,0
+6781,6781,"Main @ Pearl",,42.361061,-76.592247,,,0,,0
+6784,6784,"Newfield Central School",,42.359272,-76.597198,,,0,,0
+6787,6787,"Main @ Vankirk",,42.354309,-76.601784,,,0,,0
+6789,6789,"Elmira Rd @ Main - Newfield Horizon Apts",,42.352379,-76.60833,,,0,,0
+679,679,"State/MLK at Inlet Island",,42.440517,-76.514015,,,0,,0
+703,703,"Chestnut @ Sunrise",,42.443478,-76.517685,,,0,,0
+704,704,"Chestnut @ Sunrise",,42.443447,-76.517815,,,0,,0
+705,705,"Chestnut Hill Apts",,42.441708,-76.518036,,,0,,0
+706,706,"Chestnut Hill Apts",,42.441711,-76.518082,,,0,,0
+709,709,"Chestnut @ Elm - LACS",,42.438648,-76.519127,,,0,,0
+710,710,"Chestnut @ Hook - LACS",,42.438911,-76.519119,,,0,,0
+713,713,"Elm @ West Village Pl",,42.436691,-76.522141,,,0,,0
+715,715,"West Village Parking Lot",,42.435436,-76.523033,,,0,,0
+717,717,"Haller @ Elm",,42.436466,-76.526009,,,0,,0
+718,718,"Haller @ Elm",,42.436352,-76.526062,,,0,,0
+719,719,"Haller @ Hook",,42.439304,-76.526093,,,0,,0
+720,720,"Hook @ Haller",,42.43948,-76.526062,,,0,,0
+721,721,"Warren Pl @ Hook",,42.439678,-76.523865,,,0,,0
+722,722,"Warren Pl @ Hook",,42.439602,-76.523926,,,0,,0
+725,725,"Warren Pl @ Sunrise",,42.443802,-76.524429,,,0,,0
+726,726,"Warren Pl @ Sunrise",,42.443947,-76.524521,,,0,,0
+729,729,"Warren Pl @ Hector",,42.448711,-76.52636,,,0,,0
+730,730,"Warren Pl @ Hector",,42.448238,-76.526108,,,0,,0
+731,731,"Hector @ Warren Pl",,42.448673,-76.526627,,,0,,0
+732,732,"Mecklenburg Rd @ Conifer Dr",,42.448513,-76.530502,,,0,,0
+736,736,"Linderman Creek Apts",,42.449429,-76.53054,,,0,,0
+737,737,"Linderman Creek Apts",,42.449688,-76.530815,,,0,,0
+738,738,"Conifer Village",,42.451122,-76.532227,,,0,,0
+744,744,"Hector @ N Taylor",,42.450924,-76.520851,,,0,,0
+745,745,"Hector @ Fairview Terrace",,42.451904,-76.521545,,,0,,0
+747,747,"413 Hector St",,42.446095,-76.517021,,,0,,0
+748,748,"412 Hector St",,42.446087,-76.517151,,,0,,0
+767,767,"Campbell @ Hector",,42.45256,-76.523338,,,0,,0
+768,768,"Campbell @ Hector",,42.452522,-76.523407,,,0,,0
+773,773,"Campbell @ Hopkins",,42.456551,-76.524567,,,0,,0
+774,774,"Campbell @ Hopkins",,42.456421,-76.524551,,,0,,0
+779,779,"Cliff @ Vinegar Hill",,42.449738,-76.517723,,,0,,0
+780,780,"Cliff @ Vinegar Hill",,42.449829,-76.517883,,,0,,0
+785,785,"Trumansburg Rd @ Hopkins",,42.456947,-76.524277,,,0,,0
+786,786,"Trumansburg Rd @ Hopkins",,42.456894,-76.524384,,,0,,0
+900,900,"Cayuga @ Cascadilla",,42.444801,-76.499306,,,0,,0
+901,901,"Cayuga @ Cascadilla",,42.444496,-76.499207,,,0,,0
+903,903,"Cascadilla @ Cayuga",,42.444553,-76.499466,,,0,,0
+905,905,"Tompkins @ Cayuga",,42.448326,-76.499641,,,0,,0
+906,906,"Cayuga @ Tompkins",,42.448456,-76.49955,,,0,,0
+907,907,"Cayuga @ Tompkins",,42.448273,-76.499428,,,0,,0
+911,911,"Cayuga @ Lincoln",,42.451878,-76.499657,,,0,,0
+912,912,"Cayuga @ Lincoln",,42.452068,-76.499786,,,0,,0
+913,913,"Lincoln @ Cayuga",,42.451942,-76.499893,,,0,,0
+914,914,"Lincoln @ Cayuga",,42.452011,-76.499565,,,0,,0
+918,918,"Dey @ Lincoln",,42.451187,-76.503075,,,0,,0
+920,920,"Lincoln @ Dey",,42.451229,-76.502823,,,0,,0
+925,925,"Tioga @ Falls",,42.452732,-76.497536,,,0,,0
+926,926,"Falls @ Tioga",,42.452808,-76.497498,,,0,,0
+927,927,"Cascadilla @ Third",,42.444489,-76.503532,,,0,,0
+928,928,"Third @ Cascadilla",,42.444553,-76.503677,,,0,,0
+929,929,"Third @ Hancock",,42.446365,-76.505035,,,0,,0
+930,930,"Third @ Hancock",,42.446476,-76.505226,,,0,,0
+932,932,"Hancock @ Third",,42.446491,-76.505005,,,0,,0
+933,933,"Third @ Adams",,42.447296,-76.505798,,,0,,0
+934,934,"Third @ Adams",,42.447395,-76.505981,,,0,,0
+939,939,"Aldi",,42.449238,-76.506561,,,0,,0
+953,953,"Hancock @ First",,42.447285,-76.50309,,,0,,0
+954,954,"Hancock @ First",,42.447414,-76.502968,,,0,,0
+959,959,"Hancock @ 5th",,42.445576,-76.507172,,,0,,0
+960,960,"5th @ Cascadilla",,42.444599,-76.506592,,,0,,0
+962,962,"Cascadilla @ Fulton",,42.444332,-76.509659,,,0,,0
+998,998,"TCAT Garage",,42.452354,-76.505447,,,0,,0

+ 1 - 0
experimental/data/transfers.txt

@@ -0,0 +1 @@
+from_stop_id,to_stop_id,transfer_type,min_transfer_time

File diff suppressed because it is too large
+ 2810 - 0
experimental/data/trips.txt


+ 208 - 0
experimental/geojson_from_gtfs_txt.py

@@ -0,0 +1,208 @@
+#!/usr/bin/python3
+#
+#
+# Copyright (c) 2021 Clementine Computing LLC.
+# 
+# This file is part of RideLogic.
+# 
+# RideLogic is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+# 
+# RideLogic is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+# 
+# You should have received a copy of the GNU Affero General Public License
+# along with RideLogic.  If not, see <https://www.gnu.org/licenses/>.
+#
+
+import os
+import sys
+import csv
+import json
+
+if len(sys.argv) < 6:
+  print("provide routes.txt stops.txt shapes.txt trips.txt stop_times.txt")
+  sys.exit(-1)
+
+routes_fn = sys.argv[1]
+stops_fn = sys.argv[2]
+shapes_fn = sys.argv[3]
+trips_fn = sys.argv[4]
+stop_times_fn = sys.argv[5]
+
+route_info = {}
+stop_info = {}
+shape_info = {}
+trip_info = {}
+stop_time_info = {}
+
+with open(routes_fn) as fp:
+  fpcsv = csv.reader(fp, delimiter=',', quotechar='"')
+  next(fpcsv)
+  for row in fpcsv:
+    route_info[row[0]] = {
+      "route_id" : row[0],
+      "agency_id" : row[1],
+      "route_short_name": row[2],
+      "route_long_name" : row[3],
+      "route_desc" : row[4],
+      "route_type": row[5],
+      "route_url" : row[6],
+      "route_color" : row[7],
+      "route_text_color" : row[8],
+      "route_sort_order" : row[9]
+    }
+
+with open(stops_fn) as fp:
+  fpcsv = csv.reader(fp, delimiter=',', quotechar='"')
+  next(fpcsv)
+  for row in fpcsv:
+    stop_info[row[0]] = {
+      "stop_id" : row[0],
+      "stop_code" : row[1],
+      "stop_name": row[2],
+      "stop_desc" : row[3],
+      "stop_lat" : row[4],
+      "stop_lon": row[5],
+      "zone_id" : row[6],
+      "stop_url" : row[7],
+      "location_type" : row[8],
+      "parent_station" : row[9],
+      "wheelchair_boarding" : row[10]
+    }
+
+with open(shapes_fn) as fp:
+  fpcsv = csv.reader(fp, delimiter=',', quotechar='"')
+  next(fpcsv)
+  for row in fpcsv:
+    if not (row[0] in shape_info):
+      shape_info[row[0]] = []
+    shape_info[row[0]].append({
+      "shape_id" : row[0],
+      "shape_pt_lat" : row[1],
+      "shape_pt_lon": row[2],
+      "shape_pt_sequence" : row[3],
+      "shape_dist_traveled" : row[4]
+    })
+
+with open(trips_fn) as fp:
+  fpcsv = csv.reader(fp, delimiter=',', quotechar='"')
+  next(fpcsv)
+  for row in fpcsv:
+    trip_info[row[2]] = {
+      "route_id" : row[0],
+      "service_id": row[1],
+      "trip_id" : row[2],
+      "trip_headsign" : row[3],
+      "direction_id" : row[4],
+      "block_id": row[5],
+      "shape_id" : row[6],
+      "wheelchair_accessible" : row[7],
+      "bikes_allowed" : row[8]
+    }
+
+trip_stops_map = {}
+
+with open(stop_times_fn) as fp:
+  fpcsv = csv.reader(fp, delimiter=',', quotechar='"')
+  next(fpcsv)
+  for row in fpcsv:
+    trip_id = row[0]
+    stop_id = row[3]
+    if not (trip_id in stop_time_info):
+      stop_time_info[trip_id] = []
+    stop_time_info[trip_id].append({
+      "trip_id" : row[0],
+      "arrival_time" : row[1],
+      "departure_time": row[2],
+      "stop_id" : row[3],
+      "stop_sequence" : row[4],
+      "stop_headsign" : row[5],
+      "pickup_type" : row[6],
+      "srop_off_type" : row[7],
+      "shape_dist_traveled" : row[8],
+      "timepoint" : row[9]
+    })
+
+
+    if not (trip_id in trip_stops_map):
+      trip_stops_map[trip_id] = {}
+
+    if not (stop_id in trip_stops_map[trip_id]):
+      trip_stops_map[trip_id][stop_id] = True
+
+
+geojson_info = {
+  "type" : "FeatureCollection",
+  "features" : []
+}
+
+for trip_id in trip_info:
+  geojson_trip = {
+    "type" : "trip",
+    "geometry": {
+      "type": "Polygon",
+      "coordinates": []
+    },
+    "properties" : {}
+  }
+  trip = trip_info[trip_id]
+  shape_id = trip["shape_id"]
+
+  for shape_ele in shape_info[shape_id]:
+    #geojson_trip["geometry"]["coordinates"].append( [ shape_ele["shape_pt_lat"], shape_ele["shape_pt_lon"] ] )
+    geojson_trip["geometry"]["coordinates"].append( [ shape_ele["shape_pt_lon"], shape_ele["shape_pt_lat"] ] )
+
+  #geojson_trip["properties"]["route_id"] = trip["route_id"]
+  geojson_trip["properties"]["trip_id"] = trip["trip_id"]
+  geojson_trip["properties"]["service_id"] = trip["service_id"]
+  geojson_trip["properties"]["block_id"] = trip["block_id"]
+  geojson_trip["properties"]["trip_headsign"] = trip["trip_headsign"]
+  geojson_trip["properties"]["bikes_allowed"] = trip["bikes_allowed"]
+  geojson_trip["properties"]["wheelchair_accessible"] = trip["wheelchair_accessible"]
+
+  route_ele = route_info[ trip["route_id"] ]
+
+  route_stops = []
+  for stop_id in trip_stops_map[trip_id]:
+    stop_ele = stop_info[stop_id]
+
+    gj_stop_ele = {
+      "stop" : {
+        "geometry": {
+          "coordinates" : [stop_ele["stop_lon"], stop_ele["stop_lat"] ]
+        }
+      }
+    }
+    route_stops.append( gj_stop_ele )
+
+
+  geojson_trip["properties"]["route"] = {
+    "route_id" : route_ele["route_id"],
+    "agency_id" : route_ele["agency_id"],
+    "route_short_name" : route_ele["route_short_name"],
+    "route_long_name" : route_ele["route_long_name"],
+    "route_desc" : route_ele["route_desc"],
+    "route_type" : route_ele["route_type"],
+    "route_url" : route_ele["route_url"],
+    "route_color" : route_ele["route_color"],
+    "route_text_color" : route_ele["route_text_color"],
+    "route_sort_order" : route_ele["route_sort_order"],
+  }
+  geojson_trip["properties"]["route_stops"] = route_stops
+
+  geojson_info["features"].append(geojson_trip)
+
+  #print( json.dumps(geojson_trip, indent=2) )
+  #print( json.dumps(trip_info[trip_id], indent=2) )
+
+#print(json.dumps(route_info, indent=2))
+#print(json.dumps(stop_info, indent=2))
+#print(json.dumps(shape_info, indent=2))
+#print(json.dumps(trip_info, indent=2))
+
+print(json.dumps(geojson_info, indent=2))

+ 22 - 0
html/index.html

@@ -1,4 +1,26 @@
 <!DOCTYPE html>
+
+<!--
+
+	Copyright (c) 2021 Clementine Computing LLC.
+
+	This file is part of RideLogic.
+
+	RideLogic is free software: you can redistribute it and/or modify
+	it under the terms of the GNU Affero General Public License as published by
+	the Free Software Foundation, either version 3 of the License, or
+	(at your option) any later version.
+
+	RideLogic is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU Affero General Public License for more details.
+
+	You should have received a copy of the GNU Affero General Public License
+	along with RideLogic.  If not, see <https://www.gnu.org/licenses/>.
+
+-->
+
 <html lang="en">
   <head>
     <meta content="text/html;charset=utf-8" http-equiv="Content-Type">

+ 43 - 29
html/js/RideLogicAVLS.js

@@ -1,6 +1,21 @@
-
-
-
+//
+// Copyright (c) 2021 Clementine Computing LLC.
+// 
+// This file is part of RideLogic.
+// 
+// RideLogic is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+// 
+// RideLogic is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU Affero General Public License for more details.
+// 
+// You should have received a copy of the GNU Affero General Public License
+// along with RideLogic.  If not, see <https://www.gnu.org/licenses/>.
+//
 
 
 var Feature = ol.Feature;
@@ -121,7 +136,7 @@ const rasterLayer = new TileLayer({
 
 //--
 
-const map = new Map({
+const g_map = new Map({
   //layers: [rasterLayer, vectorLayer, routeLayer],
   layers: [rasterLayer, busLayer ],
   target: document.getElementById('map'),
@@ -138,27 +153,34 @@ const popup = new Overlay({
   positioning: 'bottom-center',
   stopEvent: false,
 });
-map.addOverlay(popup);
+g_map.addOverlay(popup);
 
 // display popup on click
-map.on('click', function (evt) {
+// 
+g_map.on('click', function (evt) {
+
+  // note working (wip)
+  //
+  /*
   const feature = map.forEachFeatureAtPixel(evt.pixel, function (feature) {
     return feature;
   });
+  */
+
 });
 
 // change mouse cursor when over marker
-map.on('pointermove', function (e) {
-  const pixel = map.getEventPixel(e.originalEvent);
-  const hit = map.hasFeatureAtPixel(pixel);
-  map.getTarget().style.cursor = hit ? 'pointer' : '';
+g_map.on('pointermove', function (e) {
+  const pixel = g_map.getEventPixel(e.originalEvent);
+  const hit = g_map.hasFeatureAtPixel(pixel);
+  g_map.getTarget().style.cursor = hit ? 'pointer' : '';
 });
 // Close the popup when the map is moved
-map.on('movestart', function () {
+g_map.on('movestart', function () {
   //$(element).popover('dispose');
 });
 
-map.on("postrender", function(event) {
+g_map.on("postrender", function(event) {
   //console.log("bang...");
 });
 
@@ -246,7 +268,6 @@ function update_route_layer(geojson) {
   var routeLineVector = new ol.source.Vector({});
   routeLineVector.addFeature(routeLine);
 
-
   var routeLayer = new VectorLayer({
     source: routeLineVector,
     style: new ol.style.Style({
@@ -256,25 +277,21 @@ function update_route_layer(geojson) {
     zIndex: 0
   });
 
-  map.addLayer(routeLayer);
-
+  g_map.addLayer(routeLayer);
 }
 
 function update_stop_layer(geojson) {
   if (!geojson) { return; }
   let stop_points = geojson.features[0].properties.route_stops;
 
+  if (!stop_points) { return; }
+
   let merc_points = [];
   for (let ii=0; ii<stop_points.length; ii++) {
-    console.log(stop_points[ii].stop);
-    console.log(stop_points[ii].stop.geometry);
-    console.log(stop_points[ii].stop.geometry.coordinates);
     let pnt = stop_points[ii].stop.geometry.coordinates;
     merc_points.push(ol.proj.transform(pnt, 'EPSG:4326', 'EPSG:3857'));
   }
 
-  console.log("...");
-
   var stopVectorSource = new VectorSource();
 
   for (var ii=0; ii<merc_points.length; ii++) {
@@ -282,8 +299,6 @@ function update_stop_layer(geojson) {
 
     let _stop_name = _stop.stop_name;
 
-    console.log(merc_points[ii]);
-
     var iconFeature = new Feature({
       geometry: new Point([merc_points[ii][0], merc_points[ii][1]]),
       name: _stop_name
@@ -309,12 +324,7 @@ function update_stop_layer(geojson) {
     zIndex: 0
   });
 
-  map.addLayer(stopLayer);
-
-
-  console.log(stop_points);
-
-
+  g_map.addLayer(stopLayer);
 }
 
 function fetch_geojson(url) {
@@ -337,6 +347,7 @@ function _resize() {
   let h = $(window).height();
   let m = document.getElementById("map");
   m.style.height = (h-10) + "px";
+  g_map.updateSize();
 }
 
 function init() {
@@ -346,4 +357,7 @@ function init() {
   $(window).on('resize', _resize);
 }
 
-init();
+$(document).ready(function() {
+  init();
+  _resize();
+});