<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><span></span></div><div><span>I'd also recommend igraph.</span></div><div><span></span>Description below describes how I'm using igraph (cut and paste from an earlier private email conversation).</div><div><br></div><div>I still use grass for some aspects of topology cleaning (eg messy OSM data), but igraph thereafter.</div><div><br></div><div>This is how I'm using igraph currently...</div><div><br><span></span><blockquote type="cite"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">I use igraph directly from postgis via pl/r wrappers. I use it mainly for least cost routing instead of pgrouting. Besides igraph being a very fast routing engine, it opens up possibilities to embed the inputs or outputs within other analytics processes or visualizations.<br><br>I've written igraph postgis functions that take<br>wkb_geoms and build an igraph directed network object.<br><br>Other postgis custom functions then query the network and return<br>-Node to node Shortest path<br>-Node to multinode shortest paths<br>-Mode - inward vs outward directed shortest paths<br>- travel distance matrices<br>-all of the above using R's parallel computing capabilities<br>- anything else which canbe done in igraph or R, and returned to Postgresql/postgis.<br><br>I then use the results to build polylines, isochrones and cost surfaces on the fly using the new KNN lateral query pattern in postgis.<br><br>And when you create a Postgis materialized view that calls these igraph functions, we can present dynamic QGIS visualizations. So if you drag the location of a hospital in QGIS, you see the postgis isochrones or accessibility surface immediately update when you hit save.<br><br>The other thing to bear in mind is that igraph also comes as a python library so you might be able to mash up the line graphs into a QGIS panel - and instead of calling igraph in postgis via pl/r, you call it via pl/Python.  Arguably you don't need postgis if you can access the igraph Python lib directly from qgis.</span></font></blockquote></div></div></blockquote><span></span><br><blockquote type="cite"><span>My recommendation would be igraph (<a href="http://igraph.org/">http://igraph.org/</a>).</span><br></blockquote><blockquote type="cite"><span>Powerful, Open Source (<a href="https://github.com/igraph">https://github.com/igraph</a>), well documented, and comes with Python, and C++ and R interfaces.</span><br></blockquote><blockquote type="cite"><span>I used it in the r.connectivity.network addon for GRASS 6 and was quite happy with it!</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Cheers</span><br></blockquote><blockquote type="cite"><span>Stefan</span><br></blockquote></div></body></html>