opentripplanner / OpenTripPlanner

An open source multi-modal trip planner
http://www.opentripplanner.org
Other
2.2k stars 1.03k forks source link

Strange combinations using rental bikes #1491

Closed kalon33 closed 3 years ago

kalon33 commented 10 years ago

Hi,

When I search for some itineraries, OTP suggest me to get a bike, make a few miles with it, drop it and take another one to continue.

Why? (no fares has been added to the system that would influence it)

(see http://otp.acolytesanonymes.org/index.html?module=planner&fromPlace=corner%20All%C3%A9e%20des%20Peupliers%20%26%20Rue%20Camena%20d%27Almeida%3A%3A44.8311289%2C-0.6105204000000001&toPlace=corner%20Rue%20Robert%20Escarpit%20%26%20entr%C3%A9e%20de%20l%27IECB%3A%3A44.8027899%2C-0.6102995&time=2%3A05am&date=09-05-2014&mode=WALK%2CBICYCLE_RENT&maxWalkDistance=804.672&arriveBy=false&wheelchair=false&showIntermediateStops=false&itinIndex=0 )

and attached screenshot. screenshot_otp

Thanks for your help.

koch-t commented 10 years ago

99% sure (if it also happens on normal bicycle) that this is a feature. The walk sections are roads where you can't cycle yet faster than detours by bike.

kalon33 commented 10 years ago

@skywave could you explain please? I don't understand where the problem comes from... thanks :)

----- Mail original -----

De: "skywave" notifications@github.com À: "opentripplanner/OpenTripPlanner" OpenTripPlanner@noreply.github.com Cc: "Nicolas Derive" kalon33@ubuntu.com Envoyé: Vendredi 5 Septembre 2014 00:33:03 Objet: Re: [OpenTripPlanner] Strange combinations using rental bikes (#1491)

99% sure (if it also happens on normal bicycle) that this is a feature. The walk sections are roads where you can't cycle yet faster than detours by bike.

— Reply to this email directly or view it on GitHub .

koch-t commented 10 years ago

It's not suggesting to bring the bike back but it's suggesting to walk with the bicycle in your hand. This because the path during the 19 feet is not suitable (legal or physical) for biking.

On Fri, Sep 5, 2014 at 12:36 AM, Nicolas Derive notifications@github.com wrote:

@skywave could you explain please? I don't understand where the problem comes from... thanks :)

----- Mail original -----

De: "skywave" notifications@github.com À: "opentripplanner/OpenTripPlanner" OpenTripPlanner@noreply.github.com Cc: "Nicolas Derive" kalon33@ubuntu.com Envoyé: Vendredi 5 Septembre 2014 00:33:03 Objet: Re: [OpenTripPlanner] Strange combinations using rental bikes (#1491)

99% sure (if it also happens on normal bicycle) that this is a feature. The walk sections are roads where you can't cycle yet faster than detours by bike.

— Reply to this email directly or view it on GitHub .

— Reply to this email directly or view it on GitHub https://github.com/opentripplanner/OpenTripPlanner/issues/1491#issuecomment-54555346 .

abyrd commented 10 years ago

It's not telling you to drop the bike and take a different bike. It's just telling you to get off the bike and walk a short distance before biking again. This is because some streets don't allow biking (e.g. pedestrian areas in city centers). The particular location in your example is just a crosswalk, so OTP must be misinterpreting the OSM tags. The small piece where it tells you to walk (https://www.openstreetmap.org/way/274430728) is tagged as a cycleway, but also as being one-way in the wrong direction.

So it's telling you to walk the bike because the OSM data says you are not allowed to ride in that direction.

abyrd commented 10 years ago

Upon visual inspection, this is just a normal crosswalk. There is nothing one-way about it so I think you can remove the tag.

kalon33 commented 10 years ago

@abyrd @skywave thanks for your help "debugging" this. I removed the tag.

----- Mail original -----

De: "Andrew Byrd" notifications@github.com À: "opentripplanner/OpenTripPlanner" OpenTripPlanner@noreply.github.com Cc: "Nicolas Derive" kalon33@ubuntu.com Envoyé: Vendredi 5 Septembre 2014 00:49:03 Objet: Re: [OpenTripPlanner] Strange combinations using rental bikes (#1491)

Upon visual inspection, this is just a normal crosswalk. There is nothing one-way about it so I think you can remove the tag.

— Reply to this email directly or view it on GitHub .

kalon33 commented 10 years ago

@abyrd : last thing, I got this error in the log with this trip, is that normal?

00:48:53.860 ERROR (PlanGenerator.java:133) A graph path leaves before the requested time. This implies a bug.

----- Mail original -----

De: "Andrew Byrd" notifications@github.com À: "opentripplanner/OpenTripPlanner" OpenTripPlanner@noreply.github.com Cc: "Nicolas Derive" kalon33@ubuntu.com Envoyé: Vendredi 5 Septembre 2014 00:49:03 Objet: Re: [OpenTripPlanner] Strange combinations using rental bikes (#1491)

Upon visual inspection, this is just a normal crosswalk. There is nothing one-way about it so I think you can remove the tag.

— Reply to this email directly or view it on GitHub .

kalon33 commented 10 years ago

@abyrd : I got some errors while planning a trip since the last commits of these days:

12:30:54.141 ERROR (PlannerError.java:62) exception planning trip: java.lang.NullPointerException: null at org.opentripplanner.routing.core.RoutingContext.(RoutingContext.java:302) ~[otp.jar:1.1] at org.opentripplanner.routing.core.RoutingContext.(RoutingContext.java:136) ~[otp.jar:1.1] at org.opentripplanner.routing.core.RoutingRequest.setRoutingContext(RoutingRequest.java:823) ~[otp.jar:1.1] at org.opentripplanner.routing.impl.RetryingPathServiceImpl.getPaths(RetryingPathServiceImpl.java:92) ~[otp.jar:1.1] at org.opentripplanner.api.resource.PlanGenerator.generate(PlanGenerator.java:106) ~[otp.jar:1.1] at org.opentripplanner.api.resource.Planner.getItineraries(Planner.java:71) ~[otp.jar:1.1] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_65] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) [otp.jar:1.1] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151) [otp.jar:1.1] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171) [otp.jar:1.1] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195) [otp.jar:1.1] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104) [otp.jar:1.1] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387) [otp.jar:1.1] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331) [otp.jar:1.1] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103) [otp.jar:1.1] at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:269) [otp.jar:1.1] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) [otp.jar:1.1] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) [otp.jar:1.1] at org.glassfish.jersey.internal.Errors.process(Errors.java:315) [otp.jar:1.1] at org.glassfish.jersey.internal.Errors.process(Errors.java:297) [otp.jar:1.1] at org.glassfish.jersey.internal.Errors.process(Errors.java:267) [otp.jar:1.1] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) [otp.jar:1.1] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:252) [otp.jar:1.1] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1023) [otp.jar:1.1] at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:364) [otp.jar:1.1] at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:217) [otp.jar:1.1] at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) [otp.jar:1.1] at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) [otp.jar:1.1] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65] 12:30:54.186 WARN (Planner.java:76) Error while planning path: java.lang.NullPointerException: null at org.opentripplanner.routing.core.RoutingContext.(RoutingContext.java:302) ~[otp.jar:1.1] at org.opentripplanner.routing.core.RoutingContext.(RoutingContext.java:136) ~[otp.jar:1.1] at org.opentripplanner.routing.core.RoutingRequest.setRoutingContext(RoutingRequest.java:823) ~[otp.jar:1.1] at org.opentripplanner.routing.impl.RetryingPathServiceImpl.getPaths(RetryingPathServiceImpl.java:92) ~[otp.jar:1.1] at org.opentripplanner.api.resource.PlanGenerator.generate(PlanGenerator.java:106) ~[otp.jar:1.1] at org.opentripplanner.api.resource.Planner.getItineraries(Planner.java:71) ~[otp.jar:1.1] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_65] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) [otp.jar:1.1] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151) [otp.jar:1.1] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171) [otp.jar:1.1] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195) [otp.jar:1.1] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104) [otp.jar:1.1] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387) [otp.jar:1.1] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331) [otp.jar:1.1] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103) [otp.jar:1.1] at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:269) [otp.jar:1.1] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) [otp.jar:1.1] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) [otp.jar:1.1] at org.glassfish.jersey.internal.Errors.process(Errors.java:315) [otp.jar:1.1] at org.glassfish.jersey.internal.Errors.process(Errors.java:297) [otp.jar:1.1] at org.glassfish.jersey.internal.Errors.process(Errors.java:267) [otp.jar:1.1] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) [otp.jar:1.1] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:252) [otp.jar:1.1] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1023) [otp.jar:1.1] at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:364) [otp.jar:1.1] at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:217) [otp.jar:1.1] at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) [otp.jar:1.1] at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) [otp.jar:1.1] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65] java.lang.NullPointerException at org.opentripplanner.api.resource.Planner.getItineraries(Planner.java:80) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171) at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104) at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103) at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:269) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) at org.glassfish.jersey.internal.Errors.process(Errors.java:315) at org.glassfish.jersey.internal.Errors.process(Errors.java:297) at org.glassfish.jersey.internal.Errors.process(Errors.java:267) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:252) at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1023) at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:364) at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:217) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) at java.lang.Thread.run(Thread.java:745)

Is that expected?

----- Mail original -----

De: "Andrew Byrd" notifications@github.com À: "opentripplanner/OpenTripPlanner" OpenTripPlanner@noreply.github.com Cc: "Nicolas Derive" kalon33@ubuntu.com Envoyé: Vendredi 5 Septembre 2014 00:49:03 Objet: Re: [OpenTripPlanner] Strange combinations using rental bikes (#1491)

Upon visual inspection, this is just a normal crosswalk. There is nothing one-way about it so I think you can remove the tag.

— Reply to this email directly or view it on GitHub .

abyrd commented 3 years ago

The original problem was resolved and the issues changed topic... this is 6 years old and likely on a pre-1.0 version of OTP so hard to say what was causing the errors mentioned in the last comments. Closing.