Isochrone API usage and performances

721 views
Skip to first unread message

Adrien Pavillet

unread,
Apr 29, 2014, 9:51:49 AM4/29/14
to opentrippl...@googlegroups.com
Hello,

I'm testing the Isochone API and found this doc ( http://docs.opentripplanner.org/apidoc/0.11.0/resource_SIsochrone.html ) which mentions also the second version of isochrone made by Laurent Grégoire.

I have a few questions :
  • How do we know if we're using version 1 or 2 of the isochrone ?
  • We're using large graph ( country size ), what are the best performances options for this, the -l options does not seem to change anything. Also is OTP server best suited for this, or can a well conf'ed Tomcat do better in terms of speed ?
  • I also saw the SimpleIsochrone ( http://docs.opentripplanner.org/apidoc/0.11.0/resource_SimpleIsochrone.html ) but cannot find the url to use for it, can someone tell me what a typical request looks like ?
Many thanks,

Adrien

--
Adrien Pavillet

Twitter : @Pavillet


Laurent Gregoire

unread,
Apr 29, 2014, 10:34:50 AM4/29/14
to opentrippl...@googlegroups.com
Hi Adrien,

On 29/04/14 15:51, Adrien Pavillet wrote:
> I'm testing the Isochone API and found this doc (
> http://docs.opentripplanner.org/apidoc/0.11.0/resource_SIsochrone.html )
> which mentions also the second version of isochrone made by Laurent
> Grégoire.
>
> I have a few questions :
>
> - How do we know if we're using version 1 or 2 of the isochrone ?

Based on the web-service URL, the new isochrone is available at URL
/routers/{routerId}/isochrone, whereas the old one is available at
/routers/{routerId}/isochroneOld.

For more info:
http://docs.opentripplanner.org/apidoc/0.11.0/resource_LIsochrone.html

> - We're using large graph ( country size ), what are the best
> performances options for this, the -l options does not seem to change
> anything. Also is OTP server best suited for this, or can a well conf'ed
> Tomcat do better in terms of speed ?

-l option is for activating long distance routing. I think this may have
a small impact on the SPT path computation time, but not rendering time.
The most relevant factors for rendering performance are the cutoffs and
max time (cutoffSec, maxTimeSec) and the grid size (precisionMeters).

> - I also saw the SimpleIsochrone (
> http://docs.opentripplanner.org/apidoc/0.11.0/resource_SimpleIsochrone.html)
> but cannot find the url to use for it, can someone tell me what a
> typical
> request looks like ?

URL for simple isochrone is /routers/{routerId}/simpleIsochrone. I never
used it so I can't tell precisely what a typical request would be, but
most of the parameters are the same as a typical request.

HTH,

--Laurent

Andrew Byrd

unread,
Apr 29, 2014, 10:54:34 AM4/29/14
to opentrippl...@googlegroups.com
Hello Adrien,


On 04/29/2014 03:51 PM, Adrien Pavillet wrote:
I'm testing the Isochone API and found this doc ( http://docs.opentripplanner.org/apidoc/0.11.0/resource_SIsochrone.html ) which mentions also the second version of isochrone made by Laurent Grégoire.

When I was restructuring things I changed the names of these classes without realizing that they would appear in the docs. Unfortunately the class names, endpoint names, and doc strings are not in sync. I will update them.

"Version 1" is SIsochrone, which is at path / routers/{routerId}/isochroneOld
"Version 2" is LIsochrone, which is at path / routers/{routerId}/isochrone


  • We're using large graph ( country size ), what are the best performances options for this, the -l options does not seem to change anything. Also is OTP server best suited for this, or can a well conf'ed Tomcat do better in terms of speed ?
The built-in OTP server should not have significantly different performance characteristics from deploying the servlet to Tomcat or some other application server. All of OTP's heavy-lifting code (which consumes the most time/memory) should be totally independent of the server.

The thing that will help the most for large-scale graphs is cutting off the search after M minutes. As the tree grows larger, there are more and more branches to explore. When those branches occur farther away than the largest isochrone you care about, they have no impact at all on your result. You can how a time limit is imposed in the SimpleIsochrone source code.


Note that I made the SimpleIsochrone for really specific circumstances: very long distance routing where OSM data is bad, specifically national rail isochrones for China. It just assumes constant travel time around stops, so isochrones are unions of circles.

-Andrew

Adrien Pavillet

unread,
Apr 29, 2014, 4:13:58 PM4/29/14
to Andrew Byrd, opentrippl...@googlegroups.com
Thanks to both of you for the answers,

I just realized there's also a LIsochrone which makes 3 or 4 Isochrones :)

Could you quickly describe the differences between them, and in what it means in terms of speed ?

Thanks a lot for your help !



--
You received this message because you are subscribed to the Google Groups "OpenTripPlanner Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opentripplanner-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Laurent Gregoire

unread,
Apr 30, 2014, 3:45:12 AM4/30/14
to opentrippl...@googlegroups.com
Hi Adrien,

On 29/04/14 22:13, Adrien Pavillet wrote:
> I just realized there's also a LIsochrone which makes 3 or 4 Isochrones :)

That's the new implementation (aka "v2") I was talking about, available
at /routers/{routerId}/isochrone

The number of isochrones it produce depends on the number of times the
parameter "cutoffSec" is given.

> Could you quickly describe the differences between them, and in what it
> means in terms of speed ?

The algorithms behind are completely different. For more information on
how the "v2" works, please see this two threads:
https://groups.google.com/forum/#!topic/opentripplanner-dev/ZcprBhpXAuE
https://groups.google.com/forum/#!topic/opentripplanner-dev/Gwbu2x-B7Jo

As for the original implementation, AFAIK it is made by computing a
convex hull based on the SPT graph geometry itself.

As for speed, you have to test yourself, it really depends on your local
conditions and choice of parameters. With the v2, if you want several
isochrones from the same origin/time/parameters, it's better to use
several cutoffs within the same request, as the SPT and the sampling
will be done only once. The isochrone interpolation is rather fast, the
total time is not linear on the number of isochrones.

HTH,

--Laurent

Adrien Pavillet

unread,
May 5, 2014, 7:12:04 AM5/5/14
to Laurent Gregoire, opentrippl...@googlegroups.com
Thanks, 

Thought i'm getting 404 on both isochroneOld and simpleIsochrone : the v2 isocrhone is called via /otp-rest-servlet/ws/isochrone?params, but calling /otp-rest-servlet/ws/isochroneOld?params or
/otp-rest-servlet/ws/ImpleIsochrone&params does not work.

Do we need to enable them too while launching the server?

Thanks

Andrew Byrd

unread,
May 5, 2014, 9:13:23 AM5/5/14
to opentrippl...@googlegroups.com
Which version of OTP are you running? We are moving toward a 1.0 API and a lot of things are in flux. In more recent versions of OTP there is no /otp-rest-servlet/ws/ prefix. Instead you must specify a routerId in the URL, though the value "default" is still accepted.

In that case, the isochrone endpoints will be at:

"Version 1"  path /routers/{routerId}/isochroneOld
"Version 2"  path /routers/{routerId}/isochrone

-Andrew

Adrien Pavillet

unread,
May 5, 2014, 9:17:11 AM5/5/14
to Andrew Byrd, opentrippl...@googlegroups.com
I used and compiled master, /otp-rest-servlet/ works for isochrone v2.

Adrien

Andrew Byrd

unread,
May 5, 2014, 9:35:11 AM5/5/14
to Adrien Pavillet, opentrippl...@googlegroups.com
Right, master does not have these changes. Looking at
https://github.com/opentripplanner/OpenTripPlanner/blob/master/otp-core/src/main/java/org/opentripplanner/api/ws/analyst/IsoChrone.java
the path for Stefan's "v1" isochrone is "/iso", relative to the same base path as the rest of the OTP API.

Looking at
https://github.com/opentripplanner/OpenTripPlanner/blob/master/otp-core/src/main/java/org/opentripplanner/api/ws/analyst/IsoChrone2.java
the path for Laurent's v2 isochrone is "/isochrone", relative to the same base path as the rest of the OTP API.

Looking at
https://github.com/opentripplanner/OpenTripPlanner/blob/master/otp-core/src/main/java/org/opentripplanner/api/ws/analyst/SimpleIsochrone.java
the path for the "simple isochrone" (no street network) is "/siso".

Unless you are planning to dive into the source code I would however recommend that you use one of the recently released versions of OTP such as 0.10.0 instead of master.

-Andrew

Volkan Unsal

unread,
May 15, 2014, 12:45:40 PM5/15/14
to opentrippl...@googlegroups.com, Adrien Pavillet
Hi Andrew,

I checked out the 0.11.0 branch and started the server, and I cannot get any of the paths above to work. The standard error message is resource not found. Here is an example:



Can you see what is wrong with my url scheme? Is there an easy way I can figure out which resources are available at which urls on the app?



Andrew Byrd

unread,
May 15, 2014, 1:27:11 PM5/15/14
to opentrippl...@googlegroups.com, Adrien Pavillet
Hello,

Assuming you are using the standalone otp.jar rather than deploying OTP to a servlet container like Tomcat, the path on 0.11.x should be:


This API call does not have query parameters called "routers", "layers", "styles" etc. so you would probably want to remove those from your URL. See the api docs at:

-Andrew

Volkan Unsal

unread,
May 15, 2014, 1:49:52 PM5/15/14
to Andrew Byrd, opentrippl...@googlegroups.com, Adrien Pavillet
Thanks Andrew. Is there any documentation anywhere on how I can set up the standalone version? I used the commands below that I found here, but the server only tells me resource does not in both cases.

java -jar otp-standalone/target/otp.jar -p 9090
java -jar otp-standalone/target/otp.jar -p 9090 -s opentripplanner-webapp/target/opentripplanner-webapp/


(I couldn't use port 8080 because it seems another server process is taking precedence over Grizzly)






--
You received this message because you are subscribed to the Google Groups "OpenTripPlanner Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opentripplanner-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Volkan Unsal
web and mobile development

Andrew Byrd

unread,
May 15, 2014, 3:54:33 PM5/15/14
to Volkan Unsal, opentrippl...@googlegroups.com, Adrien Pavillet
There's a short explanation here:
https://github.com/opentripplanner/OpenTripPlanner/wiki/TwoMinutes#run-the-server

What specific URL are you accessing when the server tells you that the resource does not exist?

-Andrew

Volkan Unsal

unread,
May 15, 2014, 4:17:17 PM5/15/14
to Andrew Byrd, opentrippl...@googlegroups.com, Adrien Pavillet
What specific URL are you accessing when the server tells you that the resource does not exist?


I tried everything starting from the root:

localhost:9090/
localhost:9090/resources
localhost:9090/resources/default/isochrone
localhost:9090/otp/resources
localhost:9090/otp/resources/default/isochrone


...and so on. Nothing worked. I'll try to use this tutorial and report back.

Andrew Byrd

unread,
May 15, 2014, 4:39:41 PM5/15/14
to opentrippl...@googlegroups.com, Andrew Byrd, Adrien Pavillet
As I mentioned in my previous message, in 0.11.x the URL should be of the form:

Volkan Unsal

unread,
May 15, 2014, 5:10:24 PM5/15/14
to opentrippl...@googlegroups.com, Andrew Byrd, Adrien Pavillet
Thanks, Andrew. Sorry about the confusion. I tried that url combination as well. Nothing worked.

I followed the directions on the tutorial above. I rebuilt the graph, moved it over to /var/otp/graphs and then ran the following

java -Xmx2G -jar otp-core/target/otp.jar --server -p 9090

This started the server  with a pertinent info message:

16:54:56.423 INFO (ScanningResourceConfig.java:153) Root resource classes found:
  class org.opentripplanner.api.resource.Patcher
  class org.opentripplanner.api.resource.analyst.LIsochrone
  class org.opentripplanner.api.resource.BikeRental



I saw a JSON respons (hooray!) but the msg said "We're sorry. The trip planner is temporarily unavailable. Please try again later."


The error in the console reads:

17:08:24.076 ERROR (PlannerError.java:61) exception planning trip: 
java.lang.NullPointerException: null
at org.opentripplanner.analyst.request.IsoChroneSPTRendererAccSampling.getIsochrones(IsoChroneSPTRendererAccSampling.java:86) ~[otp.jar:1.1]
at org.opentripplanner.api.resource.analyst.LIsochrone.getIsochrone(LIsochrone.java:103) ~[otp.jar:1.1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_55]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_55]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na

Andrew Byrd

unread,
May 15, 2014, 5:55:44 PM5/15/14
to Volkan Unsal, opentrippl...@googlegroups.com, Adrien Pavillet

On 05/15/2014 11:10 PM, Volkan Unsal wrote:
So this is in fact very different. The responses you got before were telling you there was no web service at the URL you were trying; this response tells you the web service you contacted (which does exist) caused an error. However you are continuing to include query parameters that are not relevant for this service.



17:08:24.076 ERROR (PlannerError.java:61) exception planning trip: 
java.lang.NullPointerException: null
at org.opentripplanner.analyst.request.IsoChroneSPTRendererAccSampling.getIsochrones(IsoChroneSPTRendererAccSampling.java:86) ~[otp.jar:1.1]
at org.opentripplanner.api.resource.analyst.LIsochrone.getIsochrone(LIsochrone.java:103) ~[otp.jar:1.1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_55]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_55]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na


Based on the line number, it looks like sptRequest or graphService might not be initialized. This could be a bug in OTP, though since this same code was used in the Marseille project that would surprise me a bit. I would need to try to reproduce this and maybe trace execution to be sure. Don't hesitate to create an issue on Github if you can't get it working.

-Andrew


Laurent Gregoire

unread,
May 16, 2014, 5:33:51 AM5/16/14
to opentrippl...@googlegroups.com
Hi Andrew, Volkan,

On 15/05/14 23:55, Andrew Byrd wrote:
> On 05/15/2014 11:10 PM, Volkan Unsal wrote:
>> 17:08:24.076 ERROR (PlannerError.java:61) exception planning trip:
>> java.lang.NullPointerException: null
>> at
>> org.opentripplanner.analyst.request.IsoChroneSPTRendererAccSampling.getIsochrones(IsoChroneSPTRendererAccSampling.java:86)
>
> Based on the line number, it looks like sptRequest or graphService might
> not be initialized. This could be a bug in OTP, though since this same
> code was used in the Marseille project that would surprise me a bit. I
> would need to try to reproduce this and maybe trace execution to be
> sure. Don't hesitate to create an issue on Github if you can't get it
> working.

It's indeed a missing DI binding for graphService in standalone mode for
the IsoChroneSPTRendererAccSampling class. I've solved this 4 months ago
in the master branch:
https://github.com/opentripplanner/OpenTripPlanner/commit/b93a35f82cab17070daf9d324982a116cc916f7a

Backporting it to 0.11.x should be easy, if you'd like I can do it.

@Volkan: don't forget that you have to enable "analyst" mode in
standalone OTP to make isochrone work (command-line parameter "-a").

HTH,

--Laurent

Laurent Gregoire

unread,
May 16, 2014, 5:41:31 AM5/16/14
to opentrippl...@googlegroups.com
On 16/05/14 11:33, Laurent Gregoire wrote:
> Backporting it to 0.11.x should be easy, if you'd like I can do it.

I've cherry-picked b93a35f82cab17070daf9d324982a116cc916f7a locally and
the test below works fine:

$ java -jar otp.jar -g data/otp/nantes -p 9999 -a

http://localhost:9999/otp/routers/default/isochrone?fromPlace=47.223532,-1.552563&date=2014/12/10&time=12:00:00&mode=WALK&walkSpeed=3&maxWalkDistance=1000&precisionMeters=100&cutoffSec=3600

[{"type":"Feature","properties":{"name":"Isochrone 3600
sec"},"geometry":{"type":"GeometryCollection","geometries":[{"type":"Polygon","coordinates":[[[-1.5805581655223249,47.200022765223444],[-1.5803712972134867,47.19973639592514],

...
[-1.515757206408876,47.220649356811954]]]}]}}]

