Skip to content

FrequentlyAskedQuestions

abyrd edited this page Apr 10, 2013 · 19 revisions

Frequently Asked Questions

What's a trip planner?

A trip planner helps you figure out how best to get where you want to go. A multi-modal trip planner lets you plan routes using multiple "modes," for example, on foot, bike, train, bus, or some combination thereof. A good multi-modal trip planner allows you to easily tailor your trip to your preferences, for example by eliminating transfers, walking a more scenic path, or only riding buses with bike storage.

What is OpenTripPlanner?

OpenTripPlanner is an open source multi-modal trip planner. It brings together work from a number of existing open source projects, including Graphserver, OneBusAway, and FivePoints, and aims to be easy-to-use, flexible, reliable, and fast.

Who's behind this?

OpenTripPlanner is an open source project and is a collaborative effort among many individuals, transit agencies, and non-profit organizations. Developers working on OpenTripPlanner hail from TriMet, OpenPlans, Graphserver, FivePoints, byCycle, and OneBusAway, among others. The working group page has a more complete listing of people who have contributed to the project. The official kickoff for the project was a transit workshop in Portland hosted by TriMet, the regional transportation authority.

At its core, the project is driven by transit enthusiasts.

Why are you doing this?

We want to make transit easy, convenient, and enjoyable, and we think a high-quality trip planner is an important part of achieving that goal (see ticket #1).

How can I help?

There are lots of ways to help out. As the project is in very early stages of development, the best thing to do is join the developer mailing list and help shape things from the ground up. You can also contribute to the wiki or stop by our IRC channel (#opentripplanner on Freenode or chat through the web)

What languages does OTP use?

On the back-end, the primary language is Java, with some additional tools written in Python. Front-end work is done in JavaScript.

What license is OTP released under?

OpenTripPlanner is released under version 3 of the LGPL.

Google Analytics Account

I (Frank Purcell) grabbed a GA key for http://opentripplanner.org, UA-11476476

Reserve the following keys:

  • UA-11476476-1 == project documentation uses.
  • UA-11476476-2 == trip planner demo code (demo.opentripplanner.org).

What does xyz mean?

We throw around a lot of transit and technical terms. Find out what they mean:
Jargon and Acronyms

OTP is too slow. Can I make it faster?

Please see GraphBuilder#Performance and JVMPerformance

I get LinkageError: JAXB 2.0 API is bring loaded...

java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:.../Tomcat_6.0.20/lib/jaxb-impl-2.1.12.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)

Try upgrading to Java 6, Update 4. A user also reported that he solved this problem replacing the JAXB Jar files in Tomcat's lib directory with

  • jaxb-api-2.1.jar
  • jaxb-impl-2.1.12.jar
  • jaxws-2.1.7.jar

My planned trips are correct, but the transit paths drawn on the map are wrong.

Check that your GTFS has a shapes.txt file, and that it is correct.

I can't plan a bicycle + transit trip

Set defaultBikesAllowed=true on your GtfsBundle.

How do I visualize the graph?

OTP comes with VizGui, a developer-focused tool for graph visualization. There is also a plugin for gvsig (unmaintained), and one for OpenJump

In my IDE I see compilation errors about missing setter methods, and OTP does not start.

http://projectlombok.org/ generates boilerplate leaving us with cleaner, simpler code, but requires a plugin for IDEs. It works automatically in command line Maven builds. See the section "Install Project Lombok" under Install. This problem often manifests as java.lang.Error: Unresolved compilation problem: The type GraphServiceImpl must implement the inherited abstract method ResourceLoaderAware.setResourceLoader(ResourceLoader).

Clone this wiki locally