<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt"><div><span>Hi! Thanks for the response.</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><span>I changed the from/to table a little - I created an table with 3 columns (from_vertice, to_vertice, traffic). And with this function I solve the problem: </span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><span><br></span></div><div style="background-color: transparent;">CREATE OR REPLACE FUNCTION get_all_routes() RETURNS void AS</div><div style="background-color:
transparent;">$BODY$</div><div style="background-color: transparent;">DECLARE </div><div style="background-color: transparent;">i record;</div><div style="background-color: transparent;"><br></div><div style="background-color: transparent;">BEGIN</div><div style="background-color: transparent;"><br></div><div style="background-color: transparent;"> FOR i IN </div><div style="background-color: transparent;"><span class="Apple-tab-span" style="white-space:pre"> </span>select traffic.from_v, traffic.to_v, traffic.cars from traffic </div><div style="background-color: transparent;"> LOOP</div><div style="background-color: transparent;"><br></div><div style="background-color: transparent;">create table aux as select seq, id1 AS node, id2 AS edge, cost FROM pgr_dijkstra('</div><div style="background-color: transparent;"> SELECT id,</div><div style="background-color:
transparent;"> source,</div><div style="background-color: transparent;"> target,</div><div style="background-color: transparent;"> cost</div><div style="background-color: transparent;"> FROM osm',</div><div style="background-color: transparent;"> i.from_v::integer, i.to_v::integer, false, false);</div><div style="background-color: transparent;"><span class="Apple-tab-span" style="white-space:pre"> </span>update osm</div><div style="background-color: transparent;"><span class="Apple-tab-span" style="white-space:pre"> </span>set trf=trf+i.cars</div><div
style="background-color: transparent;"><span class="Apple-tab-span" style="white-space:pre"> </span>from aux</div><div style="background-color: transparent;"><span class="Apple-tab-span" style="white-space:pre"> </span>where id=aux.edge;</div><div style="background-color: transparent;">drop table aux;</div><div style="background-color: transparent;">RAISE NOTICE ' Running at % source id' ,i.from_v ;</div><div style="background-color: transparent;">end loop;</div><div style="background-color: transparent;">return;</div><div style="background-color: transparent;">END;</div><div style="background-color: transparent;">$BODY$</div><div style="background-color: transparent;"><span></span></div><div style="background-color: transparent;">LANGUAGE plpgsql;</div><div style="background-color: transparent;"><br></div><div style="background-color: transparent; color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica,
Arial, 'Lucida Grande', sans-serif; font-style: normal;">But it is a litle slower than I expected (~10 min for 28 pairs). Maybe if I use <span style="font-size: 12pt;">pgr_kdijkstra function I could speed up the process.</span></div><div style="background-color: transparent; color: rgb(0, 0, 0); font-size: 12pt; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal;"><span style="font-size: 12pt;"><br></span></div><div style="background-color: transparent; color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal;"><span style="font-size: 12pt;">Best regards</span></div><div style="background-color: transparent; color: rgb(0, 0, 0); font-size: 12pt; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal;"><span style="font-size: 12pt;">Lyubomir
Klyambarski</span></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;"> <div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;"> <div dir="ltr"> <font size="2" face="Arial"> На понеделник, 7 април 2014 г. 15:46, Stephen Woodbridge <woodbri@swoodbridge.com> написа:<br> </font> </div> <div class="y_msg_container">On 4/7/2014 5:13 AM, Lyubomir Klyambarski wrote:<br clear="none">> Dear pgrouting users,<br clear="none">> I am begginer at using pgrouting and SQL as a whole, but this tool would<br clear="none">> be very useful for my projects. My task is to perform traffic assignment<br clear="none">> on the road network of Bulgaria. I use routable map prepared with<br clear="none">> Osm2po. My start/end points are defined
according to the map nodes.<br clear="none">> Using the code from the example<br clear="none">><br clear="none">> SELECT seq, id1 AS node, id2 AS edge, cost FROM pgr_dijkstra('<br clear="none">> SELECT id,<br clear="none">> source,<br clear="none">> target,<br clear="none">> cost<br clear="none">> FROM osm',<br clear="none">> 30, 60, false, false);<br clear="none">><br clear="none">> how can I read my start/end points from another
table and attach traffic<br clear="none">> value to the edges in new column?<br clear="none">> Thanks in advance.<br clear="none"><br clear="none">Untested:<br clear="none"><br clear="none">See the results:<br clear="none"><br clear="none">select a.start, a.end, sum( (pgr_dijkstra(<br clear="none"> 'SELECT id, source, target, cost FROM osm',<br clear="none"> a.start, a.end, false, false)).cost ) as cost<br clear="none"> from routes a;<br clear="none"><br clear="none">Update the cost column in routes:<br clear="none"><br clear="none">update routes set cost=sum( (pgr_dijkstra(<div class="yqt1982663156" id="yqtfd15243"><br clear="none"> 'SELECT id, source, target, cost FROM osm',</div><br clear="none"> a.start, a.end, false, false)).cost )<br clear="none"> from (select start, stop from routes) a<br
clear="none"> where routes.start=a.start and routes.end=a.end;<br clear="none"><br clear="none"><br clear="none">You might need to fiddle with the sql a little but this should give you <br clear="none">the idea.<br clear="none"><br clear="none">-Steve<br clear="none">_______________________________________________<br clear="none">Pgrouting-users mailing list<br clear="none"><a shape="rect" ymailto="mailto:Pgrouting-users@lists.osgeo.org" href="mailto:Pgrouting-users@lists.osgeo.org">Pgrouting-users@lists.osgeo.org</a><br clear="none"><a shape="rect" href="http://lists.osgeo.org/mailman/listinfo/pgrouting-users" target="_blank">http://lists.osgeo.org/mailman/listinfo/pgrouting-users</a><div class="yqt1982663156" id="yqtfd84853"><br clear="none"></div><br><br></div> </div> </div> </div> </div></body></html>