HTH,

--Laurent

Andrew Byrd

unread,
May 16, 2014, 11:22:59 AM5/16/14
to opentrippl...@googlegroups.com
I have cherry-picked this commit
b93a35f82cab17070daf9d324982a116cc916f7a onto 0.11.x and pushed it to
Github.

The isochrone endpoint should now work on the 0.11.x branch standalone
server.

-Andrew

Volkan Unsal

unread,
May 16, 2014, 12:34:03 PM5/16/14
to Andrew Byrd, opentrippl...@googlegroups.com
Thanks guys. Here is what I did. I rebuilt graph using the `mvn clean package` command. Then I launched the standalone version with

java -jar otp-standalone/target/otp.jar -p 9999

Laurent, when I tried using the -a parameter, it errored with

Exception in thread "main" com.beust.jcommander.ParameterException: Unknown option: -a
at com.beust.jcommander.JCommander.parseValues(JCommander.java:723)
at com.beust.jcommander.JCommander.parse(JCommander.java:275)
at com.beust.jcommander.JCommander.parse(JCommander.java:258)
at com.beust.jcommander.JCommander.<init>(JCommander.java:203)


When I removed that option and tried again, it errored with:

12:28:40.271 ERROR (GraphServiceImpl.java:219) Exception while loading graph from file:/var/otp/graphs/Graph.obj.
java.lang.IllegalStateException: Stored Graph version error
at org.opentripplanner.routing.graph.Graph.load(Graph.java:500)
at org.opentripplanner.routing.impl.GraphServiceImpl.loadGraph(GraphServiceImpl.java:217)


