<div dir="ltr">OK, Steve... Thanks for the explanation!<div><br></div><div>It helps a lot because one of my doubts was precisely that need to compute the routes again, after those same routes to have been computed already. I thought I was missing some point there but now I understand that is the only way.</div>
<div><br></div><div>I'll continue my exploration into pgRouting world for a couple of weeks more and after that I must come up with a plan where I'll try to find out a way of contributing somehow to your RFC's efforts, as clearly they are headed to the same features I need.</div>
<div class="gmail_extra"><br clear="all"><div><div dir="ltr"><div>--</div><div>Helder Alves <br></div>+351912384076<br></div></div>
<br><br><div class="gmail_quote">On Tue, Nov 12, 2013 at 8:23 PM, Stephen Woodbridge <span dir="ltr"><<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 11/12/2013 2:51 PM, Helder Alves wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Steve,<br>
<br><div class="im">
Thanks for the update!<br>
<br>
I'm trying the new code but is not clear to me what's the best query to<br>
get the total distance (in meters or kilometers) / time (in secs,<br>
minutes or hours) for the route generated by TSP function (using a<br>
distance matrix) and also how to get the geometry data needed to get<br>
that same route represented as a QGIS layer.<br>
</div></blockquote>
<br>
OK, when you make your distance matrix, the values in it are based on the cost function that you use to generate it.<br>
<br>
So for example it you have two columns in your edge table, like cost_distance and cost_time, then when you create your distance matrix and select the edges using cost_time as cost, then your distance matrix is based on time. The units are whatever you use in the columns. Likewise if you build your matrix with cost_distance as cost then your distance matrix is based on the cost_distance values in whatever units you used for that column.<br>

<br>
TSP ONLY orders the nodes, if you need the routes between the nodes then those have to be computed again based on the ordered nodes.<br>
<br>
I say "again", because we computed them internally when we computed the distance matrix. But these were not cached anywhere, so they will have to be computed again after the TSP has ordered the nodes.<br>
<br>
I have been side tracked, looking into whether or not I can integrate a local OSRM instance into pgrouting because if you don't need the dynamic graph definition, ie: you can live with a static graph definition, then OSRM would allow for some significant performance gains in computing distance matrices and routes.<br>

<br>
I have also looked at some additional wrapping of the TSP and routing with an eye toward caching the routes generated in dmatrix creation for later use to generate the routes.<br>
<br>
So the bottom line is you are needing the stuff I am developing. I need it also, but it takes time to design and code stuff, especially while putting out other fires. And all the code (whatever that might turn out to be) is not there yet.<br>

<br>
-Steve<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
I guess I'm missing something but after reading everything thoroughly<br>
I'm not getting there...<br>
<br>
--<br>
Helder Alves<br>
<a href="tel:%2B351912384076" value="+351912384076" target="_blank">+351912384076</a><br>
<br>
<br>
On Sun, Nov 10, 2013 at 2:40 PM, Stephen Woodbridge<br></div><div class="im">
<<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.com</a> <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.<u></u>com</a>>> wrote:<br>
<br>
    Hello Helder,<br>
<br>
    Did you notice that I checked in a new version of<br>
    pgr_vidstodmatrix() with a different signature that is 3x faster.<br>
    Also the function you are using below will likely go away as it was<br>
    just a quick prototype so you should move your code to the new function.<br>
<br>
    Thank you for giving them a try.<br>
<br>
    -Steve<br>
<br>
<br>
    On 11/5/2013 7:53 PM, Helder Alves wrote:<br>
<br>
        It's working! Thanks! :-)<br>
<br>
        --<br>
        Helder Alves<br></div>
        <a href="tel:%2B351912384076" value="+351912384076" target="_blank">+351912384076</a> <tel:%2B351912384076><div class="im"><br>
