Giter Club home page Giter Club logo

Comments (9)

grote avatar grote commented on May 26, 2024 1

Maybe we should start with a simple offline implementation of this and then later maybe introduce different TransfersCreators.

from osm2gtfs.

prhod avatar prhod commented on May 26, 2024

For information, this self made Rust lib is available : https://github.com/CanalTP/transfe_rs/

from osm2gtfs.

grote avatar grote commented on May 26, 2024

Apparently, Navitia's routing algorithm can produce really bad results when transfers.txt file is missing.

So computing one automatically should be a priority I think.

from osm2gtfs.

jamescr avatar jamescr commented on May 26, 2024

We should analyze in which way the transfer.txt is related with OSM in order to find a solution for this issue.

Maybe this is one way: take OSM stops related in a Stop Area (not in a station) and fill transfers.txt with the data from stops, and columns transfer_type=2 and min_transfer_time = the frequency of the line.

Example:

Assuming Stop Area X

  • stop A (also member of route 1)
  • stop B (also member of route 2 and route 3)
  • stop C (also member of route 4)

transfers.txt

from_stop_id, to_stop_id, transfer_type
A, B, 2, frequency of route 2
A, B, 2, frequency of route 3
A, C, 2, frequency of route 4
B, A, 2, frequency of route 1
B, B, 2, frequency of route 2
B, B, 2, frequency of route 3
B, C, 2, frequency of route 4
C, A, 2, frequency of route 1
C, B, 2, frequency of route 2
C, B, 2, frequency of route 3

from osm2gtfs.

prhod avatar prhod commented on May 26, 2024

The GTFS transfer information is a walking time between 2 stop points. I don't understand your proposal of using the frequency of the route.
Personnaly, I would use a walking path using OSM ways with a specific walking speed to compute de duration of the transfer. Thou I don't know yet how I would to this ...
As a first step, using a Manhattan distance could be an approximation.
What do you think of that ?

from osm2gtfs.

Skippern avatar Skippern commented on May 26, 2024

Another option is to test the routes against an instance of OSRM using a walking algorithm, that should give you the shortest legal walking distance and time between any two points. If highway crossings are necessary, Manhattan distances can be wrong.

from osm2gtfs.

prhod avatar prhod commented on May 26, 2024

OSRM is a good idea ! do you know a free of use instance available ?
You're right about highway, the same issue can happen with river. But on the other hand, there is no need for a third part service to generate the GTFS...

from osm2gtfs.

Skippern avatar Skippern commented on May 26, 2024

I have my own instance of OSRM, its not complicated to set up, so running a private instance is absolutely an option. I havn't tried with a world wide map, downloading and loading Brazil takes about 1.5 hours on my personal lap top, I guess a server would be a little bit quicker.

from osm2gtfs.

jamescr avatar jamescr commented on May 26, 2024

The GTFS transfer information is a walking time between 2 stop points. I don't understand your proposal of using the frequency of the route.

I was thinking on the transfers.txt mainly as a way to specify a tansfer between routes, in fact is the way it works if we set transfer_type = 0. When setting transfer_type = 2 it makes total sense to use walking time in min_transfer_time, as you say.

My proposal was wrong but just to explain my self: The use of frequency of the route as min_transfer_time was considered as "kind of" the distance (in time) between one itinerary and the next, so I was thinking on the time the user will "had" for moving from one stop to the other (not the time needed).

from osm2gtfs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.