When I tried the otp-core, it loaded the graph correctly and started the server, but the NullPointer exception appeared again.






 


--
You received this message because you are subscribed to the Google Groups "OpenTripPlanner Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opentripplanner-users+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Volkan Unsal

unread,
May 16, 2014, 12:37:34 PM5/16/14
to Andrew Byrd, opentrippl...@googlegroups.com
This line from the log may be relevant. It says the graph was built with the SNAPSHOT version. How can I build it with the correct commit...?

12:34:11.900 INFO (GraphServiceFileImpl.java:172) Loading graph...
12:34:12.212 INFO (Graph.java:558) Graph version: MavenVersion(0, 11, 1, SNAPSHOT, 134e523bcbeca69fdab48b67b2ac29a2554226fd)
12:34:12.212 INFO (Graph.java:559) OTP version:   MavenVersion(0, 11, 1, SNAPSHOT, 57c9dd3879d36d37b01550e8d28a2fb2355325d0)
12:34:12.212 WARN (Graph.java:565) This graph was built with the same SNAPSHOT version of OTP, but a different commit. Please rebuild the graph if you experience incorrect behavior. 

 

Andrew Byrd

unread,
May 16, 2014, 12:58:14 PM5/16/14
to Volkan Unsal, opentrippl...@googlegroups.com
Just build the graph with the same version of OTP you are using to run the server.