<br>
<br>
        On Mon, Nov 4, 2013 at 6:42 PM, Stephen Woodbridge<br>
        <<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.com</a> <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.<u></u>com</a>><br></div><div class="im">

        <mailto:<a href="mailto:woodbri@swoodbridge." target="_blank">woodbri@swoodbridge.</a>__<u></u>com<br>
        <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.<u></u>com</a>>>> wrote:<br>
<br></div><div class="im">
             You ways table does not have a column named "id" for now<br>
        you might<br>
             have to set up a view like:<br>
<br>
             create view v_ways as select your_id_col as id, source,<br>
        target, cost<br>
             from ways;<br>
<br>
             then try your query replacing 'ways' with 'v_ways'<br>
<br>
             -Steve<br>
<br>
<br>
             On 11/4/2013 11:31 AM, Helder Alves wrote:<br>
<br>
                 Hi Steve,<br>
<br>
                      select dmatrix::float8[]<br>
                              from pgr_vidstodmatrix(<br>
                                       pgr_pointstovids(<br>
<br>
<br>
<br></div>
        pgr_texttopoints('-7.50501,40.<u></u>____26310;-7.48864,40.17530;-<u></u>7.____49901,40.13950;-7.57596,<u></u>40.____12350;-7.61591,40.<u></u>13230;-7.____61935,40.13230;-<u></u>7.67235,40.____13580;-7.67087,<u></u>40.13660;-7.____66510,40.<u></u>13860;-7.74559,40.____15640;-<u></u>7.74588,40.15730;-7.____74746,<u></u>40.15690;-7.74922,40.____<u></u>15540;-7.74926,40.15310;-7.___<u></u>_73537,40.14230;-7.63556,40.__<u></u>__18920;-7.64849,40.22630;-7._<u></u>___62354,40.25680;-7.62425,40.<u></u>____26280;-7.62223,40.25830;-<u></u>7.____62179,40.25680;-7.62116,<u></u>40.____25580;-7.64803,40.<u></u>22390;-7.____63916,40.20560;-<u></u>7.63664,40.____20250;-7.63767,<u></u>40.19970;-7.____63623,40.<u></u>20000;-7.56974,40.____26710;-<u></u>7.49104,40.26500;-7.____50473,<u></u>40.26320',<br>

                      4326),<br>
                                           'ways'),<br>
<br>
<br>
<br>
        pgr_texttopoints('-7.50501,40.<u></u>____26310;-7.48864,40.17530;-<u></u>7.____49901,40.13950;-7.57596,<u></u>40.____12350;-7.61591,40.<u></u>13230;-7.____61935,40.13230;-<u></u>7.67235,40.____13580;-7.67087,<u></u>40.13660;-7.____66510,40.<u></u>13860;-7.74559,40.____15640;-<u></u>7.74588,40.15730;-7.____74746,<u></u>40.15690;-7.74922,40.____<u></u>15540;-7.74926,40.15310;-7.___<u></u>_73537,40.14230;-7.63556,40.__<u></u>__18920;-7.64849,40.22630;-7._<u></u>___62354,40.25680;-7.62425,40.<u></u>____26280;-7.62223,40.25830;-<u></u>7.____62179,40.25680;-7.62116,<u></u>40.____25580;-7.64803,40.<u></u>22390;-7.____63916,40.20560;-<u></u>7.63664,40.____20250;-7.63767,<u></u>40.19970;-7.____63623,40.<u></u>20000;-7.56974,40.____26710;-<u></u>7.49104,40.26500;-7.____50473,<u></u>40.26320',<div class="im">
<br>
<br>
                      4326),<br>
                                       'ways')<br>
<br>
<br>
<br>
                 While running the query above, I got the error below.<br>
<br>
                      column "id" does not exist<br>
                      LINE 1: select id, source, target, cost from ways<br>
        where<br>
                 the_geom && ...<br>
                                      ^<br>
                      QUERY:  select id, source, target, cost from ways<br>
        where<br>
                 the_geom &&<br>
