OneBusAway GtfsReader.setAgencies() делает прямо противоположное ожидаемому.
Чего мы хотим достичь:
Нам нужно разобрать файлы GTFS, но нас интересуют только несколько агентств внутри этого файла GTFS. Поскольку анализ файла GTFS занимает довольно много времени (в зависимости от того, сколько агентств/маршрутов/поездок включено в этот файл GTFS), было бы очень полезно указать, какие агентства нас интересуют, прежде чем анализировать весь файл.
Что мы пробовали:
Используя модули onebusaway-gtfs, можно разобрать файл GTFS следующим образом:
GtfsReader reader = new GtfsReader();
File gtfsFile = gtfsResourceVetterAndThuesac.getFile(); // a GTFS file containing three agencies
GtfsDaoImpl store = new GtfsDaoImpl();
reader.run(); // blocking
Читатель также предлагает метод, называемый
Я создал файл GTFS, содержащий только три агентства:
агентства.txt:
agency_id,agency_name,agency_url,agency_timezone,agency_lang
00786,THÜSAC,https://www.nasa.de/vu/,Europe/Berlin,de
00846,Vetter Verkehrsbetriebe,https://www.nasa.de/vu/,Europe/Berlin,de
00847,Vetter GmbH,https://www.nasa.de/vu/,Europe/Berlin,de
Теперь, когда я пытаюсь использовать это с установкой агентств для читателя на «00786», я получаю полную противоположность тому, чего хотел достичь. В результате читатель читает все агентства, кроме указанного мной :
Это должно быть то, что происходит? Или это ошибка в читателе onebusaway? Есть ли другой способ (желательно с использованием методов java, без вызовов cli) для достижения того, что мы хотим?