graphserver.html 5.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <!DOCTYPE html><html lang="en"><head><meta name="viewport" content="width=device-width, initial-scale=1"><meta charset="utf-8"><meta name="description" content=""><meta name="author" content="Thomas Dy"><title>GraphServer | Pleasant Programmer</title><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"><script type="text/javascript" src="//use.typekit.net/iwm5axp.js"></script><script type="text/javascript">try{Typekit.load();}catch(e){}</script><!--[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 (en)" href="../rss.xml"></head><body>
  4. <header><a href="../" title="Pleasant Programmer">
  5. <div class="thomas">
  6. <img src="../assets/img/thomas.gif" alt="DJ THOMAS IN DA HAUS"><img src="../assets/img/thomas.png" alt="Pleasant Programmer"></div>
  7. <h1 id="blog-title">
  8. Pleasant Programmer
  9. </h1>
  10. </a>
  11. <ul class="nav"><li class="twitter"><a href="http://twitter.com/pleasantprog">@pleasantprog</a></li>
  12. <li><a href="../archive.html">Archives</a>
  13. </li><li><a href="../categories/index.html">Tags</a>
  14. </li><li><a href="../rss.xml">RSS</a>
  15. </li></ul></header><div class="container">
  16. <div class="content">
  17. <div class="postbox">
  18. <div class="title">
  19. <h1>GraphServer</h1>
  20. <small>
  21. Posted: 2013-07-23 14:48
  22.   |  More posts about
  23. <a class="tag" href="../categories/philippine-transit-app.html"><span class="badge badge-info">philippine-transit-app</span></a>
  24. <a class="tag" href="../categories/programming.html"><span class="badge badge-info">programming</span></a>
  25. </small>
  26. </div>
  27. <p>Link: <a href="http://graphserver.github.io/graphserver/">http://graphserver.github.io/graphserver/</a></p>
  28. <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>
  29. <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>
  30. <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>
  31. <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>
  32. <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>
  33. <ul class="pager clearfix"><li class="previous">
  34. <a href="transit-wand.html">← Previous post</a>
  35. </li>
  36. <li class="next">
  37. <a href="elevation-data-in-otp.html">Next post →</a>
  38. </li>
  39. </ul><div id="disqus_thread"></div>
  40. <script type="text/javascript">
  41. var disqus_shortname ="pleasantprog";
  42. var disqus_url="http://pleasantprogrammer.com/posts/graphserver.html";
  43. var disqus_title="GraphServer";
  44. var disqus_identifier="cache/posts/graphserver.html";
  45. var disqus_config = function () {
  46. this.language = "en";
  47. };
  48. (function() {
  49. var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
  50. dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
  51. (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  52. })();
  53. </script><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
  54. </div>
  55. </div>
  56. </div>
  57. <footer><small><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US"><img alt="CC-BY-SA" 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></small>
  58. <script src="../assets/js/konami.js"></script><script src="http://code.jquery.com/jquery-2.0.3.min.js"></script><script>
  59. var easter_egg = new Konami();
  60. easter_egg.code = function() {
  61. $(".thomas").toggleClass("whoa");
  62. $("body").scrollTop(0);
  63. }
  64. easter_egg.load();
  65. // love you, thomas!
  66. // yours, @_phi + @meggykawsek
  67. </script></footer></body></html>