<br>
<br></div>
        '____<u></u>0103000020E6100000010000000500<u></u>______<u></u>00002E34D769A4651FC05EBA490C02<u></u>______<u></u>0344402E34D769A4651FC0492EFF21<u></u>______<u></u>FD2E444076ABE7A4F78D1DC0492EFF<u></u>______<u></u>21FD2E444076ABE7A4F78D1DC05EBA<u></u>______<u></u>490C020344402E34D769A4651FC05E<u></u>____BA490C02034440'::geometry<br>

                      CONTEXT:  PL/pgSQL function<br>
                      pgr_vidstodmatrix(integer[],__<u></u>__geometry[],text,double<div class="im"><br>
<br>
                 precision) line<br>
                      57 at FOR over EXECUTE statement<br>
<br>
<br>
                 I guess it's some kind of bug, which is something it<br>
        may happen<br>
                 when we<br>
                 are testing something from the develop branch! :-)<br>
<br>
                 Can you help me with this?<br>
<br>
                 Thanks!<br>
<br>
<br>
<br>
<br>
<br>
                 --<br>
                 Helder Alves<br></div>
        <a href="tel:%2B351912384076" value="+351912384076" target="_blank">+351912384076</a> <tel:%2B351912384076> <tel:%2B351912384076><div class="im"><br>
<br>
<br>
<br>
                 On Wed, Oct 9, 2013 at 5:26 PM, Stephen Woodbridge<br>
                 <<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.com</a><br>
        <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.<u></u>com</a>><br>
        <mailto:<a href="mailto:woodbri@swoodbridge." target="_blank">woodbri@swoodbridge.</a>__<u></u>com <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.<u></u>com</a>>><br>
</div>
                 <mailto:<a href="mailto:woodbri@swoodbridge" target="_blank">woodbri@swoodbridge</a>.<br>
        <mailto:<a href="mailto:woodbri@swoodbridge" target="_blank">woodbri@swoodbridge</a>.>_<u></u>___com<div class="im"><br>
<br>
                 <mailto:<a href="mailto:woodbri@swoodbridge." target="_blank">woodbri@swoodbridge.</a>__<u></u>com<br>
        <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.<u></u>com</a>>>>> wrote:<br>
<br>
                      Another common problem is orienting the returned<br>
        edges so<br>
                 they match<br>
                      up end to end. For example:<br>
<br>
                         select st_astext(the_geom) from<br>
<br>
<br></div>
        pgr_tsptrsp(pgr_texttopoints('<u></u>______2,0;2,1;3,1;2,2;4,1;4,2;<u></u>2,__3;__3,__2',<div class="im"><br>
<br>
<br>
                      0), 'edge_table', true, true) a, edge_table b where<br>
                 a.id2=<a href="http://b.id" target="_blank">b.id</a> <<a href="http://b.id" target="_blank">http://b.id</a>> <<a href="http://b.id" target="_blank">http://b.id</a>><br>
                      <<a href="http://b.id" target="_blank">http://b.id</a>>;<br>
<br>
<br>
                      "LINESTRING(2 1,2 2)"<br>
                      "LINESTRING(2 2,3 2)"<br>
                      "LINESTRING(3 2,4 2)"<br>
                      "LINESTRING(4 1,4 2)"  -- needs to be flipped<br>
                      "LINESTRING(3 1,4 1)"  -- needs to be flipped<br>
                      "LINESTRING(2 1,3 1)"  -- needs to be flipped<br>
                      "LINESTRING(2 1,2 2)"<br>
                      "LINESTRING(2 2,2 3)"<br>
                      "LINESTRING(2 2,2 3)"  -- needs to be flipped<br>
                      "LINESTRING(2 1,2 2)"  -- needs to be flipped<br>
                      "LINESTRING(2 0,2 1)"  -- needs to be flipped<br>
                      "LINESTRING(2 0,2 1)"<br>
<br>
                      So I wrote a new function pgr_flipedges(ga<br>
        geometry[]) that<br>
                 can be<br>
                      used like this:<br>
