eclipse-sumo / sumo

Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
https://eclipse.dev/sumo
Eclipse Public License 2.0
2.54k stars 1.43k forks source link

gtfs2pt.py bus stops located at wrong edges #11759

Closed alexrsanchez closed 2 years ago

alexrsanchez commented 2 years ago

I am using the gtfs2pt script to obtain public transport routes and I have noticed that there are notable differences between real and simulated routes. After some research, I have noticed that -inside my particular simulation domain- some bus stops are placed in wrong edges. This often happens when 2 buses stops have the same name on the "stops.txt" GTFS file but one uses one street direction and the other in opposite direction. However, the coordinates for the wrong bus stops in the "stops.txt" file are correct, so I don't really understand why it is not located at its corresponding edge. This mistake on bus stops location is creating wrong routes. No matter how I manually adjust the wrong bus stop's coordinates, it won't change to the correct edge (it do changes lane position). An example of this behaviour is illustrated in the attached image.

Bad_busstop_location

SUMO-version: 1.13.0

operating system: Linux

m-kro commented 2 years ago

Could you provide the input files to reproduce the problem?

alexrsanchez commented 2 years ago

Here you can find the input files used for gtfs2py script, and also the output files I got in case you need them.

GTFS_issues_SUMO.zip

m-kro commented 2 years ago

The stop in question is "via Lusitana - Coimbra", right? Strange but I cannot reproduce the problem, neither with the script from v1.13 nor with the current dev version... Also the file "gtfs_publictransport.add.xml" you provided as output doesn't show the stop from the screenshot. Am I missing something?

alexrsanchez commented 2 years ago

It is indeed that bus stop, and after trying again with this data it works fine to me. That's my bad!

However, there are still some weird behaviours I cannot solve:

  1. When a bus stop is nearby an intersection and its length is larger than the busstop_StartPos minus intersection_StartPos quantity, instead of relocating the bus stop further away on the same edge (so its lenght was shorter than the startPos-intersection distance), another bus stop is created at the other side of the intersection (see image). So there is an "artificial" bus stop that is selectionable by buses, creating wrong routes. This is actually solveable by manually editing the coordinates on the stops.txt input file, but this would require a huge amount of time to do that on large networks, so it would be much better if the script could fix it by itself.

  2. In the "stops.txt" file, there are 3 bus stops named "Intercambiador Plaza Elíptica". However, in SUMO there is a fourth (fifth if you count the previously mentioned duplicated bus stop as another one) bus stop with that name, and that shoudn't exist at all, as there are no bus stops at the street it is located. I haven't been able to remove it, I don't know if this is related to the issue in 1. False_bus_stop

m-kro commented 2 years ago

Same again, I cannot reproduce it - I get three stops as expected. Can you check whether the GTFS files you supplied are the same you used before? In the header of the gtfs2pt.py output you select March 1 as date but the GTFS data covers timetable from September on...

alexrsanchez commented 2 years ago

Yes, it seems the GTFS data starts on September. However, even selecting September I cannot get rid of the unrealistic bus stop at edge 27497569#1

m-kro commented 2 years ago

Forgot to change SUMO_HOME variable :-/. I have reproduced the problem with v.1.13, but not with newer release v.1.14.1 and current developer version. However we still have to check why it works with the newer release as GTFS-related commits do not address the problem explicitly.

m-kro commented 2 years ago

Was fixed within issue #8932 where the map matching process was changed. So please update to the newest release.

alexrsanchez commented 2 years ago

With SUMO 1.14.1 the problem is solved, thanks for your help!

Just one last question. Now I have noticed that I can reproduce the error from the following thread using v1.14.1: https://www.eclipse.org/lists/sumo-user/msg12221.html

For example: gtfs_pt_vehicles.add.xml file <vehicle id="6_LA0060011.0" route="LA0060011" type="busesMadridZBE" depart="19769" line="6_LA0060011"/>

gtfs_pt_stops.add.xml file <route id="6_LA0060011" edges="-71443112 -43797370#6 -43797370#5 -43797370#4 -43797370#3 -43797370#2 -43797370#0 -785349564#0 -785349565#2 -785349565#1 27048213#0 27048213#1 27048213#2 27048213#4 27048213#5 27048213#6"> [...]

There are inconsistencies on route names between gtfs files. Has it been fixed in the development releases?