diff --git a/src/client/bin/bc.dart b/src/client/bin/bc.dart deleted file mode 100644 index 833b8eb..0000000 --- a/src/client/bin/bc.dart +++ /dev/null @@ -1,149 +0,0 @@ -import "dart:convert"; -import "dart:io"; -import "package:csv/csv.dart"; - -/// Utils on [Map]. -extension MapUtils on Map { - /// Gets all the keys and values as 2-element records. - Iterable<(K, V)> get records => entries.map((entry) => (entry.key, entry.value)); -} - -extension on Directory { - String operator /(String child) => "$path/$child"; -} - -final serverDir = Directory("../server"); -final dataDir = Directory(serverDir / "data/BCT"); -final tripsFile = File(dataDir / "stop_times.txt"); -final routesFile = File(dataDir / "trips.txt"); -final stopsFile = File(dataDir / "stops.txt"); -final routeNamesFile = File(dataDir / "routes.txt"); -final outputFile = File(serverDir / "GET_STOPS.json"); - -extension type TripID(String id) { } -extension type StopID(String id) { } -extension type RouteID(String id) { } - -class Stop { - final StopID id; - final double latitude; - final double longitude; - final String name; - final String description; - final String provider; - - final Set routes = {}; - - Stop({ - required this.id, - required this.latitude, - required this.longitude, - required this.name, - required this.description, - required this.provider, - }); - - Map toJson() => { - "id": id.id, - "name": name, - "description": description, - "latitude": latitude, - "longitude": longitude, - "provider": provider, - "routes": routes.toList(), - }; -} - -final converter = CsvCodec(shouldParseNumbers: false).decoder; - -Future>> getTrips() async { - final contents = await tripsFile.readAsString(); - final csv = converter.convert(contents); - final result = >{}; - for (final row in csv.skip(1)) { - final tripId = TripID(row[0]); - final stopId = StopID(row[3]); - result[tripId] ??= {}; - result[tripId]!.add(stopId); - } - return result; -} - -Future> getRoutes() async { - final contents = await routesFile.readAsString(); - final csv = converter.convert(contents); - final result = {}; - for (final row in csv.skip(1)) { - final routeID = RouteID(row[0]); - final tripID = TripID(row[2]); - result[tripID] = routeID; - } - return result; -} - -Future> getRouteNames() async { - final contents = await routeNamesFile.readAsString(); - final csv = converter.convert(contents); - return { - for (final row in csv.skip(1)) - RouteID(row[0]): row[3], - }; -} - -Future> getStops() async { - final contents = await stopsFile.readAsString(); - final csv = converter.convert(contents); - final result = {}; - for (final row in csv.skip(1)) { - final stopID = StopID(row[0]); - final name = row[2]; - final description = row[3]; - final latitude = double.parse(row[4]); - final longitude = double.parse(row[5]); - final stop = Stop( - id: stopID, - name: name, - description: description, - latitude: latitude, - longitude: longitude, - provider: "BC Transit", - ); - result[stopID] = stop; - } - return result; -} - -void findRoutesForStops({ - required Iterable stops, - required Map> trips, - required Map routes, - required Map routeNames, -}) { - for (final stop in stops) { - for (final (tripID, trip) in trips.records) { - if (!trip.contains(stop.id)) continue; - final routeID = routes[tripID]!; - final routeName = routeNames[routeID]!; - stop.routes.add(routeName); - } - } -} - -Future outputJson(Iterable stops) async { - final result = [ - for (final stop in stops) - stop.toJson(), - ]; - const encoder = JsonEncoder.withIndent(" "); - final contents = encoder.convert(result); - await outputFile.writeAsString(contents); -} - -void main() async { - final trips = await getTrips(); - final routes = await getRoutes(); - final stops = await getStops(); - final routeNames = await getRouteNames(); - findRoutesForStops(stops: stops.values, trips: trips, routes: routes, routeNames: routeNames); - await outputJson(stops.values); -} diff --git a/src/client/lib/data.dart b/src/client/lib/data.dart index f8264a5..6042091 100644 --- a/src/client/lib/data.dart +++ b/src/client/lib/data.dart @@ -2,4 +2,5 @@ export "src/data/utils.dart"; export "src/data/trip.dart"; export "src/data/path.dart"; export "src/data/polyline.dart"; -export "src/data/stop.dart"; + +export "package:shared/data.dart"; diff --git a/src/client/lib/src/data/path.dart b/src/client/lib/src/data/path.dart index 12762b3..2e4fdb8 100644 --- a/src/client/lib/src/data/path.dart +++ b/src/client/lib/src/data/path.dart @@ -1,5 +1,5 @@ import "trip.dart"; -import "utils.dart"; +import "package:shared/data.dart"; class PathStep { final PathTrip trip; diff --git a/src/client/lib/src/data/stop.dart b/src/client/lib/src/data/stop.dart deleted file mode 100644 index 10b491f..0000000 --- a/src/client/lib/src/data/stop.dart +++ /dev/null @@ -1,20 +0,0 @@ -import "utils.dart"; - -extension type StopID(String id) { } - -class Stop { - final StopID id; - final String name; - final String description; - final Coordinates coordinates; - final String provider; - final List routes; - - Stop.fromJson(Json json) : - id = StopID(json["id"]), - name = json["name"], - description = json["description"], - coordinates = (lat: json["latitude"], long: json["longitude"]), - provider = json["provider"], - routes = (json["routes"] as List).cast(); -} diff --git a/src/client/lib/src/data/trip.dart b/src/client/lib/src/data/trip.dart index 4889e37..01f29e3 100644 --- a/src/client/lib/src/data/trip.dart +++ b/src/client/lib/src/data/trip.dart @@ -1,4 +1,4 @@ -import "utils.dart"; +import "package:shared/data.dart"; import "package:flutter/material.dart" show TimeOfDay; diff --git a/src/client/lib/src/data/utils.dart b/src/client/lib/src/data/utils.dart index 40de501..d2af9be 100644 --- a/src/client/lib/src/data/utils.dart +++ b/src/client/lib/src/data/utils.dart @@ -1,35 +1,6 @@ import "package:google_maps_flutter/google_maps_flutter.dart"; -/// A JSON object -typedef Json = Map; - -typedef FromJson = T Function(Json); - -typedef Coordinates = ({double lat, double long}); - -/// Utils on [Map]. -extension MapUtils on Map { - /// Gets all the keys and values as 2-element records. - Iterable<(K, V)> get records => entries.map((entry) => (entry.key, entry.value)); -} - -/// Zips two lists, like Python -Iterable<(E1, E2)> zip(List list1, List list2) sync* { - if (list1.length != list2.length) throw ArgumentError("Trying to zip lists of different lengths"); - for (var index = 0; index < list1.length; index++) { - yield (list1[index], list2[index]); - } -} - -/// Extensions on lists -extension ListUtils on List { - /// Iterates over a pair of indexes and elements, like Python - Iterable<(int, E)> get enumerate sync* { - for (var i = 0; i < length; i++) { - yield (i, this[i]); - } - } -} +import "package:shared/data.dart"; extension CoordinatesUtils on Coordinates { LatLng toLatLng() => LatLng(lat, long); diff --git a/src/client/lib/src/view_models/home_markers.dart b/src/client/lib/src/view_models/home_markers.dart index a745325..64d51da 100644 --- a/src/client/lib/src/view_models/home_markers.dart +++ b/src/client/lib/src/view_models/home_markers.dart @@ -26,7 +26,7 @@ mixin HomeMarkers on ChangeNotifier { consumeTapEvents: true, infoWindow: InfoWindow( title: stop.name, - snippet: "${stop.description}\n\nRoutes: ${stop.routes.join("\n")}", + snippet: stop.summary, ), ), }; diff --git a/src/client/pubspec.lock b/src/client/pubspec.lock index 30de841..ca86d13 100644 --- a/src/client/pubspec.lock +++ b/src/client/pubspec.lock @@ -304,6 +304,13 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + shared: + dependency: "direct main" + description: + path: "../shared" + relative: true + source: path + version: "1.0.0" shelf: dependency: transitive description: @@ -422,5 +429,5 @@ packages: source: hosted version: "1.1.1" sdks: - dart: ">=3.7.0-0 <4.0.0" + dart: ">=3.7.0 <4.0.0" flutter: ">=3.27.0" diff --git a/src/client/pubspec.yaml b/src/client/pubspec.yaml index 7673016..c80c9ea 100644 --- a/src/client/pubspec.yaml +++ b/src/client/pubspec.yaml @@ -17,6 +17,8 @@ dependencies: http: ^1.3.0 polyline_tools: ^0.0.2 web: ^1.1.1 + shared: + path: ../shared dev_dependencies: dhttpd: ^4.1.0 diff --git a/src/server/GET_STOPS.json b/src/server/GET_STOPS.json index c720bf6..6db7db4 100644 --- a/src/server/GET_STOPS.json +++ b/src/server/GET_STOPS.json @@ -9423,5 +9423,1486 @@ "longitude": -75.9107351607132, "provider": "BC Transit", "routes": [] + }, + { + "id": "3", + "name": "Denny's (OB)", + "description": null, + "latitude": 42.0944709777832, + "longitude": -75.9753036499023, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Downtown Center Leroy Outbound", + "Riviera Ridge - Town Square Mall", + "Oakdale Commons", + "Main Street Outbound" + ] + }, + { + "id": "5", + "name": "Floral & Ackley (OB)", + "description": null, + "latitude": 42.1073417663574, + "longitude": -75.9604721069336, + "provider": "OCCT", + "routes": [ + "Westside Outbound" + ] + }, + { + "id": "9", + "name": "Floral & Burbank (OB)", + "description": null, + "latitude": 42.1084480285645, + "longitude": -75.9524078369141, + "provider": "OCCT", + "routes": [ + "Westside Outbound" + ] + }, + { + "id": "10", + "name": "Floral & Cleveland (OB)", + "description": null, + "latitude": 42.1089553833008, + "longitude": -75.9489822387695, + "provider": "OCCT", + "routes": [ + "Westside Outbound" + ] + }, + { + "id": "6", + "name": "Floral & Harrison (OB)", + "description": null, + "latitude": 42.1075897216797, + "longitude": -75.9584808349609, + "provider": "OCCT", + "routes": [ + "Westside Outbound" + ] + }, + { + "id": "11", + "name": "Floral & Main (OB)", + "description": null, + "latitude": 42.1110305786133, + "longitude": -75.9451065063477, + "provider": "OCCT", + "routes": [ + "Westside Outbound" + ] + }, + { + "id": "4", + "name": "Floral & New York (OB)", + "description": null, + "latitude": 42.1070404052734, + "longitude": -75.9631576538086, + "provider": "OCCT", + "routes": [ + "Westside Outbound" + ] + }, + { + "id": "7", + "name": "Floral & Roberts (OB)", + "description": null, + "latitude": 42.1078758239746, + "longitude": -75.9561309814453, + "provider": "OCCT", + "routes": [ + "Westside Outbound" + ] + }, + { + "id": "8", + "name": "Floral & Willow (OB)", + "description": null, + "latitude": 42.1081123352051, + "longitude": -75.9543304443359, + "provider": "OCCT", + "routes": [ + "Westside Outbound" + ] + }, + { + "id": "20", + "name": "Hawley & Court (OB)", + "description": null, + "latitude": 42.098560333252, + "longitude": -75.9147033691406, + "provider": "OCCT", + "routes": [ + "Westside Outbound" + ] + }, + { + "id": "17", + "name": "Main & Arthur (OB)", + "description": null, + "latitude": 42.1003913879395, + "longitude": -75.9249649047852, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Main Street Outbound" + ] + }, + { + "id": "16", + "name": "Main & Cedar (OB)", + "description": null, + "latitude": 42.1022415161133, + "longitude": -75.9286117553711, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Main Street Outbound" + ] + }, + { + "id": "15", + "name": "Main & Clarke (OB)", + "description": null, + "latitude": 42.1031761169434, + "longitude": -75.930305480957, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Main Street Outbound" + ] + }, + { + "id": "132", + "name": "Main & Crestmont (OB)", + "description": null, + "latitude": 42.1082992553711, + "longitude": -75.9395065307617, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Main Street Outbound" + ] + }, + { + "id": "19", + "name": "Main & Front (OB)", + "description": null, + "latitude": 42.098762512207, + "longitude": -75.9179306030273, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Main Street Outbound" + ] + }, + { + "id": "13", + "name": "Main & Helen (OB)", + "description": null, + "latitude": 42.10693359375, + "longitude": -75.9371109008789, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Main Street Outbound" + ] + }, + { + "id": "12", + "name": "Main & Matthews (OB)", + "description": null, + "latitude": 42.1095199584961, + "longitude": -75.9418029785156, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Main Street Outbound" + ] + }, + { + "id": "18", + "name": "Main & Murray (OB)", + "description": null, + "latitude": 42.0994873046875, + "longitude": -75.9216384887695, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Main Street Outbound" + ] + }, + { + "id": "14", + "name": "Main & Schiller (OB)", + "description": null, + "latitude": 42.1053428649902, + "longitude": -75.9342346191406, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Main Street Outbound" + ] + }, + { + "id": "2", + "name": "Physical Facilities (OB)", + "description": null, + "latitude": 42.0913124084473, + "longitude": -75.9737396240234, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Downtown Center Leroy Outbound", + "Riviera Ridge - Town Square Mall", + "Oakdale Commons", + "Main Street Outbound" + ] + }, + { + "id": "21", + "name": "University Downtown Center (South)", + "description": null, + "latitude": 42.0956192016602, + "longitude": -75.9142837524414, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Downtown Center Leroy Inbound", + "University Downtown Center Outbound", + "University Downtown Center Inbound", + "Main Street Outbound", + "Downtown Southside Outbound" + ] + }, + { + "id": "1", + "name": "University Union", + "description": null, + "latitude": 42.0870208740234, + "longitude": -75.9670791625977, + "provider": "OCCT", + "routes": [ + "Westside Outbound", + "Westside Inbound", + "Downtown Center Leroy Outbound", + "Downtown Center Leroy Inbound", + "UCLUB", + "Campus Shuttle", + "Riviera Ridge - Town Square Mall", + "Oakdale Commons", + "University Downtown Center Outbound", + "University Downtown Center Inbound", + "Main Street Outbound", + "Main Street Inbound", + "Downtown Southside Outbound" + ] + }, + { + "id": "32", + "name": "Academic A", + "description": null, + "latitude": 42.0887184143066, + "longitude": -75.9731826782227, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Downtown Center Leroy Inbound", + "Riviera Ridge - Town Square Mall", + "Oakdale Commons", + "University Downtown Center Inbound", + "Main Street Inbound" + ] + }, + { + "id": "43", + "name": "Court & Hawley (IB)", + "description": null, + "latitude": 42.0988121032715, + "longitude": -75.9152603149414, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Main Street Inbound" + ] + }, + { + "id": "55", + "name": "Floral & Burbank (IB)", + "description": null, + "latitude": 42.1086578369141, + "longitude": -75.9521331787109, + "provider": "OCCT", + "routes": [ + "Westside Inbound" + ] + }, + { + "id": "54", + "name": "Floral & Cleveland (IB)", + "description": null, + "latitude": 42.1091613769531, + "longitude": -75.9487075805664, + "provider": "OCCT", + "routes": [ + "Westside Inbound" + ] + }, + { + "id": "60", + "name": "Floral & Cook (IB)", + "description": null, + "latitude": 42.1071891784668, + "longitude": -75.9633865356445, + "provider": "OCCT", + "routes": [ + "Westside Inbound" + ] + }, + { + "id": "58", + "name": "Floral & Harrison (IB)", + "description": null, + "latitude": 42.1078033447266, + "longitude": -75.9582290649414, + "provider": "OCCT", + "routes": [ + "Westside Inbound" + ] + }, + { + "id": "53", + "name": "Floral & Main (IB)", + "description": null, + "latitude": 42.1107978820801, + "longitude": -75.9454498291016, + "provider": "OCCT", + "routes": [ + "Westside Inbound" + ] + }, + { + "id": "57", + "name": "Floral & Roberts (IB)", + "description": null, + "latitude": 42.1080780029297, + "longitude": -75.9560165405273, + "provider": "OCCT", + "routes": [ + "Westside Inbound" + ] + }, + { + "id": "59", + "name": "Floral & St Charles (IB)", + "description": null, + "latitude": 42.1075286865234, + "longitude": -75.9603729248047, + "provider": "OCCT", + "routes": [ + "Westside Inbound" + ] + }, + { + "id": "56", + "name": "Floral & Willow (IB)", + "description": null, + "latitude": 42.1083488464356, + "longitude": -75.9540023803711, + "provider": "OCCT", + "routes": [ + "Westside Inbound" + ] + }, + { + "id": "47", + "name": "Main & Cedar (IB)", + "description": null, + "latitude": 42.1024131774902, + "longitude": -75.9286041259766, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Main Street Inbound" + ] + }, + { + "id": "48", + "name": "Main & Clarke (IB)", + "description": null, + "latitude": 42.1032600402832, + "longitude": -75.9301300048828, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Main Street Inbound" + ] + }, + { + "id": "52", + "name": "Main & Crary (IB)", + "description": null, + "latitude": 42.1099548339844, + "longitude": -75.9422988891602, + "provider": "OCCT", + "routes": [ + "Westside Inbound" + ] + }, + { + "id": "51", + "name": "Main & Crestmont (IB)", + "description": null, + "latitude": 42.1090469360352, + "longitude": -75.9406204223633, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Main Street Inbound" + ] + }, + { + "id": "44", + "name": "Main & Front (IB)", + "description": null, + "latitude": 42.0989456176758, + "longitude": -75.9179763793945, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Main Street Inbound" + ] + }, + { + "id": "50", + "name": "Main & Helen (IB)", + "description": null, + "latitude": 42.1074371337891, + "longitude": -75.9376220703125, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Main Street Inbound" + ] + }, + { + "id": "46", + "name": "Main & Mather (IB)", + "description": null, + "latitude": 42.1005592346191, + "longitude": -75.9251327514648, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Main Street Inbound" + ] + }, + { + "id": "45", + "name": "Main & Murray (IB)", + "description": null, + "latitude": 42.0996780395508, + "longitude": -75.9217681884766, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Main Street Inbound" + ] + }, + { + "id": "49", + "name": "Main & Schiller (IB)", + "description": null, + "latitude": 42.1051940917969, + "longitude": -75.9335021972656, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Main Street Inbound" + ] + }, + { + "id": "61", + "name": "Mohawk", + "description": null, + "latitude": 42.0869369506836, + "longitude": -75.965934753418, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Downtown Center Leroy Inbound", + "UCLUB", + "Campus Shuttle", + "Riviera Ridge - Town Square Mall", + "Oakdale Commons", + "University Downtown Center Inbound", + "Main Street Inbound", + "ITC - UCLUB" + ] + }, + { + "id": "118", + "name": "Rafuse", + "description": null, + "latitude": 42.0874557495117, + "longitude": -75.9645919799805, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Downtown Center Leroy Inbound", + "Riviera Ridge - Town Square Mall", + "Oakdale Commons", + "University Downtown Center Inbound" + ] + }, + { + "id": "42", + "name": "University Downtown Center (North)", + "description": null, + "latitude": 42.0952110290527, + "longitude": -75.9141998291016, + "provider": "OCCT", + "routes": [ + "Westside Inbound", + "Downtown Center Leroy Outbound", + "University Downtown Center Outbound", + "Main Street Inbound" + ] + }, + { + "id": "39", + "name": "Leroy & Chestnut (OB)", + "description": null, + "latitude": 42.0956840515137, + "longitude": -75.9268417358398, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Outbound" + ] + }, + { + "id": "38", + "name": "Leroy & Laurel (OB)", + "description": null, + "latitude": 42.0954780578613, + "longitude": -75.9309844970703, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Outbound" + ] + }, + { + "id": "40", + "name": "Leroy & Murray (OB)", + "description": null, + "latitude": 42.0954551696777, + "longitude": -75.9226379394531, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Outbound" + ] + }, + { + "id": "37", + "name": "Riverside & Beethoven (OB)", + "description": null, + "latitude": 42.0927467346191, + "longitude": -75.9363174438477, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Outbound" + ] + }, + { + "id": "35", + "name": "Riverside & Columbus (OB)", + "description": null, + "latitude": 42.099292755127, + "longitude": -75.9546966552734, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Outbound" + ] + }, + { + "id": "34", + "name": "Riverside & Elfred (OB)", + "description": null, + "latitude": 42.1003227233887, + "longitude": -75.958869934082, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Outbound" + ] + }, + { + "id": "33", + "name": "Riverside & Ethel (OB)", + "description": null, + "latitude": 42.1020736694336, + "longitude": -75.9613723754883, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Outbound" + ] + }, + { + "id": "41", + "name": "Riverside & Front (OB)", + "description": null, + "latitude": 42.0928115844727, + "longitude": -75.9200973510742, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Outbound" + ] + }, + { + "id": "36", + "name": "Riverside & Margaret (OB)", + "description": null, + "latitude": 42.0980491638184, + "longitude": -75.9492721557617, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Outbound" + ] + }, + { + "id": "26", + "name": "Leroy & Beethoven (IB)", + "description": null, + "latitude": 42.0954360961914, + "longitude": -75.9344100952148, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Inbound" + ] + }, + { + "id": "24", + "name": "Leroy & Chestnut (IB)", + "description": null, + "latitude": 42.095817565918, + "longitude": -75.9265670776367, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Inbound" + ] + }, + { + "id": "22", + "name": "Leroy & Front (IB)", + "description": null, + "latitude": 42.0950965881348, + "longitude": -75.9193115234375, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Inbound" + ] + }, + { + "id": "25", + "name": "Leroy & Laurel (IB)", + "description": null, + "latitude": 42.0956192016602, + "longitude": -75.930549621582, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Inbound" + ] + }, + { + "id": "23", + "name": "Leroy & Murray (IB)", + "description": null, + "latitude": 42.0955696105957, + "longitude": -75.9226837158203, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Inbound" + ] + }, + { + "id": "27", + "name": "Riverside & Beethoven (IB)", + "description": null, + "latitude": 42.0925369262695, + "longitude": -75.9346694946289, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Inbound" + ] + }, + { + "id": "29", + "name": "Riverside & Columbus (IB)", + "description": null, + "latitude": 42.0994644165039, + "longitude": -75.9548645019531, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Inbound" + ] + }, + { + "id": "30", + "name": "Riverside & Elfred (IB)", + "description": null, + "latitude": 42.1005401611328, + "longitude": -75.9588394165039, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Inbound" + ] + }, + { + "id": "31", + "name": "Riverside & Ethel (IB)", + "description": null, + "latitude": 42.102222442627, + "longitude": -75.9612274169922, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Inbound" + ] + }, + { + "id": "28", + "name": "Riverside & Margaret (IB)", + "description": null, + "latitude": 42.0981483459473, + "longitude": -75.9491500854492, + "provider": "OCCT", + "routes": [ + "Downtown Center Leroy Inbound" + ] + }, + { + "id": "64", + "name": "Couper Administration", + "description": null, + "latitude": 42.0896911621094, + "longitude": -75.9657592773438, + "provider": "OCCT", + "routes": [ + "UCLUB", + "Campus Shuttle", + "ITC - UCLUB" + ] + }, + { + "id": "65", + "name": "East Gym", + "description": null, + "latitude": 42.0909729003906, + "longitude": -75.9673309326172, + "provider": "OCCT", + "routes": [ + "UCLUB", + "Campus Shuttle", + "ITC - UCLUB" + ] + }, + { + "id": "68", + "name": "Hayes", + "description": null, + "latitude": 42.0882949829102, + "longitude": -75.9564208984375, + "provider": "OCCT", + "routes": [ + "UCLUB", + "ITC - UCLUB" + ] + }, + { + "id": "67", + "name": "Meadows", + "description": null, + "latitude": 42.0893135070801, + "longitude": -75.9558868408203, + "provider": "OCCT", + "routes": [ + "UCLUB", + "ITC - UCLUB" + ] + }, + { + "id": "63", + "name": "Newing", + "description": null, + "latitude": 42.0884552001953, + "longitude": -75.9628753662109, + "provider": "OCCT", + "routes": [ + "UCLUB", + "Campus Shuttle", + "ITC - UCLUB" + ] + }, + { + "id": "134", + "name": "Oxford & Murray Hill", + "description": null, + "latitude": 42.0882606506348, + "longitude": -75.959098815918, + "provider": "OCCT", + "routes": [ + "UCLUB", + "ITC - UCLUB" + ] + }, + { + "id": "66", + "name": "UCLUB", + "description": null, + "latitude": 42.0924949645996, + "longitude": -75.9538421630859, + "provider": "OCCT", + "routes": [ + "UCLUB", + "ITC - UCLUB" + ] + }, + { + "id": "69", + "name": "Washington & Lehigh", + "description": null, + "latitude": 42.0825347900391, + "longitude": -75.9595413208008, + "provider": "OCCT", + "routes": [ + "UCLUB", + "ITC - UCLUB" + ] + }, + { + "id": "112", + "name": "Clearview", + "description": null, + "latitude": 42.0890884399414, + "longitude": -75.9744415283203, + "provider": "OCCT", + "routes": [ + "Campus Shuttle" + ] + }, + { + "id": "62", + "name": "Dickinson", + "description": null, + "latitude": 42.0872459411621, + "longitude": -75.9648284912109, + "provider": "OCCT", + "routes": [ + "Campus Shuttle" + ] + }, + { + "id": "117", + "name": "Engineering Building", + "description": null, + "latitude": 42.0868263244629, + "longitude": -75.96826171875, + "provider": "OCCT", + "routes": [ + "Campus Shuttle" + ] + }, + { + "id": "114", + "name": "Hillside", + "description": null, + "latitude": 42.0871200561523, + "longitude": -75.9782333374023, + "provider": "OCCT", + "routes": [ + "Campus Shuttle" + ] + }, + { + "id": "116", + "name": "Hinman", + "description": null, + "latitude": 42.0883369445801, + "longitude": -75.9731369018555, + "provider": "OCCT", + "routes": [ + "Campus Shuttle" + ] + }, + { + "id": "115", + "name": "Mountainview", + "description": null, + "latitude": 42.0840263366699, + "longitude": -75.9703369140625, + "provider": "OCCT", + "routes": [ + "Campus Shuttle" + ] + }, + { + "id": "111", + "name": "Physical Facilities (CS)", + "description": null, + "latitude": 42.0915908813477, + "longitude": -75.9739151000977, + "provider": "OCCT", + "routes": [ + "Campus Shuttle" + ] + }, + { + "id": "113", + "name": "Susquehanna", + "description": null, + "latitude": 42.0862503051758, + "longitude": -75.9744262695313, + "provider": "OCCT", + "routes": [ + "Campus Shuttle" + ] + }, + { + "id": "110", + "name": "West Gym", + "description": null, + "latitude": 42.091724395752, + "longitude": -75.9711837768555, + "provider": "OCCT", + "routes": [ + "Campus Shuttle" + ] + }, + { + "id": "125", + "name": "Barnes & Noble", + "description": null, + "latitude": 42.0970573425293, + "longitude": -76.0077590942383, + "provider": "OCCT", + "routes": [ + "Riviera Ridge - Town Square Mall" + ] + }, + { + "id": "123", + "name": "Burris & Rano", + "description": null, + "latitude": 42.0915031433106, + "longitude": -76.0025329589844, + "provider": "OCCT", + "routes": [ + "Riviera Ridge - Town Square Mall" + ] + }, + { + "id": "119", + "name": "Chuck E. Cheese", + "description": null, + "latitude": 42.0961303710938, + "longitude": -75.9792327880859, + "provider": "OCCT", + "routes": [ + "Riviera Ridge - Town Square Mall" + ] + }, + { + "id": "127", + "name": "Denny's (IB)", + "description": null, + "latitude": 42.0949859619141, + "longitude": -75.9754943847656, + "provider": "OCCT", + "routes": [ + "Riviera Ridge - Town Square Mall" + ] + }, + { + "id": "122", + "name": "Hollybrook", + "description": null, + "latitude": 42.0917320251465, + "longitude": -76.0001907348633, + "provider": "OCCT", + "routes": [ + "Riviera Ridge - Town Square Mall" + ] + }, + { + "id": "128", + "name": "Physical Facilities (IB)", + "description": null, + "latitude": 42.0917854309082, + "longitude": -75.9744415283203, + "provider": "OCCT", + "routes": [ + "Riviera Ridge - Town Square Mall" + ] + }, + { + "id": "120", + "name": "Riviera Ridge 1", + "description": null, + "latitude": 42.0938186645508, + "longitude": -75.9955215454102, + "provider": "OCCT", + "routes": [ + "Riviera Ridge - Town Square Mall" + ] + }, + { + "id": "121", + "name": "Riviera Ridge 2", + "description": null, + "latitude": 42.0919227600098, + "longitude": -75.9965744018555, + "provider": "OCCT", + "routes": [ + "Riviera Ridge - Town Square Mall" + ] + }, + { + "id": "124", + "name": "Target", + "description": null, + "latitude": 42.0932884216309, + "longitude": -76.0030288696289, + "provider": "OCCT", + "routes": [ + "Riviera Ridge - Town Square Mall" + ] + }, + { + "id": "126", + "name": "Walmart", + "description": null, + "latitude": 42.0965156555176, + "longitude": -76.0124588012695, + "provider": "OCCT", + "routes": [ + "Riviera Ridge - Town Square Mall" + ] + }, + { + "id": "129", + "name": "Oakdale Commons", + "description": null, + "latitude": 42.1278686523438, + "longitude": -75.9751510620117, + "provider": "OCCT", + "routes": [ + "Oakdale Commons" + ] + }, + { + "id": "130", + "name": "Wegman's", + "description": null, + "latitude": 42.1232643127441, + "longitude": -75.9725646972656, + "provider": "OCCT", + "routes": [ + "Oakdale Commons" + ] + }, + { + "id": "133", + "name": "Stone Fox Courtyard", + "description": null, + "latitude": 42.0972938537598, + "longitude": -75.913215637207, + "provider": "OCCT", + "routes": [] + }, + { + "id": "155", + "name": "Gannett Building", + "description": null, + "latitude": 42.1168785095215, + "longitude": -75.9485626220703, + "provider": "OCCT", + "routes": [ + "Main Street Outbound", + "Main Street Inbound" + ] + }, + { + "id": "76", + "name": "Jennison & Main (OB)", + "description": null, + "latitude": 42.1139984130859, + "longitude": -75.9527130126953, + "provider": "OCCT", + "routes": [ + "Main Street Outbound" + ] + }, + { + "id": "71", + "name": "Main & Albert (OB)", + "description": null, + "latitude": 42.115650177002, + "longitude": -75.9637298583984, + "provider": "OCCT", + "routes": [ + "Main Street Outbound" + ] + }, + { + "id": "70", + "name": "Main & Baker (OB)", + "description": null, + "latitude": 42.1155662536621, + "longitude": -75.9657745361328, + "provider": "OCCT", + "routes": [ + "Main Street Outbound" + ] + }, + { + "id": "73", + "name": "Main & Baldwin (OB)", + "description": null, + "latitude": 42.1157684326172, + "longitude": -75.9587860107422, + "provider": "OCCT", + "routes": [ + "Main Street Outbound" + ] + }, + { + "id": "78", + "name": "Main & Floral (OB)", + "description": null, + "latitude": 42.1114006042481, + "longitude": -75.9456634521484, + "provider": "OCCT", + "routes": [ + "Main Street Outbound" + ] + }, + { + "id": "77", + "name": "Main & Lester (OB)", + "description": null, + "latitude": 42.113338470459, + "longitude": -75.9506759643555, + "provider": "OCCT", + "routes": [ + "Main Street Outbound" + ] + }, + { + "id": "72", + "name": "Main & St Charles (OB)", + "description": null, + "latitude": 42.1156997680664, + "longitude": -75.9615707397461, + "provider": "OCCT", + "routes": [ + "Main Street Outbound" + ] + }, + { + "id": "75", + "name": "Nursing School", + "description": null, + "latitude": 42.1131401062012, + "longitude": -75.9540100097656, + "provider": "OCCT", + "routes": [ + "Main Street Outbound" + ] + }, + { + "id": "74", + "name": "Pharmacy School (OB)", + "description": null, + "latitude": 42.1130180358887, + "longitude": -75.9561386108398, + "provider": "OCCT", + "routes": [ + "Main Street Outbound" + ] + }, + { + "id": "85", + "name": "Main & 1st (IB)", + "description": null, + "latitude": 42.1157722473145, + "longitude": -75.9642333984375, + "provider": "OCCT", + "routes": [ + "Main Street Inbound" + ] + }, + { + "id": "83", + "name": "Main & Baldwin (IB)", + "description": null, + "latitude": 42.1159133911133, + "longitude": -75.9584121704102, + "provider": "OCCT", + "routes": [ + "Main Street Inbound" + ] + }, + { + "id": "79", + "name": "Main & Floral (IB)", + "description": null, + "latitude": 42.1114387512207, + "longitude": -75.9454345703125, + "provider": "OCCT", + "routes": [ + "Main Street Inbound" + ] + }, + { + "id": "80", + "name": "Main & Lester (IB)", + "description": null, + "latitude": 42.1134567260742, + "longitude": -75.9506149291992, + "provider": "OCCT", + "routes": [ + "Main Street Inbound" + ] + }, + { + "id": "84", + "name": "Main & St Charles (IB)", + "description": null, + "latitude": 42.1158065795898, + "longitude": -75.9617767333984, + "provider": "OCCT", + "routes": [ + "Main Street Inbound" + ] + }, + { + "id": "81", + "name": "Nursing School (IB)", + "description": null, + "latitude": 42.1133270263672, + "longitude": -75.953369140625, + "provider": "OCCT", + "routes": [ + "Main Street Inbound" + ] + }, + { + "id": "82", + "name": "Pharmacy School (IB)", + "description": null, + "latitude": 42.113166809082, + "longitude": -75.955680847168, + "provider": "OCCT", + "routes": [ + "Main Street Inbound" + ] + }, + { + "id": "109", + "name": "Innovative Technology Center", + "description": null, + "latitude": 42.0933609008789, + "longitude": -75.9588241577148, + "provider": "OCCT", + "routes": [ + "ITC - UCLUB" + ] + }, + { + "id": "151", + "name": "BC Junction", + "description": null, + "latitude": 42.100715637207, + "longitude": -75.9108123779297, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "145", + "name": "Conklin Ave & Alfred St", + "description": null, + "latitude": 42.0942420959473, + "longitude": -75.8978652954102, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "142", + "name": "Conklin Ave & Livingston St", + "description": null, + "latitude": 42.0926666259766, + "longitude": -75.9086074829102, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "140", + "name": "Conklin Ave & S Washington St", + "description": null, + "latitude": 42.0913009643555, + "longitude": -75.9144821166992, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "144", + "name": "Conklin Ave & Telegraph St", + "description": null, + "latitude": 42.0936088562012, + "longitude": -75.9018707275391, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "141", + "name": "Conklin Ave & Tremont Ave", + "description": null, + "latitude": 42.0924530029297, + "longitude": -75.9100799560547, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "148", + "name": "Conklin Ave & Webster St", + "description": null, + "latitude": 42.0991363525391, + "longitude": -75.8955841064453, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "154", + "name": "Henry St & Liberty St", + "description": null, + "latitude": 42.1034736633301, + "longitude": -75.8997039794922, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "150", + "name": "Henry St & Mirabito Stadium", + "description": null, + "latitude": 42.1019439697266, + "longitude": -75.9059600830078, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "143", + "name": "Park Diner East", + "description": null, + "latitude": 42.0928993225098, + "longitude": -75.9050369262695, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "153", + "name": "State St & Court St", + "description": null, + "latitude": 42.0988464355469, + "longitude": -75.9125595092773, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "147", + "name": "Tomkins St & Jackson St", + "description": null, + "latitude": 42.0978393554688, + "longitude": -75.8949890136719, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "146", + "name": "Tompkins St & Conklin Ave", + "description": null, + "latitude": 42.0953330993652, + "longitude": -75.8938217163086, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "138", + "name": "Vestal Ave & Brookfield", + "description": null, + "latitude": 42.0857315063477, + "longitude": -75.921875, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "137", + "name": "Vestal Ave & Hawthorne", + "description": null, + "latitude": 42.0860786437988, + "longitude": -75.933235168457, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "136", + "name": "Vestal Ave & Larchmont", + "description": null, + "latitude": 42.0891876220703, + "longitude": -75.9416580200195, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] + }, + { + "id": "139", + "name": "Vestal Ave & Rush Ave", + "description": null, + "latitude": 42.0871887207031, + "longitude": -75.9185256958008, + "provider": "OCCT", + "routes": [ + "Downtown Southside Outbound" + ] } ] \ No newline at end of file diff --git a/src/server/bct_stops.json b/src/server/bct_stops.json deleted file mode 100644 index c720bf6..0000000 --- a/src/server/bct_stops.json +++ /dev/null @@ -1,9427 +0,0 @@ -[ - { - "id": "1", - "name": "BC Junction", - "description": "BC Junction is last inbound stop", - "latitude": 42.101354, - "longitude": -75.910801, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "Clinton St", - "Front St", - "Conkin Av", - "12/3 Combo", - "Leroy St", - "Robinson St", - "Endicott-Binghamton", - "Chenango St", - "K Commuter", - "Corporate Park", - "Shoppers Special", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "1.1", - "name": "BC Junction", - "description": "BC Junction Drop Off", - "latitude": 42.100719, - "longitude": -75.91096, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave" - ] - }, - { - "id": "22", - "name": "BHS", - "description": "Binghamton High School. This bus will only run when school is in session.", - "latitude": 42.099044, - "longitude": -75.919114, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "Conkin Av", - "Robinson St", - "Chenango St" - ] - }, - { - "id": "301", - "name": "Ross Park Zoo", - "description": "The stop is located near the ticket booth at the Ross Park Zoo Binghamton", - "latitude": 42.075096, - "longitude": -75.905869, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "302", - "name": "BC Junction 3 Park Ave", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 5 Dock A", - "latitude": 42.101845, - "longitude": -75.910717, - "provider": "BC Transit", - "routes": [ - "Park Ave" - ] - }, - { - "id": "303", - "name": "Morgan/Earle", - "description": "The stop is located on a sign post after Earle Dr across from the Ross Park Zoo Binghamton", - "latitude": 42.075542, - "longitude": -75.905022, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "304", - "name": "Carroll / Hawley", - "description": "The stop is located on a sign post after Hawley St across from Columbus Park Binghamton", - "latitude": 42.097018, - "longitude": -75.906677, - "provider": "BC Transit", - "routes": [ - "Park Ave" - ] - }, - { - "id": "305", - "name": "Morgan/Kane", - "description": "The stop is located on a sign post about 20 feet before Kane Ave at a private residence Binghamton", - "latitude": 42.076202, - "longitude": -75.906616, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "306", - "name": "Exchange/Susquehanna", - "description": "The stop is located on a utility pole after Susquehanna St in front of Woodburn Court One Binghamton", - "latitude": 42.09523, - "longitude": -75.90863, - "provider": "BC Transit", - "routes": [ - "Park Ave" - ] - }, - { - "id": "307", - "name": "Morgan/Spurr", - "description": "The stop is located on a sign post about 50 feet before Spurr Ave at a private residence Binghamton", - "latitude": 42.076294, - "longitude": -75.907448, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "308", - "name": "Mill / McNamara", - "description": "The stop is located on a sign post across from McNamara Ave near a private residence Binghamton", - "latitude": 42.089417, - "longitude": -75.906494, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "309", - "name": "Morgan/Mary", - "description": "The stop is located on a sign post about 100 feet before Mary St at a private residence Binghamton", - "latitude": 42.076672, - "longitude": -75.91021, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "310", - "name": "Mill / Newton", - "description": "The stop is located on a sign post about 20 feet before Newton Ave at a private residence Binghamton", - "latitude": 42.088409, - "longitude": -75.906311, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "311", - "name": "Morgan/Park", - "description": "The stop is located on a sign post at the corner before Park Ave at a private residence Binghamton", - "latitude": 42.077007, - "longitude": -75.913307, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "312", - "name": "Newton / Genesee", - "description": "The stop is located on a sign post at the corner before Genesee Ave at a private residence Binghamton", - "latitude": 42.088226, - "longitude": -75.908028, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "313", - "name": "Park/Maria Manor", - "description": "The stop is located on a sign post at the corner before Maria Manor near Nips Binghamton", - "latitude": 42.078358, - "longitude": -75.91452, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "314", - "name": "Newton / Tremont", - "description": "The stop is located on a sign post at the corner before Tremont Ave at a private residence Binghamton", - "latitude": 42.088207, - "longitude": -75.909241, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "315", - "name": "Park/Corbett", - "description": "The stop is located on a sign post at the corner before Corbett Ave by a parking lot Binghamton", - "latitude": 42.07959, - "longitude": -75.914986, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "316", - "name": "Duane/James", - "description": "The stop is located on a sign post about 20 feet before James St at a private residence Binghamton", - "latitude": 42.085888, - "longitude": -75.909132, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "317", - "name": "Park/Sherwood", - "description": "The stop is located on a telephone pole at the corner before Sherwood Ave at a private residence Binghamton", - "latitude": 42.080452, - "longitude": -75.915306, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "318", - "name": "James/Mary", - "description": "The stop is located on a sign post at the corner before Mary St at a private residence Binghamton", - "latitude": 42.085781, - "longitude": -75.911278, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "319", - "name": "Park/Guilfoyle", - "description": "The stop is located on a sign post about 25 feet before Guilfoyle Ave at a private residence Binghamton", - "latitude": 42.081745, - "longitude": -75.915634, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "320", - "name": "James/S Washington", - "description": "The stop is located on a telephone pole at the corner before S Washington St across from the Binghamton General Hospital Parking Lot Binghamton", - "latitude": 42.085766, - "longitude": -75.912514, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "321", - "name": "Park/Morris", - "description": "The stop is located on a sign post about 20 feet before Morris St at a private residence Binghamton", - "latitude": 42.083305, - "longitude": -75.915398, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "322", - "name": "S Washington / Morris", - "description": "The stop is located on a sign post about 50 feet before Morris St near the NYSEG substation Binghamton", - "latitude": 42.083637, - "longitude": -75.912666, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "323", - "name": "Park Ave /General Hospital", - "description": "The stop is located on a sign post near the Emergency Room at the Binghamton General Hospital. There is a bus shelter here.", - "latitude": 42.086275, - "longitude": -75.915295, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "324", - "name": "S Washington / Sherwood", - "description": "The stop is located on a telephone about 50 feet before Sherwood Ave at a private residence Binghamton", - "latitude": 42.080822, - "longitude": -75.912529, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "325.1", - "name": "Mitchell/General Hospital", - "description": "The stop is located in front of the Binghamton General Hospital Main entrance- Binghamton", - "latitude": 42.08663, - "longitude": -75.914155, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "325.2", - "name": "Pennsylvania/Manier", - "description": "The stop is located about 200 feet after Manier St Binghamton.", - "latitude": 42.085847, - "longitude": -75.916483, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "326", - "name": "S Washington / Woodland", - "description": "The stop is located on a sign post near a telephone pole across from Woodland Ave at a private residence Binghamton", - "latitude": 42.077927, - "longitude": -75.912422, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "328", - "name": "S Washington / Morgan", - "description": "The stop is located on telephone pole about 20 feet before Morgan Rd at a private residence Binghamton", - "latitude": 42.076893, - "longitude": -75.912376, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "329", - "name": "Susquehanna/Exchange", - "description": "The stop is located on a sign post about 200 feet before Exchange St near Woodburn Court Two Binghamton", - "latitude": 42.095585, - "longitude": -75.909393, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "331", - "name": "Carroll /Lisle", - "description": "The stop is located on a sign post after Lisle Ave near Columbus Park Binghamton", - "latitude": 42.097377, - "longitude": -75.906686, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "12/3 Combo" - ] - }, - { - "id": "500", - "name": "BC Junction 5 Vestal Ave", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 4 Dock A", - "latitude": 42.101462, - "longitude": -75.910828, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "501", - "name": "Washington / Murray Hill", - "description": "The stop is located on a sign post about 50 feet before Murray Hill Rd at a private residence Vestal", - "latitude": 42.0824641752712, - "longitude": -75.9587545817369, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "502", - "name": "Hawley / Exchange", - "description": "The stop is located on a utility pole about 50 feet after Exchange St by the Family Court Binghamton", - "latitude": 42.097252, - "longitude": -75.910271, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "Shoppers Special" - ] - }, - { - "id": "503", - "name": "Washington Country Club", - "description": "The stop is located on a sign post before Country Club at a private residence Vestal", - "latitude": 42.082924, - "longitude": -75.954178, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "504", - "name": "Conklin / Tremont", - "description": "The stop is located on a sign post about 150 feet before Tremont Ave just after the State St overpass Binghamton", - "latitude": 42.092323, - "longitude": -75.910835, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "Corporate Park" - ] - }, - { - "id": "505", - "name": "Country Club / Deerfield", - "description": "The stop is located on a sign post after Deerfield Place at a private residence Vestal", - "latitude": 42.085739, - "longitude": -75.954918, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "506", - "name": "Conklin / Mill", - "description": "The stop is located on telephone pole before Mill St at a private residence Binghamton", - "latitude": 42.092773, - "longitude": -75.906876, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "Corporate Park" - ] - }, - { - "id": "507", - "name": "Country Club / Plaza", - "description": "The stop is located on a sign post before Plaza Dr at at private residence Vestal", - "latitude": 42.088062, - "longitude": -75.956306, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "508", - "name": "Conklin / High", - "description": "The stop is located on a sign post about 100 feeet after High St across from the Park Diner Binghamton", - "latitude": 42.092896, - "longitude": -75.905037, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "Corporate Park" - ] - }, - { - "id": "509", - "name": "Plaza / Meadows Apts", - "description": "The stop is located on a sign post near the entrance to The Meadows Apartments Vestal", - "latitude": 42.08952, - "longitude": -75.95575, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "510", - "name": "Telegraph / Conklin", - "description": "The stop is located on a sign post after Conklin Ave across from Dynamic Brake Binghamton", - "latitude": 42.093193, - "longitude": -75.901817, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/3 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "511", - "name": "Plaza / Executive Plaza Dr", - "description": "The stop is located on a sign post across from 120 Executive Plaza Dr Vestal", - "latitude": 42.091724, - "longitude": -75.955055, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "512", - "name": "Telegraph / Vestal", - "description": "The stop is located on a sign post before Vestal Ave at a private residence Binghamton", - "latitude": 42.0912008223956, - "longitude": -75.9015659687652, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/3 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "513", - "name": "University Plaza", - "description": "The stop is located by the University Plaza Clocktower Vestal", - "latitude": 42.09185, - "longitude": -75.951851, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "514", - "name": "Vestal / Carlton", - "description": "The stop is located on telephone pole before Carlton St at a private residence Binghamton", - "latitude": 42.090904, - "longitude": -75.903786, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/3 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "515", - "name": "Vestal Ave / Normandy Ct", - "description": "The stop is located on a sign post after Normandy Ct at a private residence Binghamton", - "latitude": 42.091164, - "longitude": -75.94548, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "516", - "name": "Vestal / Mill", - "description": "The stop is located on a sign post about 40 feet before Mill St near Anita's Hair Salon Binghamton", - "latitude": 42.090778, - "longitude": -75.906334, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/3 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "517", - "name": "Vestal / Larchmont", - "description": "The stop is located on a sign post before Larchmont Rd at a private residence Binghamton", - "latitude": 42.089184, - "longitude": -75.941658, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "518", - "name": "Vestal / Livingston", - "description": "The stop is located on a sign post before Livingston St by St John and St Andrew Church Binghamton", - "latitude": 42.090469, - "longitude": -75.907883, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "519", - "name": "Vestal / Jutland", - "description": "The stop is located on a sign post before Jutland Rd at a private residence Binghamton", - "latitude": 42.087399, - "longitude": -75.937752, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "520", - "name": "Vestal / Tremont", - "description": "The stop is located on a sign post before Tremont Ave at a private residence Binghamton", - "latitude": 42.090199, - "longitude": -75.909294, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "521", - "name": "Vestal / Hawthorne", - "description": "The stop is located on a sign post before Hawthorne Rd at a private residence Binghamton", - "latitude": 42.086082, - "longitude": -75.933235, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "522", - "name": "Vestal / New", - "description": "The stop is located on a telephone pole before New St by Lincoln Court Apts Binghamton", - "latitude": 42.089909, - "longitude": -75.911003, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "523", - "name": "Vestal / Clifton", - "description": "The stop is located on a telephone pole before Clifton Blvd at a private residence Binghamton", - "latitude": 42.085644, - "longitude": -75.930611, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "524", - "name": "Vestal / Mary", - "description": "The stop is located on a sign post before Mary St near the Southview US Post Office Binghamton", - "latitude": 42.089748, - "longitude": -75.91188, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "525", - "name": "Vestal / Edgebrook", - "description": "The stop is located on a telephone pole at the corner after Edgebrook Rd at a private residence Binghamton", - "latitude": 42.085178, - "longitude": -75.928093, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "526", - "name": "Vestal / Mitchell", - "description": "The stop is located on a sign post across from Mitchell Ave across from the Mirabito Binghamton", - "latitude": 42.088985, - "longitude": -75.914597, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "527", - "name": "Vestal / Denton", - "description": "The stop is located on a sign post before Denton Rd at a private residence Binghamton", - "latitude": 42.084831, - "longitude": -75.92569, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "528", - "name": "Vestal / Pennsylvania", - "description": "The stop is located on a sign post about 50 feet before Pennsylvania Ave by the Twin Tiers Eye Care Binghamton", - "latitude": 42.08844, - "longitude": -75.915855, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "529", - "name": "Vestal / Brookfield", - "description": "The stop is located on a telephone pole before Brookfield Rd across from MacArthur Park Binghamton", - "latitude": 42.085743, - "longitude": -75.921867, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "530", - "name": "Vestal / Rush", - "description": "The stop is located on a sign post after Rush Ave near the Park Ave Baptist Church Binghamton", - "latitude": 42.087162, - "longitude": -75.918831, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "531", - "name": "Vestal / Rush", - "description": "The stop is located on a sign post before Rush Ave at a private residence Binghamton", - "latitude": 42.087166, - "longitude": -75.918526, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "532", - "name": "Vestal / Brookfield", - "description": "The stop is located on a sign post before Brookfield Rd near MacArthur Park Binghamton", - "latitude": 42.086308, - "longitude": -75.920822, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "533", - "name": "Vestal / Pennsylvania", - "description": "The stop is located on a sign post about 20 feet before Pennsylvania Ave near Auto Zone Binghamton", - "latitude": 42.087914, - "longitude": -75.916733, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "534", - "name": "Vestal / Denton", - "description": "The stop is located on a sign post after Denton Rd Binghamton", - "latitude": 42.084938, - "longitude": -75.925682, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "535", - "name": "Vestal/ Park", - "description": "The stop is located on a sign post near Dunkin Donuts Binghamton", - "latitude": 42.088661, - "longitude": -75.915083, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/3 Combo" - ] - }, - { - "id": "536", - "name": "Vestal / Edgebrook", - "description": "The stop is located on a sign post across from Edgebrook Rd Binghamton", - "latitude": 42.0853, - "longitude": -75.927917, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "537", - "name": "Vestal / Mary", - "description": "The stop is located on a telephone pole about 20 feet before Mary St across from the Southview Post Office Binghamton", - "latitude": 42.089588, - "longitude": -75.912254, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "538", - "name": "Vestal / Clifton", - "description": "The stop is located on a telephone pole across from Clifton Blvd at a private residence Binghamton", - "latitude": 42.08567, - "longitude": -75.930183, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "539", - "name": "Vestal / Vine", - "description": "The stop is located on a sign post before Vine St across from Lincoln Court Apts Binghamton", - "latitude": 42.089813, - "longitude": -75.911011, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "540", - "name": "Vestal / Ivanoe", - "description": "The stop is located on a sign post near Ivanhoe Rd- Binghamton", - "latitude": 42.086548, - "longitude": -75.935274, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "541", - "name": "Vestal / Tremont", - "description": "The stop is located on a sign post before Tremont Ave at a private residence Binghamton", - "latitude": 42.090034, - "longitude": -75.909752, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "542", - "name": "Vestal / Jutland", - "description": "The stop is located across from Jutland Rd Binghamton", - "latitude": 42.087406, - "longitude": -75.937515, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "543", - "name": "Vestal / Mill St", - "description": "The stop is located on a sign post before Mill St near Loaves & Fishes Pantry Binghamton", - "latitude": 42.090599, - "longitude": -75.906723, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "544", - "name": "Vestal / Larchmont", - "description": "The stop is located on a telephone pole across from Larchmont Rd Binghamton", - "latitude": 42.089237, - "longitude": -75.941528, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "545", - "name": "Vestal / Telegraph", - "description": "The stop is located on a sign post before Telegraph St at a private residence Binghamton", - "latitude": 42.090961, - "longitude": -75.901649, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "546", - "name": "Vestal / NY 434", - "description": "The stop is located on the NY 434 highway sign before the Vestal Pkwy Binghamton", - "latitude": 42.091019, - "longitude": -75.944885, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "547", - "name": "Telegraph / Lucy", - "description": "The stop is located on a sign post after Lucy St by Dynamic Brake Binghamton", - "latitude": 42.093105, - "longitude": -75.901672, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "547.1", - "name": "Conklin/High", - "description": "The stop is located on a sign post near the Park Diner", - "latitude": 42.093016, - "longitude": -75.904945, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "548", - "name": "University Plaza", - "description": "The stop is located on a sign post across from the Armed Forces Recruiting Center in the University Plaza Vestal", - "latitude": 42.092083, - "longitude": -75.952271, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "549", - "name": "Conklin / Livingston", - "description": "The stop is located on a sign post about 200 feet after Exchange St across from the Islamic Awareness Center Binghamton", - "latitude": 42.092819, - "longitude": -75.908264, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "Corporate Park" - ] - }, - { - "id": "550", - "name": "300 Plaza Dr", - "description": "The stop is located on a sign post at 300 Plaza Dr Vestal", - "latitude": 42.091267, - "longitude": -75.955399, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "551", - "name": "Hawley / Exchange", - "description": "The stop is located on a street lamp pole before Exchange St near the YWCA Binghamton", - "latitude": 42.097202, - "longitude": -75.90992, - "provider": "BC Transit", - "routes": [ - "Vestal Ave" - ] - }, - { - "id": "552", - "name": "500 Plaza Dr", - "description": "The stop is located on a sign post across from Christ the King Church Vestal", - "latitude": 42.089333, - "longitude": -75.955917, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "553", - "name": "Carroll/Court", - "description": "The stop is located on a sign post about 50 feet before Court St at a private business Binghamton.", - "latitude": 42.0994, - "longitude": -75.907672, - "provider": "BC Transit", - "routes": [ - "Park Ave", - "Vestal Ave", - "12/3 Combo" - ] - }, - { - "id": "554", - "name": "Country Club / Clubhouse", - "description": "The stop is located on a sign post across from Clubhouse Rd by the Hayes Community Apartments Vestal", - "latitude": 42.087379, - "longitude": -75.95565, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "556", - "name": "Country Club / Deerfield", - "description": "The stop is located on a sign post after Deerfield Place at a private residence Vestal", - "latitude": 42.085278, - "longitude": -75.955124, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "558", - "name": "Country Club / Washington", - "description": "The stop is located on a telephone pole before Washington Dr across from Vestal Hills Elementary School Vestal", - "latitude": 42.083408, - "longitude": -75.954483, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "560", - "name": "Washington / Midvale", - "description": "The stop is located on a sign post at the corner before Midvale Rd at a private residence Vestal", - "latitude": 42.082886, - "longitude": -75.955551, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "562", - "name": "Washington / Lehigh", - "description": "The stop is located on a sign post before Lehigh Ave at a private residence Vestal", - "latitude": 42.082512, - "longitude": -75.959602, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "12/28/40/5 Combo" - ] - }, - { - "id": "701", - "name": "Harry L/ Shopping Plaza", - "description": "The stop is located on a sign post about 50 feet after the entrance to Harry L Drive shopping plaza Johnson City", - "latitude": 42.123752, - "longitude": -75.969418, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "702", - "name": "BC Junction 7 Clinton St", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 10 Dock B", - "latitude": 42.101173, - "longitude": -75.910778, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "703", - "name": "Harry L / Northside Park", - "description": "The stop is located on a sign post before the crosswalk by the Northside Park and across from the Small Mall Johnson City", - "latitude": 42.122543, - "longitude": -75.963019, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "704", - "name": "Clinton / Oak", - "description": "The stop is located on a sign post about 25 feet after Oak St at private residence Binghamton", - "latitude": 42.104534, - "longitude": -75.918236, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "705", - "name": "Harry L / N Harrison", - "description": "The stop is located on a sign post at the corner before N. Harrison St by Therapeutic Day Spa Johnson City", - "latitude": 42.122647, - "longitude": -75.959918, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "706", - "name": "Clinton / Murray", - "description": "The stop is located on a sign post at the crosswalk before Murray St near Pat's Hairstyling Binghamton", - "latitude": 42.104729, - "longitude": -75.919327, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "707", - "name": "Harry L & N Broad", - "description": "The stop is located on a sign post before the crosswalk at N. Broad St across from the Harry L Apartments Johnson City", - "latitude": 42.122908, - "longitude": -75.957115, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "708", - "name": "Clinton St / Mygatt", - "description": "The stop is located on a sign post about 150 feet after Mygatt St near the GBHC Community Center Binghamton", - "latitude": 42.105404, - "longitude": -75.922943, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "709", - "name": "Harry L / Jay", - "description": "The stop is located on a telephone pole at the crosswalk before Jay St by the Kwik Fill Johnson City", - "latitude": 42.122989, - "longitude": -75.955027, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "710", - "name": "Clinton / St. Cyril", - "description": "The stop is located on a sign post at the corner before St Cyril Ave in front St Cyril Church Binghamton", - "latitude": 42.105797, - "longitude": -75.925232, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "711", - "name": "Harry L /Myrtle", - "description": "The stop is located on a telephone pole before Myrtle Ave by the Ave Maria Catholic Shop Johnson City", - "latitude": 42.1225312982467, - "longitude": -75.9537960313409, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "712", - "name": "Clinton / Hudson", - "description": "The stop is located on a sign post across from Hudson St near Creative Beginnings Salon Binghamton", - "latitude": 42.106232, - "longitude": -75.927734, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "713", - "name": "Harry L /Lester", - "description": "The stop is located on a sign post at the corner before Lester Ave near So Jealous Salon Johnson City", - "latitude": 42.121452, - "longitude": -75.950578, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "714", - "name": "Clinton / Charles", - "description": "The stop is located on a sign post about 150 feet after Charles St across from Paradise Hair World Binghamton", - "latitude": 42.106446, - "longitude": -75.92887, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "715", - "name": "Harry L / Virginia", - "description": "The stop is located on a sign post at the corner before Virgnia Ave by the PMP Deli Johnson City", - "latitude": 42.121344, - "longitude": -75.949451, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "716", - "name": "Clinton / Jarvis", - "description": "The stop is located on a sign post about 150 feet after Jarvis St near the First Ward Senior Center Binghamton", - "latitude": 42.106823, - "longitude": -75.930031, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "717", - "name": "Harry L / Airport", - "description": "The stop is located on a sign post about 100 feet before Airport Rd by Arrowhead Bookstore Johnson City", - "latitude": 42.122124, - "longitude": -75.946953, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "718", - "name": "Clinton / Colfax", - "description": "The stop is located on a sign post at the corner after Colfax Ave across from Rogers Trucking Binghamton", - "latitude": 42.107761, - "longitude": -75.931885, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "720", - "name": "Clinton / Holland", - "description": "The stop is located on a sign post about 20 feet after Holland St near Kovarik Hardware Binghamton", - "latitude": 42.108501, - "longitude": -75.933342, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "721", - "name": "Prospect / Columbus", - "description": "The stop is located on a sign post about 200 feet after Columbus St by the Polish Community Center Binghamton", - "latitude": 42.1166877599231, - "longitude": -75.9427161000257, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "722", - "name": "Clinton / Wilson", - "description": "The stop is located on a sign post at the corner after Wilson St across Lindsey's Laundry Service Binghamton", - "latitude": 42.109467, - "longitude": -75.935265, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "723", - "name": "Prospect / Glenwood", - "description": "The stop is located on a sign post between Tracy St and Glenwood Ave near the traffic light Binghamton", - "latitude": 42.1159751157749, - "longitude": -75.941229660208, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "724", - "name": "Clinton / Janette", - "description": "The stop is located on a sign post at the corner before Janette Ave across from the Dollar General Binghamton", - "latitude": 42.110294, - "longitude": -75.936852, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "725", - "name": "Glenwood/Downs", - "description": "The stop is located before Downs Ave across from Grace Tabernacle Community Center Binghamton", - "latitude": 42.114563, - "longitude": -75.940407, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "726", - "name": "Clinton / Glenwood", - "description": "The stop is located on a sign post before Glenwood Ave at the curb cut out near theHoly Spirit Byzantine Catholic Church Binghamton", - "latitude": 42.1109570174629, - "longitude": -75.9381212578104, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "727", - "name": "Glenwood /Miles", - "description": "The stop is located on a sign post about 25 feet after Miles St by Mar-Con's Hairstyling Binghamton", - "latitude": 42.112934, - "longitude": -75.939514, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "728", - "name": "Glenwood / Julian", - "description": "The stop is located on a sign post at the corner before Julian St across from the Hess Express Binghamton", - "latitude": 42.112568, - "longitude": -75.939133, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "729", - "name": "Glenwood /Belknap", - "description": "The stop is located on a telephone pole at the corner before Belknap Ave by the Hess Express Binghamton", - "latitude": 42.111938, - "longitude": -75.939056, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "730", - "name": "Glenwood / Judson", - "description": "The stop is located on a sign post after Judson Ave near the Grace Tabernacle Community Center Binghamton", - "latitude": 42.114708, - "longitude": -75.940269, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "731", - "name": "Clinton / Glenwood", - "description": "The stop is located on a sign post about 100 feet after Glenwood Ave across from Holy Sprirt Byzantine Church Binghamton", - "latitude": 42.110728848927, - "longitude": -75.9379307776033, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "732", - "name": "Glenwood / Prospect", - "description": "The stop is located on a sign post at the corner before Prospect St by Matty B's Place Binghamton", - "latitude": 42.1157135473434, - "longitude": -75.940786326486, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "733", - "name": "Clinton / Wilson", - "description": "The stop is located on a sign post before Wilson St across from Ascension Lutheran Church Binghamton", - "latitude": 42.109635748266, - "longitude": -75.9357787502624, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "734", - "name": "Glenwood/True (call for service (607)763-4464 or (607)778-1692", - "description": "The stop is located on a sign post before True St near the I86 overpass Binghamton", - "latitude": 42.117414, - "longitude": -75.94044, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "735", - "name": "Clinton / Holland", - "description": "The stop is located on a sign post at the crosswalk before Holland St across from Kovarik Hardware Binghamton", - "latitude": 42.108356, - "longitude": -75.933388, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "736", - "name": "Glenwood/Sunset (call for service (607)763-4464 or (607)778-1692", - "description": "The stop is located on sign post after and across from Sunset Dr Town of Dickinson", - "latitude": 42.121973, - "longitude": -75.937148, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "737", - "name": "Clinton / Jarvis", - "description": "The stop is located on a telehphone pole near All Spec Finishing Binghamton", - "latitude": 42.107038, - "longitude": -75.930742, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "738", - "name": "Glenwood/Maiden (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located a sign post across from Maiden Ln Town of Dickinson", - "latitude": 42.12696, - "longitude": -75.932697, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "740", - "name": "Legacy Bay/Bldg G-H (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located near Bldg G-H", - "latitude": 42.13123, - "longitude": -75.928148, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "741", - "name": "Clinton /Charles", - "description": "This stop is located across from Charles St Binghamton", - "latitude": 42.106259, - "longitude": -75.928388, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "742", - "name": "Legacy Bay/Bldg U-V (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located near Bldg U-V", - "latitude": 42.125815, - "longitude": -75.929361, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "743", - "name": "Clinton / Crandall St", - "description": "The stop is located on a sign post about 10 feet before Crandall St across from the Lincoln Hotel Binghamton", - "latitude": 42.105846, - "longitude": -75.926071, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "744", - "name": "Legacy Bay/Bldg 56-59 (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located near Bldg 56-59", - "latitude": 42.124851, - "longitude": -75.927267, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "745", - "name": "Clinton / Titchner", - "description": "The stop is located on a sign post at the crosswalk across from Mygatt St across from the GBHC Community Center", - "latitude": 42.1050772168886, - "longitude": -75.9218147635845, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "746", - "name": "Legacy Bay/Community Bldg (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located near the Community Bldg", - "latitude": 42.125461, - "longitude": -75.925759, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "747", - "name": "Clinton / Murray St", - "description": "The stop is located on a sign post before Murray St across from Camelot Jewelers Binghamton", - "latitude": 42.104675, - "longitude": -75.919708, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "748", - "name": "Legacy Bay/Bldg 12-15 (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is lcoated near Bldg 12-15", - "latitude": 42.125574, - "longitude": -75.925716, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "749", - "name": "Clinton / Oak St", - "description": "The stop is located on a sign post before Oak St near Luke's Anitiques Binghamton", - "latitude": 42.1044214721223, - "longitude": -75.9181682758733, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "750", - "name": "Legacy Bay/Bldg 56-59 (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located near Bldg 56-59", - "latitude": 42.124915, - "longitude": -75.927414, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "751", - "name": "Clinton / Front St", - "description": "The stop is located on a sign post at the crosswalk before Front St near Botnick Chevrolet Binghamton", - "latitude": 42.10371, - "longitude": -75.916443, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "752", - "name": "Legacy Bay/Bldg U-V (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is lcoated near Bldg U-V", - "latitude": 42.125824, - "longitude": -75.929208, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "753", - "name": "Water / E Clinton St", - "description": "The stop is located on a utility pole about 150 feet after E Clinton St by the Double Tree Hotel Binghamton", - "latitude": 42.102219, - "longitude": -75.913528, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "754", - "name": "Legacy Bay/ (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located near an access road.", - "latitude": 42.130093, - "longitude": -75.927437, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "756", - "name": "Legacy Bay/Bldg G-H (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located near Bldg G-H", - "latitude": 42.131327, - "longitude": -75.928133, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "758", - "name": "Glenwood/BOCES (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located near the BOCES campus parking lot. A bus shelter is here.", - "latitude": 42.129228, - "longitude": -75.932917, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "760", - "name": "Glenwood/Maiden (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located at the corner before Maiden Ln at a private residence Binghamton", - "latitude": 42.127174, - "longitude": -75.932689, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "762", - "name": "Glenwood/Helio Health (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located near the front entrance of the facility.", - "latitude": 42.124695, - "longitude": -75.938691, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "764", - "name": "Glenwood/Sunset (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located on a sign post before Sunset Dr at a private residence Binghamton", - "latitude": 42.12106, - "longitude": -75.937964, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "766", - "name": "Glenwood/Sowden (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located on a sign post before Sowden St near the I86 overpass Town of Dickinson", - "latitude": 42.117831, - "longitude": -75.940485, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "768", - "name": "Glenwood / Prospect (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located on a sign post before Prospect Ave across from Matty B's Pub Binghamton", - "latitude": 42.116123, - "longitude": -75.940984, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "770", - "name": "Prospect / Merrill", - "description": "The stop is located on a sign post across from Merrill St by the Church of the Holy Trinity Binghamton", - "latitude": 42.116444, - "longitude": -75.942123, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "772", - "name": "Prospect / Airport", - "description": "The stop is located on a sign post about 150 ft before Airport Rd near the Prospect Terrace Fire Station Binghamton.", - "latitude": 42.1183547013954, - "longitude": -75.9454884192568, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "774", - "name": "Request service at 33 Lewis Rd (call (607)763-4464 or (607)778-1692)", - "description": "Service to 33 Lewis Rd is on request. See the 7 Clinton St schedule for more information", - "latitude": 42.1404584127633, - "longitude": -75.9391660690096, - "provider": "BC Transit", - "routes": [ - "Clinton St" - ] - }, - { - "id": "776", - "name": "Gannett / Pavillion", - "description": "The stop is located on a sign post about 20 feet before Pavillon Rd near the CFJ Park Johnson City.", - "latitude": 42.116867, - "longitude": -75.948586, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "778", - "name": "Lester / I86 Overpass", - "description": "The stop is located on a telephone after the I 86 overpass Johnson City.", - "latitude": 42.1199, - "longitude": -75.950394, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "780", - "name": "Harry L / Albany", - "description": "The stop is located on a sign post about 50 feet before Albany Ave by Cacciatores Johnson City", - "latitude": 42.1217817081864, - "longitude": -75.9511141066356, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "782", - "name": "Harry L / Pearl", - "description": "The stop is located on a sign post at the corner before Pearl Ave by Rossi's Pizza Johnson City", - "latitude": 42.12219818688, - "longitude": -75.9525193926716, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "784", - "name": "Harry L / Myrtle", - "description": "The stop is located on a sign post about 10 feet before Myrtle Ave near the Harry L Pub Johnson City", - "latitude": 42.122543, - "longitude": -75.953606, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "786", - "name": "Harry L / Jay", - "description": "The stop is located on a sign post at the corner before Jay St across from the Kwik Fill in Johnson City", - "latitude": 42.123079, - "longitude": -75.954811, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "788", - "name": "Harry L / N Arch", - "description": "The stop is located on a sign post about 50 feet after N. Arch St near CVS Johnson City", - "latitude": 42.122916, - "longitude": -75.95771, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "790", - "name": "Harry L / N Hudson St", - "description": "The stop is located on a sign post at the curb cut out before N Hudson St Johnson City", - "latitude": 42.122822, - "longitude": -75.960724, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "792", - "name": "Harry L / Small Mall", - "description": "The stop is located on a sign post at the crosswalk before the entrance to the Small Mall Johnson City", - "latitude": 42.122681, - "longitude": -75.962914, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "794", - "name": "Harry L Dr Friendly's", - "description": "The stop is located on a sign post about 30 feet after the entrance to Friendly's Johnson City", - "latitude": 42.124187251239, - "longitude": -75.9700255516293, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City" - ] - }, - { - "id": "801", - "name": "Chenango Park & Ride", - "description": "The stop is located in front of the Chenango Park & Ride Town of Chenango. There is a bus shelter here.", - "latitude": 42.167835, - "longitude": -75.874481, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo", - "Chenango St" - ] - }, - { - "id": "802", - "name": "BC Junction 8 Front St", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 11 Dock B", - "latitude": 42.101609, - "longitude": -75.910658, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "803", - "name": "Chenango Bridge / Oak Dr", - "description": "The stop is located on a sign post at the corner before Oak Dr. Town of Chenango.", - "latitude": 42.168728, - "longitude": -75.877625, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "805", - "name": "Chenango Bridge/UMA", - "description": "The stop is located on a sign post before the entrance to Chenango Bridege Medical Town of Chenango.", - "latitude": 42.168976, - "longitude": -75.87896, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "806", - "name": "Front/North", - "description": "The stop is located on a sign post across from North St near the Tri-Cities Apartments parking lot Binghamton", - "latitude": 42.100578, - "longitude": -75.916885, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Front St" - ] - }, - { - "id": "807", - "name": "Chenango Bridge/Matthews", - "description": "The stop is located on a sign post about 50 feet after the entrance to Price Chopper Town of Chenango. A bus shelter is here.", - "latitude": 42.16845, - "longitude": -75.885548, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "808", - "name": "Front/Gerard", - "description": "The stop is located on a sign post before Gerard Ave across from Botnick Chevrolet Binghamton", - "latitude": 42.102306, - "longitude": -75.916359, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Front St" - ] - }, - { - "id": "809", - "name": "Front/Chenango Bridge Rd", - "description": "The stop is located on a sign post before the entrance to the Hillside Garden Center Town of Chenango.", - "latitude": 42.167645, - "longitude": -75.888466, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "810", - "name": "Front /McDonald", - "description": "The stop is located on telephone pole at the corner before McDonald Ave across from the Broome County Health Department Binghamton", - "latitude": 42.105473, - "longitude": -75.915451, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "811", - "name": "Front/Bishop", - "description": "The stop is located on a sign post at the corner before Bishop Rd near the Coin Laundry Town of Chenango", - "latitude": 42.165668, - "longitude": -75.89019, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "812", - "name": "Front / Valley", - "description": "The stop is located on a sign post about 75 feet after Valley St in front of Catholic Charities Binghamton", - "latitude": 42.108715, - "longitude": -75.913666, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "813", - "name": "Front / Councilman", - "description": "The stop is located on a sign post at the corner before Councilman Rd in front of Upfront Auto Town of Chenango", - "latitude": 42.163883, - "longitude": -75.891762, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "814", - "name": "Front/Franklin", - "description": "The stop is located on a sign post about 150 feet before Franklin St by a flood wall across from U Save Auto Binghamton", - "latitude": 42.110321, - "longitude": -75.911064, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "815", - "name": "Front/Fuller", - "description": "The stop is located on a sign post about 150 feet after Fuller Rd on the I-81 road sign in front of Sonny Manny's Town of Chenango", - "latitude": 42.160706, - "longitude": -75.894554, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "816", - "name": "Old Front/Sunrise Terrace", - "description": "The stop is located on a telephone pole on the corner before Rosedale Dr across from the Super 8. The bus will serve this bus stop on the outbound on request only.", - "latitude": 42.124546, - "longitude": -75.909851, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "817", - "name": "Front/Northgate", - "description": "The stop is located on a sign post about 50 feet before the entrance to the former Tokyo Sushi Buffet Town of Chenango", - "latitude": 42.156811, - "longitude": -75.896378, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "817.1", - "name": "Front/TSC", - "description": "The stop is located by the Tractor Supply Corp Binghamton", - "latitude": 42.1521, - "longitude": -75.898199, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "818", - "name": "Front/Manor", - "description": "This stop is located on a sign post after the entrance to Applebee's Binghamton", - "latitude": 42.130081, - "longitude": -75.905884, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "819", - "name": "Front/Nimmonsburg", - "description": "The stop is located on a sign post in front of the Nimmonsburg Square Shopping Center sign there is a curb cut out and a bench. Town of Chenango", - "latitude": 42.149342, - "longitude": -75.899757, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "820", - "name": "County Jail", - "description": "The stop is located near the main entrance of the Broome County Jail Binghamton", - "latitude": 42.13203, - "longitude": -75.916191, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "821", - "name": "Front/Smith Hill", - "description": "The stop is located on a sign post about 200 feet before Wallace Rd in front of Dependable Auto. Town of Chenango", - "latitude": 42.145729, - "longitude": -75.90255, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "822", - "name": "S College Dr/Lot 1", - "description": "The stop is located on a sign post after the entrance to Lot 1 near BC Day Care Center SUNY Broome Campus. A bus shelter is here", - "latitude": 42.132763, - "longitude": -75.909126, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "823", - "name": "Front / Morningside", - "description": "The stop is located on a sign post between N. Morningside Dr and S. Morningside Dr across from Comfort Inn. There is a bench here. Town of Chenango", - "latitude": 42.141766, - "longitude": -75.9039, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "824", - "name": "S College Dr/Lot 3", - "description": "The stop is located on a sign post after the entrance to Lot 3 near Alumni Field SUNY Broome Campus", - "latitude": 42.133491, - "longitude": -75.911677, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "825", - "name": "Front/North College", - "description": "The stop is located on a sign post about the 50 feet before N College Dr across from GHS Credit Union Binghamton", - "latitude": 42.136887, - "longitude": -75.905182, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "826", - "name": "N. College/Pavilion", - "description": "The stop is located at the Pavilion near the SUNY Broome Student Center SUNY Broome Campus", - "latitude": 42.136078, - "longitude": -75.910828, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "826.1", - "name": "N. College/Paul F. Titchener Hall", - "description": "The stop is located near the Paul F. Titchener Hall. A bus shelter is here.", - "latitude": 42.136602, - "longitude": -75.906902, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "828", - "name": "Front /Boland", - "description": "The stop is located on a sign post across from Boland Rd in front of the GHS Credit Union Binghamton. A bus shelter is here.", - "latitude": 42.137177, - "longitude": -75.9049, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "830", - "name": "Front/N Morningside", - "description": "The stop is located on a sign post across from on a sign post Morningside Dr in front of the Comfort Inn Town of Chenango", - "latitude": 42.141911, - "longitude": -75.903641, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "832", - "name": "Front/Riverview", - "description": "The stop is located on a sign post before the entrance to Maines Cash and Carry Town of Chenango", - "latitude": 42.143173, - "longitude": -75.90332, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "834", - "name": "Front/Wallace", - "description": "The stop is located on a sign post across from Wallace Rd across from Dependable Auto Town of Chenango", - "latitude": 42.145126, - "longitude": -75.902679, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "835", - "name": "Front/Manor", - "description": "The stop is located on a sign post about 100 feet after Manor Dr in front of United Methodist Homes Binghamton. There is a bus shelter here.", - "latitude": 42.130192, - "longitude": -75.906105, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "836", - "name": "Front / Ethel", - "description": "The stop is located on a sign post about 150 feet before Ethel St near the McDonald's Regional Offices Town of Chenango", - "latitude": 42.14687, - "longitude": -75.901367, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "837", - "name": "Front/Old Front St", - "description": "The stop is located on a sign post about 300 feet before Old Front St near McDonalds Binghamton", - "latitude": 42.127499, - "longitude": -75.907089, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "838", - "name": "Front /Nimmonsburg Square", - "description": "The stop is located across from Nimmonsburg Square. There is a curb cutout and bench here. Town of Chenango", - "latitude": 42.149388, - "longitude": -75.899468, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "838.1", - "name": "Front/Pinkies BBQ", - "description": "The stop is located by Pinkies BBQ Binghamton NY", - "latitude": 42.152056, - "longitude": -75.897999, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "839", - "name": "Front/Franklin", - "description": "The stop is located on a telephone pole about 200 feet after Franklin St in front Aamco Auto Repair Binghamton", - "latitude": 42.110447, - "longitude": -75.91114, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "840", - "name": "Front / Northgate", - "description": "The stop is located on a sign post after the entrance to Northgate Plaza near a steet lamp in front of Creature Comforts Town of Chenango", - "latitude": 42.156818, - "longitude": -75.896049, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "841", - "name": "Front/Valley St", - "description": "The stop is located on a telephone pole about 100 feet after Valley St across from Catholic Charities Binghamton", - "latitude": 42.108818, - "longitude": -75.913704, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "842", - "name": "Front / Fuller", - "description": "The stop is located on a sign post before the entrance to Lowes near the Empire Vision Town of Chenango", - "latitude": 42.160473, - "longitude": -75.894405, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "843", - "name": "Front/Winding Way", - "description": "The stop is located on a sign post about 20 feet before Winding Way near the Broome County Health Department Binghamton", - "latitude": 42.105469, - "longitude": -75.915604, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "844", - "name": "Front / Quinn", - "description": "The stop is located on a sign post at the corner before Quinn Rd near the Lori Ashley Salon Town of Chenango", - "latitude": 42.162544, - "longitude": -75.892517, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "845", - "name": "Front/North", - "description": "The stop is located on a sign post about 100 feet before North St in front of the Bridgwater Center for Rehabilitation Binghamton", - "latitude": 42.1010711726257, - "longitude": -75.9168843057789, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "846", - "name": "Front/Merrill", - "description": "The stop is located on a sign post at the corner before Merrill Rd across from the Upfront Auto Town of Chenango", - "latitude": 42.16407, - "longitude": -75.891251, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "847", - "name": "Front/Main", - "description": "The stop is located on a sign post about 200 feet before Front St by the 1st Congregational Church parking lot Binghamton", - "latitude": 42.099361, - "longitude": -75.917412, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "848", - "name": "Front/Bishop", - "description": "The stop is located on a sign post at the corner before Bishop Rd near the Tioga State Bank Town of Chenango", - "latitude": 42.165531, - "longitude": -75.889893, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "850", - "name": "Front/ Gabor", - "description": "The stop is located on a sign post about 15 feet before Gabor Rd near the Can Man Town of Chenango", - "latitude": 42.167397, - "longitude": -75.888313, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "852", - "name": "Chenango Bridge / Mathews", - "description": "The stop is located on a sign post at the corner before Matthews St across from the Price Chopper Town of Chenango", - "latitude": 42.168331, - "longitude": -75.885498, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "854", - "name": "Chenango Bridge/Oak", - "description": "The stop is located on a sign post about 50 feet after the entrance to the Chenango Animal Hospital Town of Chenango", - "latitude": 42.168758, - "longitude": -75.878632, - "provider": "BC Transit", - "routes": [ - "Front St", - "40/8 Combo" - ] - }, - { - "id": "1201", - "name": "Dewey/Felters", - "description": "The stop is located on a sign post near the corner after Dewey Ave.", - "latitude": 42.0979658696223, - "longitude": -75.8761987002915, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1202", - "name": "BC Junction 12 Conklin", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 2 Dock A", - "latitude": 42.101243, - "longitude": -75.910888, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1203", - "name": "Montour/Saratoga", - "description": "The stop is located on a sign post about 200 feet after Saratoga Ave Binghamton. There is a bus shelter here.", - "latitude": 42.098293, - "longitude": -75.879593, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1204", - "name": "Court/Jay", - "description": "The stop is located about 100 feet before Jay St in front of AVRE Binghamton. There is a bus shelter here.", - "latitude": 42.100044, - "longitude": -75.906174, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "K Commuter", - "12/53 Combo", - "12/28/40 Combo" - ] - }, - { - "id": "1205", - "name": "Saratoga/Afton", - "description": "The stop is located on a building by the parking lot before the bus turns on Afton St Binghamton", - "latitude": 42.099073, - "longitude": -75.878915, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1206", - "name": "Court/Fayette", - "description": "The stop is located on a sign post about 200 feet after Fayette St in front of the former Sheltered Workshop Binghamton.", - "latitude": 42.100536, - "longitude": -75.904472, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "K Commuter", - "12/53 Combo", - "12/28/40 Combo" - ] - }, - { - "id": "1207", - "name": "Afton/Conklin-Inbound", - "description": "The stop is located on a sign post at the corner before Conklin Ave at a private residence Binghamton", - "latitude": 42.09996, - "longitude": -75.878662, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1208", - "name": "Court/Rutherford", - "description": "The stop is located on a sign post about 50 feet before Rutherford St across from the Xtra Mart Binghamton", - "latitude": 42.10099, - "longitude": -75.902763, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "K Commuter", - "12/53 Combo", - "12/28/40 Combo" - ] - }, - { - "id": "1209", - "name": "Conklin/Bond", - "description": "The stop is located on a sign post at the corner before Bond St at a private residence Binghamton", - "latitude": 42.09959, - "longitude": -75.880745, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1210", - "name": "Tompkins/Webster", - "description": "The stop is located on a sign post about 50 feet after Webster St at a private residence Binghamton", - "latitude": 42.099113, - "longitude": -75.895767, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1211", - "name": "Conklin/Duke", - "description": "The stop is located on a sign post about 10 feet before Bond St at a private residence Binghamton", - "latitude": 42.09874, - "longitude": -75.883522, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1212", - "name": "Tompkins/Jackson", - "description": "The stop is located on a sign post about 20 feet before Jackson St at a private residence Binghamton", - "latitude": 42.098038, - "longitude": -75.895241, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1213", - "name": "Conklin/Bedford", - "description": "The stop is located on a sign post about 200 feet after Beford St at a private residence Binghamton.", - "latitude": 42.09774, - "longitude": -75.886139, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1214", - "name": "Tompkins/Belden", - "description": "The stop is located on a sign post about 25 before Belden St at a private residence Binghamton", - "latitude": 42.096844, - "longitude": -75.894676, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1215", - "name": "Conklin/Burr", - "description": "The stop is located on a sign post about 100 feet before Burr Ave by Weis Binghamton.", - "latitude": 42.096954, - "longitude": -75.88781, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1216", - "name": "Conklin/Tompkins", - "description": "The stop is located on a sign post about 200 feet after Tompkins St in front of the Hess Express Binghamton", - "latitude": 42.095207, - "longitude": -75.893242, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1217", - "name": "Conklin/Baldwin", - "description": "The stop is located on a sign post about 10 feet before Baldwin St by the Conklin Ave Baptist Church Binghamton", - "latitude": 42.095816, - "longitude": -75.890706, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1218", - "name": "Conklin/Hayes", - "description": "The stop is located on a telephone at the crosswalk before Hayes Ave ner the Franklin Elementary School Binghamton", - "latitude": 42.095596, - "longitude": -75.891273, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1219", - "name": "Conklin/Tompkins", - "description": "The stop is located on a sign post about 50 feet before Tompkins St across from the Hess Express Binghamton", - "latitude": 42.095318, - "longitude": -75.893372, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1220", - "name": "Conklin/Burr", - "description": "The stop is located on a sign post at the corner before Burr Ave across from the Weis Binghamton", - "latitude": 42.096527, - "longitude": -75.888336, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1221", - "name": "Tompkins/Belden", - "description": "The stop is located on a sign post at the corner before Belden St at a private residence Binghamton", - "latitude": 42.096611, - "longitude": -75.894409, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/28/40 Combo" - ] - }, - { - "id": "1222", - "name": "Conklin/Proctor", - "description": "The stop is located on a sign post about 50 feet before Proctor St at a private residence Binghamton", - "latitude": 42.09737, - "longitude": -75.886696, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1223", - "name": "Tompkins/Jackson", - "description": "The stop is located on a sign post at the corner before Jackson St at a private residence Binghamton", - "latitude": 42.097832, - "longitude": -75.894989, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/28/40 Combo" - ] - }, - { - "id": "1224", - "name": "Conklin/Bedford", - "description": "The stop is located on a sign post before Bedford St near the Savage Funeral Home Binghamton", - "latitude": 42.09787, - "longitude": -75.885567, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1225", - "name": "Tompkins/Webster", - "description": "The stop is located on a sign post about 75 feet before Webster St near Webster Court Apartments Binghamton", - "latitude": 42.099129, - "longitude": -75.895592, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/28/40 Combo" - ] - }, - { - "id": "1226", - "name": "Conklin/Duke", - "description": "The stop is located on a sign post in front of Future Faces Childcare Binghamton", - "latitude": 42.098621, - "longitude": -75.883377, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1227", - "name": "Court/Liberty", - "description": "The stop is located on a sign post about 20 feet before Liberity St ner the NYSEG Operations Center Binghamton", - "latitude": 42.102207, - "longitude": -75.898811, - "provider": "BC Transit", - "routes": [ - "Conkin Av" - ] - }, - { - "id": "1228", - "name": "Conklin/Bond", - "description": "The stop is located on a sign post after Duke St at a private residence Binghamton", - "latitude": 42.099506, - "longitude": -75.880646, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "Corporate Park", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1229", - "name": "Court/Chapman", - "description": "The stop is located on a sign post about 20 feet after Chapman St near the Xtra Mart Binghamton", - "latitude": 42.10133, - "longitude": -75.901985, - "provider": "BC Transit", - "routes": [ - "Conkin Av" - ] - }, - { - "id": "1230", - "name": "Afton/Conklin-Outbound", - "description": "The stop is located on a telephone pole about 200 feet after Conklin Ave at a private residence Binghamton", - "latitude": 42.0996753608716, - "longitude": -75.8787447212684, - "provider": "BC Transit", - "routes": [ - "Conkin Av", - "12/3 Combo", - "12/53 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo" - ] - }, - { - "id": "1231", - "name": "Court/Stuyvesant", - "description": "The stop is located on a sign post about 50 feet after Stuyvesant St near the former Sheltered Workship Binghamton. There is a bus shelter here.", - "latitude": 42.100739, - "longitude": -75.904099, - "provider": "BC Transit", - "routes": [ - "Conkin Av" - ] - }, - { - "id": "1233", - "name": "Court/Jay", - "description": "The stop is located on a sign post across from Jay St near the Broome County Library Binghamton. There is a bus shelter here.", - "latitude": 42.100163, - "longitude": -75.90625, - "provider": "BC Transit", - "routes": [ - "Conkin Av" - ] - }, - { - "id": "1500", - "name": "BC Junction 15 Leroy St", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 9 Dock B", - "latitude": 42.101361, - "longitude": -75.910729, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1501", - "name": "Bunn Hill/NY434E Northbound", - "description": "The stop is located on a sign post about 200 feet before NY 434 E across from Portobello Square in Vestal", - "latitude": 42.095377, - "longitude": -75.975336, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City", - "Shoppers Express Oakdale Mall" - ] - }, - { - "id": "1502", - "name": "Court/State", - "description": "The stop is located on a sign post across from Washington St near the Subway Restaurant Binghamton", - "latitude": 42.098804, - "longitude": -75.914177, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1503", - "name": "Bunn Hill/NY 434W Northbound", - "description": "The stop is located on a telephone pole about 75 feet after the Vestal Pkwy near Quality Inn in Vestal.", - "latitude": 42.096214, - "longitude": -75.975395, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City" - ] - }, - { - "id": "1505", - "name": "Vestal/Old Lane", - "description": "The stop is located on a sign post across from Old Lane by the Lourdes Hospice in Vestal.", - "latitude": 42.097569, - "longitude": -75.972839, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City" - ] - }, - { - "id": "1507", - "name": "Floral/New York", - "description": "The stop is located on a sign post at the corner before New York Ave private residence in Johnson City", - "latitude": 42.107048, - "longitude": -75.963127, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City" - ] - }, - { - "id": "1508", - "name": "Oak/Main", - "description": "The stop is located on a sign post about 125 feet after Main St across from the Binghamton High School Binghamton", - "latitude": 42.098854, - "longitude": -75.919983, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1509", - "name": "Floral/Ackley", - "description": "The stop is located on a sign post at the corner before Ackley Ave by the Primitive Methodist Church Johnson City", - "latitude": 42.107361, - "longitude": -75.960472, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City" - ] - }, - { - "id": "1510", - "name": "Oak/Seminary", - "description": "The stop is located on a sign post at the corner before Seminary Ave at a private residence Binghamton", - "latitude": 42.097073, - "longitude": -75.920593, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1511", - "name": "Floral/Baldwin", - "description": "The stop is located on a sign post at the corner before Baldwin St near Floral Ave Park in Johnson City", - "latitude": 42.107734, - "longitude": -75.957531, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City" - ] - }, - { - "id": "1512", - "name": "Oak/Leroy", - "description": "The stop is located on a sign post at the corner before Leroy St at a private residence Binghamton", - "latitude": 42.09549, - "longitude": -75.921135, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1513", - "name": "Floral/Willow", - "description": "The stop is located across from Willow St on Floral Ave", - "latitude": 42.108111, - "longitude": -75.954333, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City" - ] - }, - { - "id": "1514", - "name": "Leroy/Murray", - "description": "The stop is located on a sign post about 50 feet after Murray St at a private residence Binghamton", - "latitude": 42.09557, - "longitude": -75.922737, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1515", - "name": "Floral/Burbank", - "description": "The stop is located on a sign post at the corner before Burbank Ave near the Floral Park Cemetary in Johnson City", - "latitude": 42.108456, - "longitude": -75.952415, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City" - ] - }, - { - "id": "1516", - "name": "Leroy/Chestnut", - "description": "The stop is located on a sign post at the corner before Chestnut St near the Leroy Package St Binghamton", - "latitude": 42.0957976933858, - "longitude": -75.926618689716, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1517", - "name": "Division/Burbank", - "description": "The stop is located on a sign post about 75 feet after Burbank Ave at private residence Binghamton", - "latitude": 42.105614, - "longitude": -75.951874, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1518", - "name": "Leroy/Millard", - "description": "The stop is located on a sign post at the corner before Millard Ave at a private residence Binghamton", - "latitude": 42.095661, - "longitude": -75.928993, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1519", - "name": "Division/Cleveland", - "description": "The stop is located on a sign post at the corner before Cleveland Ave at private residence Binghamton", - "latitude": 42.105721, - "longitude": -75.948463, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1520", - "name": "Leroy/Laurel", - "description": "The stop is located on a sign post about 50 feet before Laurel Ave at a private residence Binghamton", - "latitude": 42.095589, - "longitude": -75.930511, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1521", - "name": "Division/West End", - "description": "The stop is located on a sign post at the corner before West End Ave at private residence Binghamton", - "latitude": 42.105862, - "longitude": -75.946358, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1522", - "name": "Leroy/Beethoven", - "description": "The stop is located on a sign post about 20 feet before Beethoven St at a private residence Binghamton", - "latitude": 42.095399, - "longitude": -75.934396, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1523", - "name": "Schubert/Matthews", - "description": "The stop is located on a sign post at the corner before Matthews St at private residence Binghamton", - "latitude": 42.106251, - "longitude": -75.943359, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1524", - "name": "Beethoven/Seminary", - "description": "The stop is located on a sign post about 100 feet Seminary Ave by the Recreation Park Tennis Courts Binghamton", - "latitude": 42.097908, - "longitude": -75.934868, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1525", - "name": "Schubert/Crestmont", - "description": "The stop is located on a sign post at the corner before Crestmont Rd at private residence Binghamton", - "latitude": 42.105782, - "longitude": -75.941879, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1526", - "name": "Beethoven/Jefferson", - "description": "The stop is located on a sign post after Jefferson Ave near recreation Park Binghamton", - "latitude": 42.099689, - "longitude": -75.935089, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1527", - "name": "Minden/Schubert", - "description": "The stop is located on a telephone pole about 200 feet after Schubert St near Thomas Jefferson Elementary School Binghamton", - "latitude": 42.104858, - "longitude": -75.940918, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1528", - "name": "Highland/Beethoven", - "description": "The stop is located on a sign post about 50 feet after Beethoven St at a private residence Binghamton", - "latitude": 42.100517, - "longitude": -75.935555, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1529", - "name": "Minden/Jerome", - "description": "The stop is located on a sign post at the corner before Jerome Ave at a private residence Binghamton", - "latitude": 42.103542, - "longitude": -75.941002, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1530", - "name": "Highland/Kneeland", - "description": "The stop is located on a sign post across from Kneeland Ave near West Middle School Binghamton", - "latitude": 42.100384, - "longitude": -75.937584, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1531", - "name": "Helen/Druid", - "description": "The stop is located on a sign post at the corner across from Druid Pl at a private residence Binghamton", - "latitude": 42.101852, - "longitude": -75.940697, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1532", - "name": "Highland/Helen", - "description": "The stop is located on a sign post at the corner before Helen St at a private residence Binghamton", - "latitude": 42.100197, - "longitude": -75.940262, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1533", - "name": "Helen/Highland", - "description": "The stop is located on a sign post before Highland Ave at a private residence Binghamton", - "latitude": 42.1002358070277, - "longitude": -75.940451038667, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1534", - "name": "Helen/Druid", - "description": "The stop is located on a telephone pole at the corner before Druid Pl Binghamton", - "latitude": 42.102089, - "longitude": -75.940536, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1535", - "name": "Highland/Kneeland", - "description": "The stop is located on a telephone pole across from Aquinas St near West Middle School Binghamton", - "latitude": 42.100244160147, - "longitude": -75.9383878392061, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1536", - "name": "Helen/Jerome", - "description": "The stop is located on a sign post at the corner before Jerome Ave at a private residence Binghamton", - "latitude": 42.10339, - "longitude": -75.940697, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1537", - "name": "Highland/Beethoven", - "description": "The stop is located on a sign post at the corner before Beethoven St at a private residence Binghamton", - "latitude": 42.100452, - "longitude": -75.93541, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1538", - "name": "Helen/Schubert", - "description": "The stop is located on a sign post at the corner before Schubert St near Thomas Jefferson Elementary School", - "latitude": 42.104527, - "longitude": -75.93972, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1539", - "name": "Beethoven/Jefferson", - "description": "The stop is located on a sign post at the corner before Jefferson Ave at a private residence Binghamton", - "latitude": 42.099556, - "longitude": -75.935188, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1540", - "name": "Schubert/Crestmont", - "description": "The stop is located on a sign post at the corner before Crestmont Rd at a private residence Binghamton", - "latitude": 42.105751, - "longitude": -75.941628, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1541", - "name": "Beethoven/Seminary", - "description": "The stop is located on a telephone pole before Seminary Ave across from Recreation Park Binghamton", - "latitude": 42.097633, - "longitude": -75.934959, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1542", - "name": "Schubert/Crary", - "description": "The stop is located on a sign post at the corner before Crary Ave at a private residence Binghamton", - "latitude": 42.106289, - "longitude": -75.943939, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1543", - "name": "Beethoven/Leroy", - "description": "The stop is located on a telephone pole about 50 feet before Leroy St at a private residence Binghamton", - "latitude": 42.0955895353997, - "longitude": -75.9347774369079, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1544", - "name": "Schubert/West End", - "description": "The stop is located on a sign post at the corner before West End Ave at a private residence Binghamton", - "latitude": 42.106159, - "longitude": -75.946182, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1545", - "name": "Leroy/Laurel", - "description": "The stop is on a sign post located at the corner before Laurel Ave at a private residence Binghamton", - "latitude": 42.095478, - "longitude": -75.930977, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1546", - "name": "Division/Cleveland", - "description": "The stop is located at on a sign post at the corner before Cleveland Ave at a private residence Binghamton", - "latitude": 42.1058319064041, - "longitude": -75.9483148937311, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1547", - "name": "Leroy/Millard", - "description": "The stop is located on a sign post at the corner before Milard Ave at a private residence Binghamton", - "latitude": 42.095566, - "longitude": -75.929222, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1548", - "name": "Division/Burbank", - "description": "The stop is located on a sign post about 20 before Burbank by a private residence Binghamton", - "latitude": 42.1057169072941, - "longitude": -75.9519348219899, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1549", - "name": "Leroy/Chestnut", - "description": "The stop is located on a sign post at the corner before Chestnut St near Cananaugh's Deli Binghamton", - "latitude": 42.0956756212701, - "longitude": -75.9268391785583, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1550", - "name": "Burbank/Floral", - "description": "The stop is located on a sign post at the corner before Burbank Ave across from the Tub Laundromat Binghamton", - "latitude": 42.108459, - "longitude": -75.952187, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1551", - "name": "Leroy/Chapin", - "description": "The stop is located on a sign post at the corner before Chapin St at a private residence Binghamton", - "latitude": 42.095589, - "longitude": -75.923882, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1552", - "name": "Floral/Willow", - "description": "The stop is located on a sign post about 30 feet before Willow St at a private residence Johnson City", - "latitude": 42.108303, - "longitude": -75.953964, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "BU Express", - "Johnson City" - ] - }, - { - "id": "1553", - "name": "Leroy/Oak", - "description": "The stop is located on a sign post about 20 feet before Oak St near St Patrick's Church Binghamton", - "latitude": 42.095383, - "longitude": -75.921364, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1554", - "name": "Floral/Roberts", - "description": "The stop is located on a sign post at the corner before Roberts St at a private residence Johnson City.", - "latitude": 42.108044, - "longitude": -75.956047, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "BU Express", - "Johnson City" - ] - }, - { - "id": "1555", - "name": "Front/Leroy", - "description": "The stop is located at the corner before Front St across from the M&T Bank Binghamton", - "latitude": 42.094913, - "longitude": -75.918999, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1556", - "name": "Floral/Harrison", - "description": "The stop is located on a sign post about 10 feet before Harrison St across from Floral Park Johnson City.", - "latitude": 42.107761, - "longitude": -75.958168, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "BU Express", - "Johnson City" - ] - }, - { - "id": "1557", - "name": "Washington/Stuart", - "description": "The stop is located on a sign post at the corner before Stuart St near the Veterans Memorial Arena", - "latitude": 42.096001, - "longitude": -75.913933, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1558", - "name": "Floral/Charles", - "description": "The stop is located on a telephone pole about 100 feet before Saint Charles St near Adrianno's Pizza Johnson City", - "latitude": 42.107513, - "longitude": -75.96006, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "BU Express", - "Johnson City" - ] - }, - { - "id": "1559", - "name": "Hawley/Court", - "description": "The stop is located at the corner before Court St near the CVS Parking Lot Binghamton", - "latitude": 42.098282, - "longitude": -75.914603, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1560", - "name": "Floral/Cook", - "description": "The stop is located on a sign post at the corner before Cook St at a private residence Johnson City.", - "latitude": 42.107136, - "longitude": -75.963387, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "BU Express", - "Johnson City" - ] - }, - { - "id": "1562", - "name": "Vestal/Old Lane", - "description": "The stop is located on telephone pole about 150 feet after Old Lane Rd near the Karni Griffin Spa Vestal", - "latitude": 42.09771, - "longitude": -75.972923, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City" - ] - }, - { - "id": "1564", - "name": "Bunn Hill/NY434W Southbound", - "description": "The stop is located an telephone pole about 100 feet before NY 434W near Monroe Muffler Vestal", - "latitude": 42.096249, - "longitude": -75.975563, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City" - ] - }, - { - "id": "1566", - "name": "Bunn Hill/NY 434E Southbound", - "description": "The stop is located on a sign post after NY 434 E between Denny's and Portobello Square Vestal", - "latitude": 42.095005, - "longitude": -75.975471, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City", - "Vestal", - "Shoppers Special" - ] - }, - { - "id": "1701", - "name": "Brocton/Lester", - "description": "The stop is located after Lester Ave at a private residence in Johnson City", - "latitude": 42.1187481145106, - "longitude": -75.9508280976093, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1702", - "name": "Floral/Cleveland", - "description": "The stop is located on a sign post about 20 feet after Cleveland Ave near an apartment complex Binghamton", - "latitude": 42.109025, - "longitude": -75.948562, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1703", - "name": "Brocton/Concord", - "description": "The stop is located before Concord St at a private residence in Johnson City", - "latitude": 42.118759, - "longitude": -75.952981, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1704", - "name": "Floral/West End Ave", - "description": "The stop is located on a sign post at the corner before West End Ave near the Kwik Fill Binghamton", - "latitude": 42.109641, - "longitude": -75.946807, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1705", - "name": "Brocton/Diment", - "description": "The stop is located after Diment St near the Johnson City Senior Center in Johnson City", - "latitude": 42.118485, - "longitude": -75.95537, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1706", - "name": "Floral/Main", - "description": "The stop is located on a sign post about 25 feet before Main St across from the Presbyterian Church Binghamton", - "latitude": 42.111041, - "longitude": -75.945124, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1707", - "name": "N Arch/Main", - "description": "The stop is located before N Arch St at a private residence in Johnson City", - "latitude": 42.116358, - "longitude": -75.957216, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1708", - "name": "Brocton/Diment", - "description": "The stop is located before Diment St across from the Johnson City Senior Center in Johnson City", - "latitude": 42.1183879259153, - "longitude": -75.9554438760598, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1710", - "name": "Brocton/Lester", - "description": "The stop is located before Lester Ave at a private residence in Johnson City", - "latitude": 42.1186558966307, - "longitude": -75.9507819569759, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1711", - "name": "Floral/Main", - "description": "The stop is located on a telephone pole about 150 after Main St near the Johnson City Presbyterian Church Binghamton", - "latitude": 42.110809, - "longitude": -75.945422, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Johnson City" - ] - }, - { - "id": "1712", - "name": "Pavillion/Gannett", - "description": "The stop is located at the corner before Gannett Dr near the Visions Credit Union Johnson City", - "latitude": 42.116631, - "longitude": -75.949006, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1713", - "name": "Floral/West End Ave", - "description": "The stop is located on a telephone pole after West End Ave across from Kwik Fill Binghamton", - "latitude": 42.109694, - "longitude": -75.946927, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Johnson City" - ] - }, - { - "id": "1715", - "name": "Floral/Cleveland", - "description": "The stop is located on a telephone across from Cleveland Ave near an apartment complex Binghamton", - "latitude": 42.109098, - "longitude": -75.948751, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Johnson City" - ] - }, - { - "id": "1717", - "name": "Floral/Burbank", - "description": "The stop is located at the corner before Burbank Ave near the Washtub Laundromat Johnson City", - "latitude": 42.108622, - "longitude": -75.952084, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Johnson City" - ] - }, - { - "id": "1798", - "name": "Johnson City High School", - "description": "The stop is located in front of the Johnson City High School", - "latitude": 42.134555, - "longitude": -75.969306, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "1799", - "name": "Johnson City Middle School", - "description": "The stop is located in front of the Johnson City Middle School", - "latitude": 42.135848, - "longitude": -75.962225, - "provider": "BC Transit", - "routes": [ - "Johnson City" - ] - }, - { - "id": "2301", - "name": "Riverside/Banks", - "description": "The stop is located on a sign post at the corner after Banks Ave at a private residence Johnson City", - "latitude": 42.10492, - "longitude": -75.964753, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2303", - "name": "Riverside/Riale", - "description": "The stop is located on a sign post at the corner before Riale Ave at a private residence Johnson City", - "latitude": 42.103599, - "longitude": -75.963198, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2305", - "name": "Riverside/Davis College", - "description": "The stop is located on a telephone at the corner before the entrance to Davis College Johnson City", - "latitude": 42.101691, - "longitude": -75.960765, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2306", - "name": "Washington/Susquehanna", - "description": "The stop is located on a sign post across from Susquehanna St in front of the BU Downtown Center Binghamton. A bus shelter is here.", - "latitude": 42.095662, - "longitude": -75.914259, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2307", - "name": "Riverside/Elfred", - "description": "The stop is located on a telephone pole after the entrance to the Susquahanna Nursing Facility Johnson City", - "latitude": 42.100243, - "longitude": -75.958669, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2308", - "name": "Riverside/Oak", - "description": "The stop is located on a sign post 10 feet before Oak St near the Young & Young Law Office Binghamton", - "latitude": 42.092733, - "longitude": -75.921751, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2309", - "name": "Riverside/Ackley", - "description": "The stop is located on a telephone pole across from Ackely Ave near a private residence Johnson City", - "latitude": 42.099617, - "longitude": -75.956833, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2310", - "name": "Riverside/St John Ave", - "description": "The stop is located on a telephone pole at the corner before St John Ave near the Broome Day Services Binghamton", - "latitude": 42.092383, - "longitude": -75.925405, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2311", - "name": "Riverside/Columbus", - "description": "The stop is located on a sign post about 75 after Columbus Pl across from Hatala Orthodontics Johsnon City", - "latitude": 42.099302, - "longitude": -75.954616, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2312", - "name": "Riverside/Millard", - "description": "The stop is located on a telephone pole at the corner before Millard Ave at a private residence Binghamton", - "latitude": 42.092247, - "longitude": -75.928659, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2313", - "name": "Riverside/Burbank", - "description": "The stop is located on sign about 100 feet after Burbank Ave across from Acousticon Hearing Johnson City", - "latitude": 42.098758, - "longitude": -75.951302, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2314", - "name": "Riverside/Laurel", - "description": "The stop is located on a sign post about 20 feet before Laurel Ave at a private residence Binghamton", - "latitude": 42.092196, - "longitude": -75.930218, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2315", - "name": "Riverside/Margaret", - "description": "The stop is located on a sign post across from Margaret St near the entrance to St Patrick's Cemetary Johnson City", - "latitude": 42.09806, - "longitude": -75.949248, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2316", - "name": "Riverside/Avon", - "description": "The stop is located on a sign post about 100 feet after Avon Rd in front of the Lourdes Footcare Center Binghamton", - "latitude": 42.0921287006103, - "longitude": -75.9321265288429, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2317", - "name": "Riverside/West End", - "description": "The stop is located on a telephone pole about 25 feet after West End Ave at a private residence Binghamton", - "latitude": 42.096538, - "longitude": -75.946482, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2318", - "name": "Lourdes Hospital (Riverside/Beethoven)", - "description": "The stop is located about 75 feet after Beethoven St across from Lourdes Hospital Binghamton", - "latitude": 42.092569, - "longitude": -75.934906, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2319", - "name": "Riverside/Crary", - "description": "The stop is located on a sign post across from Crary Ave at a private residence Binghamton", - "latitude": 42.095662, - "longitude": -75.944609, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2320", - "name": "Riverside/Helen", - "description": "The stop is located on a telephone pole at the corner before Helen St at a private residence Binghamton", - "latitude": 42.093917, - "longitude": -75.939538, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2321", - "name": "Riverside/Matthews", - "description": "The stop is located on a sign post across from Matthews St at a private residence Binghamton", - "latitude": 42.09484, - "longitude": -75.942117, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2322", - "name": "Riverside/Crary", - "description": "The stop is located on a sign post at the corner before Crary Ave at a private residence Binghamton", - "latitude": 42.095691, - "longitude": -75.944352, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2323", - "name": "Lourdes Hospital (Riverside/Rotary)", - "description": "The stop is located about 100 feet before Rotary Ave in front of Lourdes Hospital Binghamton. A bus shelter is here.", - "latitude": 42.092744, - "longitude": -75.936293, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Shoppers Special" - ] - }, - { - "id": "2324", - "name": "Riverside/Westend", - "description": "The stop is located on a telephone pole about 10 feet before West End Ave at a private residence Binghamton", - "latitude": 42.096615, - "longitude": -75.946357, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2325", - "name": "Riverside/Stratford", - "description": "The stop is located on a sign post about 25 feet before Stratford Pl at a private residence Binghamton.", - "latitude": 42.092146, - "longitude": -75.93309, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2325.1", - "name": "Riverside/Laurel", - "description": "The stop is located on sign post before Laurel Ave- Binghamton", - "latitude": 42.092059, - "longitude": -75.930667, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2326", - "name": "Riverside/Patricia", - "description": "The stop is located on a telephone pole at the corner before Patricia St at a private residence Binghamton", - "latitude": 42.097547, - "longitude": -75.948047, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2327", - "name": "Riverside/Campbell", - "description": "The stop is located on a telephone pole at the corner before Campbell Rd at a private residence Binghamton", - "latitude": 42.092152, - "longitude": -75.927592, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2328", - "name": "Riverside/Margaret", - "description": "The stop is located on a sign post at the corner before Margaret St near Dr Jeffrey King's Medical Office Johnson City.", - "latitude": 42.098142, - "longitude": -75.949203, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2329", - "name": "Riverside/Oak", - "description": "The stop is located on on telehphone pole at the corner before Oak St near the Gottlieb Law Offices Binghamton", - "latitude": 42.092576, - "longitude": -75.922354, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2330", - "name": "Riverside/Burbank", - "description": "The stop is located on a telephone pole about 100 feet before Burbank Ave near Acoustican Hearing Johnson City", - "latitude": 42.098847, - "longitude": -75.951244, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2332", - "name": "Riverside/Columbus", - "description": "The stop is located on a sign post at the corner before Columbus Pl by Hatala Orthodontics Johnson City", - "latitude": 42.099471, - "longitude": -75.954926, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2334", - "name": "Riverside/Ackley", - "description": "The stop is located on a sign post at the corner before Ackely Ave at a private residence Johnson City", - "latitude": 42.099686, - "longitude": -75.956565, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2336", - "name": "Riverside/Elfred", - "description": "The stop is located on a sign post at the corner before Elfred St near Downton Denistry Johnson City", - "latitude": 42.10056, - "longitude": -75.958904, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2338", - "name": "Riverside/Ethel", - "description": "The stop is located on a sign post at the corner before Ethel St at a private residence Johnson City", - "latitude": 42.102239, - "longitude": -75.961305, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2340", - "name": "Riverside/Brewster", - "description": "The stop is located on a telephone pole at the corner before Brewster St near Apple Foods Johnson City", - "latitude": 42.103299, - "longitude": -75.962653, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2342", - "name": "Riverside/Banks", - "description": "The stop is located on a sign post across from Banks St at a private residence Johnson City", - "latitude": 42.104993, - "longitude": -75.964603, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2344", - "name": "UHS Vestal Inbound", - "description": "The flag stop is located by the UHS Primary Care Walk in 4417 Vestal Pkwy.", - "latitude": 42.096363, - "longitude": -75.967042, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2344.1", - "name": "UHS Vestal Outbound", - "description": "The flag stop is located by the UHS Primary Care Walk in 4417 Vestal Pkwy", - "latitude": 42.096294, - "longitude": -75.967182, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "2801", - "name": "Robinson/Century", - "description": "The stop is located on a street lamp pole about 100 feet after Century Dr Binghamton", - "latitude": 42.107761, - "longitude": -75.866409, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2801.1", - "name": "Children's Home GBHC - 28", - "description": "", - "latitude": 42.103911, - "longitude": -75.866554, - "provider": "BC Transit", - "routes": [ - "Robinson St" - ] - }, - { - "id": "2802", - "name": "BC Junction 28 Robinson St", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 1 Dock A", - "latitude": 42.100982, - "longitude": -75.91097, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "28/40 Combo" - ] - }, - { - "id": "2803", - "name": "Robinson/GBHC", - "description": "The stop is located at the exit of the GBHC Binghamton A bus shelter is here", - "latitude": 42.10918, - "longitude": -75.868538, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2803.1", - "name": "Century/Court", - "description": "", - "latitude": 42.104089, - "longitude": -75.871814, - "provider": "BC Transit", - "routes": [ - "Robinson St" - ] - }, - { - "id": "2804", - "name": "Chenango/Eldredge", - "description": "The stop is located on a sign post about 100 feet after Eldredge St near Kendrick Tattoo Binghamton", - "latitude": 42.105488, - "longitude": -75.906281, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Robinson St", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2805", - "name": "Robinson/Garden", - "description": "The stop is located on sign post after and across from Garden St at a private residence Binghamton", - "latitude": 42.109016, - "longitude": -75.870667, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2805.1", - "name": "Court/Fairview", - "description": "", - "latitude": 42.104569, - "longitude": -75.876332, - "provider": "BC Transit", - "routes": [ - "Robinson St" - ] - }, - { - "id": "2806", - "name": "Chenango/Robinson", - "description": "The stop is located on a sign post about 50 feet before Robinson St across from Labor Ready Binghamton", - "latitude": 42.107059, - "longitude": -75.904442, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Robinson St", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2807", - "name": "Robinson/English", - "description": "The stop is located on a sign post across from English St at a private residence Binghamton", - "latitude": 42.108871, - "longitude": -75.872322, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2807.1", - "name": "Court/Bigelow", - "description": "", - "latitude": 42.104541, - "longitude": -75.880491, - "provider": "BC Transit", - "routes": [ - "Robinson St" - ] - }, - { - "id": "2808", - "name": "Robinson/Emmett", - "description": "The stop is located on a sign post at the corner before Emmett St at a private residence Binghamton", - "latitude": 42.106998, - "longitude": -75.901794, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "28/40 Combo" - ] - }, - { - "id": "2809", - "name": "Robinson/Rubin", - "description": "The stop is located on a sign post after the crosswalk with Rubin Ave near the Fairview Park Ball Field Binghamton.", - "latitude": 42.108715, - "longitude": -75.874428, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2809.1", - "name": "Court/Ely", - "description": "", - "latitude": 42.104271, - "longitude": -75.889154, - "provider": "BC Transit", - "routes": [ - "Robinson St" - ] - }, - { - "id": "2810", - "name": "Robinson/Wales", - "description": "The stop is located on a telephone pole at the corner before Wales Ave near the Rte 363 overpass Binghamton", - "latitude": 42.10685, - "longitude": -75.899689, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "28/40 Combo" - ] - }, - { - "id": "2811", - "name": "Robinson/Fairview", - "description": "The stop is located before Faiview Ave near the Fairview Park Parking Lot Binghamton. A bus shelter is here.", - "latitude": 42.108601, - "longitude": -75.876282, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2811.1", - "name": "Griswold/Silver", - "description": "", - "latitude": 42.105131, - "longitude": -75.892181, - "provider": "BC Transit", - "routes": [ - "Robinson St" - ] - }, - { - "id": "2812", - "name": "Robinson/Whitney", - "description": "The stop is located about 50 feet before Whitney Ave before Gallagher's Pub Binghamton", - "latitude": 42.107029, - "longitude": -75.89653, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "2813", - "name": "Robinson/Glen", - "description": "The stop is located on a sign post before Glen Ave near Calvin Coolidge School Binghamton.", - "latitude": 42.108391, - "longitude": -75.878632, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2814", - "name": "Robinson/Griswold", - "description": "The stop is located on a telephone pole at the corner before Griswold St near East End Appliances Binghamton", - "latitude": 42.107273, - "longitude": -75.892563, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "2815", - "name": "Robinson/Bigelow", - "description": "The stop is located on a sign post before Bigelow St near the Coolidge School crosswalk sign Binghamton", - "latitude": 42.108212, - "longitude": -75.880951, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2816", - "name": "Robinson/Ely", - "description": "The stop is located on a sign post after Ely St and before the entrance to Weis Binghamton", - "latitude": 42.107445, - "longitude": -75.889587, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "2817", - "name": "Robinson/Howard", - "description": "The stop is located on a sign post about 75 feet after Howard Ave Binghamton", - "latitude": 42.107899, - "longitude": -75.884911, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2818", - "name": "Broad/George", - "description": "The stop is located on a telephone pole before George St at a private residence Binghamton", - "latitude": 42.109406, - "longitude": -75.888847, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "2819", - "name": "Robinson/Broad", - "description": "The stop is located on a sign post before the entrance with KFC about 100 feet before Broad Ave Binghamton.", - "latitude": 42.107685, - "longitude": -75.888023, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2820", - "name": "Broad/E Frederick", - "description": "The stop is located on a sign post about 25 feet before E Fredrick St across from Stockholm Barbershop Binghamton", - "latitude": 42.111259, - "longitude": -75.889084, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "2821", - "name": "Robinson/Ely", - "description": "The stop is located on a sign post at the corner before Ely St near the M&T Bank Binghamton", - "latitude": 42.107555, - "longitude": -75.88987, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2822", - "name": "Broad/Grant", - "description": "The stop is located on a telephone pole after Grant St between the two entrances of Manley's Might Mart Binghamton", - "latitude": 42.112644, - "longitude": -75.889229, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "2823", - "name": "Robinson/Griswold", - "description": "The stop is located on a sign post about 275 feet after Griswold St- across from Alice St Binghamton", - "latitude": 42.107319, - "longitude": -75.893622, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2824", - "name": "Broad/Hill", - "description": "The stop is located on a telephone pole after the I86 off ramp about 75 feet before Hill St across from Agway Binghamton", - "latitude": 42.115826, - "longitude": -75.88961, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "2825", - "name": "Robinson/Whitney", - "description": "The stop is located on a sign post at the corner before Whitney Ave just after the railroad bridge Binghamton", - "latitude": 42.107151, - "longitude": -75.896141, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2826", - "name": "Spellicy/Moeller-One", - "description": "The stop is located on a telephone pole after Moeller St near Carlisle Apts Community Center Binghamton", - "latitude": 42.116146, - "longitude": -75.887359, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2827", - "name": "Robinson/Liberty", - "description": "The stop is located on a sign post at the corner before Liberty St just after the NY 363 overpass Binghamton", - "latitude": 42.106979, - "longitude": -75.899406, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "2828", - "name": "Spellicy/Flower", - "description": "The stop is located on a sign post before Flower St near Carlise Apts Bldg 17 Binghamton", - "latitude": 42.1167338293255, - "longitude": -75.8863747324917, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2829", - "name": "Robinson/Emmet", - "description": "The stop is located on a sign post across from Emmett St at a private residence Binghamton", - "latitude": 42.107063, - "longitude": -75.90155, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "2830", - "name": "Spellicy/Leon", - "description": "The stop is located on a sign post before Leon Ave near Carlise Apts Bldg 19 Binghamton", - "latitude": 42.117821, - "longitude": -75.886871, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2831", - "name": "Chenango/Robinson", - "description": "The stop is located on sign post after Robinson St near Wilson Dental Binghamton", - "latitude": 42.107002, - "longitude": -75.904816, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "Chenango St" - ] - }, - { - "id": "2832", - "name": "Spellicy/Moeller-Two", - "description": "The stop is located on a telephone pole at the corner before Moeller St near Carlisle Apts Bldg 4 Binghamton", - "latitude": 42.117706, - "longitude": -75.888252, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2833", - "name": "Chenango/Eldridge", - "description": "The stop is located on a sign post about 75 feet after Eldredge St across from VAR electronics Binghamton", - "latitude": 42.104912, - "longitude": -75.907143, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "Chenango St" - ] - }, - { - "id": "2834", - "name": "Moeller/Bevier", - "description": "The stop is located on a sign post at the corner before Bevier St near Gates Fabrication Binghamton", - "latitude": 42.119286, - "longitude": -75.888992, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2836", - "name": "Bevier/Broad", - "description": "The stop is located at the intersection of Bevier St and Broad st on sign for the Binghamton Alumni Stadium Binghamton", - "latitude": 42.119358, - "longitude": -75.889862, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2838", - "name": "Broad/Spellicy", - "description": "The stop is located on a sign post across from Spellicy Blvd after the entrance to Agway Binghamton", - "latitude": 42.117508, - "longitude": -75.890045, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2844", - "name": "Broad/E Frederick", - "description": "The stop is located on a sign post about 20 feet before E Frederick near Stockholm Barbershop Binghamton", - "latitude": 42.111576, - "longitude": -75.889313, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2846", - "name": "Broad/William", - "description": "The stop is located on a sign post by the Mental Health Association of the Southern Tier. A bus shelter is here.", - "latitude": 42.108682, - "longitude": -75.88897, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2848", - "name": "Robinson/Moeller", - "description": "The stop is located on a sign post about 75 feet after Moeller St between the exits of the K&P One Stop Binghamton", - "latitude": 42.107727, - "longitude": -75.886047, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2850", - "name": "Robinson/Mason", - "description": "The stop is located on a sign post at the corner before Mason Ave by the Cameo Theater Binghamton", - "latitude": 42.107887, - "longitude": -75.883545, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2852", - "name": "Robinson/Bigelow", - "description": "The stop is located on a sign post about 15 feet before Bigelow St near the Fairview United Methodist Church Binghamton", - "latitude": 42.108063, - "longitude": -75.881264, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2854", - "name": "Robinson/Milford", - "description": "The stop is located on a sign post at the corner before Milford St by the United Church of Christ Binghamton", - "latitude": 42.108337, - "longitude": -75.877983, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2856", - "name": "Robinson/Fairview", - "description": "The stop is located on a sign post at the corner before Fairview Ave at a private residence Binghamton", - "latitude": 42.108456, - "longitude": -75.876572, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2858", - "name": "Robinson/Rubin", - "description": "The stop is located a sign post at the corner after Rubin Ave across from Fairview Park Binghamton", - "latitude": 42.108646, - "longitude": -75.874321, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2860", - "name": "Robinson/English", - "description": "The stop is located on a sign post at the corner before English St at a private residence Binghamton", - "latitude": 42.108757, - "longitude": -75.872551, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2862", - "name": "Robinson/Garden", - "description": "The stop is located on a telephone pole at the corner before Garden St at a private residence Binghamton", - "latitude": 42.108936, - "longitude": -75.870483, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2864", - "name": "Robinson/GBHC Entrance", - "description": "The stop is located on a telephone pole at the entrance to the GBHC Center Binghamton", - "latitude": 42.109081, - "longitude": -75.868675, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2866", - "name": "Robinson/Century", - "description": "The stop is located on the corner before Century Dr near the GBHC Center Binghamton", - "latitude": 42.1074402919586, - "longitude": -75.8664112406001, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "2868", - "name": "GBHC/Garvin", - "description": "The stop is located in front of the VA Clinic near the Garvin Bldg GBHC Binghamton", - "latitude": 42.1057264285454, - "longitude": -75.8676189498667, - "provider": "BC Transit", - "routes": [ - "Robinson St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "3500", - "name": "BC Junction 35 Endicott Binghamton", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 12 Dock B", - "latitude": 42.100995, - "longitude": -75.910829, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3501", - "name": "E. Perimeter Rd/Glendale Tech Park", - "description": "The stop is located on a street lamp pole near the the NYS Department of Labor Endicott.", - "latitude": 42.094946, - "longitude": -76.090671, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3502", - "name": "Court/Water", - "description": "The stop is located on a sign post about 100 feet after Water St in front of Boscov's Binghamton", - "latitude": 42.098837, - "longitude": -75.915429, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Front St", - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3503", - "name": "Glendale Tech Park/Perimeter Rd", - "description": "The stop is located on a sign post near an office building at the Glendale Technology Park Endicott", - "latitude": 42.093063, - "longitude": -76.091274, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3504", - "name": "Main/Front", - "description": "The stop is located on a sign post about 125 feet after Front St by the 1st Congregational Church Binghamton", - "latitude": 42.0989597654341, - "longitude": -75.9179805846929, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3505", - "name": "Main /S. Grippen", - "description": "The stop is located on a sign post near the crosswalk at the corner before Grippen Ave across from Our Lady of Good Council Church Endicott", - "latitude": 42.0923446831768, - "longitude": -76.0788652133883, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3507", - "name": "Main /Bassett", - "description": "The stop is located on a sign post by the crosswalk before Bassett Ave at a private residence Endicott", - "latitude": 42.092734, - "longitude": -76.075082, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3508", - "name": "Main/Chapin", - "description": "The is located on a sign post about 130 feet before Chapin St by the CVS Binghamton. A bus shelter is here.", - "latitude": 42.09967, - "longitude": -75.921773, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3509", - "name": "Main /Page", - "description": "The stop is located across from S Page Ave Endicott. There is a bus shelter here.", - "latitude": 42.09362, - "longitude": -76.072195, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3510", - "name": "Main/Mather", - "description": "The stop is located on a telephone pole about 125 feet after Mather St by the Westside Mini-Mart Binghamton", - "latitude": 42.100603, - "longitude": -75.925196, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3511", - "name": "Main/DeHart", - "description": "The is stop is located at the corner before DeHart Ave. There is a bus shelter here.", - "latitude": 42.094661, - "longitude": -76.068783, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3512", - "name": "Main/Crandall", - "description": "The stop is located on a sign post at the corner before Crandall St by the Horizon's Credit Union Binghamton.", - "latitude": 42.101586, - "longitude": -75.927139, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3513", - "name": "Main /Badger", - "description": "The stop is located on a sign post about 75 feet after Badger Ave near Babcock Endicott", - "latitude": 42.095069, - "longitude": -76.065575, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3514", - "name": "Main/Cedar", - "description": "The stop is located on a sign post across from Cedar St by AudioMan Binghamton", - "latitude": 42.102408, - "longitude": -75.928632, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3515", - "name": "Main /Liberty", - "description": "The stop is located about 50 feet before Liberty St near the Rite Aid Endicott. There is a bus shelter here.", - "latitude": 42.094997, - "longitude": -76.064222, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3516", - "name": "Main/Jarvis", - "description": "The stop is located on a sign post about 175 feet after Jarvis St near Wendy's Binghamton", - "latitude": 42.1032666713242, - "longitude": -75.9301361055766, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3517", - "name": "Main /Mersereau", - "description": "The is stop is located at the corner before Mersereau St near the Village West Apts. There is a bus shelter here.", - "latitude": 42.094867, - "longitude": -76.060771, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3518", - "name": "Main/Schiller", - "description": "The stop is located on a telephone pole about 185 feet after Hamilton St before the AutoZone Binghamton", - "latitude": 42.105134, - "longitude": -75.933501, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3519", - "name": "Main /Vestal", - "description": "The stop is located on a telephone pole about 75 feet after Vestal Ave across from the Hess Express Endicott", - "latitude": 42.095098, - "longitude": -76.056391, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3520", - "name": "Main/Orton", - "description": "The stop is located on a sign post across from Orton Ave in front of Catholic Charities Binghamton. A bus shelter is here.", - "latitude": 42.106294, - "longitude": -75.93563, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3521", - "name": "Main /Booth", - "description": "The stop is located on a telephone pole at the corner before Booth Ave by the BCT Credit Union Endicott", - "latitude": 42.096599, - "longitude": -76.052508, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3522", - "name": "Main/Glenwood", - "description": "The stop is located on a sign post about 135 feet after Glenwood Ave across from CVS Binghamton", - "latitude": 42.1074222535089, - "longitude": -75.9376825496985, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3523", - "name": "Main /Lincoln", - "description": "The stop is located on a telephone pole about 15 feet before Lincoln Ave near the Union-Endicott Board of Education Endicott", - "latitude": 42.097054, - "longitude": -76.05146, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3524", - "name": "Main/Crestmont", - "description": "The stop is located on a sign post across from Crestmont Rd in front of Burger King Binghamton", - "latitude": 42.108985, - "longitude": -75.940537, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3525", - "name": "Washington /Main", - "description": "The stop is located on a sign post about 50 feet after Main St in front of Wendy's Endicott", - "latitude": 42.099258, - "longitude": -76.047812, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3526", - "name": "Main/Crary", - "description": "The stop is located on a sign post at the crosswalk across from Crary Ave near Cole Muffler Binghamton", - "latitude": 42.10997, - "longitude": -75.942308, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Endicott-Binghamton" - ] - }, - { - "id": "3527", - "name": "Washington /Broad", - "description": "The stop is located at the corner before Broad St near St Ambrose Church across from the Post Office Endicott", - "latitude": 42.10051, - "longitude": -76.047927, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3528", - "name": "Main/Floral", - "description": "The stop is located on a sign post after Floral Ave near the Johnson City Arch Johnson City", - "latitude": 42.111462, - "longitude": -75.945476, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3529", - "name": "North/Garfield", - "description": "The stop is located on a utility pole about 150 feet after Garfield Ave Endicott", - "latitude": 42.104999, - "longitude": -76.046616, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3530", - "name": "Main/Lester", - "description": "The stop is located on a street lamp pole about 160 feet before Lester Ave by Your Home Library Johnson City", - "latitude": 42.11302, - "longitude": -75.949482, - "provider": "BC Transit", - "routes": [ - "Johnson City", - "Endicott-Binghamton" - ] - }, - { - "id": "3531.1", - "name": "North/Kentucky", - "description": "The stop is located across from Gault Toyota Endicott", - "latitude": 42.106552, - "longitude": -76.038232, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3531.2", - "name": "North/S. Willis", - "description": "The stop is located near the Endwell Plaza", - "latitude": 42.106596, - "longitude": -76.029734, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3534", - "name": "Main/Willow", - "description": "The stop is located on a sign post at the corner before Avenue C by Blue Wireless Johnson City", - "latitude": 42.114861, - "longitude": -75.954252, - "provider": "BC Transit", - "routes": [ - "Johnson City", - "Endicott-Binghamton" - ] - }, - { - "id": "3535.1", - "name": "Main/Jackson", - "description": "The stop is located about 125 feet after Jackson Ave Endicott", - "latitude": 42.10245, - "longitude": -76.039234, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3536", - "name": "Main/N Broad", - "description": "The stop is located on a sign post about 100 feet after Broad St in front The Gold Mine Johnson City", - "latitude": 42.115636, - "longitude": -75.956308, - "provider": "BC Transit", - "routes": [ - "Johnson City", - "Endicott-Binghamton" - ] - }, - { - "id": "3537", - "name": "Main/Maryland", - "description": "The stop is located on a telephone pole before Maryland Ave across from the Laser Car Wash Endicott", - "latitude": 42.103448, - "longitude": -76.03633, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3538", - "name": "Main/Harrison", - "description": "The stop is located on a telephone pole between the Post Office and Walgreens Johnson City", - "latitude": 42.115885, - "longitude": -75.959663, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3539", - "name": "Main/Louisianna", - "description": "The stop is located on a sign post at the corner before Louisiana Ave across from Tony's Grill Endicott", - "latitude": 42.103821, - "longitude": -76.035182, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3540", - "name": "Main/NY Penn", - "description": "The stop is located on a telephone pole across from Allen St by the Southern Tier Spine and Medical Johnson City", - "latitude": 42.115787, - "longitude": -75.963471, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3541", - "name": "Main/Frances", - "description": "The stop is located on a sign post at the corner before Frances Ave across from AutoZone Endicott", - "latitude": 42.105106, - "longitude": -76.031391, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3543", - "name": "Main/Marion", - "description": "The stop is located on a telephone pole about 100 feet after Marion Ave across from Little Caeser's Pizza Endwell", - "latitude": 42.105749, - "longitude": -76.029479, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3544", - "name": "Main/Third (old)", - "description": "The stop is located on a sign post about 100 feet after 3rd St by UHS Primary Care Johnson City", - "latitude": 42.115745, - "longitude": -75.966756, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3545", - "name": "Main/Chaumont", - "description": "The stop is located on a sign post at the corner before Chaumont Dr by KFC Endwell", - "latitude": 42.106235, - "longitude": -76.026721, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3546", - "name": "Main/Westover Plaza", - "description": "The stop is located on a sign post by Aldi's Johnson City", - "latitude": 42.115584, - "longitude": -75.972733, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3547", - "name": "Main/Shady", - "description": "The stop is located on a sign post about 20 feet before Shady Dr near R&M Engine Repair Endwell", - "latitude": 42.106425, - "longitude": -76.023719, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3549", - "name": "Main/Davis", - "description": "The stop is located on a telephone pole about 200 feet after Davis Ave by Burger King Endwell", - "latitude": 42.106541, - "longitude": -76.020509, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3550", - "name": "Main/Oakdale", - "description": "The stop is located on a sign post at the corner before Oakdale Rd by the The Pharmacy Johnson City.", - "latitude": 42.116169, - "longitude": -75.976316, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3550.1", - "name": "Main/Endwell", - "description": "The stop is located by the Window Broker", - "latitude": 42.116845, - "longitude": -75.977944, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3551", - "name": "Hooper/Prospect", - "description": "The stop is located on a sign post about 20 feet Prospect St at a private residence Endwell", - "latitude": 42.109913, - "longitude": -76.017367, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3552", - "name": "Oakdale/Endwell", - "description": "The stop is located on a telephone pole at the corner before Endwell St near Murray Appraisel Johnson City", - "latitude": 42.117505, - "longitude": -75.9769, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3554", - "name": "Oakdale/Azon", - "description": "The stop is located on a sign post at the corner before Azon Rd near Klemmt Orthopaedic Johnson City", - "latitude": 42.1194952707882, - "longitude": -75.9770475150909, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3555.1", - "name": "Watson/Hill", - "description": "The stop is located at the intersection before Hill Ave Endicott", - "latitude": 42.109238, - "longitude": -76.048168, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3556", - "name": "Oakdale/Fields", - "description": "The stop is located on a sign post about 20 feet after Field St across from Vingelis Lee Denistry Johnson City", - "latitude": 42.1209828112102, - "longitude": -75.9771803365278, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3557", - "name": "Watson/N. Adams", - "description": "The stop is located on a telephone pole about 25 feet after N Adams Ave at a private residence Endicott", - "latitude": 42.109407, - "longitude": -76.042418, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3558", - "name": "Oakdale/Evert", - "description": "The stop is located about on a sign post 50 feet after Evert St across from Croteau's Transmission Johnson City", - "latitude": 42.122662, - "longitude": -75.977347, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3559", - "name": "Watson/Hayes", - "description": "The stop is located at the corner before Hayes Av on yellow crosswalk sign Endicott.", - "latitude": 42.1095, - "longitude": -76.039965, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3560", - "name": "Oakdale/Harry L", - "description": "The stop is located about on a sign post 150 feet before Harry L Drive between Hand Therapy and Hussar Insurance Johnson City", - "latitude": 42.123657, - "longitude": -75.977414, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3561", - "name": "Watson/Taylor", - "description": "The stop is located on a telephone pole about 100 feet after Taylor Ave at a private residence Endicott", - "latitude": 42.1096, - "longitude": -76.037248, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3562.2", - "name": "Oakdale Commons/Oakdale Pizza", - "description": "The stop is located by JC Penney", - "latitude": 42.127732, - "longitude": -75.975144, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City", - "Endicott-Binghamton", - "Shoppers Express Oakdale Mall", - "Shoppers Special" - ] - }, - { - "id": "3562.1", - "name": "Career and Community Services Center", - "description": "This stop is located on the buidling on the northwest side of the Oakdale Mall", - "latitude": 42.129811, - "longitude": -75.974687, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City", - "Endicott-Binghamton", - "Shoppers Express Oakdale Mall", - "Shoppers Special" - ] - }, - { - "id": "3562", - "name": "Dave and Buster's", - "description": "The stop is located by Dave and Buster's", - "latitude": 42.129443, - "longitude": -75.97358, - "provider": "BC Transit", - "routes": [ - "Clinton St", - "Johnson City", - "Endicott-Binghamton", - "Shoppers Express Oakdale Mall", - "Shoppers Special" - ] - }, - { - "id": "3563", - "name": "Watson/Wilson", - "description": "The stop is located across from Wilson Ave on a telephone pole by Baked Euphoria Endwell", - "latitude": 42.109659, - "longitude": -76.03579, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3564", - "name": "Harry L/Oakdale", - "description": "The stop is located on a sign post about 250 feet after Oakdale Rd in front of the Valero Might Mart Johnson City.", - "latitude": 42.123795, - "longitude": -75.978004, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3565", - "name": "Watson/Seward", - "description": "The stop is located at the corner before Seward Ave on a sign post near the theWatson Blvd Apts Endwell", - "latitude": 42.110214, - "longitude": -76.03142, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3566", - "name": "Harry L/Valley Plaza", - "description": "The stop is located on a telephone pole about 250 feet before Valley Plaza Dr across from Calvary Church Johnson City", - "latitude": 42.12177, - "longitude": -75.980281, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3567", - "name": "N Willis/Watson", - "description": "The stop is located about 100 feet afterWatson Blvd on a sign post at a private residence Endwell", - "latitude": 42.110814, - "longitude": -76.029621, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3568", - "name": "Watson /Heritage Country Club 1", - "description": "The stop is located on a sign post by the Traditions at the Glen Parking Lot across from Gates Doors and Blind Tiger Pub Johnson City", - "latitude": 42.120134, - "longitude": -75.985653, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3569", - "name": "N Willis/King", - "description": "The stop is located at the corner before King St on a sign post at a private residence Endwell", - "latitude": 42.113452, - "longitude": -76.029838, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3570", - "name": "Watson /Heritage Country Club 2", - "description": "The stop is located on a sign post before the entrance to the Traditions at the Glen Johnson City", - "latitude": 42.120341, - "longitude": -75.987836, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3571", - "name": "Center St/Country Club", - "description": "The stop is located on a telephone pole before Country Club Rd at a private residence Endwell", - "latitude": 42.11553, - "longitude": -76.031919, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3572", - "name": "Watson /Poplar", - "description": "The stop is located on a sign post at the corner before Poplar St across from Friedman Electric Binghamton", - "latitude": 42.119088, - "longitude": -75.99208, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3573", - "name": "Country Club/Knightlee", - "description": "The stop is located on a telephone pole about 20 feet before Knightlee Ave at a private residence Endwell", - "latitude": 42.115741, - "longitude": -76.028314, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3574", - "name": "Watson /Country Club", - "description": "The stop is located on a sign post about 100 feet before Country Club Rd Johnson City", - "latitude": 42.11596, - "longitude": -75.999633, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3575", - "name": "Country Club/Beckwith", - "description": "The stop is located on a telephone pole at the corner before Beckwith Ave at a private residence Endwell.", - "latitude": 42.115945, - "longitude": -76.023425, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3576", - "name": "Watson /Groveland", - "description": "The stop is located on a sign post about 75 feet after Groveland Ave by a private residence Endwell", - "latitude": 42.112237, - "longitude": -76.010208, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3577", - "name": "Country Club/Norton", - "description": "The stop is located on a sign post at the corner before Norton Ave at a private residence Endwell", - "latitude": 42.116054, - "longitude": -76.020853, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3578", - "name": "Hooper/Mary", - "description": "The stop is located on a sign post about 10 feet before Mary St at a private residence Endwell", - "latitude": 42.109847, - "longitude": -76.017525, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3579", - "name": "Country Club/Doyleson", - "description": "The stop is located on a telephone pole at the corner before Doyleson Ave across from Dunkin Donuts Endwell", - "latitude": 42.11612, - "longitude": -76.019469, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3580", - "name": "Main /Brookside", - "description": "The stop is located on a sign post about 160 feet after Brookside Ave before the exit to McDonald's Endwell", - "latitude": 42.106708, - "longitude": -76.020615, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3581", - "name": "Hopper/Rath", - "description": "The stop is located on a sign post across from Rath Ave by the Veterinary Medical Center.", - "latitude": 42.113288, - "longitude": -76.017414, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3582", - "name": "Main /Avenue B", - "description": "The stop is located on a sign post near Jay's One Stop in Endwell", - "latitude": 42.106641, - "longitude": -76.02201, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3583", - "name": "Main/Endwell", - "description": "The stop is located near the Johnson City YMCA", - "latitude": 42.116738, - "longitude": -75.978067, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3584", - "name": "Main /S Kelly", - "description": "The stop is located on a sign post about 10 feet before S Kelly Ave near Pullano Physical Therpay Endicott", - "latitude": 42.106535, - "longitude": -76.024019, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3585", - "name": "Watson/Hooper", - "description": "The stop is located about 25 feet after Hooper Rd by the Welcome to Endwell sign Endwell", - "latitude": 42.1109354235885, - "longitude": -76.0170169002058, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3586", - "name": "Main /Chaumont", - "description": "The stop is located on a sign post about 70 feet before Chaumont Ave in front of the Town of Union Office Bldg Endicott", - "latitude": 42.106408, - "longitude": -76.0262, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3586.1", - "name": "North/S Willis", - "description": "The stop is located about 125 feet after S Willis Ave Endicott", - "latitude": 42.106727, - "longitude": -76.029839, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3586.2", - "name": "North/Hayes", - "description": "The stop is located at the corner before Gault Toyota", - "latitude": 42.106635, - "longitude": -76.038471, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3587", - "name": "Watson/Valley", - "description": "The stop is located on a sign post at the corner before Valley St at a priavte residence Endwell", - "latitude": 42.111675, - "longitude": -76.011004, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3588", - "name": "Main /Marion", - "description": "The stop is located on a sign post before Marion Ave by the entrance to A-Z Vacuum near Little Caeser's Pizza Endicott", - "latitude": 42.105817, - "longitude": -76.029731, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3589", - "name": "Watson/Country Club", - "description": "The stop is located on a sign post across from Country Club Rd Endwell", - "latitude": 42.115818, - "longitude": -75.999776, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3590", - "name": "Main /Moore", - "description": "The stop is located on a sign post at the corner before Moore Ave near the Autozone Endicott", - "latitude": 42.105082, - "longitude": -76.031919, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3591", - "name": "Watson/Poplar", - "description": "The stop is located on a sign post across from Poplar St by Friedman Electric Johnson City.", - "latitude": 42.1189305729996, - "longitude": -75.9921724784174, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3592", - "name": "Main /Nebraska", - "description": "The stop is located on a telephone pole about 100 feet after Nebraska Ave near Tony's Grill Endicott", - "latitude": 42.104142, - "longitude": -76.034682, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3593", - "name": "Watson/Wilkans Way", - "description": "The stop is located on a sign post about 200 feet before Wilkans Way before the Blind Tiger Pub Johnson City", - "latitude": 42.11996, - "longitude": -75.985158, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3594", - "name": "Main /Delaware", - "description": "The stop is located on a telephone pole at the corner before Delaware Ave near the Laser Car Wash Endicott", - "latitude": 42.103342, - "longitude": -76.037181, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3595", - "name": "Harry L/Valley Plaza", - "description": "The stop is located on a sign post about 100 feet before Valley Plaza Dr near the Calvary Church Johnson City", - "latitude": 42.121467, - "longitude": -75.980405, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3596", - "name": "Main /Jackson", - "description": "The stop is located on a sign post on the corner before Jackson Ave near Broome County Central Foods Endicott", - "latitude": 42.1025, - "longitude": -76.039549, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3597", - "name": "Harry L/Oakdale", - "description": "The stop is located about 150 feet before Oakdale Rd by Monroe Muffler Johnson City", - "latitude": 42.123412, - "longitude": -75.978266, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3598", - "name": "Main /Adams", - "description": "The stop is located on a sign post about 10 feet before Adams Ave at a private residence Endicott", - "latitude": 42.10162, - "longitude": -76.041716, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3599", - "name": "Oakdale/Evert", - "description": "The stop is located on a sign post across from Evert St near Croteau's Transmission Johnson City", - "latitude": 42.122413, - "longitude": -75.977455, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3600", - "name": "Roosevelt /Monroe", - "description": "The stop is located on a sign post at the corner before Monroe St at a private residence Endicott", - "latitude": 42.102661, - "longitude": -76.043161, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3601", - "name": "Oakdale/Valley Plaza", - "description": "The stop is located on a sign post at the corner after Field St near the NY 17 overpass Johnson City", - "latitude": 42.1206591112218, - "longitude": -75.9773074994642, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3602", - "name": "Hooper /Hoover", - "description": "The stop is located on a sign post about 100 feet before Hoover Ave at a private residence Endwell", - "latitude": 42.111579, - "longitude": -76.017258, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3603", - "name": "Oakdale/Azon", - "description": "The stop is located on a sign post across from Azon Rd near the former Visions Credit Union Johnson City", - "latitude": 42.119536, - "longitude": -75.977218, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3604", - "name": "Hooper /Rath", - "description": "The stop is located on a sign post at the corner before Rath Ave across from Vetrinary Medical Center Endwell", - "latitude": 42.113266, - "longitude": -76.017213, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3605", - "name": "Oakdale/Endwell", - "description": "The stop is located on a sign about 40 feet after Endwell St across from Jim Murray's Appraisal Service Johnson City", - "latitude": 42.117459, - "longitude": -75.976999, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3606", - "name": "Country Club/Doyleson", - "description": "The stop is located on a telephone pole across from Doyleson Ave near Dunkin Donuts Endwell", - "latitude": 42.1162802602033, - "longitude": -76.0192812589433, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3607", - "name": "Main/Evelyn", - "description": "The stop is located on a sign post about 150 feet after Evelyn St across from the Westover Plaza Johnson City", - "latitude": 42.115439, - "longitude": -75.972761, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3608", - "name": "Country Club/Patterson", - "description": "The stop is located on a telephone pole at the corner before Patterson Ct at a private residence Endwell", - "latitude": 42.116223, - "longitude": -76.020461, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3609", - "name": "Main/Baker", - "description": "The stop is located before Baker St in front of the Johnson City Learning Center Johnson City. There is a bus shelter here.", - "latitude": 42.115603, - "longitude": -75.965768, - "provider": "BC Transit", - "routes": [ - "Front St", - "Johnson City", - "Endicott-Binghamton" - ] - }, - { - "id": "3610", - "name": "Country Club/Beckwith", - "description": "The stop is located on a sign post about 150 feet after Beckwith Ave near Visions Credit Union Endwell", - "latitude": 42.116066, - "longitude": -76.023698, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3611", - "name": "Main/Allen", - "description": "The stop is located on a sign post before Allen St near the Barber Funeral Home parking lot Johnson City.", - "latitude": 42.115676, - "longitude": -75.962633, - "provider": "BC Transit", - "routes": [ - "Front St", - "Johnson City", - "Endicott-Binghamton" - ] - }, - { - "id": "3612", - "name": "Country Club/University", - "description": "The stop is located on a sign post across from Knigtlee Ave about 100 feet after University Ave at a private residence Endwell", - "latitude": 42.115869, - "longitude": -76.028094, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3613", - "name": "Main/Harrison", - "description": "The stop is located on a sign post about 50 before Harrison St across the street from Walgreens Johnson City", - "latitude": 42.115782, - "longitude": -75.95878, - "provider": "BC Transit", - "routes": [ - "Front St", - "Johnson City", - "Endicott-Binghamton" - ] - }, - { - "id": "3614", - "name": "Center/Country Club", - "description": "The stop is located on a sign post about 50 feet after Country Club Rd at a private residence Endwell", - "latitude": 42.1153842174282, - "longitude": -76.0320830823591, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3616", - "name": "Crescent /King", - "description": "The stop is located on a telephone pole at the corner before King St at a private residence Endwell", - "latitude": 42.1136949189848, - "longitude": -76.0299702475135, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3617", - "name": "Main/N Broad", - "description": "The stop is located before Broad St near Red Robin", - "latitude": 42.115534, - "longitude": -75.956379, - "provider": "BC Transit", - "routes": [ - "Front St", - "Johnson City", - "Endicott-Binghamton" - ] - }, - { - "id": "3618", - "name": "N Willis/Hall", - "description": "The stop is located on a sign post at the corner before Hall St at a private residence Endwell", - "latitude": 42.111688, - "longitude": -76.029821, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3619", - "name": "Main/Willow", - "description": "The stop is located by Save A Lot", - "latitude": 42.114391, - "longitude": -75.953395, - "provider": "BC Transit", - "routes": [ - "Front St", - "Johnson City", - "Endicott-Binghamton" - ] - }, - { - "id": "3620", - "name": "N Willis/Watson", - "description": "The stop is located on a sign post about 10 feet beforeWatson Blvd acoss from the Allan Court Apts Endwell", - "latitude": 42.110584, - "longitude": -76.029757, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3621", - "name": "Main/Park", - "description": "The stop is located on a sign post before Park St and across the street from St James Church Johnson City", - "latitude": 42.113305, - "longitude": -75.950621, - "provider": "BC Transit", - "routes": [ - "Front St", - "Johnson City", - "Endicott-Binghamton" - ] - }, - { - "id": "3622", - "name": "Watson/Allen", - "description": "The stop is located about across from Allan Court at a private residence Endwell", - "latitude": 42.110342, - "longitude": -76.031259, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3623", - "name": "Main/Floral", - "description": "The stop is located on a sign post before Floral Ave by the Johnson City Presbyterian Church Binghamton", - "latitude": 42.111213, - "longitude": -75.945244, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3624", - "name": "Watson/Wilson", - "description": "The stop is located about 10 feet before Wilson Ave across from Baked Euphora Endwell", - "latitude": 42.109776, - "longitude": -76.035733, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3625", - "name": "Main/Crary", - "description": "The stop is located on a sign post before Crary Ave and near the Lourdes Center for Family Health Binghamton", - "latitude": 42.109986, - "longitude": -75.942643, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3626", - "name": "Watson/Taylor", - "description": "The stop is located about 10 feet before Taylor Ave near the Village of Endicott sign in Endicott", - "latitude": 42.109711, - "longitude": -76.037337, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3627", - "name": "Main/Crestmont", - "description": "The stop is located on a sign post before Crestmont Rd and near the Weis Binghamton.", - "latitude": 42.108281, - "longitude": -75.939526, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3628", - "name": "Watson/Hayes", - "description": "The stop is located on a sign post about 20 feet after Hayes Ave near the Pucedo Funeral Home Endicott", - "latitude": 42.1096393523919, - "longitude": -76.0399569803756, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3629", - "name": "Main/Helen", - "description": "The stop is located on a sign post about 100 feet after Helen St in front of KFC Binghamton", - "latitude": 42.106894, - "longitude": -75.937, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3630", - "name": "Watson/N Adams.", - "description": "The stop is located at the corner before N Adams Ave at a private residence Endicott", - "latitude": 42.10952, - "longitude": -76.042498, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3630.1", - "name": "Watson/N McKinley", - "description": "The stop is located about 150 feet before N McKinley Endicott", - "latitude": 42.109482, - "longitude": -76.044293, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3631", - "name": "Main/Orton", - "description": "The stop is located on a sign post about 150 feet before Orton Ave between Binghamton Fluorescent and Reliable Auto Sales Binghamton", - "latitude": 42.106175, - "longitude": -75.935698, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3632.1", - "name": "Watson/Hill", - "description": "The stop in located at the corner before Hill Ave Endicott", - "latitude": 42.109351, - "longitude": -76.04789, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3633", - "name": "Main/Schiller", - "description": "The stop is located on a sign post at the corner before Schiller St near the Duncan Donuts Binghamton", - "latitude": 42.105323, - "longitude": -75.934251, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3634", - "name": "North/N McKinley", - "description": "The stop is located in a street lamp pole about 200 feet after N McKinley Ave near IBM Endicott", - "latitude": 42.105327, - "longitude": -76.045488, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3635", - "name": "Main/Hamilton", - "description": "The stop is located on a sign post across from Hamilton St in front of Aarons Binghamton", - "latitude": 42.104748, - "longitude": -75.933116, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3637", - "name": "Main/Cedar", - "description": "The stop is located on a sign post at the corner after Cedar St near the Osburn Law Offices Binghamton", - "latitude": 42.102094, - "longitude": -75.928323, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3637.1", - "name": "Main/Chestnut", - "description": "The stop is located on a sing post about 110 feet before Chestnust St Binghamton", - "latitude": 42.101518, - "longitude": -75.927293, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3636", - "name": "Washington/North", - "description": "The stop is located on a sign post about 150 feet after North St", - "latitude": 42.104166, - "longitude": -76.048433, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3638", - "name": "Washington/Main", - "description": "The stop is located on a sign post after the Endicott Post Office- Endicott", - "latitude": 42.099542, - "longitude": -76.048023, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3639", - "name": "Main/Arthur", - "description": "The stop is located on a telephone pole before Arthur St by the Belmar Binghamton", - "latitude": 42.100392, - "longitude": -75.924992, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3641", - "name": "Main/Chapin", - "description": "The stop is located on a sign post about 20 feet before Chapin St in front Parsons Funeral Home Binghamton", - "latitude": 42.09969, - "longitude": -75.9226, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3642", - "name": "Main/Lincoln", - "description": "The stop is located on a street lamp pole at the corner before Lincoln Ave across from the Union Endicott School District Offices Endicott", - "latitude": 42.097394, - "longitude": -76.051142, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3643", - "name": "Main/Oak", - "description": "The stop is located on a sign post about 20 feet before Oak St across from Family Dollar Binghamton", - "latitude": 42.099268, - "longitude": -75.920241, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton" - ] - }, - { - "id": "3644", - "name": "Main/Medical Arts", - "description": "The stop is located on a sign post about 120 after Harrison Ave near the Medical Arts Bldg Endicott", - "latitude": 42.096135, - "longitude": -76.053955, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "3645", - "name": "Court/Washington", - "description": "The stop is located on a sign post about 20 feet before the Washington St near China One", - "latitude": 42.0986420918152, - "longitude": -75.9135929765026, - "provider": "BC Transit", - "routes": [ - "Front St", - "Endicott-Binghamton", - "Shoppers Special" - ] - }, - { - "id": "3646", - "name": "Main/Vestal", - "description": "The stop is located on a street lamp pole about 75 feet before Vestal Ave before the entrance to Hess Express Endicott.", - "latitude": 42.095277, - "longitude": -76.056381, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3648", - "name": "Main/Mercereau", - "description": "The stop is located on a sign post across from Merserau Ave near the Graydon Apts Endicott", - "latitude": 42.094979, - "longitude": -76.060676, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3650", - "name": "Main/Liberty", - "description": "The stop is located on a sign post about 10 feet after Liberty St across from the Rite Aid Endicott", - "latitude": 42.095124, - "longitude": -76.064073, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3652", - "name": "Main/S. Duane", - "description": "The stop is located on a sign post about 20 feet before S Duane Ave near DeMarco's Auto Service Endicott", - "latitude": 42.09497, - "longitude": -76.068116, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3654", - "name": "Main/S. Page", - "description": "The stop is located on a sign post about 90 feet before S Page Ave by the Sunoco Fuel Station Endicott", - "latitude": 42.093973, - "longitude": -76.071532, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3656", - "name": "Main/Bassett", - "description": "The stop is located on a sign post by the crosswalk across from Bassett Ave Endicott", - "latitude": 42.092912, - "longitude": -76.074939, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "3658", - "name": "Main/S. Grippen", - "description": "The stop is located on a sign post about 100 feet before S Grippen Ave near the the Lady of Good Counsel Endicott", - "latitude": 42.092492, - "longitude": -76.078154, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "4002", - "name": "BC Junction 40 Chenango St", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 3 Dock A", - "latitude": 42.101635, - "longitude": -75.910778, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Chenango St" - ] - }, - { - "id": "4003", - "name": "W Service/East Niles", - "description": "The stop is located on a sign post at the corner before E. Niles Rd near Trucks R Us.", - "latitude": 42.164555, - "longitude": -75.874176, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4004", - "name": "State/Eldridge", - "description": "The stop is located on a telephone pole about 200 feet after Eldridge St near Bennedum's Lock Binghamton", - "latitude": 42.105659, - "longitude": -75.909103, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4005", - "name": "W Service/Ivan", - "description": "The stop is located on a sign post about 100 before Ivan Ln at private residence Fenton", - "latitude": 42.16275, - "longitude": -75.877556, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4006", - "name": "State/Lupo's", - "description": "The stop is located on a telephone pole before the entrance to Lupo's Char Pit Binghamton", - "latitude": 42.107731, - "longitude": -75.907509, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4007", - "name": "Chenango/Prentice", - "description": "The stop is located on a telephone pole about 75 feet before Prentice Blvd Fenton", - "latitude": 42.158688, - "longitude": -75.881935, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4008", - "name": "W State/Colonial Plaza", - "description": "The stop is located on a telephone pole before the entrance to CVS Binghamton", - "latitude": 42.10947, - "longitude": -75.9049, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4009", - "name": "Chenango/Mead", - "description": "The stop is located on a sign post across from Mead Rd at private residence Fenton", - "latitude": 42.157314, - "longitude": -75.882622, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4010", - "name": "Binghamton Plaza/Kmart", - "description": "The stop is located near Rent a Center Binghamton Plaza Binghamton", - "latitude": 42.110573, - "longitude": -75.906036, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4011", - "name": "Chenango/Hinds", - "description": "The stop is located on a telephone pole at the corner before Hinds St Binghamton", - "latitude": 42.155083, - "longitude": -75.883636, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4012", - "name": "Binghamton Plaza/New York Pizzeria", - "description": "The stop is located near the New York Pizzeria Binghamton Plaza Binghamton", - "latitude": 42.109234, - "longitude": -75.906723, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4013", - "name": "Chenango/Hadsell", - "description": "The stop is located on a sign post about 25 feet after Hadsell Rd at private residence Fenton", - "latitude": 42.1535, - "longitude": -75.884361, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4014", - "name": "Chenango/Frederick St", - "description": "The stop is located on a sign post at the corner before the intersection near Town & Country Apts.", - "latitude": 42.110638, - "longitude": -75.903053, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4015", - "name": "Chenango/Hotchkiss", - "description": "The stop is located on a sign post about 150 feet before Hotchkiss Ave across from the Children's Home of the Wyoming Conference Fenton", - "latitude": 42.151081, - "longitude": -75.885818, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4016", - "name": "Chenango/State", - "description": "The stop is located on a telephone pole about 75 feet after State St near the Cenentary Chenango St Chuch Binghamton", - "latitude": 42.111679, - "longitude": -75.902657, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4017", - "name": "Chenango/Alida", - "description": "The stop is located on a telephone pole across from Alida Ave at a private residence Fenton", - "latitude": 42.149643, - "longitude": -75.886925, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4018", - "name": "Chenango/Morgan", - "description": "The stop is located on a telephone pole at the corner before Morgan St Binghamton", - "latitude": 42.113174, - "longitude": -75.902435, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4019", - "name": "Chenango/Nowlan", - "description": "The stop is located on a sign post about 125 after Nowland Rd just after Lois Av near Country Additions Fenton", - "latitude": 42.147705, - "longitude": -75.888428, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "4020", - "name": "Chenango/Moffatt", - "description": "The stop is located on a on a sign post at the corner before Moffat Ave by Calvary Baptist Church", - "latitude": 42.11414, - "longitude": -75.90229, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4021", - "name": "Chenango/Franklin", - "description": "The stop is located on a telephone pole across from Franklin Ave near St Francis of Assisi Port Dickinson", - "latitude": 42.145039, - "longitude": -75.890541, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "4022", - "name": "Chenango/Sturges", - "description": "The stop is located on a telephone pole before the entrance to Kriener and Furlong Binghamton", - "latitude": 42.115471, - "longitude": -75.902077, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4023", - "name": "Chenango/Dickinson", - "description": "The stop is located on a sign post about 75 feet before Dickinson Ave across from Shear Designz Port Dickinson", - "latitude": 42.143452, - "longitude": -75.891953, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "4024", - "name": "Chenango/Green", - "description": "The stop is located on a telephone pole opposite Green St near the entrance of Xtra Mart Binghamton", - "latitude": 42.117783, - "longitude": -75.901642, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4025", - "name": "Chenango/Grant", - "description": "The stop is located on a sign post about 20 feet after Grant St from FMK Karate Port Dickinson", - "latitude": 42.138008, - "longitude": -75.895683, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4026", - "name": "Chenango/Linden", - "description": "The stop is located on a sign post next to a fire hydrant before Linden St Binghamton", - "latitude": 42.120275, - "longitude": -75.900262, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4027", - "name": "Chenango/Mill", - "description": "The stop is located on a sign post before Mill St by the crosswalk across from Port Dickinson Elementary School Port Dickinson", - "latitude": 42.136879, - "longitude": -75.895859, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4028", - "name": "Chenango/Blanchard", - "description": "The stop is located on a sign post at a private residence before Blanchard Ave Binghamton", - "latitude": 42.1227, - "longitude": -75.898842, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4029", - "name": "Chenango/Church", - "description": "The stop is located on a sign post at the corner before Church St near the Community Baptist Church Port Dickinson", - "latitude": 42.134423, - "longitude": -75.896223, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4030", - "name": "Chenango/Baird", - "description": "The stop is located on a telephone pole about 100 feet after Baird Ave Binghamton", - "latitude": 42.124882, - "longitude": -75.898026, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4031", - "name": "Chenango/Terry", - "description": "The stop is located on a sign post about 30 feet before Terry Ave at private residence Port Dickinson", - "latitude": 42.131071, - "longitude": -75.896331, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4032", - "name": "Chenango/Bromley", - "description": "The stop is located on a sign post about 50 feet after Bromley Ave near the the Village Coin Laundry Binghamton.", - "latitude": 42.126308, - "longitude": -75.897499, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4033", - "name": "Chenango/Old State", - "description": "The stop is located on a sign post about 25 feet before State Rd at private residence Port Dickinson", - "latitude": 42.128757, - "longitude": -75.896919, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4034", - "name": "Chenango/Old State", - "description": "The stop is located on a sign post before Old State Rd Port Dickinson", - "latitude": 42.128422, - "longitude": -75.896851, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4035", - "name": "Chenango/Bromley", - "description": "The stop is located on a sign post across from Bromley Ave across from the Coin Laundry Binghamton", - "latitude": 42.126022, - "longitude": -75.89772, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4036", - "name": "Chenango/Terry", - "description": "The stop is located on a sign post at private residence across from Terry Ave Port Dickinson", - "latitude": 42.130749, - "longitude": -75.896187, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "4037", - "name": "Chenango/Baird", - "description": "The stop is located on a sign post across from Baird Ave across Community Baptist Church Binghamton", - "latitude": 42.124489, - "longitude": -75.898308, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4038", - "name": "Chenango/James", - "description": "The stop is located on a telephone pole after James St across from Chase & DeMarco Funeral Home Port Dickinson", - "latitude": 42.133686, - "longitude": -75.896179, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "4039", - "name": "Chenango/Blanchard", - "description": "The stop is located on a telephone pole across from Blancard Ave Binghamton. A bus shelter is here.", - "latitude": 42.122799, - "longitude": -75.898941, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4040", - "name": "Chenango/Mill", - "description": "The stop is located on a sign post after Mill St near Port Dickinson Elementary School Port Dickinson", - "latitude": 42.136761, - "longitude": -75.895699, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "4041", - "name": "Chenango/Dennison", - "description": "The stop is located on a sign post across from Dennison Ave near Immmanuel Presbyterian Church Binghamton", - "latitude": 42.119484, - "longitude": -75.90097, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4042", - "name": "Chenango/Phelps", - "description": "The stop is located on a sign post before Phelps St near FMK Karate Port Dickinson", - "latitude": 42.137993, - "longitude": -75.895554, - "provider": "BC Transit", - "routes": [ - "Chenango St", - "12/28/40 Combo", - "28/40 Combo" - ] - }, - { - "id": "4043", - "name": "Chenango/Green", - "description": "The stop is located on a sign post at the corner after Green St near Courtesy Cars Binghamton", - "latitude": 42.11779, - "longitude": -75.901817, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4044", - "name": "Chenango/Dickinson", - "description": "The stop is located on a telephone pole before Dickinson Ave near Superior Auto Port Dickinson", - "latitude": 42.143021, - "longitude": -75.89222, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4045", - "name": "Chenango/Truesdell", - "description": "The stop is located on a sign post about 15 feet before Truesdell St across from Calvary Baptist Church Binghamton", - "latitude": 42.114189, - "longitude": -75.902435, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4046", - "name": "Chenango/Franklin", - "description": "The stop is located on a sign post at the corner before Franklin Ave across from St Francis of Assisi Fenton", - "latitude": 42.144917, - "longitude": -75.890457, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4047", - "name": "Chenango/Pleasant", - "description": "The stop is located on a sign post at the corner before Pleasant St at a private residence Binghamton", - "latitude": 42.112598, - "longitude": -75.902657, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4048", - "name": "Chenango/Nowlan", - "description": "The stop is located on a sign post before Nowlan Rd across from Subway Fenton", - "latitude": 42.147881, - "longitude": -75.888138, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4050", - "name": "Chenango/Alida", - "description": "The stop is located on a sign post after Alida Ave at a private residence Fenton", - "latitude": 42.149738, - "longitude": -75.886711, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4052", - "name": "Chenango/Hotchkiss", - "description": "The stop is located on a sign post after Hotchkiss Ave near the Children's Home of the Wyoming Conference Fenton", - "latitude": 42.151241, - "longitude": -75.885536, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4053", - "name": "Chenango/State", - "description": "The stop is located about 150 feet after State St in front of CVS Binghamton. There is a bus bus shelter here.", - "latitude": 42.109493, - "longitude": -75.90387, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4054", - "name": "Chenango/Ronan", - "description": "The stop is located on a sign post before Ronan St Fenton", - "latitude": 42.153591, - "longitude": -75.884193, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4056", - "name": "Chenango/Hinds", - "description": "The stop is located on a sign post across from Hinds St at private residence Fenton", - "latitude": 42.155186, - "longitude": -75.883453, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4058", - "name": "Chenango/Mead", - "description": "The stop is located on a sign post before Mead Rd near the First Church of the Nazarene Fenton", - "latitude": 42.157307, - "longitude": -75.882446, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4060", - "name": "Chenango/Cornish", - "description": "The stop is located on a sign post about 200 feet after Cornish Ave Fenton", - "latitude": 42.158958, - "longitude": -75.881645, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4062", - "name": "W Service/East Niles", - "description": "The stop is located on a sign post before E Niles Rd across from Trucks R Us Fenton", - "latitude": 42.164261, - "longitude": -75.874611, - "provider": "BC Transit", - "routes": [ - "Chenango St" - ] - }, - { - "id": "4064", - "name": "River/Kattelville", - "description": "The stop is located on a sign post about 50 feet after Kattelville Rd near the Red White Chenango Bridge", - "latitude": 42.168858, - "longitude": -75.872398, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "4066", - "name": "River/Palmer", - "description": "The stop is located on a sign post across from Palmer St near the Chenango Valley Nursery Chenango Bridge", - "latitude": 42.168297, - "longitude": -75.870216, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "4068", - "name": "River/Clarendon", - "description": "The stop is located on a sign post across from Clarendon Dr near St Mark's Church Chenango Bridge.", - "latitude": 42.167484, - "longitude": -75.867142, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "4070", - "name": "River/Mountainview", - "description": "The stop is located on a sign post about 20 feet before at the corner before Mountainview Dr at private residence Chenango Bridge.", - "latitude": 42.166763, - "longitude": -75.863297, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "4072", - "name": "River/Everett", - "description": "The stop is located on a sign post at the corner before Everett Rd at a private residence Chenango Bridge", - "latitude": 42.166561, - "longitude": -75.860924, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "4074", - "name": "N Wisconsin/Hodge", - "description": "The stop is located before Hodge Rd Chenango Bridge. This is a flag stop.", - "latitude": 42.168224, - "longitude": -75.857819, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "4076", - "name": "River/Poplar Hill", - "description": "The stop is located on a telephone pole about 100 feet after Poplar Hill at a private residence Chenango Bridge", - "latitude": 42.166325, - "longitude": -75.856888, - "provider": "BC Transit", - "routes": [ - "Front St", - "Chenango St" - ] - }, - { - "id": "4078", - "name": "River/Norman", - "description": "The stop is located on a telephone pole about 40 feet passed Norman Rd at a private residence Chenango Bridge", - "latitude": 42.166683, - "longitude": -75.861099, - "provider": "BC Transit", - "routes": [ - "Front St", - "Chenango St" - ] - }, - { - "id": "4080", - "name": "River/Mountainview", - "description": "The stop is located on a sign post across from Mountainview Dr at a private residence Chenangon Bridge", - "latitude": 42.166893, - "longitude": -75.863327, - "provider": "BC Transit", - "routes": [ - "Front St", - "Chenango St" - ] - }, - { - "id": "4082", - "name": "River/Clarendon", - "description": "The stop is located on a sign post about 10 feet before Clarendon Dr at a private residence Chenango Bridge.", - "latitude": 42.1675, - "longitude": -75.866722, - "provider": "BC Transit", - "routes": [ - "Front St", - "Chenango St" - ] - }, - { - "id": "4084", - "name": "River/Palmer", - "description": "The stop is located on a sign post at the corner before Palmer St at a private residence Chenango Bridge.", - "latitude": 42.168346, - "longitude": -75.869995, - "provider": "BC Transit", - "routes": [ - "Front St", - "Chenango St" - ] - }, - { - "id": "4086", - "name": "River/Kattelville", - "description": "The stop is located on a sign post about 250 feet Kattelville Rd near the M&T Bank Chenango Bridge.", - "latitude": 42.168934, - "longitude": -75.872086, - "provider": "BC Transit", - "routes": [ - "Front St", - "Chenango St" - ] - }, - { - "id": "4096", - "name": "Chenango/Lyon", - "description": "The stop is located on a sign post before Lyon St near the former North Presbyterian Church Binghamton", - "latitude": 42.108273, - "longitude": -75.903236, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4098", - "name": "Chenago/State", - "description": "The stop is located on a sign post before the intersection across from the CVS Binghamton", - "latitude": 42.10963, - "longitude": -75.903699, - "provider": "BC Transit", - "routes": [ - "40/8 Combo", - "12/28/40 Combo", - "12/28/40/5 Combo", - "28/40 Combo" - ] - }, - { - "id": "4701", - "name": "African/Vestal Pkwy", - "description": "The stop is located on a sign post about 200 feet after the Vestal Pkwy across from the Shoppes of Vestal Vestal", - "latitude": 42.094837, - "longitude": -76.014366, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4702", - "name": "Vestal Pkwy E/University Square", - "description": "The stop is located on a telephone pole near the Fed Ex sign after University Square Plaza Vestal", - "latitude": 42.096066, - "longitude": -75.97847, - "provider": "BC Transit", - "routes": [ - "Vestal", - "Shoppers Special", - "Shoppers Special Express" - ] - }, - { - "id": "4703", - "name": "Sycamore/Vestal", - "description": "The stop is located on a sign post 250 after Vestal Rd by Sam's Club Vestal", - "latitude": 42.098797, - "longitude": -76.006477, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4704", - "name": "Campus Plaza", - "description": "The stop is located in front of Rite Aid in the Campus Plaza Vestal", - "latitude": 42.098342, - "longitude": -75.983041, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4705", - "name": "Parkway Plaza/Target", - "description": "The stop is located betweenTarget and Bed Bath & Beyond in the Parkway Plaza Vestal", - "latitude": 42.094188, - "longitude": -76.00091, - "provider": "BC Transit", - "routes": [ - "Vestal", - "Shoppers Special Express" - ] - }, - { - "id": "4705.1", - "name": "Across from Target Flag Stop", - "description": "", - "latitude": 42.0942971762309, - "longitude": -76.0008125493248, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4706", - "name": "Vestal/Gates", - "description": "The stop is located on a sign post on the corner before Gates Rd near the Grace Point Chuch Vestal", - "latitude": 42.1008285336005, - "longitude": -75.9855262207737, - "provider": "BC Transit", - "routes": [ - "Johnson City", - "Vestal" - ] - }, - { - "id": "4707", - "name": "Parkway Plaza/Price Rite", - "description": "The stop is located by Price Rite in the Parkway Plaza Vestal", - "latitude": 42.094212, - "longitude": -76.000172, - "provider": "BC Transit", - "routes": [ - "Vestal", - "Shoppers Special Express" - ] - }, - { - "id": "4707.1", - "name": "Across from Price Rite Flag Stop", - "description": "", - "latitude": 42.0942927660783, - "longitude": -76.0002237915704, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4708", - "name": "Vestal/Commerce", - "description": "The stop is located on a telephone pole after Commerce Rd near National Pipe Vestal.", - "latitude": 42.102848, - "longitude": -75.991211, - "provider": "BC Transit", - "routes": [ - "Johnson City", - "Vestal" - ] - }, - { - "id": "4709", - "name": "Parkway Plaza/PetSmart", - "description": "The stop is located by PetSmart in the Parkway Plaza Vestal", - "latitude": 42.094286, - "longitude": -75.998635, - "provider": "BC Transit", - "routes": [ - "Vestal", - "Shoppers Special Express" - ] - }, - { - "id": "4709.1", - "name": "Across from Pet Smart Flag Stop", - "description": "", - "latitude": 42.09436, - "longitude": -75.998697, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4710", - "name": "Jensen/Vestal Rd", - "description": "The stop is located on a sign post about 100 feet after the Vestal Rd across from the Mirabito Fuel Station Vestal", - "latitude": 42.103104, - "longitude": -75.995232, - "provider": "BC Transit", - "routes": [ - "Johnson City", - "Vestal" - ] - }, - { - "id": "4711", - "name": "Rano/Anthos Apts", - "description": "The stop is located on a sign post at the corner before the entrance to Anthos Apts Vestal", - "latitude": 42.092793, - "longitude": -76.00296, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4712", - "name": "Jensen/Brentwood", - "description": "The stop is located on a sign post across from Brentwood Place by Broome County Building Supply Vestal", - "latitude": 42.101162, - "longitude": -75.995773, - "provider": "BC Transit", - "routes": [ - "Johnson City", - "Vestal" - ] - }, - { - "id": "4713", - "name": "Burris/Rano", - "description": "The stop is located on a sign post about 20 feet after Rano Blvd at a private residence Vestal", - "latitude": 42.0914, - "longitude": -76.002449, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4714", - "name": "Jensen/Stewart", - "description": "The stop is located on a sign post about 350 feet before Stewart Rd across from Puglisi Tax Svc", - "latitude": 42.099384, - "longitude": -75.996063, - "provider": "BC Transit", - "routes": [ - "Johnson City", - "Vestal" - ] - }, - { - "id": "4715", - "name": "Burris / Royal", - "description": "The stop is located on a sign post at the corner after Royal St at a private residence Vestal", - "latitude": 42.09166, - "longitude": -75.999809, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4716", - "name": "Jensen/NY 434", - "description": "The stop is located on a telephone pole about 370 feet before NY 434 near Best Buy Vestal", - "latitude": 42.097813, - "longitude": -75.995924, - "provider": "BC Transit", - "routes": [ - "Johnson City", - "Vestal" - ] - }, - { - "id": "4717", - "name": "Burris/Jensen", - "description": "The stop is located on a sign post across from Riviera Ridge Apts Vestal.", - "latitude": 42.091877, - "longitude": -75.99601, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4718", - "name": "Jensen/Parkway Plaza East Entrance", - "description": "The stop is located on a sign post after the entrance to Parkway Plaza on the backside of Kohls Vestal", - "latitude": 42.095242, - "longitude": -75.995651, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4719", - "name": "Jensen/Chalburn", - "description": "The stop is located on a sign post about 20 feet after Chalburn Rd at a private residence Vestal", - "latitude": 42.093845, - "longitude": -75.995407, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4720", - "name": "Burris/Riviera Ridge", - "description": "The stop is located on a sign post after the entrance to Riviera Ridge Apartments Vestal", - "latitude": 42.091923, - "longitude": -75.99659, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4721", - "name": "Jensen/NY 434", - "description": "The stop is located on a sign post about 330 feet before NY 434 after the entrance to the United Way.", - "latitude": 42.0956, - "longitude": -75.995583, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4722", - "name": "Burris/Royal", - "description": "The stop is located on a sign post before the entrance to Holly Brook Apts Vestal", - "latitude": 42.091705, - "longitude": -76.000145, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4723", - "name": "Jensen/Stewart", - "description": "The stop is located on a telephone pole after Stewart Rd near Green Acres Garden Center Vestal", - "latitude": 42.098568, - "longitude": -75.995834, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4724", - "name": "Burris/Rano", - "description": "The stop is located on a sign post at the corner before Rano Blvd at a private residence Vestal", - "latitude": 42.091484, - "longitude": -76.002541, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4725", - "name": "Jensen", - "description": "The stop is located on a sign post by Puglisi Tax Svc Vestal", - "latitude": 42.099243, - "longitude": -75.995911, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4726", - "name": "Rano/Parkway Plaza", - "description": "The stop is located on a sign post about 25 before the entrance to Parkway Plaza Vestal", - "latitude": 42.093201, - "longitude": -76.002998, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4727", - "name": "Jensen/Brentwood", - "description": "The stop is located on a sign post at the corner after Brentwood Pl near the Bethel Baptist Church Vestal", - "latitude": 42.101284, - "longitude": -75.995621, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4729", - "name": "Jensen/Vestal", - "description": "The stop is located on a telephone pole before Vestal Rd near the Mirabito Fuel Station Vestal", - "latitude": 42.103325, - "longitude": -75.99501, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4730", - "name": "Sycamore/Stewart", - "description": "The stop is located on a sign post about 150 feet before Steward Rd in front of Burger King Vestal", - "latitude": 42.09663, - "longitude": -76.004936, - "provider": "BC Transit", - "routes": [ - "Vestal", - "Shoppers Special", - "Shoppers Special Express" - ] - }, - { - "id": "4731", - "name": "Vestal/Schubmehl", - "description": "The stop is located on a sign post at the corner before Schnubmehl Rdacross from Audio Classics Binghamton.", - "latitude": 42.102551, - "longitude": -75.990517, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4732", - "name": "Lourdes Vestal", - "description": "The stop is located at the front entrace of Lourdes Vestal on Shippers Rd Vestal", - "latitude": 42.1002357247816, - "longitude": -76.0055841561604, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4733", - "name": "Vestal/Gates", - "description": "The stop is located across from Gates Rd in front of the Willow Point Nursing Home", - "latitude": 42.100704, - "longitude": -75.985588, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4734", - "name": "Town Square Mall/Barnes&Noble", - "description": "The stop is located between Barnes & Noble and Sam's Club in the Town Square Mall. There is a bus shelter here.", - "latitude": 42.097069, - "longitude": -76.007721, - "provider": "BC Transit", - "routes": [ - "Vestal", - "Shoppers Special", - "Shoppers Special Express" - ] - }, - { - "id": "4735", - "name": "Vestal/Andrea", - "description": "The stop is located on a sign post after the entrance to Westminster Apartments Vestal", - "latitude": 42.099369, - "longitude": -75.983582, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "4736", - "name": "Town Square Mall/Walmart", - "description": "The stop is located by the Walmart Gardnen Center, Town Square Mall Vestal", - "latitude": 42.096136, - "longitude": -76.012628, - "provider": "BC Transit", - "routes": [ - "Vestal", - "Shoppers Special", - "Shoppers Special Express" - ] - }, - { - "id": "4737", - "name": "Campus Plaza/Rite Aid", - "description": "The stop is located in front of Rite Aid in the Campus Plaza Vestal", - "latitude": 42.0984337941919, - "longitude": -75.98314736979, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5200", - "name": "BC Junction 51 and 53", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 8 Dock B", - "latitude": 42.101931, - "longitude": -75.910561, - "provider": "BC Transit", - "routes": [ - "K Commuter", - "Corporate Park" - ] - }, - { - "id": "5512", - "name": "North/Oak Hill", - "description": "The stop is located on a sign post about 100 feet before Oak Hill Ave across from Crown Fried Chicken Endicott", - "latitude": 42.104645, - "longitude": -76.049255, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5514", - "name": "Oak Hill / Clarke", - "description": "The stop is located on telephone pole after Clarke St across from NCI Endicot", - "latitude": 42.108017, - "longitude": -76.049977, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5516", - "name": "Oak Hill/Witherall", - "description": "The stop is located on a sign post after Witherall St near Joey's Pizza Endicott", - "latitude": 42.111164, - "longitude": -76.050194, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5518", - "name": "Oak Hill/Jenkins", - "description": "The stop is located on a sign post about 50 feet after Jenkins St near the Learning Center of St Anthony Endicott", - "latitude": 42.112988, - "longitude": -76.050293, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5520", - "name": "Oak Hill/Pine", - "description": "The stop is located on a telephone pole at the corner before Pine St near Rossi's Pizza Endicott", - "latitude": 42.114761, - "longitude": -76.050407, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5522", - "name": "Pine/Hill", - "description": "The stop is located on a sign post at the corner before Hill Ave near a private residence Endicott", - "latitude": 42.114887, - "longitude": -76.048523, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5524", - "name": "Pine/Rogers", - "description": "The stop is located on a sign post at the corner before Rogers Ave near United Artists Hair Salon Endicott", - "latitude": 42.115017, - "longitude": -76.046379, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5526", - "name": "Newell/Pine", - "description": "The stop is located on a 30 MPH road sign about 75ft after Pine- Endicott", - "latitude": 42.115578, - "longitude": -76.045326, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5528", - "name": "Newell/Woodrow", - "description": "The stop is located on a sign post across from Woodrow Ave at a private residence Endicott", - "latitude": 42.11739, - "longitude": -76.043854, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5530", - "name": "Newell/Taft", - "description": "The stop is located on a sign post about 20 feet before Taft Ave acoss from an apartment complex Endicott", - "latitude": 42.118652, - "longitude": -76.039314, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5532", - "name": "Taft/Smith Rd", - "description": "The stop is located on telephone pole across from Smith Rd- Endicott", - "latitude": 42.117165, - "longitude": -76.039009, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5534", - "name": "Taft/Country Club", - "description": "The stop is located on a sign post about 50 feet before Country Club Rd at a private residence Endicott", - "latitude": 42.115547, - "longitude": -76.038887, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5536", - "name": "Country Club/Pierce", - "description": "The stop is located on a sign post at the corner before Pierce Ave at a private residence Endicott", - "latitude": 42.1153703746527, - "longitude": -76.0373250565935, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5538", - "name": "Country Club/Center", - "description": "The stop is located on a telephone pole about 50 ft before Center St near a private residence Endicott", - "latitude": 42.115601, - "longitude": -76.032433, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5540", - "name": "Hooper/Pruyne (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located on a sign post about 50 feet after Pruyne St near the M & T Bank Endwell", - "latitude": 42.119389, - "longitude": -76.019051, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5542", - "name": "Hooper/Pheasant (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located on a sign post about 75 feet before Pheasant Ln at a private residence Endwell", - "latitude": 42.122437, - "longitude": -76.020592, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5544", - "name": "Hooper /Farm to Market (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located on a sign post about 200 feet after Farm to Market Rd Endwell", - "latitude": 42.126076, - "longitude": -76.024559, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5551", - "name": "Hooper Rd/Weis Plaza (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located at the entrance of Park Manor Plaza Endwell", - "latitude": 42.128045, - "longitude": -76.028202, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5553", - "name": "Plaza/Manor Dr (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located on a sign post about 50 feet before Manor Dr at a private residence Endwell", - "latitude": 42.129539, - "longitude": -76.032593, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5555", - "name": "Hooper/Marian Apts (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located on a sign post at the second entrance to Marian Apts Endwell", - "latitude": 42.125381, - "longitude": -76.023926, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5557", - "name": "Hooper /Pheasant (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located on a sign post across from Pheasant St at a private residence Endwell", - "latitude": 42.1227993823475, - "longitude": -76.0210825092795, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5559", - "name": "Hooper /Pruyne (call for service (607)763-4464 or (607)778-1692)", - "description": "The stop is located on a sign post across from Pruyne St near the M&T Bank Endwell", - "latitude": 42.119221, - "longitude": -76.019104, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5561", - "name": "Country Club/Colgate", - "description": "The stop is located on a telephone pole about 50 feet before Colgate Dr at a private residence Endwell.", - "latitude": 42.115658, - "longitude": -76.032829, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5563", - "name": "Country Club/Taft", - "description": "The stop is located on a telephone pole about 100 feet before Taft Ave near A Class Act Salon Endwell.", - "latitude": 42.115448, - "longitude": -76.037971, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5573", - "name": "Pine/Squires", - "description": "The stop is located on a sing post at the corner before Squires Ave near the Close Quarters Restaurant Endicott", - "latitude": 42.11507, - "longitude": -76.047249, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5575", - "name": "Pine/Hill", - "description": "The stop is located on a telephone pole about 50 feet before Hill Ave at a private residence Endicott", - "latitude": 42.115021, - "longitude": -76.048187, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5577", - "name": "Pine/Oak Hill Rd", - "description": "The stop is located on a sign post about 10 feet before Oak Hill Ave near Rossi's Pizza Endicott", - "latitude": 42.114922, - "longitude": -76.050362, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5579", - "name": "Oak Hill/Jenkins", - "description": "The stop is located about 25 feet before Jenkins St at a private residence Endicott", - "latitude": 42.112976, - "longitude": -76.05043, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5581", - "name": "Oak Hill/Witherall", - "description": "The stop is located on a telephone pole at the cross walk before Witherall St near the Northside Park Endicott", - "latitude": 42.111137, - "longitude": -76.050301, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5583", - "name": "Oak Hill/Clarke", - "description": "The stop is located on a sign post about 100 feet before Clarke St near NCI Endicott", - "latitude": 42.107725, - "longitude": -76.050106, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5583.1", - "name": "Oak Hill/Plaza", - "description": "New bus stop near the Price Chopper plaza effective 2-6-17", - "latitude": 42.105175, - "longitude": -76.04993, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "5585", - "name": "Vestal Ave/ River Terrace", - "description": "The stop is located on a sign post at the corner before River Terrace by the Riverview Apts Endicott", - "latitude": 42.093224, - "longitude": -76.057091, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5587", - "name": "Vestal Ave/Stage Rd", - "description": "The stop is located on a sign post about 20 feet before Commercial Plaza Dr across from Advanced Auto Parts Vestal", - "latitude": 42.087836, - "longitude": -76.053898, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5589", - "name": "434 E/Clayton", - "description": "The stop is located on a telephone pole about 75 feet Clayton Ave by the Magic City Carwash Vestal NY", - "latitude": 42.086988, - "longitude": -76.048945, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5593", - "name": "434 E/Ridgehaven", - "description": "The stop is located about 200 feet before Ridgehaven Dr by American Family Fitness Vestal. A bus shelter is here.", - "latitude": 42.092913, - "longitude": -76.022995, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5702", - "name": "BC Junction 57 Shoppers Special", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 8 Dock B", - "latitude": 42.102015, - "longitude": -75.910667, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "5704", - "name": "Bunn Hill/Bunn Hill Access Rd", - "description": "The stop is located on Bunn Hill near the BU Campus. A bus shelter is here", - "latitude": 42.094433, - "longitude": -75.975301, - "provider": "BC Transit", - "routes": [ - "Vestal", - "Shoppers Special", - "Shoppers Special Express" - ] - }, - { - "id": "5706", - "name": "Vestal Pkwy/Bao Bao", - "description": "The stop is located on a telephone pole near the Bao Bao Restaurant Vestal NY", - "latitude": 42.0964581, - "longitude": -75.9822475, - "provider": "BC Transit", - "routes": [ - "Shoppers Special", - "Shoppers Special Express" - ] - }, - { - "id": "5710", - "name": "Vestal Pkwy/Arby's", - "description": "The stop is located on a telephone pole between the Mirabito and Arby's Vestal A bus shelter is here.", - "latitude": 42.0961273000715, - "longitude": -76.0002566856327, - "provider": "BC Transit", - "routes": [ - "Shoppers Special", - "Shoppers Special Express" - ] - }, - { - "id": "5712", - "name": "Vestal Pkwy/Parkway Plaza", - "description": "The stop is located after the entrance to Parkway Plaza Vestal.", - "latitude": 42.0957972, - "longitude": -76.0001647, - "provider": "BC Transit", - "routes": [ - "Shoppers Special", - "Shoppers Special Express" - ] - }, - { - "id": "5714", - "name": "Wegmans", - "description": "The stop is located on the east side of the Wegman's store entrance Johnson City", - "latitude": 42.123251341297, - "longitude": -75.9725721767345, - "provider": "BC Transit", - "routes": [ - "Johnson City", - "Shoppers Express Oakdale Mall", - "Shoppers Special" - ] - }, - { - "id": "5716", - "name": "Front/Leroy", - "description": "The stop is located on a sign post about 75 feet after Leroy St near Renaissance Plaza Binghamton", - "latitude": 42.0952092, - "longitude": -75.9186521, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "5718", - "name": "Front/Main", - "description": "The stop is located on a telephone pole about 60 feet before Main St near Thai Time Binghamton", - "latitude": 42.098319, - "longitude": -75.9175933, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "5902", - "name": "Vestal Rd/African", - "description": "The stop is located after the intersection between Take a Break and Pete's Legacy Diner", - "latitude": 42.096966, - "longitude": -76.015648, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5904", - "name": "Vestal Rd /Maple", - "description": "The stop is located after the intersection.", - "latitude": 42.097149, - "longitude": -76.023926, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5905", - "name": "Day Hallow/ NY 26", - "description": "The stop is located across the street from Weis before the instersection.", - "latitude": 42.11087, - "longitude": -76.072075, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "5906", - "name": "Vestal Rd /Oak", - "description": "The stop is located after the intersection.", - "latitude": 42.097187, - "longitude": -76.026337, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5916", - "name": "North/Nanticoke", - "description": "The stop is located before the intersection", - "latitude": 42.098129, - "longitude": -76.065285, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "5918", - "name": "Day Hallow/ NY 26", - "description": "The stop is located on telephone before the entrance to Weis", - "latitude": 42.1108839093283, - "longitude": -76.0717602821458, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "6000", - "name": "BU Union", - "description": "The stop is located at the Universisty Union Bus Lane Vestal", - "latitude": 42.087051, - "longitude": -75.967056, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "Leroy St", - "Vestal", - "Shoppers Express Oakdale Mall", - "Shoppers Special Express", - "12/28/40/5 Combo" - ] - }, - { - "id": "6001", - "name": "BU Mohawk Bldg", - "description": "The stop is located on East Dr by the BU Mohawk Hall Vestal. There is a bus shelter here.", - "latitude": 42.086918, - "longitude": -75.965965, - "provider": "BC Transit", - "routes": [ - "Vestal Ave", - "Leroy St", - "Vestal", - "Shoppers Special" - ] - }, - { - "id": "6002", - "name": "BU School of Management", - "description": "The stop is located at the bus lane off East Dr at the BU Union Vestal", - "latitude": 42.088721, - "longitude": -75.973194, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Vestal", - "Shoppers Special" - ] - }, - { - "id": "6003", - "name": "BU/Power Plant", - "description": "The stop is located on a sign post near Lot I across from the Tennis Courts at Binghamton University.", - "latitude": 42.091752, - "longitude": -75.974413, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City", - "Vestal", - "Shoppers Special" - ] - }, - { - "id": "6004", - "name": "BU/Tennis Courts", - "description": "The stop is located near the BU Event Center/Tennis Courts in Vestal. There is a bus shelter here.", - "latitude": 42.090981, - "longitude": -75.973381, - "provider": "BC Transit", - "routes": [ - "Leroy St", - "Johnson City", - "Vestal", - "Shoppers Express Oakdale Mall", - "Shoppers Special", - "Shoppers Special Express" - ] - }, - { - "id": "6010", - "name": "BU/Digman", - "description": "BU Stop for 57", - "latitude": 42.08728, - "longitude": -75.965178, - "provider": "BC Transit", - "routes": [ - "Shoppers Special" - ] - }, - { - "id": "6011", - "name": "BU/Admission", - "description": "BU Stop for 16 and 17", - "latitude": 42.087045, - "longitude": -75.96626, - "provider": "BC Transit", - "routes": [ - "BU Express", - "Johnson City" - ] - }, - { - "id": "8001", - "name": "Achieve", - "description": "This is a flag stop near Achieve Binghamton", - "latitude": 42.129569, - "longitude": -75.911695, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "8098", - "name": "Carroll/Hawley", - "description": "This is a flag stop located at Carroll and Hawley", - "latitude": 42.098173, - "longitude": -75.907222, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "8099", - "name": "Hawley/Myrtle", - "description": "This is a flag stop located at Hawley and Myrtle", - "latitude": 42.097706, - "longitude": -75.908633, - "provider": "BC Transit", - "routes": [ - "Front St" - ] - }, - { - "id": "8802", - "name": "BC Junction 8X", - "description": "The stop is located at the Greater Binghamton Transportation Center BC Junction Bay 6 Dock A", - "latitude": 42.101815, - "longitude": -75.910595, - "provider": "BC Transit", - "routes": [ - "Front St", - "Shoppers Special" - ] - }, - { - "id": "95101", - "name": "Frito Lay", - "description": "This is a flag stop area.", - "latitude": 42.096852, - "longitude": -75.837349, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95102", - "name": "Felchar Bldg 3", - "description": "This is a flag stop area.", - "latitude": 42.094688, - "longitude": -75.835223, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95103", - "name": "Pilot", - "description": "This is a flag stop area.", - "latitude": 42.101991, - "longitude": -75.83611, - "provider": "BC Transit", - "routes": [ - "K Commuter", - "Corporate Park", - "12/53 Combo" - ] - }, - { - "id": "95104", - "name": "Felchar Mfg 1&2", - "description": "This is a flag stop area.", - "latitude": 42.10493, - "longitude": -75.816046, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95105", - "name": "TCMF", - "description": "This is a flag stop area.", - "latitude": 42.10282, - "longitude": -75.830586, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95106", - "name": "FedEx", - "description": "This is a flag stop area.", - "latitude": 42.101115, - "longitude": -75.826415, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95107", - "name": "Harris Assembly", - "description": "This is a flag stop area.", - "latitude": 42.09576, - "longitude": -75.824218, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95108", - "name": "Southern Tier Plastics", - "description": "This is a flag stop area.", - "latitude": 42.099055, - "longitude": -75.83162, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95109", - "name": "American Pipe and Plastics", - "description": "This is a flag stop area.", - "latitude": 42.087078, - "longitude": -75.820407, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95110", - "name": "Willow Run", - "description": "This is a flag stop area.", - "latitude": 42.08508, - "longitude": -75.820273, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95112", - "name": "American Pipe", - "description": "This is a flag stop area.", - "latitude": 42.08714, - "longitude": -75.820277, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95113", - "name": "Del Motel", - "description": "This is a flag stop area.", - "latitude": 42.104718, - "longitude": -75.855379, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95114", - "name": "Rocket Plaza", - "description": "This is a flag stop area.", - "latitude": 42.104507, - "longitude": -75.855413, - "provider": "BC Transit", - "routes": [ - "K Commuter" - ] - }, - { - "id": "95301", - "name": "Conklin/Chambers", - "description": "This is a flag stop area.", - "latitude": 42.100649, - "longitude": -75.874192, - "provider": "BC Transit", - "routes": [ - "Corporate Park", - "12/53 Combo" - ] - }, - { - "id": "95302", - "name": "Conklin/Eureka Tent", - "description": "This is a flag stop area.", - "latitude": 42.1003758, - "longitude": -75.8621272, - "provider": "BC Transit", - "routes": [ - "Corporate Park", - "12/53 Combo" - ] - }, - { - "id": "95303", - "name": "Conklin/Hobart Stone", - "description": "This is a flag stop area.", - "latitude": 42.0978085, - "longitude": -75.8493197, - "provider": "BC Transit", - "routes": [ - "Corporate Park", - "12/53 Combo" - ] - }, - { - "id": "95304", - "name": "Conklin/Colesville Rd Ext", - "description": "This is a flag stop area.", - "latitude": 42.0945444, - "longitude": -75.8405006, - "provider": "BC Transit", - "routes": [ - "Corporate Park", - "12/53 Combo" - ] - }, - { - "id": "95305", - "name": "Conklin/Terrace", - "description": "This is a flag stop area.", - "latitude": 42.0903487, - "longitude": -75.8336985, - "provider": "BC Transit", - "routes": [ - "Corporate Park", - "12/53 Combo" - ] - }, - { - "id": "95306", - "name": "Conklin/Shaw", - "description": "This is a flag stop area.", - "latitude": 42.0798264, - "longitude": -75.8249062, - "provider": "BC Transit", - "routes": [ - "Corporate Park", - "12/53 Combo" - ] - }, - { - "id": "95307", - "name": "Conklin/Susquehanna", - "description": "This is a flag stop area.", - "latitude": 42.076313, - "longitude": -75.821091, - "provider": "BC Transit", - "routes": [ - "Corporate Park", - "12/53 Combo" - ] - }, - { - "id": "95308", - "name": "Powers Rd", - "description": "This is a flag stop area.", - "latitude": 42.064484, - "longitude": -75.813839, - "provider": "BC Transit", - "routes": [ - "Corporate Park", - "12/53 Combo" - ] - }, - { - "id": "95309", - "name": "Broome Corporate Park", - "description": "This is a flag stop area.", - "latitude": 42.063261, - "longitude": -75.81648, - "provider": "BC Transit", - "routes": [ - "Corporate Park", - "12/53 Combo" - ] - }, - { - "id": "95310", - "name": "Broome Corporate Park", - "description": "This is a flag stop area.", - "latitude": 42.061556, - "longitude": -75.817255, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95310.1", - "name": "Broome Corporate Park", - "description": "This is a flag stop area.", - "latitude": 42.060006, - "longitude": -75.817905, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95311", - "name": "Broome Corporate Park", - "description": "This is a flag stop area.", - "latitude": 42.056664, - "longitude": -75.816921, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95311.1", - "name": "Broome Corporate Park", - "description": "This is a flag stop area.", - "latitude": 42.055235, - "longitude": -75.81636, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95312", - "name": "Broome Corporate Park", - "description": "This is a flag stop area.", - "latitude": 42.052711, - "longitude": -75.815886, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95312.1", - "name": "Broome Corporate Park", - "description": "This is a flag stop area.", - "latitude": 42.048886, - "longitude": -75.81663, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95312.2", - "name": "Broome Corporate Park", - "description": "This is a flag stop area.", - "latitude": 42.045778, - "longitude": -75.815965, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95313", - "name": "Broome Corp Park", - "description": "This is a flag stop area.", - "latitude": 42.041166, - "longitude": -75.813323, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95314", - "name": "Universal Instruments", - "description": "This is a flag stop area.", - "latitude": 42.03772, - "longitude": -75.812482, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95314.1", - "name": "Corporate Dr/Conklin", - "description": "This is a flag stop area.", - "latitude": 42.035993, - "longitude": -75.808359, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95314.2", - "name": "Conklin/Millburn", - "description": "This is a flag stop area.", - "latitude": 42.038639, - "longitude": -75.807142, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95314.3", - "name": "Dick's Warehouse", - "description": "This is a flag stop area.", - "latitude": 42.040886, - "longitude": -75.80999, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95315", - "name": "Conklin/Walter", - "description": "This is a flag stop area.", - "latitude": 42.050263, - "longitude": -75.80634, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95316", - "name": "Donnelly Elementary School", - "description": "This is a flag stop area.", - "latitude": 42.061584, - "longitude": -75.808975, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95317", - "name": "Conklin/Fairlane", - "description": "This is a flag stop area.", - "latitude": 42.0702262, - "longitude": -75.8141184, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95318", - "name": "Conklin/Eva", - "description": "This is a flag stop area.", - "latitude": 42.0771388, - "longitude": -75.8214998, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95319", - "name": "Conklin/Shaw", - "description": "This is a flag stop area.", - "latitude": 42.0799658, - "longitude": -75.824697, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95320", - "name": "Conklin/Terrace", - "description": "This is a flag stop area.", - "latitude": 42.090293, - "longitude": -75.8331621, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95321", - "name": "Conklin/Colesville Rd Ext", - "description": "This is a flag stop area.", - "latitude": 42.0947196, - "longitude": -75.8400607, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95322", - "name": "Conklin/Hobart Stone", - "description": "This is a flag stop area.", - "latitude": 42.0981269, - "longitude": -75.8492661, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95323", - "name": "Conklin/Eureka Tent", - "description": "This is a flag stop area.", - "latitude": 42.1006026, - "longitude": -75.861969, - "provider": "BC Transit", - "routes": [ - "Corporate Park" - ] - }, - { - "id": "95565", - "name": "Taft/Smith", - "description": "This is a flag stops located near Taft/Smith (on request only)", - "latitude": 42.117149, - "longitude": -76.038849, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "95567", - "name": "Newell/Taft", - "description": "This is a flag stops located near Newell/Taft (on request only)", - "latitude": 42.118736, - "longitude": -76.039421, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "95569", - "name": "Newell/Woodrow", - "description": "This is a flag stops located near Newell/Woodrow (on request only)", - "latitude": 42.117493, - "longitude": -76.043915, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "95571", - "name": "Newell/Pine", - "description": "This is a flag stops located near Newell/Pine (on request only)", - "latitude": 42.11544, - "longitude": -76.045509, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "95591", - "name": "434 E/Airborne", - "description": "This flag stop is located before Brady Ln in front of the former Lourdes Medical Bldg", - "latitude": 42.089847, - "longitude": -76.039449, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "95799", - "name": "Vestal Pkwy/Roberts Eye Care", - "description": "This is a flag stop area.", - "latitude": 42.0969043, - "longitude": -75.9899834, - "provider": "BC Transit", - "routes": [ - "Shoppers Special", - "Shoppers Special Express" - ] - }, - { - "id": "95907", - "name": "North/Nanticoke", - "description": "This is a flag stop on North St near the Cider Mill", - "latitude": 42.098019, - "longitude": -76.065063, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "95907.1", - "name": "Nanticoke/North", - "description": "This is a flag stop on North St near the Cider Mill", - "latitude": 42.09825, - "longitude": -76.065636, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "95909", - "name": "North/Madison", - "description": "This is a flag stop that is located before the insection and across from CVS", - "latitude": 42.104443, - "longitude": -76.049843, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "95911", - "name": "Cornell/Jenkins", - "description": "This is a flag stop located near Absolute Nursing Endicott", - "latitude": 42.112663, - "longitude": -76.055939, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton" - ] - }, - { - "id": "95920", - "name": "Glendale/Jane Lacey", - "description": "This is a flag stop near Summit Chase Apts heading south", - "latitude": 42.102264, - "longitude": -76.084503, - "provider": "BC Transit", - "routes": [ - "Vestal" - ] - }, - { - "id": "95921", - "name": "Glendale/Jane Lacey", - "description": "This is a flag stop near Summit Chase Apts heading north", - "latitude": 42.101997430431, - "longitude": -76.0846328222698, - "provider": "BC Transit", - "routes": [ - "Endicott-Binghamton", - "Vestal" - ] - }, - { - "id": "1554a", - "name": "Baldwin/Pleasant", - "description": "The stop is located after the intersection with Pleasant St in Johnson City.", - "latitude": 42.111159, - "longitude": -75.957576, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1554b", - "name": "BU Pharmacy School", - "description": "The stop is located near the BU Pharmacy School", - "latitude": 42.113027, - "longitude": -75.956554, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "1554c", - "name": "Willow/Grand", - "description": "The stop is located at the corner before Grand Ave- Johnson City", - "latitude": 42.111044, - "longitude": -75.954596, - "provider": "BC Transit", - "routes": [ - "Leroy St" - ] - }, - { - "id": "bcj", - "name": "BC Junction", - "description": "BC Junction Bus Station", - "latitude": 42.1015658403894, - "longitude": -75.9107351607132, - "provider": "BC Transit", - "routes": [] - } -] \ No newline at end of file diff --git a/src/server/data/OCCT/routes.json b/src/server/data/OCCT/routes.json index 6f5ebb5..674b41f 100644 --- a/src/server/data/OCCT/routes.json +++ b/src/server/data/OCCT/routes.json @@ -1,5 +1,4 @@ [ - "https://binghamtonupublic.etaspot.net/service.php?service=get_routes&token=TESTING", { "id": 1, "name": "Westside Outbound", diff --git a/src/server/data/OCCT/stops.json b/src/server/data/OCCT/stops.json index 7b6bfd3..3422042 100644 --- a/src/server/data/OCCT/stops.json +++ b/src/server/data/OCCT/stops.json @@ -1,92 +1,31 @@ - [ - { - "rid": 1, - "rsid": 65537, - "id": 1, - "name": "University Union", - "lat": 42.08702087402344, - "lng": -75.96707916259766, - "extID": "", - "shortName": "001" - }, - { - "rid": 1, - "rsid": 65538, - "id": 2, - "name": "Physical Facilities (OB)", - "lat": 42.091312408447266, - "lng": -75.97373962402344, - "extID": "", - "shortName": "002" - }, { "rid": 1, "rsid": 65539, "id": 3, "name": "Denny's (OB)", "lat": 42.0944709777832, - "lng": -75.97530364990234, + "lng": -75.9753036499023, "extID": "", "shortName": "003" }, - { - "rid": 1, - "rsid": 65540, - "id": 4, - "name": "Floral & New York (OB)", - "lat": 42.10704040527344, - "lng": -75.9631576538086, - "extID": "", - "shortName": "004" - }, { "rid": 1, "rsid": 65541, "id": 5, "name": "Floral & Ackley (OB)", - "lat": 42.10734176635742, + "lat": 42.1073417663574, "lng": -75.9604721069336, "extID": "", "shortName": "005" }, - { - "rid": 1, - "rsid": 65542, - "id": 6, - "name": "Floral & Harrison (OB)", - "lat": 42.10758972167969, - "lng": -75.95848083496094, - "extID": "", - "shortName": "006" - }, - { - "rid": 1, - "rsid": 65543, - "id": 7, - "name": "Floral & Roberts (OB)", - "lat": 42.10787582397461, - "lng": -75.95613098144531, - "extID": "", - "shortName": "007" - }, - { - "rid": 1, - "rsid": 65544, - "id": 8, - "name": "Floral & Willow (OB)", - "lat": 42.10811233520508, - "lng": -75.95433044433594, - "extID": "", - "shortName": "008" - }, { "rid": 1, "rsid": 65545, "id": 9, "name": "Floral & Burbank (OB)", - "lat": 42.10844802856445, - "lng": -75.95240783691406, + "lat": 42.1084480285645, + "lng": -75.9524078369141, "extID": "", "shortName": "009" }, @@ -95,30 +34,120 @@ "rsid": 65546, "id": 10, "name": "Floral & Cleveland (OB)", - "lat": 42.10895538330078, - "lng": -75.94898223876953, + "lat": 42.1089553833008, + "lng": -75.9489822387695, "extID": "", "shortName": "010" }, + { + "rid": 1, + "rsid": 65542, + "id": 6, + "name": "Floral & Harrison (OB)", + "lat": 42.1075897216797, + "lng": -75.9584808349609, + "extID": "", + "shortName": "006" + }, { "rid": 1, "rsid": 65547, "id": 11, "name": "Floral & Main (OB)", - "lat": 42.11103057861328, - "lng": -75.94510650634766, + "lat": 42.1110305786133, + "lng": -75.9451065063477, "extID": "", "shortName": "011" }, { "rid": 1, - "rsid": 65548, - "id": 12, - "name": "Main & Matthews (OB)", - "lat": 42.109519958496094, - "lng": -75.94180297851562, + "rsid": 65540, + "id": 4, + "name": "Floral & New York (OB)", + "lat": 42.1070404052734, + "lng": -75.9631576538086, "extID": "", - "shortName": "012" + "shortName": "004" + }, + { + "rid": 1, + "rsid": 65543, + "id": 7, + "name": "Floral & Roberts (OB)", + "lat": 42.1078758239746, + "lng": -75.9561309814453, + "extID": "", + "shortName": "007" + }, + { + "rid": 1, + "rsid": 65544, + "id": 8, + "name": "Floral & Willow (OB)", + "lat": 42.1081123352051, + "lng": -75.9543304443359, + "extID": "", + "shortName": "008" + }, + { + "rid": 1, + "rsid": 65556, + "id": 20, + "name": "Hawley & Court (OB)", + "lat": 42.098560333252, + "lng": -75.9147033691406, + "extID": "", + "shortName": "020" + }, + { + "rid": 1, + "rsid": 65553, + "id": 17, + "name": "Main & Arthur (OB)", + "lat": 42.1003913879395, + "lng": -75.9249649047852, + "extID": "", + "shortName": "017" + }, + { + "rid": 1, + "rsid": 65552, + "id": 16, + "name": "Main & Cedar (OB)", + "lat": 42.1022415161133, + "lng": -75.9286117553711, + "extID": "", + "shortName": "016" + }, + { + "rid": 1, + "rsid": 65551, + "id": 15, + "name": "Main & Clarke (OB)", + "lat": 42.1031761169434, + "lng": -75.930305480957, + "extID": "", + "shortName": "015" + }, + { + "rid": 1, + "rsid": 65668, + "id": 132, + "name": "Main & Crestmont (OB)", + "lat": 42.1082992553711, + "lng": -75.9395065307617, + "extID": "", + "shortName": "131" + }, + { + "rid": 1, + "rsid": 65555, + "id": 19, + "name": "Main & Front (OB)", + "lat": 42.098762512207, + "lng": -75.9179306030273, + "extID": "", + "shortName": "019" }, { "rid": 1, @@ -132,43 +161,13 @@ }, { "rid": 1, - "rsid": 65550, - "id": 14, - "name": "Main & Schiller (OB)", - "lat": 42.105342864990234, - "lng": -75.93423461914062, + "rsid": 65548, + "id": 12, + "name": "Main & Matthews (OB)", + "lat": 42.1095199584961, + "lng": -75.9418029785156, "extID": "", - "shortName": "014" - }, - { - "rid": 1, - "rsid": 65551, - "id": 15, - "name": "Main & Clarke (OB)", - "lat": 42.10317611694336, - "lng": -75.93030548095703, - "extID": "", - "shortName": "015" - }, - { - "rid": 1, - "rsid": 65552, - "id": 16, - "name": "Main & Cedar (OB)", - "lat": 42.10224151611328, - "lng": -75.9286117553711, - "extID": "", - "shortName": "016" - }, - { - "rid": 1, - "rsid": 65553, - "id": 17, - "name": "Main & Arthur (OB)", - "lat": 42.10039138793945, - "lng": -75.92496490478516, - "extID": "", - "shortName": "017" + "shortName": "012" }, { "rid": 1, @@ -176,297 +175,157 @@ "id": 18, "name": "Main & Murray (OB)", "lat": 42.0994873046875, - "lng": -75.92163848876953, + "lng": -75.9216384887695, "extID": "", "shortName": "018" }, { "rid": 1, - "rsid": 65555, - "id": 19, - "name": "Main & Front (OB)", - "lat": 42.09876251220703, - "lng": -75.91793060302734, + "rsid": 65550, + "id": 14, + "name": "Main & Schiller (OB)", + "lat": 42.1053428649902, + "lng": -75.9342346191406, "extID": "", - "shortName": "019" + "shortName": "014" }, { "rid": 1, - "rsid": 65556, - "id": 20, - "name": "Hawley & Court (OB)", - "lat": 42.09856033325195, - "lng": -75.91470336914062, + "rsid": 65538, + "id": 2, + "name": "Physical Facilities (OB)", + "lat": 42.0913124084473, + "lng": -75.9737396240234, "extID": "", - "shortName": "020" + "shortName": "002" }, { "rid": 1, "rsid": 65557, "id": 21, "name": "University Downtown Center (South)", - "lat": 42.095619201660156, + "lat": 42.0956192016602, "lng": -75.9142837524414, "extID": "", "shortName": "021" }, { - "rid": 4, - "rsid": 262166, - "id": 22, - "name": "Leroy & Front (IB)", - "lat": 42.095096588134766, - "lng": -75.9193115234375, + "rid": 1, + "rsid": 65537, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, "extID": "", - "shortName": "022" - }, - { - "rid": 4, - "rsid": 262167, - "id": 23, - "name": "Leroy & Murray (IB)", - "lat": 42.0955696105957, - "lng": -75.92268371582031, - "extID": "", - "shortName": "023" - }, - { - "rid": 4, - "rsid": 262168, - "id": 24, - "name": "Leroy & Chestnut (IB)", - "lat": 42.09581756591797, - "lng": -75.92656707763672, - "extID": "", - "shortName": "024" - }, - { - "rid": 4, - "rsid": 262169, - "id": 25, - "name": "Leroy & Laurel (IB)", - "lat": 42.095619201660156, - "lng": -75.93054962158203, - "extID": "", - "shortName": "025" - }, - { - "rid": 4, - "rsid": 262170, - "id": 26, - "name": "Leroy & Beethoven (IB)", - "lat": 42.095436096191406, - "lng": -75.93441009521484, - "extID": "", - "shortName": "026" - }, - { - "rid": 4, - "rsid": 262171, - "id": 27, - "name": "Riverside & Beethoven (IB)", - "lat": 42.09253692626953, - "lng": -75.9346694946289, - "extID": "", - "shortName": "027" - }, - { - "rid": 4, - "rsid": 262172, - "id": 28, - "name": "Riverside & Margaret (IB)", - "lat": 42.098148345947266, - "lng": -75.94915008544922, - "extID": "", - "shortName": "028" - }, - { - "rid": 4, - "rsid": 262173, - "id": 29, - "name": "Riverside & Columbus (IB)", - "lat": 42.099464416503906, - "lng": -75.95486450195312, - "extID": "", - "shortName": "029" - }, - { - "rid": 4, - "rsid": 262174, - "id": 30, - "name": "Riverside & Elfred (IB)", - "lat": 42.10054016113281, - "lng": -75.9588394165039, - "extID": "", - "shortName": "030" - }, - { - "rid": 4, - "rsid": 262175, - "id": 31, - "name": "Riverside & Ethel (IB)", - "lat": 42.10222244262695, - "lng": -75.96122741699219, - "extID": "", - "shortName": "031" + "shortName": "001" }, { "rid": 2, "rsid": 131104, "id": 32, "name": "Academic A", - "lat": 42.08871841430664, - "lng": -75.97318267822266, + "lat": 42.0887184143066, + "lng": -75.9731826782227, "extID": "", "shortName": "032" }, - { - "rid": 3, - "rsid": 196641, - "id": 33, - "name": "Riverside & Ethel (OB)", - "lat": 42.102073669433594, - "lng": -75.96137237548828, - "extID": "", - "shortName": "033" - }, - { - "rid": 3, - "rsid": 196642, - "id": 34, - "name": "Riverside & Elfred (OB)", - "lat": 42.10032272338867, - "lng": -75.95886993408203, - "extID": "", - "shortName": "034" - }, - { - "rid": 3, - "rsid": 196643, - "id": 35, - "name": "Riverside & Columbus (OB)", - "lat": 42.09929275512695, - "lng": -75.95469665527344, - "extID": "", - "shortName": "035" - }, - { - "rid": 3, - "rsid": 196644, - "id": 36, - "name": "Riverside & Margaret (OB)", - "lat": 42.09804916381836, - "lng": -75.94927215576172, - "extID": "", - "shortName": "036" - }, - { - "rid": 3, - "rsid": 196645, - "id": 37, - "name": "Riverside & Beethoven (OB)", - "lat": 42.09274673461914, - "lng": -75.93631744384766, - "extID": "", - "shortName": "037" - }, - { - "rid": 3, - "rsid": 196646, - "id": 38, - "name": "Leroy & Laurel (OB)", - "lat": 42.09547805786133, - "lng": -75.93098449707031, - "extID": "", - "shortName": "038" - }, - { - "rid": 3, - "rsid": 196647, - "id": 39, - "name": "Leroy & Chestnut (OB)", - "lat": 42.09568405151367, - "lng": -75.92684173583984, - "extID": "", - "shortName": "039" - }, - { - "rid": 3, - "rsid": 196648, - "id": 40, - "name": "Leroy & Murray (OB)", - "lat": 42.095455169677734, - "lng": -75.92263793945312, - "extID": "", - "shortName": "040" - }, - { - "rid": 3, - "rsid": 196649, - "id": 41, - "name": "Riverside & Front (OB)", - "lat": 42.092811584472656, - "lng": -75.92009735107422, - "extID": "", - "shortName": "041" - }, - { - "rid": 2, - "rsid": 131114, - "id": 42, - "name": "University Downtown Center (North)", - "lat": 42.095211029052734, - "lng": -75.91419982910156, - "extID": "", - "shortName": "042" - }, { "rid": 2, "rsid": 131115, "id": 43, "name": "Court & Hawley (IB)", - "lat": 42.098812103271484, + "lat": 42.0988121032715, "lng": -75.9152603149414, "extID": "", "shortName": "042" }, { "rid": 2, - "rsid": 131116, - "id": 44, - "name": "Main & Front (IB)", - "lat": 42.09894561767578, - "lng": -75.91797637939453, + "rsid": 131127, + "id": 55, + "name": "Floral & Burbank (IB)", + "lat": 42.1086578369141, + "lng": -75.9521331787109, "extID": "", - "shortName": "043" + "shortName": "054" }, { "rid": 2, - "rsid": 131117, - "id": 45, - "name": "Main & Murray (IB)", - "lat": 42.09967803955078, - "lng": -75.92176818847656, + "rsid": 131126, + "id": 54, + "name": "Floral & Cleveland (IB)", + "lat": 42.1091613769531, + "lng": -75.9487075805664, "extID": "", - "shortName": "044" + "shortName": "053" }, { "rid": 2, - "rsid": 131118, - "id": 46, - "name": "Main & Mather (IB)", - "lat": 42.10055923461914, - "lng": -75.92513275146484, + "rsid": 131132, + "id": 60, + "name": "Floral & Cook (IB)", + "lat": 42.1071891784668, + "lng": -75.9633865356445, "extID": "", - "shortName": "045" + "shortName": "059" + }, + { + "rid": 2, + "rsid": 131130, + "id": 58, + "name": "Floral & Harrison (IB)", + "lat": 42.1078033447266, + "lng": -75.9582290649414, + "extID": "", + "shortName": "057" + }, + { + "rid": 2, + "rsid": 131125, + "id": 53, + "name": "Floral & Main (IB)", + "lat": 42.1107978820801, + "lng": -75.9454498291016, + "extID": "", + "shortName": "052" + }, + { + "rid": 2, + "rsid": 131129, + "id": 57, + "name": "Floral & Roberts (IB)", + "lat": 42.1080780029297, + "lng": -75.9560165405273, + "extID": "", + "shortName": "056" + }, + { + "rid": 2, + "rsid": 131131, + "id": 59, + "name": "Floral & St Charles (IB)", + "lat": 42.1075286865234, + "lng": -75.9603729248047, + "extID": "", + "shortName": "058" + }, + { + "rid": 2, + "rsid": 131128, + "id": 56, + "name": "Floral & Willow (IB)", + "lat": 42.1083488464356, + "lng": -75.9540023803711, + "extID": "", + "shortName": "055" }, { "rid": 2, "rsid": 131119, "id": 47, "name": "Main & Cedar (IB)", - "lat": 42.102413177490234, - "lng": -75.92860412597656, + "lat": 42.1024131774902, + "lng": -75.9286041259766, "extID": "", "shortName": "046" }, @@ -476,167 +335,407 @@ "id": 48, "name": "Main & Clarke (IB)", "lat": 42.1032600402832, - "lng": -75.93013000488281, + "lng": -75.9301300048828, "extID": "", "shortName": "047" }, - { - "rid": 2, - "rsid": 131121, - "id": 49, - "name": "Main & Schiller (IB)", - "lat": 42.105194091796875, - "lng": -75.93350219726562, - "extID": "", - "shortName": "048" - }, - { - "rid": 2, - "rsid": 131122, - "id": 50, - "name": "Main & Helen (IB)", - "lat": 42.10743713378906, - "lng": -75.9376220703125, - "extID": "", - "shortName": "049" - }, - { - "rid": 2, - "rsid": 131123, - "id": 51, - "name": "Main & Crestmont (IB)", - "lat": 42.109046936035156, - "lng": -75.94062042236328, - "extID": "", - "shortName": "050" - }, { "rid": 2, "rsid": 131124, "id": 52, "name": "Main & Crary (IB)", - "lat": 42.109954833984375, - "lng": -75.94229888916016, + "lat": 42.1099548339844, + "lng": -75.9422988891602, "extID": "", "shortName": "051" }, { "rid": 2, - "rsid": 131125, - "id": 53, - "name": "Floral & Main (IB)", - "lat": 42.11079788208008, - "lng": -75.94544982910156, + "rsid": 131123, + "id": 51, + "name": "Main & Crestmont (IB)", + "lat": 42.1090469360352, + "lng": -75.9406204223633, "extID": "", - "shortName": "052" + "shortName": "050" }, { "rid": 2, - "rsid": 131126, - "id": 54, - "name": "Floral & Cleveland (IB)", - "lat": 42.109161376953125, - "lng": -75.9487075805664, + "rsid": 131116, + "id": 44, + "name": "Main & Front (IB)", + "lat": 42.0989456176758, + "lng": -75.9179763793945, "extID": "", - "shortName": "053" + "shortName": "043" }, { "rid": 2, - "rsid": 131127, - "id": 55, - "name": "Floral & Burbank (IB)", - "lat": 42.10865783691406, - "lng": -75.95213317871094, + "rsid": 131122, + "id": 50, + "name": "Main & Helen (IB)", + "lat": 42.1074371337891, + "lng": -75.9376220703125, "extID": "", - "shortName": "054" + "shortName": "049" }, { "rid": 2, - "rsid": 131128, - "id": 56, - "name": "Floral & Willow (IB)", - "lat": 42.10834884643555, - "lng": -75.9540023803711, + "rsid": 131118, + "id": 46, + "name": "Main & Mather (IB)", + "lat": 42.1005592346191, + "lng": -75.9251327514648, "extID": "", - "shortName": "055" + "shortName": "045" }, { "rid": 2, - "rsid": 131129, - "id": 57, - "name": "Floral & Roberts (IB)", - "lat": 42.10807800292969, - "lng": -75.95601654052734, + "rsid": 131117, + "id": 45, + "name": "Main & Murray (IB)", + "lat": 42.0996780395508, + "lng": -75.9217681884766, "extID": "", - "shortName": "056" + "shortName": "044" }, { "rid": 2, - "rsid": 131130, - "id": 58, - "name": "Floral & Harrison (IB)", - "lat": 42.10780334472656, - "lng": -75.9582290649414, + "rsid": 131121, + "id": 49, + "name": "Main & Schiller (IB)", + "lat": 42.1051940917969, + "lng": -75.9335021972656, "extID": "", - "shortName": "057" - }, - { - "rid": 2, - "rsid": 131131, - "id": 59, - "name": "Floral & St Charles (IB)", - "lat": 42.10752868652344, - "lng": -75.96037292480469, - "extID": "", - "shortName": "058" - }, - { - "rid": 2, - "rsid": 131132, - "id": 60, - "name": "Floral & Cook (IB)", - "lat": 42.1071891784668, - "lng": -75.96338653564453, - "extID": "", - "shortName": "059" + "shortName": "048" }, { "rid": 2, "rsid": 131133, "id": 61, "name": "Mohawk", - "lat": 42.086936950683594, - "lng": -75.96593475341797, + "lat": 42.0869369506836, + "lng": -75.965934753418, "extID": "", "shortName": "060" }, { - "rid": 8, - "rsid": 524350, - "id": 62, - "name": "Dickinson", - "lat": 42.08724594116211, - "lng": -75.96482849121094, + "rid": 2, + "rsid": 131190, + "id": 118, + "name": "Rafuse", + "lat": 42.0874557495117, + "lng": -75.9645919799805, "extID": "", - "shortName": "061" + "shortName": "117" }, { - "rid": 5, - "rsid": 327743, - "id": 63, - "name": "Newing", - "lat": 42.08845520019531, - "lng": -75.96287536621094, + "rid": 2, + "rsid": 131114, + "id": 42, + "name": "University Downtown Center (North)", + "lat": 42.0952110290527, + "lng": -75.9141998291016, "extID": "", - "shortName": "062" + "shortName": "042" + }, + { + "rid": 2, + "rsid": 131073, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" + }, + { + "rid": 3, + "rsid": 196611, + "id": 3, + "name": "Denny's (OB)", + "lat": 42.0944709777832, + "lng": -75.9753036499023, + "extID": "", + "shortName": "003" + }, + { + "rid": 3, + "rsid": 196647, + "id": 39, + "name": "Leroy & Chestnut (OB)", + "lat": 42.0956840515137, + "lng": -75.9268417358398, + "extID": "", + "shortName": "039" + }, + { + "rid": 3, + "rsid": 196646, + "id": 38, + "name": "Leroy & Laurel (OB)", + "lat": 42.0954780578613, + "lng": -75.9309844970703, + "extID": "", + "shortName": "038" + }, + { + "rid": 3, + "rsid": 196648, + "id": 40, + "name": "Leroy & Murray (OB)", + "lat": 42.0954551696777, + "lng": -75.9226379394531, + "extID": "", + "shortName": "040" + }, + { + "rid": 3, + "rsid": 196610, + "id": 2, + "name": "Physical Facilities (OB)", + "lat": 42.0913124084473, + "lng": -75.9737396240234, + "extID": "", + "shortName": "002" + }, + { + "rid": 3, + "rsid": 196645, + "id": 37, + "name": "Riverside & Beethoven (OB)", + "lat": 42.0927467346191, + "lng": -75.9363174438477, + "extID": "", + "shortName": "037" + }, + { + "rid": 3, + "rsid": 196643, + "id": 35, + "name": "Riverside & Columbus (OB)", + "lat": 42.099292755127, + "lng": -75.9546966552734, + "extID": "", + "shortName": "035" + }, + { + "rid": 3, + "rsid": 196642, + "id": 34, + "name": "Riverside & Elfred (OB)", + "lat": 42.1003227233887, + "lng": -75.958869934082, + "extID": "", + "shortName": "034" + }, + { + "rid": 3, + "rsid": 196641, + "id": 33, + "name": "Riverside & Ethel (OB)", + "lat": 42.1020736694336, + "lng": -75.9613723754883, + "extID": "", + "shortName": "033" + }, + { + "rid": 3, + "rsid": 196649, + "id": 41, + "name": "Riverside & Front (OB)", + "lat": 42.0928115844727, + "lng": -75.9200973510742, + "extID": "", + "shortName": "041" + }, + { + "rid": 3, + "rsid": 196644, + "id": 36, + "name": "Riverside & Margaret (OB)", + "lat": 42.0980491638184, + "lng": -75.9492721557617, + "extID": "", + "shortName": "036" + }, + { + "rid": 3, + "rsid": 196650, + "id": 42, + "name": "University Downtown Center (North)", + "lat": 42.0952110290527, + "lng": -75.9141998291016, + "extID": "", + "shortName": "042" + }, + { + "rid": 3, + "rsid": 196609, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" + }, + { + "rid": 4, + "rsid": 262176, + "id": 32, + "name": "Academic A", + "lat": 42.0887184143066, + "lng": -75.9731826782227, + "extID": "", + "shortName": "032" + }, + { + "rid": 4, + "rsid": 262170, + "id": 26, + "name": "Leroy & Beethoven (IB)", + "lat": 42.0954360961914, + "lng": -75.9344100952148, + "extID": "", + "shortName": "026" + }, + { + "rid": 4, + "rsid": 262168, + "id": 24, + "name": "Leroy & Chestnut (IB)", + "lat": 42.095817565918, + "lng": -75.9265670776367, + "extID": "", + "shortName": "024" + }, + { + "rid": 4, + "rsid": 262166, + "id": 22, + "name": "Leroy & Front (IB)", + "lat": 42.0950965881348, + "lng": -75.9193115234375, + "extID": "", + "shortName": "022" + }, + { + "rid": 4, + "rsid": 262169, + "id": 25, + "name": "Leroy & Laurel (IB)", + "lat": 42.0956192016602, + "lng": -75.930549621582, + "extID": "", + "shortName": "025" + }, + { + "rid": 4, + "rsid": 262167, + "id": 23, + "name": "Leroy & Murray (IB)", + "lat": 42.0955696105957, + "lng": -75.9226837158203, + "extID": "", + "shortName": "023" + }, + { + "rid": 4, + "rsid": 262205, + "id": 61, + "name": "Mohawk", + "lat": 42.0869369506836, + "lng": -75.965934753418, + "extID": "", + "shortName": "060" + }, + { + "rid": 4, + "rsid": 262262, + "id": 118, + "name": "Rafuse", + "lat": 42.0874557495117, + "lng": -75.9645919799805, + "extID": "", + "shortName": "117" + }, + { + "rid": 4, + "rsid": 262171, + "id": 27, + "name": "Riverside & Beethoven (IB)", + "lat": 42.0925369262695, + "lng": -75.9346694946289, + "extID": "", + "shortName": "027" + }, + { + "rid": 4, + "rsid": 262173, + "id": 29, + "name": "Riverside & Columbus (IB)", + "lat": 42.0994644165039, + "lng": -75.9548645019531, + "extID": "", + "shortName": "029" + }, + { + "rid": 4, + "rsid": 262174, + "id": 30, + "name": "Riverside & Elfred (IB)", + "lat": 42.1005401611328, + "lng": -75.9588394165039, + "extID": "", + "shortName": "030" + }, + { + "rid": 4, + "rsid": 262175, + "id": 31, + "name": "Riverside & Ethel (IB)", + "lat": 42.102222442627, + "lng": -75.9612274169922, + "extID": "", + "shortName": "031" + }, + { + "rid": 4, + "rsid": 262172, + "id": 28, + "name": "Riverside & Margaret (IB)", + "lat": 42.0981483459473, + "lng": -75.9491500854492, + "extID": "", + "shortName": "028" + }, + { + "rid": 4, + "rsid": 262165, + "id": 21, + "name": "University Downtown Center (South)", + "lat": 42.0956192016602, + "lng": -75.9142837524414, + "extID": "", + "shortName": "021" + }, + { + "rid": 4, + "rsid": 262145, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" }, { "rid": 5, "rsid": 327744, "id": 64, "name": "Couper Administration", - "lat": 42.089691162109375, - "lng": -75.96575927734375, + "lat": 42.0896911621094, + "lng": -75.9657592773438, "extID": "", "shortName": "063" }, @@ -645,141 +744,921 @@ "rsid": 327745, "id": 65, "name": "East Gym", - "lat": 42.090972900390625, - "lng": -75.96733093261719, + "lat": 42.0909729003906, + "lng": -75.9673309326172, "extID": "", "shortName": "064" }, - { - "rid": 5, - "rsid": 327746, - "id": 66, - "name": "UCLUB", - "lat": 42.09249496459961, - "lng": -75.95384216308594, - "extID": "", - "shortName": "065" - }, - { - "rid": 5, - "rsid": 327747, - "id": 67, - "name": "Meadows", - "lat": 42.08931350708008, - "lng": -75.95588684082031, - "extID": "", - "shortName": "066" - }, { "rid": 5, "rsid": 327748, "id": 68, "name": "Hayes", - "lat": 42.088294982910156, + "lat": 42.0882949829102, "lng": -75.9564208984375, "extID": "", "shortName": "067" }, + { + "rid": 5, + "rsid": 327747, + "id": 67, + "name": "Meadows", + "lat": 42.0893135070801, + "lng": -75.9558868408203, + "extID": "", + "shortName": "066" + }, + { + "rid": 5, + "rsid": 327741, + "id": 61, + "name": "Mohawk", + "lat": 42.0869369506836, + "lng": -75.965934753418, + "extID": "", + "shortName": "060" + }, + { + "rid": 5, + "rsid": 327743, + "id": 63, + "name": "Newing", + "lat": 42.0884552001953, + "lng": -75.9628753662109, + "extID": "", + "shortName": "062" + }, + { + "rid": 5, + "rsid": 327814, + "id": 134, + "name": "Oxford & Murray Hill", + "lat": 42.0882606506348, + "lng": -75.959098815918, + "extID": "", + "shortName": "133" + }, + { + "rid": 5, + "rsid": 327746, + "id": 66, + "name": "UCLUB", + "lat": 42.0924949645996, + "lng": -75.9538421630859, + "extID": "", + "shortName": "065" + }, + { + "rid": 5, + "rsid": 327681, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" + }, { "rid": 5, "rsid": 327749, "id": 69, "name": "Washington & Lehigh", - "lat": 42.08253479003906, - "lng": -75.95954132080078, + "lat": 42.0825347900391, + "lng": -75.9595413208008, "extID": "", "shortName": "068" }, { - "rid": 14, - "rsid": 917574, - "id": 70, - "name": "Main & Baker (OB)", - "lat": 42.11556625366211, - "lng": -75.96577453613281, + "rid": 8, + "rsid": 524400, + "id": 112, + "name": "Clearview", + "lat": 42.0890884399414, + "lng": -75.9744415283203, "extID": "", - "shortName": "069" + "shortName": "111" + }, + { + "rid": 8, + "rsid": 524352, + "id": 64, + "name": "Couper Administration", + "lat": 42.0896911621094, + "lng": -75.9657592773438, + "extID": "", + "shortName": "063" + }, + { + "rid": 8, + "rsid": 524350, + "id": 62, + "name": "Dickinson", + "lat": 42.0872459411621, + "lng": -75.9648284912109, + "extID": "", + "shortName": "061" + }, + { + "rid": 8, + "rsid": 524353, + "id": 65, + "name": "East Gym", + "lat": 42.0909729003906, + "lng": -75.9673309326172, + "extID": "", + "shortName": "064" + }, + { + "rid": 8, + "rsid": 524405, + "id": 117, + "name": "Engineering Building", + "lat": 42.0868263244629, + "lng": -75.96826171875, + "extID": "", + "shortName": "116" + }, + { + "rid": 8, + "rsid": 524402, + "id": 114, + "name": "Hillside", + "lat": 42.0871200561523, + "lng": -75.9782333374023, + "extID": "", + "shortName": "113" + }, + { + "rid": 8, + "rsid": 524404, + "id": 116, + "name": "Hinman", + "lat": 42.0883369445801, + "lng": -75.9731369018555, + "extID": "", + "shortName": "115" + }, + { + "rid": 8, + "rsid": 524349, + "id": 61, + "name": "Mohawk", + "lat": 42.0869369506836, + "lng": -75.965934753418, + "extID": "", + "shortName": "060" + }, + { + "rid": 8, + "rsid": 524403, + "id": 115, + "name": "Mountainview", + "lat": 42.0840263366699, + "lng": -75.9703369140625, + "extID": "", + "shortName": "114" + }, + { + "rid": 8, + "rsid": 524351, + "id": 63, + "name": "Newing", + "lat": 42.0884552001953, + "lng": -75.9628753662109, + "extID": "", + "shortName": "062" + }, + { + "rid": 8, + "rsid": 524399, + "id": 111, + "name": "Physical Facilities (CS)", + "lat": 42.0915908813477, + "lng": -75.9739151000977, + "extID": "", + "shortName": "110" + }, + { + "rid": 8, + "rsid": 524401, + "id": 113, + "name": "Susquehanna", + "lat": 42.0862503051758, + "lng": -75.9744262695313, + "extID": "", + "shortName": "112" + }, + { + "rid": 8, + "rsid": 524289, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" + }, + { + "rid": 8, + "rsid": 524398, + "id": 110, + "name": "West Gym", + "lat": 42.091724395752, + "lng": -75.9711837768555, + "extID": "", + "shortName": "109" + }, + { + "rid": 9, + "rsid": 589856, + "id": 32, + "name": "Academic A", + "lat": 42.0887184143066, + "lng": -75.9731826782227, + "extID": "", + "shortName": "032" + }, + { + "rid": 9, + "rsid": 589949, + "id": 125, + "name": "Barnes & Noble", + "lat": 42.0970573425293, + "lng": -76.0077590942383, + "extID": "", + "shortName": "124" + }, + { + "rid": 9, + "rsid": 589947, + "id": 123, + "name": "Burris & Rano", + "lat": 42.0915031433106, + "lng": -76.0025329589844, + "extID": "", + "shortName": "122" + }, + { + "rid": 9, + "rsid": 589943, + "id": 119, + "name": "Chuck E. Cheese", + "lat": 42.0961303710938, + "lng": -75.9792327880859, + "extID": "", + "shortName": "118" + }, + { + "rid": 9, + "rsid": 589951, + "id": 127, + "name": "Denny's (IB)", + "lat": 42.0949859619141, + "lng": -75.9754943847656, + "extID": "", + "shortName": "126" + }, + { + "rid": 9, + "rsid": 589827, + "id": 3, + "name": "Denny's (OB)", + "lat": 42.0944709777832, + "lng": -75.9753036499023, + "extID": "", + "shortName": "003" + }, + { + "rid": 9, + "rsid": 589946, + "id": 122, + "name": "Hollybrook", + "lat": 42.0917320251465, + "lng": -76.0001907348633, + "extID": "", + "shortName": "121" + }, + { + "rid": 9, + "rsid": 589885, + "id": 61, + "name": "Mohawk", + "lat": 42.0869369506836, + "lng": -75.965934753418, + "extID": "", + "shortName": "060" + }, + { + "rid": 9, + "rsid": 589952, + "id": 128, + "name": "Physical Facilities (IB)", + "lat": 42.0917854309082, + "lng": -75.9744415283203, + "extID": "", + "shortName": "127" + }, + { + "rid": 9, + "rsid": 589826, + "id": 2, + "name": "Physical Facilities (OB)", + "lat": 42.0913124084473, + "lng": -75.9737396240234, + "extID": "", + "shortName": "002" + }, + { + "rid": 9, + "rsid": 589942, + "id": 118, + "name": "Rafuse", + "lat": 42.0874557495117, + "lng": -75.9645919799805, + "extID": "", + "shortName": "117" + }, + { + "rid": 9, + "rsid": 589944, + "id": 120, + "name": "Riviera Ridge 1", + "lat": 42.0938186645508, + "lng": -75.9955215454102, + "extID": "", + "shortName": "119" + }, + { + "rid": 9, + "rsid": 589945, + "id": 121, + "name": "Riviera Ridge 2", + "lat": 42.0919227600098, + "lng": -75.9965744018555, + "extID": "", + "shortName": "120" + }, + { + "rid": 9, + "rsid": 589948, + "id": 124, + "name": "Target", + "lat": 42.0932884216309, + "lng": -76.0030288696289, + "extID": "", + "shortName": "123" + }, + { + "rid": 9, + "rsid": 589825, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" + }, + { + "rid": 9, + "rsid": 589950, + "id": 126, + "name": "Walmart", + "lat": 42.0965156555176, + "lng": -76.0124588012695, + "extID": "", + "shortName": "125" + }, + { + "rid": 10, + "rsid": 655392, + "id": 32, + "name": "Academic A", + "lat": 42.0887184143066, + "lng": -75.9731826782227, + "extID": "", + "shortName": "032" + }, + { + "rid": 10, + "rsid": 655363, + "id": 3, + "name": "Denny's (OB)", + "lat": 42.0944709777832, + "lng": -75.9753036499023, + "extID": "", + "shortName": "003" + }, + { + "rid": 10, + "rsid": 655421, + "id": 61, + "name": "Mohawk", + "lat": 42.0869369506836, + "lng": -75.965934753418, + "extID": "", + "shortName": "060" + }, + { + "rid": 10, + "rsid": 655489, + "id": 129, + "name": "Oakdale Commons", + "lat": 42.1278686523438, + "lng": -75.9751510620117, + "extID": "", + "shortName": "128" + }, + { + "rid": 10, + "rsid": 655362, + "id": 2, + "name": "Physical Facilities (OB)", + "lat": 42.0913124084473, + "lng": -75.9737396240234, + "extID": "", + "shortName": "002" + }, + { + "rid": 10, + "rsid": 655478, + "id": 118, + "name": "Rafuse", + "lat": 42.0874557495117, + "lng": -75.9645919799805, + "extID": "", + "shortName": "117" + }, + { + "rid": 10, + "rsid": 655361, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" + }, + { + "rid": 10, + "rsid": 655490, + "id": 130, + "name": "Wegman's", + "lat": 42.1232643127441, + "lng": -75.9725646972656, + "extID": "", + "shortName": "129" + }, + { + "rid": 11, + "rsid": 720928, + "id": 32, + "name": "Academic A", + "lat": 42.0887184143066, + "lng": -75.9731826782227, + "extID": "", + "shortName": "032" + }, + { + "rid": 11, + "rsid": 720957, + "id": 61, + "name": "Mohawk", + "lat": 42.0869369506836, + "lng": -75.965934753418, + "extID": "", + "shortName": "060" + }, + { + "rid": 11, + "rsid": 721014, + "id": 118, + "name": "Rafuse", + "lat": 42.0874557495117, + "lng": -75.9645919799805, + "extID": "", + "shortName": "117" + }, + { + "rid": 11, + "rsid": 721029, + "id": 133, + "name": "Stone Fox Courtyard", + "lat": 42.0972938537598, + "lng": -75.913215637207, + "extID": "", + "shortName": "132" + }, + { + "rid": 11, + "rsid": 720962, + "id": 66, + "name": "UCLUB", + "lat": 42.0924949645996, + "lng": -75.9538421630859, + "extID": "", + "shortName": "065" + }, + { + "rid": 11, + "rsid": 720897, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" + }, + { + "rid": 12, + "rsid": 786474, + "id": 42, + "name": "University Downtown Center (North)", + "lat": 42.0952110290527, + "lng": -75.9141998291016, + "extID": "", + "shortName": "042" + }, + { + "rid": 12, + "rsid": 786453, + "id": 21, + "name": "University Downtown Center (South)", + "lat": 42.0956192016602, + "lng": -75.9142837524414, + "extID": "", + "shortName": "021" + }, + { + "rid": 12, + "rsid": 786433, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" + }, + { + "rid": 13, + "rsid": 852000, + "id": 32, + "name": "Academic A", + "lat": 42.0887184143066, + "lng": -75.9731826782227, + "extID": "", + "shortName": "032" + }, + { + "rid": 13, + "rsid": 852029, + "id": 61, + "name": "Mohawk", + "lat": 42.0869369506836, + "lng": -75.965934753418, + "extID": "", + "shortName": "060" + }, + { + "rid": 13, + "rsid": 852086, + "id": 118, + "name": "Rafuse", + "lat": 42.0874557495117, + "lng": -75.9645919799805, + "extID": "", + "shortName": "117" + }, + { + "rid": 13, + "rsid": 851989, + "id": 21, + "name": "University Downtown Center (South)", + "lat": 42.0956192016602, + "lng": -75.9142837524414, + "extID": "", + "shortName": "021" + }, + { + "rid": 13, + "rsid": 851969, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" }, { "rid": 14, - "rsid": 917575, - "id": 71, - "name": "Main & Albert (OB)", - "lat": 42.11565017700195, - "lng": -75.96372985839844, + "rsid": 917507, + "id": 3, + "name": "Denny's (OB)", + "lat": 42.0944709777832, + "lng": -75.9753036499023, "extID": "", - "shortName": "070" + "shortName": "003" }, { "rid": 14, - "rsid": 917576, - "id": 72, - "name": "Main & St Charles (OB)", - "lat": 42.115699768066406, - "lng": -75.9615707397461, + "rsid": 917659, + "id": 155, + "name": "Gannett Building", + "lat": 42.1168785095215, + "lng": -75.9485626220703, "extID": "", - "shortName": "071" - }, - { - "rid": 14, - "rsid": 917577, - "id": 73, - "name": "Main & Baldwin (OB)", - "lat": 42.11576843261719, - "lng": -75.95878601074219, - "extID": "", - "shortName": "072" - }, - { - "rid": 14, - "rsid": 917578, - "id": 74, - "name": "Pharmacy School (OB)", - "lat": 42.11301803588867, - "lng": -75.95613861083984, - "extID": "", - "shortName": "073" - }, - { - "rid": 14, - "rsid": 917579, - "id": 75, - "name": "Nursing School", - "lat": 42.11314010620117, - "lng": -75.95401000976562, - "extID": "", - "shortName": "074" + "shortName": "150" }, { "rid": 14, "rsid": 917580, "id": 76, "name": "Jennison & Main (OB)", - "lat": 42.11399841308594, - "lng": -75.95271301269531, + "lat": 42.1139984130859, + "lng": -75.9527130126953, "extID": "", "shortName": "075" }, { "rid": 14, - "rsid": 917581, - "id": 77, - "name": "Main & Lester (OB)", - "lat": 42.113338470458984, - "lng": -75.95067596435547, + "rsid": 917575, + "id": 71, + "name": "Main & Albert (OB)", + "lat": 42.115650177002, + "lng": -75.9637298583984, "extID": "", - "shortName": "076" + "shortName": "070" + }, + { + "rid": 14, + "rsid": 917521, + "id": 17, + "name": "Main & Arthur (OB)", + "lat": 42.1003913879395, + "lng": -75.9249649047852, + "extID": "", + "shortName": "017" + }, + { + "rid": 14, + "rsid": 917574, + "id": 70, + "name": "Main & Baker (OB)", + "lat": 42.1155662536621, + "lng": -75.9657745361328, + "extID": "", + "shortName": "069" + }, + { + "rid": 14, + "rsid": 917577, + "id": 73, + "name": "Main & Baldwin (OB)", + "lat": 42.1157684326172, + "lng": -75.9587860107422, + "extID": "", + "shortName": "072" + }, + { + "rid": 14, + "rsid": 917520, + "id": 16, + "name": "Main & Cedar (OB)", + "lat": 42.1022415161133, + "lng": -75.9286117553711, + "extID": "", + "shortName": "016" + }, + { + "rid": 14, + "rsid": 917519, + "id": 15, + "name": "Main & Clarke (OB)", + "lat": 42.1031761169434, + "lng": -75.930305480957, + "extID": "", + "shortName": "015" + }, + { + "rid": 14, + "rsid": 917636, + "id": 132, + "name": "Main & Crestmont (OB)", + "lat": 42.1082992553711, + "lng": -75.9395065307617, + "extID": "", + "shortName": "131" }, { "rid": 14, "rsid": 917582, "id": 78, "name": "Main & Floral (OB)", - "lat": 42.11140060424805, - "lng": -75.94566345214844, + "lat": 42.1114006042481, + "lng": -75.9456634521484, "extID": "", "shortName": "077" }, + { + "rid": 14, + "rsid": 917523, + "id": 19, + "name": "Main & Front (OB)", + "lat": 42.098762512207, + "lng": -75.9179306030273, + "extID": "", + "shortName": "019" + }, + { + "rid": 14, + "rsid": 917517, + "id": 13, + "name": "Main & Helen (OB)", + "lat": 42.10693359375, + "lng": -75.9371109008789, + "extID": "", + "shortName": "013" + }, + { + "rid": 14, + "rsid": 917581, + "id": 77, + "name": "Main & Lester (OB)", + "lat": 42.113338470459, + "lng": -75.9506759643555, + "extID": "", + "shortName": "076" + }, + { + "rid": 14, + "rsid": 917516, + "id": 12, + "name": "Main & Matthews (OB)", + "lat": 42.1095199584961, + "lng": -75.9418029785156, + "extID": "", + "shortName": "012" + }, + { + "rid": 14, + "rsid": 917522, + "id": 18, + "name": "Main & Murray (OB)", + "lat": 42.0994873046875, + "lng": -75.9216384887695, + "extID": "", + "shortName": "018" + }, + { + "rid": 14, + "rsid": 917518, + "id": 14, + "name": "Main & Schiller (OB)", + "lat": 42.1053428649902, + "lng": -75.9342346191406, + "extID": "", + "shortName": "014" + }, + { + "rid": 14, + "rsid": 917576, + "id": 72, + "name": "Main & St Charles (OB)", + "lat": 42.1156997680664, + "lng": -75.9615707397461, + "extID": "", + "shortName": "071" + }, + { + "rid": 14, + "rsid": 917579, + "id": 75, + "name": "Nursing School", + "lat": 42.1131401062012, + "lng": -75.9540100097656, + "extID": "", + "shortName": "074" + }, + { + "rid": 14, + "rsid": 917578, + "id": 74, + "name": "Pharmacy School (OB)", + "lat": 42.1130180358887, + "lng": -75.9561386108398, + "extID": "", + "shortName": "073" + }, + { + "rid": 14, + "rsid": 917506, + "id": 2, + "name": "Physical Facilities (OB)", + "lat": 42.0913124084473, + "lng": -75.9737396240234, + "extID": "", + "shortName": "002" + }, + { + "rid": 14, + "rsid": 917525, + "id": 21, + "name": "University Downtown Center (South)", + "lat": 42.0956192016602, + "lng": -75.9142837524414, + "extID": "", + "shortName": "021" + }, + { + "rid": 14, + "rsid": 917505, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" + }, + { + "rid": 15, + "rsid": 983072, + "id": 32, + "name": "Academic A", + "lat": 42.0887184143066, + "lng": -75.9731826782227, + "extID": "", + "shortName": "032" + }, + { + "rid": 15, + "rsid": 983083, + "id": 43, + "name": "Court & Hawley (IB)", + "lat": 42.0988121032715, + "lng": -75.9152603149414, + "extID": "", + "shortName": "042" + }, + { + "rid": 15, + "rsid": 983195, + "id": 155, + "name": "Gannett Building", + "lat": 42.1168785095215, + "lng": -75.9485626220703, + "extID": "", + "shortName": "150" + }, + { + "rid": 15, + "rsid": 983125, + "id": 85, + "name": "Main & 1st (IB)", + "lat": 42.1157722473145, + "lng": -75.9642333984375, + "extID": "", + "shortName": "084" + }, + { + "rid": 15, + "rsid": 983123, + "id": 83, + "name": "Main & Baldwin (IB)", + "lat": 42.1159133911133, + "lng": -75.9584121704102, + "extID": "", + "shortName": "082" + }, + { + "rid": 15, + "rsid": 983087, + "id": 47, + "name": "Main & Cedar (IB)", + "lat": 42.1024131774902, + "lng": -75.9286041259766, + "extID": "", + "shortName": "046" + }, + { + "rid": 15, + "rsid": 983088, + "id": 48, + "name": "Main & Clarke (IB)", + "lat": 42.1032600402832, + "lng": -75.9301300048828, + "extID": "", + "shortName": "047" + }, + { + "rid": 15, + "rsid": 983091, + "id": 51, + "name": "Main & Crestmont (IB)", + "lat": 42.1090469360352, + "lng": -75.9406204223633, + "extID": "", + "shortName": "050" + }, { "rid": 15, "rsid": 983119, @@ -790,22 +1669,92 @@ "extID": "", "shortName": "078" }, + { + "rid": 15, + "rsid": 983084, + "id": 44, + "name": "Main & Front (IB)", + "lat": 42.0989456176758, + "lng": -75.9179763793945, + "extID": "", + "shortName": "043" + }, + { + "rid": 15, + "rsid": 983090, + "id": 50, + "name": "Main & Helen (IB)", + "lat": 42.1074371337891, + "lng": -75.9376220703125, + "extID": "", + "shortName": "049" + }, { "rid": 15, "rsid": 983120, "id": 80, "name": "Main & Lester (IB)", - "lat": 42.11345672607422, - "lng": -75.95061492919922, + "lat": 42.1134567260742, + "lng": -75.9506149291992, "extID": "", "shortName": "079" }, + { + "rid": 15, + "rsid": 983086, + "id": 46, + "name": "Main & Mather (IB)", + "lat": 42.1005592346191, + "lng": -75.9251327514648, + "extID": "", + "shortName": "045" + }, + { + "rid": 15, + "rsid": 983085, + "id": 45, + "name": "Main & Murray (IB)", + "lat": 42.0996780395508, + "lng": -75.9217681884766, + "extID": "", + "shortName": "044" + }, + { + "rid": 15, + "rsid": 983089, + "id": 49, + "name": "Main & Schiller (IB)", + "lat": 42.1051940917969, + "lng": -75.9335021972656, + "extID": "", + "shortName": "048" + }, + { + "rid": 15, + "rsid": 983124, + "id": 84, + "name": "Main & St Charles (IB)", + "lat": 42.1158065795898, + "lng": -75.9617767333984, + "extID": "", + "shortName": "083" + }, + { + "rid": 15, + "rsid": 983101, + "id": 61, + "name": "Mohawk", + "lat": 42.0869369506836, + "lng": -75.965934753418, + "extID": "", + "shortName": "060" + }, { "rid": 15, "rsid": 983121, "id": 81, "name": "Nursing School (IB)", - "lat": 42.11332702636719, + "lat": 42.1133270263672, "lng": -75.953369140625, "extID": "", "shortName": "080" @@ -815,469 +1764,319 @@ "rsid": 983122, "id": 82, "name": "Pharmacy School (IB)", - "lat": 42.11316680908203, - "lng": -75.95568084716797, + "lat": 42.113166809082, + "lng": -75.955680847168, "extID": "", "shortName": "081" }, { "rid": 15, - "rsid": 983123, - "id": 83, - "name": "Main & Baldwin (IB)", - "lat": 42.11591339111328, - "lng": -75.95841217041016, + "rsid": 983082, + "id": 42, + "name": "University Downtown Center (North)", + "lat": 42.0952110290527, + "lng": -75.9141998291016, "extID": "", - "shortName": "082" + "shortName": "042" }, { "rid": 15, - "rsid": 983124, - "id": 84, - "name": "Main & St Charles (IB)", - "lat": 42.115806579589844, - "lng": -75.96177673339844, + "rsid": 983041, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, "extID": "", - "shortName": "083" + "shortName": "001" }, { - "rid": 15, - "rsid": 983125, - "id": 85, - "name": "Main & 1st (IB)", - "lat": 42.11577224731445, - "lng": -75.9642333984375, + "rid": 16, + "rsid": 1048640, + "id": 64, + "name": "Couper Administration", + "lat": 42.0896911621094, + "lng": -75.9657592773438, "extID": "", - "shortName": "084" + "shortName": "063" + }, + { + "rid": 16, + "rsid": 1048641, + "id": 65, + "name": "East Gym", + "lat": 42.0909729003906, + "lng": -75.9673309326172, + "extID": "", + "shortName": "064" + }, + { + "rid": 16, + "rsid": 1048644, + "id": 68, + "name": "Hayes", + "lat": 42.0882949829102, + "lng": -75.9564208984375, + "extID": "", + "shortName": "067" }, { "rid": 16, "rsid": 1048685, "id": 109, "name": "Innovative Technology Center", - "lat": 42.093360900878906, - "lng": -75.95882415771484, + "lat": 42.0933609008789, + "lng": -75.9588241577148, "extID": "", "shortName": "108" }, { - "rid": 8, - "rsid": 524398, - "id": 110, - "name": "West Gym", - "lat": 42.09172439575195, - "lng": -75.97118377685547, + "rid": 16, + "rsid": 1048643, + "id": 67, + "name": "Meadows", + "lat": 42.0893135070801, + "lng": -75.9558868408203, "extID": "", - "shortName": "109" + "shortName": "066" }, { - "rid": 8, - "rsid": 524399, - "id": 111, - "name": "Physical Facilities (CS)", - "lat": 42.091590881347656, - "lng": -75.97391510009766, + "rid": 16, + "rsid": 1048637, + "id": 61, + "name": "Mohawk", + "lat": 42.0869369506836, + "lng": -75.965934753418, "extID": "", - "shortName": "110" + "shortName": "060" }, { - "rid": 8, - "rsid": 524400, - "id": 112, - "name": "Clearview", - "lat": 42.089088439941406, - "lng": -75.97444152832031, + "rid": 16, + "rsid": 1048639, + "id": 63, + "name": "Newing", + "lat": 42.0884552001953, + "lng": -75.9628753662109, "extID": "", - "shortName": "111" + "shortName": "062" }, { - "rid": 8, - "rsid": 524401, - "id": 113, - "name": "Susquehanna", - "lat": 42.08625030517578, - "lng": -75.97442626953125, - "extID": "", - "shortName": "112" - }, - { - "rid": 8, - "rsid": 524402, - "id": 114, - "name": "Hillside", - "lat": 42.087120056152344, - "lng": -75.97823333740234, - "extID": "", - "shortName": "113" - }, - { - "rid": 8, - "rsid": 524403, - "id": 115, - "name": "Mountainview", - "lat": 42.08402633666992, - "lng": -75.9703369140625, - "extID": "", - "shortName": "114" - }, - { - "rid": 8, - "rsid": 524404, - "id": 116, - "name": "Hinman", - "lat": 42.08833694458008, - "lng": -75.97313690185547, - "extID": "", - "shortName": "115" - }, - { - "rid": 8, - "rsid": 524405, - "id": 117, - "name": "Engineering Building", - "lat": 42.08682632446289, - "lng": -75.96826171875, - "extID": "", - "shortName": "116" - }, - { - "rid": 2, - "rsid": 131190, - "id": 118, - "name": "Rafuse", - "lat": 42.08745574951172, - "lng": -75.96459197998047, - "extID": "", - "shortName": "117" - }, - { - "rid": 9, - "rsid": 589943, - "id": 119, - "name": "Chuck E. Cheese", - "lat": 42.09613037109375, - "lng": -75.97923278808594, - "extID": "", - "shortName": "118" - }, - { - "rid": 9, - "rsid": 589944, - "id": 120, - "name": "Riviera Ridge 1", - "lat": 42.09381866455078, - "lng": -75.99552154541016, - "extID": "", - "shortName": "119" - }, - { - "rid": 9, - "rsid": 589945, - "id": 121, - "name": "Riviera Ridge 2", - "lat": 42.091922760009766, - "lng": -75.99657440185547, - "extID": "", - "shortName": "120" - }, - { - "rid": 9, - "rsid": 589946, - "id": 122, - "name": "Hollybrook", - "lat": 42.091732025146484, - "lng": -76.00019073486328, - "extID": "", - "shortName": "121" - }, - { - "rid": 9, - "rsid": 589947, - "id": 123, - "name": "Burris & Rano", - "lat": 42.09150314331055, - "lng": -76.00253295898438, - "extID": "", - "shortName": "122" - }, - { - "rid": 9, - "rsid": 589948, - "id": 124, - "name": "Target", - "lat": 42.09328842163086, - "lng": -76.0030288696289, - "extID": "", - "shortName": "123" - }, - { - "rid": 9, - "rsid": 589949, - "id": 125, - "name": "Barnes & Noble", - "lat": 42.0970573425293, - "lng": -76.00775909423828, - "extID": "", - "shortName": "124" - }, - { - "rid": 9, - "rsid": 589950, - "id": 126, - "name": "Walmart", - "lat": 42.09651565551758, - "lng": -76.01245880126953, - "extID": "", - "shortName": "125" - }, - { - "rid": 9, - "rsid": 589951, - "id": 127, - "name": "Denny's (IB)", - "lat": 42.09498596191406, - "lng": -75.97549438476562, - "extID": "", - "shortName": "126" - }, - { - "rid": 9, - "rsid": 589952, - "id": 128, - "name": "Physical Facilities (IB)", - "lat": 42.0917854309082, - "lng": -75.97444152832031, - "extID": "", - "shortName": "127" - }, - { - "rid": 10, - "rsid": 655489, - "id": 129, - "name": "Oakdale Commons", - "lat": 42.12786865234375, - "lng": -75.97515106201172, - "extID": "", - "shortName": "128" - }, - { - "rid": 10, - "rsid": 655490, - "id": 130, - "name": "Wegman's", - "lat": 42.12326431274414, - "lng": -75.97256469726562, - "extID": "", - "shortName": "129" - }, - { - "rid": 1, - "rsid": 65668, - "id": 132, - "name": "Main & Crestmont (OB)", - "lat": 42.108299255371094, - "lng": -75.93950653076172, - "extID": "", - "shortName": "131" - }, - { - "rid": 11, - "rsid": 721029, - "id": 133, - "name": "Stone Fox Courtyard", - "lat": 42.097293853759766, - "lng": -75.91321563720703, - "extID": "", - "shortName": "132" - }, - { - "rid": 5, - "rsid": 327814, + "rid": 16, + "rsid": 1048710, "id": 134, "name": "Oxford & Murray Hill", - "lat": 42.088260650634766, - "lng": -75.95909881591797, + "lat": 42.0882606506348, + "lng": -75.959098815918, "extID": "", "shortName": "133" }, { - "rid": 17, - "rsid": 1114248, - "id": 136, - "name": "Vestal Ave & Larchmont", - "lat": 42.08918762207031, - "lng": -75.94165802001953, + "rid": 16, + "rsid": 1048642, + "id": 66, + "name": "UCLUB", + "lat": 42.0924949645996, + "lng": -75.9538421630859, "extID": "", - "shortName": "135" + "shortName": "065" }, { - "rid": 17, - "rsid": 1114249, - "id": 137, - "name": "Vestal Ave & Hawthorne", - "lat": 42.08607864379883, - "lng": -75.93323516845703, + "rid": 16, + "rsid": 1048645, + "id": 69, + "name": "Washington & Lehigh", + "lat": 42.0825347900391, + "lng": -75.9595413208008, "extID": "", - "shortName": "136" - }, - { - "rid": 17, - "rsid": 1114250, - "id": 138, - "name": "Vestal Ave & Brookfield", - "lat": 42.085731506347656, - "lng": -75.921875, - "extID": "", - "shortName": "137" - }, - { - "rid": 17, - "rsid": 1114251, - "id": 139, - "name": "Vestal Ave & Rush Ave", - "lat": 42.087188720703125, - "lng": -75.91852569580078, - "extID": "", - "shortName": "138" - }, - { - "rid": 17, - "rsid": 1114252, - "id": 140, - "name": "Conklin Ave & S Washington St", - "lat": 42.09130096435547, - "lng": -75.91448211669922, - "extID": "", - "shortName": "139" - }, - { - "rid": 17, - "rsid": 1114253, - "id": 141, - "name": "Conklin Ave & Tremont Ave", - "lat": 42.09245300292969, - "lng": -75.91007995605469, - "extID": "", - "shortName": "139" - }, - { - "rid": 17, - "rsid": 1114254, - "id": 142, - "name": "Conklin Ave & Livingston St", - "lat": 42.09266662597656, - "lng": -75.90860748291016, - "extID": "", - "shortName": "140" - }, - { - "rid": 17, - "rsid": 1114255, - "id": 143, - "name": "Park Diner East", - "lat": 42.092899322509766, - "lng": -75.90503692626953, - "extID": "", - "shortName": "141" - }, - { - "rid": 17, - "rsid": 1114256, - "id": 144, - "name": "Conklin Ave & Telegraph St", - "lat": 42.09360885620117, - "lng": -75.90187072753906, - "extID": "", - "shortName": "142" - }, - { - "rid": 17, - "rsid": 1114257, - "id": 145, - "name": "Conklin Ave & Alfred St", - "lat": 42.094242095947266, - "lng": -75.89786529541016, - "extID": "", - "shortName": "143" - }, - { - "rid": 17, - "rsid": 1114258, - "id": 146, - "name": "Tompkins St & Conklin Ave", - "lat": 42.095333099365234, - "lng": -75.8938217163086, - "extID": "", - "shortName": "144" - }, - { - "rid": 17, - "rsid": 1114259, - "id": 147, - "name": "Tomkins St & Jackson St", - "lat": 42.09783935546875, - "lng": -75.89498901367188, - "extID": "", - "shortName": "145" - }, - { - "rid": 17, - "rsid": 1114260, - "id": 148, - "name": "Conklin Ave & Webster St", - "lat": 42.09913635253906, - "lng": -75.89558410644531, - "extID": "", - "shortName": "146" - }, - { - "rid": 17, - "rsid": 1114262, - "id": 150, - "name": "Henry St & Mirabito Stadium", - "lat": 42.10194396972656, - "lng": -75.90596008300781, - "extID": "", - "shortName": "148" + "shortName": "068" }, { "rid": 17, "rsid": 1114263, "id": 151, "name": "BC Junction", - "lat": 42.10071563720703, - "lng": -75.91081237792969, + "lat": 42.100715637207, + "lng": -75.9108123779297, "extID": "", "shortName": "146" }, { "rid": 17, - "rsid": 1114265, - "id": 153, - "name": "State St & Court St", - "lat": 42.098846435546875, - "lng": -75.91255950927734, + "rsid": 1114257, + "id": 145, + "name": "Conklin Ave & Alfred St", + "lat": 42.0942420959473, + "lng": -75.8978652954102, "extID": "", - "shortName": "148" + "shortName": "143" + }, + { + "rid": 17, + "rsid": 1114254, + "id": 142, + "name": "Conklin Ave & Livingston St", + "lat": 42.0926666259766, + "lng": -75.9086074829102, + "extID": "", + "shortName": "140" + }, + { + "rid": 17, + "rsid": 1114252, + "id": 140, + "name": "Conklin Ave & S Washington St", + "lat": 42.0913009643555, + "lng": -75.9144821166992, + "extID": "", + "shortName": "139" + }, + { + "rid": 17, + "rsid": 1114256, + "id": 144, + "name": "Conklin Ave & Telegraph St", + "lat": 42.0936088562012, + "lng": -75.9018707275391, + "extID": "", + "shortName": "142" + }, + { + "rid": 17, + "rsid": 1114253, + "id": 141, + "name": "Conklin Ave & Tremont Ave", + "lat": 42.0924530029297, + "lng": -75.9100799560547, + "extID": "", + "shortName": "139" + }, + { + "rid": 17, + "rsid": 1114260, + "id": 148, + "name": "Conklin Ave & Webster St", + "lat": 42.0991363525391, + "lng": -75.8955841064453, + "extID": "", + "shortName": "146" }, { "rid": 17, "rsid": 1114266, "id": 154, "name": "Henry St & Liberty St", - "lat": 42.10347366333008, - "lng": -75.89970397949219, + "lat": 42.1034736633301, + "lng": -75.8997039794922, "extID": "", "shortName": "149" }, { - "rid": 14, - "rsid": 917659, - "id": 155, - "name": "Gannett Building", - "lat": 42.116878509521484, - "lng": -75.94856262207031, + "rid": 17, + "rsid": 1114262, + "id": 150, + "name": "Henry St & Mirabito Stadium", + "lat": 42.1019439697266, + "lng": -75.9059600830078, "extID": "", - "shortName": "150" + "shortName": "148" + }, + { + "rid": 17, + "rsid": 1114255, + "id": 143, + "name": "Park Diner East", + "lat": 42.0928993225098, + "lng": -75.9050369262695, + "extID": "", + "shortName": "141" + }, + { + "rid": 17, + "rsid": 1114265, + "id": 153, + "name": "State St & Court St", + "lat": 42.0988464355469, + "lng": -75.9125595092773, + "extID": "", + "shortName": "148" + }, + { + "rid": 17, + "rsid": 1114259, + "id": 147, + "name": "Tomkins St & Jackson St", + "lat": 42.0978393554688, + "lng": -75.8949890136719, + "extID": "", + "shortName": "145" + }, + { + "rid": 17, + "rsid": 1114258, + "id": 146, + "name": "Tompkins St & Conklin Ave", + "lat": 42.0953330993652, + "lng": -75.8938217163086, + "extID": "", + "shortName": "144" + }, + { + "rid": 17, + "rsid": 1114133, + "id": 21, + "name": "University Downtown Center (South)", + "lat": 42.0956192016602, + "lng": -75.9142837524414, + "extID": "", + "shortName": "021" + }, + { + "rid": 17, + "rsid": 1114113, + "id": 1, + "name": "University Union", + "lat": 42.0870208740234, + "lng": -75.9670791625977, + "extID": "", + "shortName": "001" + }, + { + "rid": 17, + "rsid": 1114250, + "id": 138, + "name": "Vestal Ave & Brookfield", + "lat": 42.0857315063477, + "lng": -75.921875, + "extID": "", + "shortName": "137" + }, + { + "rid": 17, + "rsid": 1114249, + "id": 137, + "name": "Vestal Ave & Hawthorne", + "lat": 42.0860786437988, + "lng": -75.933235168457, + "extID": "", + "shortName": "136" + }, + { + "rid": 17, + "rsid": 1114248, + "id": 136, + "name": "Vestal Ave & Larchmont", + "lat": 42.0891876220703, + "lng": -75.9416580200195, + "extID": "", + "shortName": "135" + }, + { + "rid": 17, + "rsid": 1114251, + "id": 139, + "name": "Vestal Ave & Rush Ave", + "lat": 42.0871887207031, + "lng": -75.9185256958008, + "extID": "", + "shortName": "138" } ] diff --git a/src/server/index.ts b/src/server/index.ts index 7110826..965798b 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -78,7 +78,7 @@ router.get( "/stops", async (_ctx) => { try { - const bytes = await Deno.readFile(`bct_stops.json`); + const bytes = await Deno.readFile(`GET_STOPS.json`); const headers = new Headers(); json_mime_add(headers); cors_add(headers); diff --git a/src/shared/.gitignore b/src/shared/.gitignore new file mode 100644 index 0000000..82cc80f --- /dev/null +++ b/src/shared/.gitignore @@ -0,0 +1,4 @@ +# https://dart.dev/guides/libraries/private-files +# Created by `dart pub` +.dart_tool/ +pubspec.lock diff --git a/src/shared/CHANGELOG.md b/src/shared/CHANGELOG.md new file mode 100644 index 0000000..effe43c --- /dev/null +++ b/src/shared/CHANGELOG.md @@ -0,0 +1,3 @@ +## 1.0.0 + +- Initial version. diff --git a/src/shared/README.md b/src/shared/README.md new file mode 100644 index 0000000..3816eca --- /dev/null +++ b/src/shared/README.md @@ -0,0 +1,2 @@ +A sample command-line application with an entrypoint in `bin/`, library code +in `lib/`, and example unit test in `test/`. diff --git a/src/shared/analysis_options.yaml b/src/shared/analysis_options.yaml new file mode 100644 index 0000000..0abb6fe --- /dev/null +++ b/src/shared/analysis_options.yaml @@ -0,0 +1,52 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. See the following for docs: +# https://dart.dev/guides/language/analysis-options +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. +include: package:very_good_analysis/analysis_options.yaml # has more lints + +analyzer: + language: + # Strict casts isn't helpful with null safety. It only notifies you on `dynamic`, + # which happens all the time in JSON. + # + # See https://github.com/dart-lang/language/blob/main/resources/type-system/strict-casts.md + strict-casts: false + + # Don't let any types be inferred as `dynamic`. + # + # See https://github.com/dart-lang/language/blob/main/resources/type-system/strict-inference.md + strict-inference: true + + # Don't let Dart infer the wrong type on the left side of an assignment. + # + # See https://github.com/dart-lang/language/blob/main/resources/type-system/strict-raw-types.md + strict-raw-types: true + + exclude: + - lib/generated/**.dart + - test/**.dart + - example/**.dart + +linter: + rules: + # Rules NOT in package:very_good_analysis + prefer_double_quotes: true + prefer_expression_function_bodies: true + + # Rules to be disabled from package:very_good_analysis + prefer_single_quotes: false # prefer_double_quotes + lines_longer_than_80_chars: false # lines should be at most 100 chars + sort_pub_dependencies: false # Sort dependencies by function + use_key_in_widget_constructors: false # not in Flutter apps + directives_ordering: false # sort dart, then flutter, then package imports + always_use_package_imports: false # not when importing sibling files + sort_constructors_first: false # final properties, then constructor + avoid_dynamic_calls: false # this lint takes over errors in the IDE + one_member_abstracts: false # abstract classes are good for interfaces + cascade_invocations: false # cascades are often harder to read + + # Temporarily disabled until we are ready to document + public_member_api_docs: false diff --git a/src/shared/bin/data.dart b/src/shared/bin/data.dart new file mode 100644 index 0000000..31f471f --- /dev/null +++ b/src/shared/bin/data.dart @@ -0,0 +1,6 @@ +import "package:shared/generator.dart"; + +void main() async { + final stops = StopGenerator(); + await stops.generate(); +} diff --git a/src/shared/lib/data.dart b/src/shared/lib/data.dart new file mode 100644 index 0000000..5b770b7 --- /dev/null +++ b/src/shared/lib/data.dart @@ -0,0 +1,2 @@ +export "src/utils.dart"; +export "src/stops/stop.dart"; diff --git a/src/shared/lib/generator.dart b/src/shared/lib/generator.dart new file mode 100644 index 0000000..af390ab --- /dev/null +++ b/src/shared/lib/generator.dart @@ -0,0 +1,2 @@ +export "src/generator_utils.dart"; +export "src/stops/generator.dart"; diff --git a/src/shared/lib/shared.dart b/src/shared/lib/shared.dart new file mode 100644 index 0000000..26d4c09 --- /dev/null +++ b/src/shared/lib/shared.dart @@ -0,0 +1,2 @@ +export "src/stops/stop.dart"; +export "src/utils.dart"; diff --git a/src/shared/lib/src/generator_utils.dart b/src/shared/lib/src/generator_utils.dart new file mode 100644 index 0000000..7bd1a92 --- /dev/null +++ b/src/shared/lib/src/generator_utils.dart @@ -0,0 +1,56 @@ +import "dart:convert"; +import "dart:io"; + +import "package:csv/csv.dart"; +import "package:shared/data.dart"; +export "package:shared/data.dart"; + +extension type TripID(String id) { + TripID.fromJson(dynamic value) : id = value.toString(); +} + +extension type RouteID(String id) { + RouteID.fromJson(dynamic value) : id = value.toString(); +} + +typedef CsvRow = List; + +extension DirectoryUtils on Directory { + String operator /(String child) => "$path/$child"; +} + +extension MapListUtils on Map> { + void addToList(K key, V value) { + this[key] ??= []; + this[key]!.add(value); + } +} + +extension MapSetUtils on Map> { + void addToSet(K key, V value) { + this[key] ??= {}; + this[key]!.add(value); + } +} + +abstract class Parser { + Future> parse(); +} + +final csvConverter = CsvCodec(shouldParseNumbers: false).decoder; +Future> readCsv(File file) async { + final contents = await file.readAsString(); + final csv = csvConverter.convert(contents); + return csv.skip(1).map((row) => row.cast()); +} + +Future> readJson(File file) async { + final contents = await file.readAsString(); + final json = jsonDecode(contents); + return (json as List).cast(); +} + +final serverDir = Directory("../server"); +final _dataDir = Directory(serverDir / "data"); +final occtDataDir = Directory(_dataDir / "OCCT"); +final bcDataDir = Directory(_dataDir / "BCT"); diff --git a/src/shared/lib/src/stops/bc.dart b/src/shared/lib/src/stops/bc.dart new file mode 100644 index 0000000..59af98f --- /dev/null +++ b/src/shared/lib/src/stops/bc.dart @@ -0,0 +1,78 @@ +import "dart:io"; + +import "package:csv/csv.dart"; + +import "../generator_utils.dart"; + +class BcStopParser extends Parser { + static final tripsFile = File(bcDataDir / "stop_times.txt"); + static final routesFile = File(bcDataDir / "trips.txt"); + static final stopsFile = File(bcDataDir / "stops.txt"); + static final routeNamesFile = File(bcDataDir / "routes.txt"); + + static final converter = CsvCodec(shouldParseNumbers: false).decoder; + + Future>> getTrips() async { + final result = >{}; + for (final row in await readCsv(tripsFile)) { + result.addToSet(TripID(row[0]), StopID(row[3])); + } + return result; + } + + Future> getRoutes() async => { + for (final row in await readCsv(routesFile)) + TripID(row[2]): RouteID(row[0]), + }; + + Future> getRouteNames() async => { + for (final row in await readCsv(routeNamesFile)) + RouteID(row[0]): row[3], + }; + + Future> getStops() async { + final result = {}; + for (final row in await readCsv(stopsFile)) { + final stopID = StopID(row[0]); + final name = row[2]; + final description = row[3]; + final latitude = double.parse(row[4]); + final longitude = double.parse(row[5]); + final stop = Stop( + id: stopID, + name: name, + description: description, + coordinates: (lat: latitude, long: longitude), + provider: "BC Transit", + ); + result[stopID] = stop; + } + return result; + } + + void findRoutesForStops({ + required Iterable stops, + required Map> trips, + required Map routes, + required Map routeNames, + }) { + for (final stop in stops) { + for (final (tripID, trip) in trips.records) { + if (!trip.contains(stop.id)) continue; + final routeID = routes[tripID]!; + final routeName = routeNames[routeID]!; + stop.routes.add(routeName); + } + } + } + + @override + Future> parse() async { + final trips = await getTrips(); + final routes = await getRoutes(); + final stops = await getStops(); + final routeNames = await getRouteNames(); + findRoutesForStops(stops: stops.values, trips: trips, routes: routes, routeNames: routeNames); + return stops.values; + } +} diff --git a/src/shared/lib/src/stops/generator.dart b/src/shared/lib/src/stops/generator.dart new file mode 100644 index 0000000..1240b46 --- /dev/null +++ b/src/shared/lib/src/stops/generator.dart @@ -0,0 +1,28 @@ +import "dart:convert"; +import "dart:io"; + +import "../generator_utils.dart"; + +import "bc.dart"; +import "occt.dart"; + +class StopGenerator { + static final serverDir = Directory("../server"); + static final outputFile = File(serverDir / "GET_STOPS.json"); + + final Parser bc = BcStopParser(); + final Parser occt = OcctStopParser(); + + Future generate() async { + final bcStops = await bc.parse(); + final occtStops = await occt.parse(); + final stops = [...bcStops, ...occtStops]; + final result = [ + for (final stop in stops) + stop.toJson(), + ]; + const encoder = JsonEncoder.withIndent(" "); + final contents = encoder.convert(result); + await outputFile.writeAsString(contents); + } +} diff --git a/src/shared/lib/src/stops/occt.dart b/src/shared/lib/src/stops/occt.dart new file mode 100644 index 0000000..eaf3bb0 --- /dev/null +++ b/src/shared/lib/src/stops/occt.dart @@ -0,0 +1,51 @@ +import "dart:io"; + +import "../generator_utils.dart"; + +class OcctStopParser extends Parser { + /// Taken from: https://binghamtonupublic.etaspot.net/service.php?service=get_stops&token=TESTING + static final stopsFile = File(occtDataDir / "stops.json"); + + /// Taken from: https://binghamtonupublic.etaspot.net/service.php?service=get_routes&token=TESTING + static final routesFile = File(occtDataDir / "routes.json"); + + Future> getStops() async { + final result = {}; + for (final stopJson in await readJson(stopsFile)) { + final id = StopID.fromJson(stopJson["id"]); + result[id] ??= Stop.fromOcctJson(stopJson); + } + return result; + } + + Future>> getRoutes() async { + final result = >{}; + for (final json in await readJson(stopsFile)) { + final stopID = StopID.fromJson(json["id"]); + final routeID = RouteID.fromJson(json["rid"]); + result.addToList(stopID, routeID); + } + return result; + } + + Future> getRouteNames() async => { + for (final json in await readJson(routesFile)) + RouteID.fromJson(json["id"]): json["name"], + }; + + @override + Future> parse() async { + final stops = await getStops(); + final routes = await getRoutes(); + final routeNames = await getRouteNames(); + final routesToSkip = {RouteID("11")}; // no longer used + for (final (stopID, stop) in stops.records) { + for (final routeID in routes[stopID]!) { + if (routesToSkip.contains(routeID)) continue; + final routeName = routeNames[routeID]!; + stop.routes.add(routeName); + } + } + return stops.values; + } +} diff --git a/src/shared/lib/src/stops/stop.dart b/src/shared/lib/src/stops/stop.dart new file mode 100644 index 0000000..b1a823f --- /dev/null +++ b/src/shared/lib/src/stops/stop.dart @@ -0,0 +1,60 @@ +import "../utils.dart"; + +extension type StopID(String id) { + StopID.fromJson(dynamic value) : id = value.toString(); +} + +class Stop { + final StopID id; + final String name; + final String? description; + final Coordinates coordinates; + final String provider; + final Set routes; + + Stop({ + required this.id, + required this.name, + required this.description, + required this.coordinates, + required this.provider, + }) : routes = {}; + + Stop.fromJson(Json json) : + id = StopID(json["id"]), + name = json["name"], + description = json["description"], + coordinates = (lat: json["latitude"], long: json["longitude"]), + provider = json["provider"], + routes = (json["routes"] as List).cast().toSet(); + + Stop.fromOcctJson(Json json) : + id = StopID.fromJson(json["id"]), + name = json["name"], + description = null, + coordinates = (lat: json["lat"], long: json["lng"]), + provider = "OCCT", + routes = {}; + + Map toJson() => { + "id": id.id, + "name": name, + "description": description, + "latitude": coordinates.lat, + "longitude": coordinates.long, + "provider": provider, + "routes": routes.toList(), + }; + + String get summary { + final buffer = StringBuffer(); + if (description != null) { + buffer.writeln(description); + } + if (routes.isNotEmpty) { + buffer.writeln("Routes:"); + routes.forEach(buffer.writeln); + } + return buffer.toString(); + } +} diff --git a/src/shared/lib/src/utils.dart b/src/shared/lib/src/utils.dart new file mode 100644 index 0000000..9734124 --- /dev/null +++ b/src/shared/lib/src/utils.dart @@ -0,0 +1,30 @@ +/// A JSON object +typedef Json = Map; + +typedef FromJson = T Function(Json); + +typedef Coordinates = ({double lat, double long}); + +/// Utils on [Map]. +extension MapUtils on Map { + /// Gets all the keys and values as 2-element records. + Iterable<(K, V)> get records => entries.map((entry) => (entry.key, entry.value)); +} + +/// Zips two lists, like Python +Iterable<(E1, E2)> zip(List list1, List list2) sync* { + if (list1.length != list2.length) throw ArgumentError("Trying to zip lists of different lengths"); + for (var index = 0; index < list1.length; index++) { + yield (list1[index], list2[index]); + } +} + +/// Extensions on lists +extension ListUtils on List { + /// Iterates over a pair of indexes and elements, like Python + Iterable<(int, E)> get enumerate sync* { + for (var i = 0; i < length; i++) { + yield (i, this[i]); + } + } +} diff --git a/src/shared/pubspec.yaml b/src/shared/pubspec.yaml new file mode 100644 index 0000000..f795b04 --- /dev/null +++ b/src/shared/pubspec.yaml @@ -0,0 +1,17 @@ +name: shared +description: A sample command-line application. +version: 1.0.0 +# repository: https://github.com/my_org/my_repo + +environment: + sdk: ^3.7.0 + +# Add regular dependencies here. +dependencies: + csv: ^6.0.0 + # path: ^1.8.0 + +dev_dependencies: + lints: ^5.0.0 + test: ^1.24.0 + very_good_analysis: ^7.0.0