<br>
                      select st_astext(e) from (<br>
                         select<br></div>
        unnest(pgr_flipedges(array____<u></u>___agg(the_geom))) as e<br>
                           from<br>
<br>
<br>
        pgr_tsptrsp(pgr_texttopoints('<u></u>______2,0;2,1;3,1;2,2;4,1;4,2;<u></u>2,__3;__3,__2',<div class="im"><br>
<br>
<br>
                      0), 'edge_table', true, true) a,<br>
                                edge_table b<br>
                          where a.id2=<a href="http://b.id" target="_blank">b.id</a> <<a href="http://b.id" target="_blank">http://b.id</a>> <<a href="http://b.id" target="_blank">http://b.id</a>><br></div><div>
<div class="h5">
        <<a href="http://b.id" target="_blank">http://b.id</a>><br>
<br>
<br>
                      ) as foo;<br>
<br>
                      "LINESTRING(2 1,2 2)"<br>
                      "LINESTRING(2 2,3 2)"<br>
                      "LINESTRING(3 2,4 2)"<br>
                      "LINESTRING(4 2,4 1)"<br>
                      "LINESTRING(4 1,3 1)"<br>
                      "LINESTRING(3 1,2 1)"<br>
                      "LINESTRING(2 1,2 2)"<br>
                      "LINESTRING(2 2,2 3)"<br>
                      "LINESTRING(2 3,2 2)"<br>
                      "LINESTRING(2 2,2 1)"<br>
                      "LINESTRING(2 1,2 0)"<br>
                      "LINESTRING(2 0,2 1)"<br>
<br>
                      Notice how all the edges have been flipped to return a<br>
                 continuous<br>
                      path from start to end of each adjacent segment in<br>
        the path.<br>
<br>
                      -Steve<br>
                      All the mentioned code will eventually get checked<br>
        into<br>
                 pgrouting<br>
                      2.1 development branch once it is stable and I<br>
        have test<br>
                 cases and<br>
                      docs written for it.<br>
<br>
                      -Steve<br>
<br>
<br>
                      On 10/9/2013 10:29 AM, Stephen Woodbridge wrote:<br>
<br>
                          Hi all,<br>
<br>
                          I have been playing with some tools to allow<br>
        me  to<br>
                 integrate TSP<br>
                          optimization into a web application. I thought<br>
        I would<br>
                 share<br>
                          what I have<br>
                          come up with for comments. One of the things I<br>
        did was<br>
                 to try<br>
                          and break<br>
                          down the process into reusable modular<br>
        functions. For<br>
                 example<br>
                          there are<br>
                          two functions to compute the distance matrix<br>
        based on<br>
                 either<br>
                          Euclidean<br>
                          or kdijkstra distances. One could add other<br>
        functions<br>
                 to compute<br>
                          them<br>
                          based on other algorithms. Also each function<br>
        does one<br>
                          conversion so it<br>
                          is simple to understand and easy to test or<br>
        replace<br>
                 with another<br>
                          function that does the transformation in a<br>
        different<br>
                 way. Then<br>
                          the final<br>
                          function glues all the pieces together to get<br>
        the final<br>
                 result.<br>
<br>
                          Goal:<br>
<br>
                          take a string or points like "x,y;x,y;x,y;..." and<br>
                 compute the TSP<br>
                          solution to order the points based on either<br>
        Euclidean<br>
                 distance or<br>
                          network distances, then compute the route<br>
        through the<br>
                 network<br>
                          and return<br>
                          the route geometry.<br>
<br>
                          Solution in progress:<br>
<br>
                          1. text to point geometry *<br>
                               pgr_texttopoints(pnts text, srid integer<br>
                 DEFAULT(4326))<br>
<br>
                          2. points to vertex ids *<br>
                               pgr_pointtoedgenode(edges text, pnt<br>
        geometry, tol<br>
                 float8)<br>
                               pgr_pointstovids(pnts geometry[], edges<br>
        text, tol<br>
                 float8<br>
                          DEFAULT(0.01))<br>