-Andrew
To unsubscribe from this group and stop receiving emails from it, send an email to opentripplanner-...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
--
Volkan Unsal
web and mobile development

Volkan Unsal

unread,
May 16, 2014, 1:07:08 PM5/16/14
to Andrew Byrd, opentrippl...@googlegroups.com
Ah, ok, I thought `mvn package` did that. Now I remember how to build the graph. Will report back with the results.

Volkan Unsal

unread,
May 16, 2014, 1:45:56 PM5/16/14
to Andrew Byrd, opentrippl...@googlegroups.com
Ok. I rebuilt the graph. When I started the standalone server with the following command, tit didn't complain about the graph version this time:

java -Xmx2G -jar otp-standalone/target/otp.jar -p 9999 


(*Note that the -a option did not work here.)

When I visited http://localhost:9999/otp/routers/default/isochrone?layers=traveltime&styles=mask&batch=true&fromPlace=40.8155791,-73.94304299999999&date=2014/12/10&time=12:00:00&mode=TRANSIT&walkSpeed=3&maxWalkDistance=1000&precisionMeters=5000&cutoffSec=6900 the error message said "resource does not exist." 


When I tried to start the otp-core, it did complain about the graph version.

java -Xmx2G -jar otp-core/target/otp.jar -p 9999 


