Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Thomas Gran
    @t2gran

    Dev meeting agenda thread (Tue 3. Jan 2023)

    Post your topics here
    3 replies
    Joel Lappalainen
    @optionsome
    Will there be developer meeting today or not? I don't have a special need for it but can attend if there is @t2gran
    Thomas Gran
    @t2gran

    Dev meeting agenda thread (Thu 5. Jan 2023)

    Post your topics here
    4 replies
    Thomas Gran
    @t2gran

    Dev meeting agenda thread (Tue 10. Jan 2023)

    Post your topics here
    4 replies
    Andrew Byrd
    @abyrd

    I was just looking into the upcoming Java versions so will share what I found:
    JDK 19 released 20 September 2022 (short-term support)
    JDK 20 will be released March 21, 2023 (short-term support)
    JDK 21 will be the big one and an LTS release (long-term support, sometime around 20 September 2023)

    Many really interesting features seem to have been moved from JDK 20 to JDK 21.
    Here are the pages for JDK 21:
    https://openjdk.org/projects/jdk/21/spec/
    https://bugs.openjdk.org/secure/Dashboard.jspa?selectPageId=21418

    In my view the really interesting stuff is:
    Value Objects (all final fields and no references): https://openjdk.org/jeps/8277163
    Primitive Classes: https://bugs.openjdk.org/browse/JDK-8251554
    Generics over Primitive Types: https://bugs.openjdk.org/browse/JDK-8046267

    3 replies
    IanMcLumber
    @IanMcLumber
    Hello good peoples.
    I am entirely new to this thing. I have a geocoding server based on Nominatim and I wish to have this option to having routes as well.
    1. My question is : having Nominatim up and running - is this helping somewhat, or I need to make a new server for routing ?
    2. I am unable to find documentation how to create queries to get data for the routes ? Is there some PHP's or ASP's based source ready for this which I can use ?
    28 replies
    Leonard Ehrenfried
    @lehrenfried:matrix.org
    [m]

    Dev meeting agenda thread (Thu Jan 12)

    Post your topics here
    5 replies
    Leonard Ehrenfried
    @lehrenfried:matrix.org
    [m]
    @t2gran @hannesj The RAPTOR refactoring brought a moderate performance improvement which is most visible in Norway. Was that one of the goals or just a happy accident?
    Thomas Gran
    @t2gran
    We will wrap up yesterdays dev meeting 10:00 CET https://meet.google.com/zhp-gkcr-qkr
    Thomas Gran
    @t2gran
    Here is the composite pattern for adding a RentalExtension to StreetEdge
    9 replies
    Leonard Ehrenfried
    @lehrenfried:matrix.org
    [m]

    @t2gran: I've managed to add the git commit to the speed test grafana at the bottom left. can you check if this gives you the information that you need?

    https://otp-performance.leonard.io/

    1 reply
    Thomas Gran
    @t2gran

    Dev meeting agenda thread (Tue Jan 17)

    Post your topics here
    3 replies
    d4t2ill4
    @datzilla
    Hello, I am looking for documentation on how to form route search request to call OTP v2.2 APIs
    3 replies
    JC ULLES
    @JC_ULLES_gitlab
    Hello, I am wondering if it is possible to export a csv (or Excel file) with all the informations of trips between two points with a time slot? For example, extract times, modes and stops between two points in a certain time slot. The objective is to obtain route information between two points on one day. Thanks!
    12 replies
    deeshantkot
    @deeshantkot
    Hi.. I was wondering if the agency_url in agency.txt is being used in addition to the other data that is being provided. I have tried giving OTP a different url (google.com for example) but it is giving an error in this case. Thanks
    1 reply
    glennli
    @glennli:foss.wtf
    [m]
    Hi, I am trying to use the Isochrone API descibed here:
    https://github.com/opentripplanner/OpenTripPlanner/blob/dev-2.x/docs/sandbox/TravelTime.md
    I think I have built the graph correctly (with "SandboxAPITravelTime":true) since:
    http://localhost:8080/otp/traveltime/isochrone/
    returns a "Request failed" (and not 404).
    However, I am not able to build a valid request. For example:
    http://localhost:8080/otp/traveltime/isochrone/location=59.916,10.739&cutoff=2000&mode=TRANSIT,WALK
    returns a 404.
    Does anyone here have any experience using this API? Hopefully it is just a simple syntactical error on my part.
    12 replies
    glennli
    @glennli:foss.wtf
    [m]
    To be clear, I am able to do regular routing. My problem is getting the isochrone api to work.
    andrewferguson
    @andrewferguson
    Hi all, newbie to OTP here but I was able to get it set up and running no problem - great job on the Basic Tutorial!
    I am wondering if it is possible to get a higher resolution for the public transport legs of the route? Right now it's just a polyline between the stops on the route, but this means the route 'cuts across' buildings rather than sticking to the roads. This is unlike the walking option, which follows the roads nicely.
    What I ideally want is for OTP to effectively do a separate route between each stop, using the road information. It doesn't matter if the resulting route isn't actually what the public transport would take - it will be right 90% of the time, and will look neater.
    Context / background: I'm investigating the possibility of building a little tool to simulate many different people moving around a city. This will be persona-driven, i.e. each person will have their own individual "goal" list to perform, such as travelling to work, working for n hours, then returning home via a shop. As such, I'd prefer that people stick to roads rather than moving through buildings - I'm not trying to model ghosts here!
    (Actually, if anyone knows of a tool that can do what I want already, that would be good to know about, and I might be able to adapt it to my needs!)
    3 replies
    Leonard Ehrenfried
    @lehrenfried:matrix.org
    [m]

    Dev meeting agenda 🧵 (Thu 2023-01-19)

    Post your topics here
    4 replies
    Andrew Byrd
    @abyrd
    I just released a new kryo-tools with all dependencies updated: https://github.com/conveyal/kryo-tools/releases/tag/v1.5.0
    3 replies
    You may have no need for this update since OTP2 is already on Kryo 5, but the latest Kryo version from December does include more serializers.
    glennli
    @glennli:foss.wtf
    [m]
    Using the isochrone feature I get these remote islands shown above. With transit mode that is understandable, but the shown case is just mode=walk. Is this a known problem with the current algorithm or am I doing something wrong?
    glennli
    @glennli:foss.wtf
    [m]
    :point_up: Edit: Using the isochrone feature I get these remote islands shown above. With transit mode that is understandable, but the shown case is just mode=walk. Is this a known problem with the current algorithm or am I doing something wrong?
    To give some context, I am trying to do one-to-many computations efficiently. Since this is not supported in OTP (correct?), I plan to use isochrones as an approximate solution.
    1 reply
    Hannes Junnila
    @hannesj

    OpenTripPlanner and Digitransit at FOSDEM on 4th of February 2023 in Brussels

    FOSDEM (https://fosdem.org) is Europe's largest gathering of Free and Open Source Software developers and enthusiasts, with thousands of people attending each year. FOSDEM 2023 will take place on the weekend of 4-5 February 2023 as an in-person event in Brussels. The event is free of charge, and no registration is required.

    For the first time, there is a track about Railways and Open Transport in the context of Free and Open Source Software (https://fosdem.org/2023/schedule/track/railways_and_open_transport/). I and Joel Lappalainen will be presenting two related topics, OpenTripPlanner and Digitransit. There are also other relevant presentations during the track. The presentations will be streamed live, so it is also possible to view them online.

    In the OTP presentation, we will take a quick look into the history of the project, where it comes from, and how has it evolved over the years. We will take a closer look at the recently released version 2.3 and its new features, as well as a look at the roadmap of which functionality will be coming in the next releases.

    If anybody will be in Brussels during the event, we would be love to meet in person and have a chat with other OTP users and developers.

    /Hannes

    Joel Lappalainen
    @optionsome
    @Bartosz-Kruba I don't remember if I already asked this from someone before but what vm type do you use for OTP2 in Azure? Did you do some benchmarking when you decided it? We are currently using Standard_F8s_v2 which we made some benchmarking for with otp1 to see what had the best performance/cost ratio.
    2 replies
    Leonard Ehrenfried
    @lehrenfried:matrix.org
    [m]

    @Bartosz-Kruba: After merging the filter API PR, the REST API started throwing exceptions because we call add on an immutable list: opentripplanner/OpenTripPlanner#4748

    Could you take a look a this?

    5 replies
    Leonard Ehrenfried
    @lehrenfried:matrix.org
    [m]

    @optionsome @hannesj I've now cleaned up the mess I made with the geofencing zone PR and opened a new one: opentripplanner/OpenTripPlanner#4741

    It is ready for review.

    Joel Lappalainen
    @optionsome
    has someone looked into why tests are failing in dev-2.x?
    7 replies
    Bartosz-Kruba
    @Bartosz-Kruba

    A question regarding build-config.json

    Does maxTransferDurationSeconds only affect transfers between stops or does it affect access and egress walk as well?

    We would want to set a lower walk distance on transfers. If we lower maxTransferDurationSeconds during build, will it affect initial walk as well?

    19 replies
    Leonard Ehrenfried
    @lehrenfried:matrix.org
    [m]

    Naming things

    When reviewing the geofencing zones, @optionsome suggested to change the name of the class determining the traversal restrictions from TraversalExtension to RentalExtension. I renamed this class so many times, that I don't really have an opinion anymore.

    @hannesj @t2gran Do you have a suggestion/opinion?

    Tristan
    @Arilith

    What is the best option to set JVM arguments in the docker container? Especially memory.
    I currently have

    otp-create-street:
        image: "opentripplanner/opentripplanner:2.3.0_2023-01-20T12-07"
        restart: always
        container_name: otp-create-street
        volumes:
          - E:/OTP2:/var/opentripplanner/
        environment:
          - JVM_OPTS=-Xmx10g -Xms10g
          - JAVA_OPTIONS=-Xmx10g -Xms10g
        command:
          [
            '--buildStreet',
          ]

    In my docker compose, but keep getting out of memory errors. Looking at task manager, it seems like WSL is "only" using op 4Gbytes before it crashes, which isn't nearly enough for the Dutch dataset.

    2 replies
    Vesa Meskanen
    @vesameskanen
    REST plan api of the current dev-2.x versions seems to be broken
    18 replies
    Bartosz-Kruba
    @Bartosz-Kruba
    java.lang.ArrayIndexOutOfBoundsException: Index 55 out of bounds for length 28
        at org.opentripplanner.transit.model.network.RoutingTripPattern.stopIndex(RoutingTripPattern.java:87)
        at org.opentripplanner.routing.algorithm.raptoradapter.transit.constrainedtransfer.TransferIndexGenerator.lambda$findTPoints$9(TransferIndexGenerator.java:236)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
        at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
        at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
        at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
        at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
        at org.opentripplanner.routing.algorithm.raptoradapter.transit.constrainedtransfer.TransferIndexGenerator.findTPoints(TransferIndexGenerator.java:240)
        at org.opentripplanner.routing.algorithm.raptoradapter.transit.constrainedtransfer.TransferIndexGenerator.findTPoints(TransferIndexGenerator.java:137)
        at org.opentripplanner.routing.algorithm.raptoradapter.transit.constrainedtransfer.TransferIndexGenerator.generateTransfers(TransferIndexGenerator.java:63)
        at org.opentripplanner.routing.algorithm.raptoradapter.transit.mappers.TransitLayerMapper.map(TransitLayerMapper.java:90)
        at org.opentripplanner.routing.algorithm.raptoradapter.transit.mappers.TransitLayerMapper.map(TransitLayerMapper.java:59)
        at org.opentripplanner.standalone.configure.ConstructApplication.creatTransitLayerForRaptor(ConstructApplication.java:182)
        at org.opentripplanner.standalone.configure.ConstructApplication.setupTransitRoutingServer(ConstructApplication.java:138)
        at org.opentripplanner.standalone.configure.ConstructApplication.createApplication(ConstructApplication.java:130)
        at org.opentripplanner.standalone.configure.ConstructApplication.createGrizzlyServer(ConstructApplication.java:98)
        at org.opentripplanner.standalone.OTPMain.startOtpWebServer(OTPMain.java:187)
        at org.opentripplanner.standalone.OTPMain.startOTPServer(OTPMain.java:163)
        at org.opentripplanner.standalone.OTPMain.main(OTPMain.java:52)
    We got this error after switching to OTP 2.2. Builds graph without problems but can't load it. Maybe this bug was fixed recently? We are using OTP version from 2023-01-03.
    13 replies
    Viljami N.
    @nurmAV
    Hi! I am looking into implementing some Fares v2 features into OTP. It seems that some of the features are only suggestions at this point and they might change. Some features also require information about the passenger in addition to the itinerary itself. I was wondering if there are any limitations as to which features should not be implemented at this point?
    2 replies
    Hannes Junnila
    @hannesj

    Dev meeting agenda 🧵 (Tue 2023-01-24)

    Post your topics here
    2 replies
    Bartosz-Kruba
    @Bartosz-Kruba

    A question regarding transitGeneralizedCostLimit.

    Previously, the default value was 3600 + 2.0 x. Now it's 900 + 1.5 x. Looks like a big change. Why was it adjusted?

    16 replies
    Thomas Gran
    @t2gran

    Hi, I have some problems with the RaptorPathToItineraryMapper:

        // If the next leg is an egress leg without a duration then this transit leg
        // arrives at the destination.
        // The cost of the egress should therefore be included in the last transit
        // leg given that it is the last leg.
        int lastLegCost = 0;
        PathLeg<T> nextLeg = pathLeg.nextLeg();
        if (nextLeg.isEgressLeg() && isEmpty(nextLeg.asEgressLeg())) {
          lastLegCost = pathLeg.nextLeg().generalizedCost();
        }

    Any ideas why we would add the cost of an empty leg? I my world an empty leg should ALWAYS have 0 cost. By the way, I want to rename "empty" to "free"(with both duration and cost of 0).

    Is there a use-case where the cost is != 0 and the duration == 0?

    12 replies
    Leonard Ehrenfried
    @lehrenfried:matrix.org
    [m]

    @Bartosz-Kruba: There is still a new bug in the REST API with regards to filtering. When you pass in BICYCLE_RENT as a mode, you get bike rental in combination with all transit modes. What you want is only bike rental though.

    What is the correct filter if you want to exclude all transit modes?

    51 replies
    lehrenfried
    @lehrenfried:matrix.org
    [m]

    Renovate PRs

    Did someone click on the button to reopen all PRs for the dependencies that we don't want to upgrade?
    2 replies
    I've disabled updates for these dependencies in the renovate config now: opentripplanner/OpenTripPlanner@6142b0f
    Thomas Gran
    @t2gran

    Dev meeting agenda 🧵 (Tue 2023-01-31)

    Post your topics here
    2 replies
    Leonard Ehrenfried
    @lehrenfried:matrix.org
    [m]

    @vpaturet: Is there a reason we are using javax.inject.Singleton rather than jakarta.inject.Singleton?

    According to google/dagger#2058 it's possible to use the jakarta version.

    5 replies
    Leonard Ehrenfried
    @lehrenfried:matrix.org
    [m]

    @t2gran: I want to take a look at removing the services for vehicle rental, positions and parking out of the routing service and into proper dagger modules.

    Could you take a if this is going into the right direction? https://github.com/opentripplanner/OpenTripPlanner/compare/dev-2.x...ibi-group:OpenTripPlanner:refactor-vehicle-position-service

    Bartosz-Kruba
    @Bartosz-Kruba

    Hi!

    Is the new VIA-search functionality documented somewhere? Need to figure out some things:

    1. Can we search with arriveBy=true?
    2. If via-point is a stop area, how do we handle that?
      Is it possible to link 2 trip patterns that end/start on different stop point?
      If that's possible, how do we handle walk between those stop points?
    3. Do we support passThrou point right now or do we always have to get out of vehicle on via point?
    4. Are there any parameters in the viaTrip endpoint that we are missing? (something that is present in trip endpoint)
    7 replies