<br>
                          3. points to edge ids **<br>
<br>
                          4. points to [edge id, pct] **<br>
<br>
                          5. points to Euclidean distance matrix *<br>
                               pgr_points2dmatrix(pnts geometry[], OUT<br>
        dmatrix double<br>
                          precision[],<br>
                          OUT ids integer[])<br>
<br>
                          6. vertex ids to kdijkstra distance matrix *<br>
                               pgr_vidstodmatrix(IN vids integer[], IN pnts<br>
                 geometry[], IN<br>
                          edges<br>
                          text, tol float8 DEFAULT(0.1), OUT dmatrix double<br>
                 precision[],<br>
                          OUT ids<br>
                          integer[])<br>
<br>
                          7. distance matrix to TSP to ordered list ***<br>
                          select * from pgr_tsp(<br>
                                (select dmatrix::float8[]<br>
                                   from pgr_vidstodmatrix(<br>
                                            pgr_pointstovids(<br>
<br>
<br></div></div>
          pgr_texttopoints('2,0;2,1;3,1;<u></u>______2,2;4,1;4,2;2,3;3,2',<br>
                          0),<br>
                                                'edge_table'),<br>
<br>
<br>
<br>
        pgr_texttopoints('2,0;2,1;3,1;<u></u>______2,2;4,1;4,2;2,3;3,2', 0),<div class="im"><br>
<br>
<br>
                                            'edge_table')<br>
                                ),<br>
                                1<br>
                          );<br>
<br>
                          8. reorder vids based on ordered list *<br>
<br>
                          9. compute trsp for pairs of vids in ordered<br>
        list *,!<br>
                               pgr_trsp(sql text, vids integer[],<br>
        directed boolean,<br>
                          has_reverse_cost boolean, turn_restrict_sql text<br>
                 DEFAULT NULL::text)<br>
<br>
                               pgr_tsptrsp(pnts geometry[], edges text,<br>
        directed<br>
                 boolean,<br>
                          has_reverse_cost boolean, tol float8 DEFAULT(0.1),<br>
                 turn_restrict_sql<br>
                          text DEFAULT NULL::text)<br>
<br>
                               select * from<br>
<br>
<br></div>
        pgr_tsptrsp(pgr_texttopoints('<u></u>______2,0;2,1;3,1;2,2;4,1;4,2;<u></u>2,__3;__3,__2',<div class="im"><br>
<br>
<br>
                          0),<br>
                          'edge_table', true, true);<br>
<br>
<br>
                          10. output results **<br>
<br>
                          NOTES:<br>
                          * - done<br>
                          ** - not done<br>
                          *** - already part of 2.0<br>
                          ! - computing a route through via points can be<br>
                 optimized in the<br>
                          C/C++<br>
                          code for better performance, but I currently just<br>
                 prototyped<br>
                          this up in<br>
                          plpgsql<br>
<br>
                          Thoughts,<br>
                              -Steve<br>
<br></div>
          ______________________________<u></u>_______________________<div class="im"><br>
<br>
                          pgrouting-dev mailing list<br>
        <a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a> <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>><br>

                 <mailto:<a href="mailto:pgrouting-dev@lists." target="_blank">pgrouting-dev@lists.</a>__<a href="http://osgeo.org" target="_blank"><u></u>osgeo.org</a><br>
        <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>>><br></div>
                 <mailto:<a href="mailto:pgrouting-dev@lists" target="_blank">pgrouting-dev@lists</a>.<br>
        <mailto:<a href="mailto:pgrouting-dev@lists" target="_blank">pgrouting-dev@lists</a>.>_<u></u>___<a href="http://osgeo.org" target="_blank">osgeo.org</a> <<a href="http://osgeo.org" target="_blank">http://osgeo.org</a>><br>

                 <mailto:<a href="mailto:pgrouting-dev@lists." target="_blank">pgrouting-dev@lists.</a>__<a href="http://osgeo.org" target="_blank"><u></u>osgeo.org</a><br>
        <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>>>><br>
        <a href="http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/______<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/____<u></u>mailman/listinfo/pgrouting-dev</a><u></u>><br>