13:43:56.191 ERROR (GraphServiceFileImpl.java:177) Exception while loading graph from /var/otp/graphs/Graph.obj.

java.lang.IllegalStateException: Stored Graph version error 


So I don't know what I should do next... :-/




Andrew Byrd

unread,
May 16, 2014, 1:56:11 PM5/16/14
to Volkan Unsal, opentrippl...@googlegroups.com

On 05/16/2014 07:45 PM, Volkan Unsal wrote:
Ok. I rebuilt the graph. When I started the standalone server with the following command, tit didn't complain about the graph version this time:

java -Xmx2G -jar otp-standalone/target/otp.jar -p 9999 

(*Note that the -a option did not work here.)

This is already a sign that something is wrong. How does it "not work"?


13:43:56.191 ERROR (GraphServiceFileImpl.java:177) Exception while loading graph from /var/otp/graphs/Graph.obj.
java.lang.IllegalStateException: Stored Graph version error 

So I don't know what I should do next... :-/

Apparently you are still starting an OTP server with a graph that was built with a different version of OTP. What do you mean by "start the otp-core"? Is that different than running otp.jar?

-Andrew

Volkan Unsal

unread,
May 16, 2014, 2:18:23 PM5/16/14
to Andrew Byrd, opentrippl...@googlegroups.com
What do you mean by "start the otp-core"? Is that different than running otp.jar?

