matsim-org / pt2matsim

Package to create a multi-modal MATSim network and schedule from public transit data (GTFS or HAFAS) and an OSM map of the area.
http://www.ivt.ethz.ch/publikationen/studenten/530.html
GNU General Public License v2.0
49 stars 68 forks source link

NumberFormatException #14

Closed WoutDa closed 7 years ago

WoutDa commented 7 years ago

Trying to convert a filtered GTFS file (GTFS-cropped.zip) I get this error: Exception in thread "main" java.lang.NumberFormatException : For input string: "stop_sequence" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at org.matsim.pt2matsim.gtfs.GtfsFeedImpl.loadStopTimes(GtfsFeedImpl.java:434) at org.matsim.pt2matsim.gtfs.GtfsFeedImpl.loadFiles(GtfsFeedImpl.java:144) at org.matsim.pt2matsim.gtfs.GtfsFeedImpl.<init>(GtfsFeedImpl.java:78) at org.matsim.pt2matsim.run.Gtfs2TransitSchedule.run(Gtfs2TransitSchedule.java:102) at org.matsim.pt2matsim.run.Gtfs2TransitSchedule.main(Gtfs2TransitSchedule.java:66) This is the full file: https://edusintlodewijkscollege-my.sharepoint.com/personal/wout_david_edu_sint-lodewijkscollege_be/_layouts/15/guestaccess.aspx?docid=075367d23c2f147098de5d090c3dca252&authkey=Ac2EP9pQ2isQR4HX5Obolwk

polettif commented 7 years ago

Hi there, the error appears because the header line (trip_id,"arrival_time", ...) appears a second time on line 142879 of the filtered stop_times file. The parser is expecting a number and can't convert the String "stop_sequence".

WoutDa commented 7 years ago

I now get this error:

2017-05-15 19:46:41,509  INFO GtfsConverter:90 Converting to MATSim transit schedule
2017-05-15 19:46:41,510  INFO GtfsConverter:245     Using service IDs of the day with the most services (dayWithMostServices).
2017-05-15 19:46:41,586  INFO GtfsConverter:94     Extracting schedule from date 2017-08-31
2017-05-15 19:46:41,600  INFO GtfsConverter:119     Using stop_times.txt to generate departures
Exception in thread "main" java.util.NoSuchElementException
    at java.util.TreeMap.key(TreeMap.java:1327)
    at java.util.TreeMap.firstKey(TreeMap.java:290)
    at java.util.TreeSet.first(TreeSet.java:394)
    at org.matsim.pt2matsim.gtfs.GtfsConverter.convert(GtfsConverter.java:145)
    at org.matsim.pt2matsim.gtfs.GtfsConverter.convert(GtfsConverter.java:64)
    at org.matsim.pt2matsim.run.Gtfs2TransitSchedule.run(Gtfs2TransitSchedule.java:106)
    at org.matsim.pt2matsim.run.Gtfs2TransitSchedule.main(Gtfs2TransitSchedule.java:66)
polettif commented 7 years ago

This probably means that a trip doesn't have stop times defined. Most likely, stop_times.txt has been filtered incorrectly because converting the full feed works. Is it necessary to use a filtered file?

WoutDa commented 7 years ago

I can't seem to get it filtered using https://github.com/twalcari/gtfs-filter I can't use the full size data because the simulation computer doesn't have enough RAM memory available.

polettif commented 7 years ago

Have you tried using -Xmx2G (or something in that range) as VM option while converting the full feed? I tried to validate both feeds but the validator crashed. So either the filter doesn't work properly or the original feed is flawed.

WoutDa commented 7 years ago

Converting the full feed works, the problem is that MATSim can't fully load it because of the lack of memory.

polettif commented 7 years ago

Please consider that the computer setup probably isn't suited to run MATSim in general if there's not even enough RAM to load the schedule.