<br>
        <<a href="http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/____<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><u></u>>__><div class="im"><br>
<br>
<br>
        <<a href="http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/____<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><u></u>><br>
<br>
        <<a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/pgrouting-dev</a><u></u>>__>__><br>
<br>
<br></div>
                      ______________________________<u></u>_______________________<div class="im"><br>
                      pgrouting-dev mailing list<br>
        <a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a> <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>><br>

                 <mailto:<a href="mailto:pgrouting-dev@lists." target="_blank">pgrouting-dev@lists.</a>__<a href="http://osgeo.org" target="_blank"><u></u>osgeo.org</a><br>
        <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>>><br></div>
                 <mailto:<a href="mailto:pgrouting-dev@lists" target="_blank">pgrouting-dev@lists</a>.<br>
        <mailto:<a href="mailto:pgrouting-dev@lists" target="_blank">pgrouting-dev@lists</a>.>_<u></u>___<a href="http://osgeo.org" target="_blank">osgeo.org</a> <<a href="http://osgeo.org" target="_blank">http://osgeo.org</a>><br>

                 <mailto:<a href="mailto:pgrouting-dev@lists." target="_blank">pgrouting-dev@lists.</a>__<a href="http://osgeo.org" target="_blank"><u></u>osgeo.org</a><br>
        <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>>>><br>
        <a href="http://lists.osgeo.org/______mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/______<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/____<u></u>mailman/listinfo/pgrouting-dev</a><u></u>><br>
<br>
        <<a href="http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/____<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><u></u>>__><div class="im"><br>
<br>
<br>
          <<a href="http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/____<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><u></u>><br>
<br>
        <<a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><br></div>
        <<a href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/pgrouting-dev</a><u></u>>__>__><div><div class="h5"><br>
<br>
<br>
<br>
<br>
                 ______________________________<u></u>_____________________<br>
                 pgrouting-dev mailing list<br>
        <a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a><br>
        <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>><br>
        <mailto:<a href="mailto:pgrouting-dev@lists." target="_blank">pgrouting-dev@lists.</a>__<a href="http://osgeo.org" target="_blank"><u></u>osgeo.org</a><br>
        <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>>><br>
        <a href="http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/____<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><u></u>><br>
<br>
        <<a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/pgrouting-dev</a><u></u>>__><br>
<br>
<br>
             ______________________________<u></u>_____________________<br>
             pgrouting-dev mailing list<br>
        <a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a><br>
        <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>><br>
        <mailto:<a href="mailto:pgrouting-dev@lists." target="_blank">pgrouting-dev@lists.</a>__<a href="http://osgeo.org" target="_blank"><u></u>osgeo.org</a><br>
        <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>>><br>
        <a href="http://lists.osgeo.org/____mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/____<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><u></u>><br>
             <<a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/pgrouting-dev</a><u></u>>__><br>
<br>
<br>
<br>
<br>
        ______________________________<u></u>___________________<br>
        pgrouting-dev mailing list<br>
        <a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a> <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>><br>

        <a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><br>
        <<a href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/pgrouting-dev</a><u></u>><br>
<br>
<br>
    ______________________________<u></u>___________________<br>
    pgrouting-dev mailing list<br>
    <a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a> <mailto:<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.<u></u>osgeo.org</a>><br>

    <a href="http://lists.osgeo.org/__mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/__<u></u>mailman/listinfo/pgrouting-dev</a><br>
    <<a href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/pgrouting-dev</a><u></u>><br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
pgrouting-dev mailing list<br>
<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/pgrouting-dev</a><br>
<br>
</div></div></blockquote><div class="HOEnZb"><div class="h5">
<br>
______________________________<u></u>_________________<br>
pgrouting-dev mailing list<br>
<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/pgrouting-dev</a><br>
</div></div></blockquote></div><br></div></div>