No, I mean exactly that –– running the the otp.jar with this command:

java -Xmx2G -jar otp-core/target/otp.jar -p 9999 


The error I get from running otp-standalone with the -a option is as follows:

> java -Xmx2G -jar otp-standalone/target/otp.jar -p 9999 -a

Exception in thread "main" com.beust.jcommander.ParameterException: Unknown option: -a
at com.beust.jcommander.JCommander.parseValues(JCommander.java:723)
at com.beust.jcommander.JCommander.parse(JCommander.java:275)
at com.beust.jcommander.JCommander.parse(JCommander.java:258)
at com.beust.jcommander.JCommander.<init>(JCommander.java:203)
at org.opentripplanner.standalone.OTPMain.main(OTPMain.java:55)


Another item to note is, there is another jar file in the target directories of otp-core and otp-standalone, and their names indicate they are built for the different releases. I don't know if this makes any difference:

/otp-standalone/target/otp-standalone-0.10.1-SNAPSHOT.jar
/otp-core/target/otp-core-0.11.1-SNAPSHOT.jar



Andrew Byrd

unread,
May 16, 2014, 2:46:42 PM5/16/14
to Volkan Unsal, opentrippl...@googlegroups.com

On 05/16/2014 08:18 PM, Volkan Unsal wrote:
> Another item to note is, there is another jar file in the target
> directories of otp-core and otp-standalone, and their names indicate
> they are built for the different releases. I don't know if this makes
> any difference:
>
> /otp-standalone/target/otp-standalone-0.10.1-SNAPSHOT.jar
> /otp-core/target/otp-core-0.11.1-SNAPSHOT.jar

There is no otp-standalone directory in 0.11.x. I think you are
compiling a mix of two different branches of OTP. After your checkout,
run a "git clean -df" to remove any stray files from another branch.

-Andrew

Volkan Unsal

unread,
May 16, 2014, 3:26:22 PM5/16/14
to Andrew Byrd, opentrippl...@googlegroups.com
Uhm, ok. I did that, but now the graph-builder.jar went missing too, and I cannot rebuild my graph anymore.






--
You received this message because you are subscribed to the Google Groups "OpenTripPlanner Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opentripplanner-users+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Andrew Byrd

unread,
May 16, 2014, 3:33:29 PM5/16/14
to Volkan Unsal, opentrippl...@googlegroups.com

On 05/16/2014 09:26 PM, Volkan Unsal wrote:
> Uhm, ok. I did that, but now the graph-builder.jar went missing too,
> and I cannot rebuild my graph anymore.
You can build a graph with otp.jar. It is used for both building the
graph and running a server. For building a graph use the --build switch,
and for starting a server use the --server switch. You can even do both
at one go and pass the graph off to the server in memory without saving
it, using the --inMemory switch.

-Andrew

Volkan Unsal

unread,
May 16, 2014, 4:06:38 PM5/16/14
to Andrew Byrd, opentrippl...@googlegroups.com
Awesome! Getting closer... I managed to start the server and then went to the url below (note that I'm using TRANSIT mode, and the data is for New York City.)


This page is just timing out. There is no visible sign of progress. I don't see any change in the terminal either. 








-Andrew

--
You received this message because you are subscribed to the Google Groups "OpenTripPlanner Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opentripplanner-users+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages