Alot of changes
This commit is contained in:
@@ -7,7 +7,7 @@ import 'package:bus_infotainment/backend/live_information.dart';
|
||||
import 'package:bus_infotainment/backend/modules/info_module.dart';
|
||||
import 'package:bus_infotainment/utils/NameBeautify.dart';
|
||||
import 'package:bus_infotainment/utils/OrdinanceSurveyUtils.dart';
|
||||
import 'package:csv/csv.dart';
|
||||
import 'package:fast_csv/csv_converter.dart';
|
||||
import 'package:vector_math/vector_math.dart';
|
||||
|
||||
class BusSequences extends InfoModule {
|
||||
@@ -19,13 +19,16 @@ class BusSequences extends InfoModule {
|
||||
BusSequences.fromCSV(String destinationsCSV, String busSequencesCSV) {
|
||||
|
||||
// Init the bus destinations
|
||||
List<List<dynamic>> destinationRows = const CsvToListConverter().convert(destinationsCSV);
|
||||
List<List<String>> destinationRows = CsvConverter().convert(destinationsCSV);
|
||||
destinationRows.removeAt(0);
|
||||
|
||||
print("Destination rows: ${destinationRows.length}");
|
||||
|
||||
for (int i = 0; i < destinationRows.length; i++) {
|
||||
try {
|
||||
|
||||
List<dynamic> entries = destinationRows[i];
|
||||
// print("Parsing destination row $i: $entries");
|
||||
|
||||
String routeNumber = entries[0].toString();
|
||||
|
||||
@@ -50,9 +53,11 @@ class BusSequences extends InfoModule {
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
print("Loaded ${destinations.length} destinations");
|
||||
|
||||
// Init the bus routes
|
||||
|
||||
List<List<dynamic>> busSequenceRows = const CsvToListConverter().convert(busSequencesCSV);
|
||||
List<List<dynamic>> busSequenceRows = CsvConverter().convert(busSequencesCSV);
|
||||
busSequenceRows.removeAt(0);
|
||||
|
||||
for (int i = 0; i < busSequenceRows.length; i++) {
|
||||
@@ -61,20 +66,21 @@ class BusSequences extends InfoModule {
|
||||
{
|
||||
|
||||
List<dynamic> entries = busSequenceRows[i];
|
||||
// print("Parsing bus sequence row $i: $entries");
|
||||
|
||||
String routeNumber = entries[0].toString();
|
||||
|
||||
BusRoute route = routes.containsKey(routeNumber) ? routes[routeNumber]! : BusRoute(routeNumber: routeNumber);
|
||||
|
||||
int routeVariant = entries[1];
|
||||
int routeVariant = int.parse(entries[1]);
|
||||
|
||||
BusRouteStop stop = BusRouteStop();
|
||||
|
||||
stop.stopName = entries[6].toString();
|
||||
stop.stopCode = entries[4].toString();
|
||||
stop.easting = entries[7];
|
||||
stop.northing = entries[8];
|
||||
stop.heading = entries[9] != "" ? entries[9] : -1;
|
||||
stop.easting = int.parse(entries[7]);
|
||||
stop.northing = int.parse(entries[8]);
|
||||
stop.heading = int.parse(entries[9] != "" ? entries[9] : "-1");
|
||||
|
||||
BusRouteVariant variant = route.routeVariants.containsKey(routeVariant) ? route.routeVariants[routeVariant]! : BusRouteVariant(routeVariant: routeVariant, busRoute: route);
|
||||
|
||||
@@ -90,6 +96,8 @@ class BusSequences extends InfoModule {
|
||||
}
|
||||
}
|
||||
|
||||
print("Loaded ${routes.length} routes");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -164,6 +172,9 @@ class BusRouteVariant {
|
||||
|
||||
}
|
||||
|
||||
print("Nearest destination A: $nearestDestinationA, distance: $nearestDistanceA");
|
||||
print("Nearest destination B: $nearestDestinationB, distance: $nearestDistanceB");
|
||||
|
||||
// Choose the nearest destination
|
||||
if (nearestDistanceA < nearestDistanceB) {
|
||||
_destination = nearestDestinationA;
|
||||
@@ -172,8 +183,14 @@ class BusRouteVariant {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return _destination;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'BusRouteVariant{routeVariant: $routeVariant, busRoute: ${busRoute.routeNumber}, busStops: ${busStops.length}, destinations: ${busRoute.destinations.length}}';
|
||||
}
|
||||
}
|
||||
|
||||
class BusRouteStop {
|
||||
|
||||
Reference in New Issue
Block a user