From 9739360fc19c793b5b64c5651ea58e55b9474d4b Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Fri, 21 Jun 2019 11:25:55 +0000 Subject: [PATCH] Make numToType return values for unknown vehicles --- parse.php | 33 +++++++++++++++++++++++++++++++-- 1 files changed, 31 insertions(+), 2 deletions(-) diff --git a/parse.php b/parse.php index 94a59d9..b517ae2 100644 --- a/parse.php +++ b/parse.php @@ -9,10 +9,29 @@ 'bus' => [ 'gtfsrt' => 'ftp://ztp.krakow.pl/VehiclePositions_A.pb', 'gtfsrt_file' => 'VehiclePositions_A.pb', - 'ttss' => 'http://91.223.13.70/internetservice/geoserviceDispatcher/services/vehicleinfo/vehicles', + 'ttss' => 'http://ttss.mpk.krakow.pl/internetservice/geoserviceDispatcher/services/vehicleinfo/vehicles', 'ttss_file' => 'vehicles_A.json', 'database' => 'mapping_A.sqlite3', 'result' => 'mapping_A.json', + 'mapper' => 'numToTypeB', + ], + 'tram' => [ + 'gtfsrt' => 'ftp://ztp.krakow.pl/VehiclePositions_T.pb', + 'gtfsrt_file' => 'VehiclePositions_T.pb', + 'ttss' => 'http://www.ttss.krakow.pl/internetservice/geoserviceDispatcher/services/vehicleinfo/vehicles', + 'ttss_file' => 'vehicles_T.json', + 'database' => 'mapping_T.sqlite3', + 'result' => 'mapping_T.json', + 'mapper' => 'numToTypeT', + ], + 'tram2' => [ + 'gtfsrt' => 'ftp://ztp.krakow.pl/VehiclePositions.pb', + 'gtfsrt_file' => 'VehiclePositions_T.pb', + 'ttss' => 'http://www.ttss.krakow.pl/internetservice/geoserviceDispatcher/services/vehicleinfo/vehicles', + 'ttss_file' => 'vehicles_T.json', + 'database' => 'mapping_T.sqlite3', + 'result' => 'mapping_T.json', + 'mapper' => 'numToTypeT', ], ]; @@ -36,8 +55,18 @@ $logger->info('Loading data...'); $mapper = new Mapper(); + $mapper->loadTTSS($source['ttss_file']); + $timeDifference = time() - $mapper->getTTSSDate(); + if(abs($timeDifference) > 120) { + throw new Exception('TTSS timestamp difference ('.$timeDifference.'s) is too high, aborting!'); + } + $mapper->loadGTFSRT($source['gtfsrt_file']); + $timeDifference = time() - $mapper->getGTFSRTDate(); + if(abs($timeDifference) > 120) { + throw new Exception('GTFSRT timestamp difference ('.$timeDifference.'s) is too high, aborting!'); + } $db = new Database($source['database']); @@ -48,7 +77,7 @@ } $logger->info('Got offset '.$offset.', creating mapping...'); - $mapping = $mapper->mapUsingOffset($offset); + $mapping = $mapper->mapUsingOffset($offset, $source['mapper']); $logger->info('Checking the data for correctness...'); $weight = count($mapping); -- Gitblit v1.9.1