graphserver.html 6.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <!DOCTYPE html><html lang="en"><head><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta charset="utf-8"><meta name="description" content=""><meta name="author" content="Thomas Dy"><title>GraphServer | Pleasant Programmer</title><link href="../assets/css/bootstrap.min.css" rel="stylesheet" type="text/css"><link href="../assets/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css"><link href="../assets/css/rst.css" rel="stylesheet" type="text/css"><link href="../assets/css/code.css" rel="stylesheet" type="text/css"><link href="../assets/css/colorbox.css" rel="stylesheet" type="text/css"><link href="../assets/css/theme.css" rel="stylesheet" type="text/css"><link href="../assets/css/custom.css" rel="stylesheet" type="text/css"><!--[if lt IE 9]>
  2. <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
  3. <![endif]--><link rel="alternate" type="application/rss+xml" title="RSS" href="../rss.xml"></head><body>
  4. <!-- Menubar -->
  5. <div class="navbar navbar-fixed-top">
  6. <div class="navbar-inner">
  7. <div class="container">
  8. <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
  9. <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
  10. <span class="icon-bar"></span>
  11. <span class="icon-bar"></span>
  12. <span class="icon-bar"></span>
  13. </a>
  14. <a class="brand" href="../">
  15. Pleasant Programmer
  16. </a>
  17. <!-- Everything you want hidden at 940px or less, place within here -->
  18. <div class="nav-collapse collapse">
  19. <ul class="nav"><li><a href="../archive.html">Archives</a>
  20. </li><li><a href="../categories/index.html">Tags</a>
  21. </li><li><a href="../rss.xml">RSS</a>
  22. </li></ul><ul class="nav pull-right"><li>
  23. <a href="graphserver.md" id="sourcelink">Source</a>
  24. </li>
  25. </ul></div>
  26. </div>
  27. </div>
  28. </div>
  29. <!-- End of Menubar -->
  30. <div class="container-fluid" id="container-fluid">
  31. <!--Body content-->
  32. <div class="row-fluid">
  33. <div class="span2"></div>
  34. <div class="span8">
  35. <div class="postbox">
  36. <h1>GraphServer</h1>
  37. <hr><small>
  38. Posted: <time class="published" datetime="2013-07-23T14:48:29+08:00">2013-07-23 14:48</time>
  39.   |  More posts about
  40. <a class="tag" href="../categories/philippine-transit-app.html"><span class="badge badge-info">philippine-transit-app</span></a>
  41. <a class="tag" href="../categories/programming.html"><span class="badge badge-info">programming</span></a>
  42. </small>
  43. <hr><p>Link: <a href="http://graphserver.github.io/graphserver/">http://graphserver.github.io/graphserver/</a></p>
  44. <p>One other routing webapp I saw was GraphServer. It's actually more of a general purpose Graph library which supports GTFS and OSM data than an actual dedicated routing software like OpenTripPlanner. It's also based off python and C instead of Java, so it feels a lot less heavy.</p>
  45. <p>The instructions on the website are already pretty good. There are just some minor errors with it. Where it says <code>gs_gtfsdb_build</code>, you should actually use <code>gs_gtfsdb_compile</code>. Also, when running <code>gs_osmdb_compile</code> you might need to use <code>-t</code> for tolerant in case you follow the instructions on chopping up the original OSM data.</p>
  46. <p>A nice suggestion from the GraphServer instructions was to crop the OSM data to minimize the graph size. This is actually quite helpful if you downloaded the entire Philippine OSM dump. It reduced the original 900MB file to 135MB which was a lot more workable. I did hit a problem with their instructions though. The linked version of osmosis is an old one, which doesn't support 64-bit ids. The <a href="http://wiki.openstreetmap.org/wiki/Osmosis">latest version of Osmosis</a> easily did the job though.</p>
  47. <p>The actual routing though, was not exactly good. I only tried one route which should normally take 1-2 transfers, it suggested a route which involved 4+ transfers. It also didn't provide any alternate routes aside from that one. I'm not sure if it's a limitation of the provided routeserver, but I didn't bother checking if it supported parameters which might provide better routes.</p>
  48. <p>I think graphserver could be useful, but it seems more involved than say OpenTripPlanner. There do seem to be people who use graphserver for their routing apps, but for the bounds of the contest, or just as a side project, it might require too much effort.</p>
  49. <ul class="pager"><li class="previous">
  50. <a href="transit-wand.html">← Previous post</a>
  51. </li>
  52. <li class="next">
  53. <a href="elevation-data-in-otp.html">Next post →</a>
  54. </li>
  55. </ul><div id="disqus_thread"></div>
  56. <script type="text/javascript">
  57. var disqus_shortname ="pleasantprog";
  58. var disqus_url="http://pleasantprogrammer.com/posts/graphserver.html";
  59. var disqus_title="GraphServer";
  60. var disqus_identifier="cache/posts/graphserver.html";
  61. var disqus_config = function () {
  62. this.language = "en";
  63. };
  64. (function() {
  65. var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
  66. dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
  67. (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  68. })();
  69. </script><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
  70. </div>
  71. </div>
  72. </div>
  73. <!--End of body content-->
  74. </div>
  75. <div class="footerbox">
  76. <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png"></a> © 2013 Thomas Dy - Powered by <a href="http://nikola.ralsina.com.ar">Nikola</a>
  77. </div>
  78. <script src="../assets/js/jquery-1.7.2.min.js" type="text/javascript"></script><script src="../assets/js/bootstrap.min.js" type="text/javascript"></script><script src="../assets/js/jquery.colorbox-min.js" type="text/javascript"></script><script type="text/javascript">jQuery("a.image-reference").colorbox({rel:"gal",maxWidth:"80%",maxHeight:"80%",scalePhotos:true});</script></body></html>