Just would like to say that I have tried many different combinations and am still getting the same outcome :(<br><br>Any help would be extremely appreciated! :)<br><br><div><span class="gmail_quote">On 11/27/07, <b class="gmail_sendername">
Matthew Pulis</b> &lt;<a href="mailto:mpulis@gmail.com">mpulis@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; margin-left: 0.80ex; border-left-color: #cccccc; border-left-width: 1px; border-left-style: solid; padding-left: 1ex">
<div lang="EN-US" link="#0000ff" vlink="#800080"><div><p><span lang="EN-GB">Hi, </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">I am trying to play a bit with the Shooting Star Query of pgRouting, since I need it to use it for one-way streets. 
</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">I am trying this query : </span></p><p><span lang="EN-GB">SELECT gid, the_geom </span></p><p style="text-indent: 36pt"><span lang="EN-GB">FROM shootingstar_sp(&#39;streets&#39;, 
</span></p><p style="margin-left: 36pt; text-indent: 36pt"><span lang="EN-GB">give_source(&#39;POINT(640905 225230)&#39;,1000,200), </span></p><p style="margin-left: 36pt; text-indent: 36pt"><span lang="EN-GB">give_target(&#39;POINT(640982 225439)&#39;,1000,200), 2000,
</span></p><p style="margin-left: 36pt; text-indent: 36pt"><span lang="EN-GB">&#39;length&#39;,true,true); </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">and also tried this query : </span></p><p><span lang="EN-GB">
select rt.gid, rt.the_geom, length(rt.the_geom), streets.gid </span></p><p style="text-indent: 36pt"><span lang="EN-GB">from streets,</span></p><p style="margin-left: 36pt; text-indent: 36pt"><span lang="EN-GB">&nbsp;(select gid, the_geom
</span></p><p style="margin-left: 72pt; text-indent: 36pt"><span lang="EN-GB">&nbsp;from shootingstar_sp(</span></p><p style="margin-left: 108pt; text-indent: 36pt"><span lang="EN-GB">&nbsp;&#39;streets&#39;, </span></p><p style="margin-left: 108pt; text-indent: 36pt">
<span lang="EN-GB">give_source(&#39;POINT(640905 225230)&#39;,1000,200), </span></p><p style="margin-left: 108pt; text-indent: 36pt"><span lang="EN-GB">give_target(&#39;POINT(640982 225439)&#39;,1000,200), 5000, &#39;length&#39;, true, true
</span></p><p style="margin-left: 108pt; text-indent: 36pt"><span lang="EN-GB">) </span></p><p style="margin-left: 36pt; text-indent: 36pt"><span lang="EN-GB">)as rt </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">
For half of the results both edge_ids are the same, however when I project the result on a shapefile then on QGis on my map, the points where the route should start and end are FAR from the points I selected. </span></p><p>
<span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">The functions give_source and give_target are functions I gave to transfrom the Point to the source colum and this is the function : -- Function: give_source(text, integer, integer) 
</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">-- DROP FUNCTION give_source(text, integer, integer); </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">CREATE OR REPLACE FUNCTION give_source(text, integer, integer) 
</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">RETURNS integer AS </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">$BODY$ </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">
DECLARE </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">pojnt ALIAS FOR $1; box ALIAS FOR $2; dist ALIAS FOR $3; </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">r_source INTEGER; </span>
</p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">BEGIN </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">SELECT source INTO r_source FROM streets s WHERE </span></p><p><span lang="EN-GB">&nbsp;</span>
</p><p><span lang="EN-GB">( the_geom &amp;&amp; expand (pointfromtext(pojnt),box) and distance (s.the_geom , pointfromtext(pojnt)) &lt; dist ) </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">ORDER BY distance (
s.the_geom , pointfromtext(pojnt)) ASC LIMIT 1; </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">RETURN r_source; </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">END; $BODY$ </span></p>
<p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">LANGUAGE &#39;plpgsql&#39; VOLATILE; </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">ALTER FUNCTION give_source(text, integer, integer) OWNER TO yancho; 
</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">I know it should be something stupid that I am doing, but really am out of ideas why it is not working. For sure the routing is being done well, but the start / end points are wrong, so it should be something from the give_source / give_target problem. BTW I used these two functions for my astar_sp_delta testing and it worked perfectly : 
</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">SELECT gid, AsText?(the_geom) AS wkt </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">FROM astar_sp_delta( </span></p><p><span lang="EN-GB">
&nbsp;</span></p><p><span lang="EN-GB">&#39;streets&#39;, (select give_source(&#39;POINT(640905 225230)&#39;,1000,200), (select give_target(&#39;POINT(640982 225439)&#39;,1000,200), 3000 ); </span></p><p><span lang="EN-GB">&nbsp;</span>
</p><p><span lang="EN-GB">&quot;; </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">As you can see on the paste here : <a href="http://yancho.pastebin.com/f7f44a0c2" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://yancho.pastebin.com/f7f44a0c2</a> </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">The first result row of astar_sp_delta is : 40617;&quot;MULTILINESTRING((640920.707155369 225441.381903503,640919.710413482
 225419.024734874,640904.400352 225231.230885577))&quot; </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">.. Which is very near the POINT : POINT(640905 225230), </span></p><p><span lang="EN-GB">&nbsp;</span>
</p><p><span lang="EN-GB">However the first result row of shootingstar_sp is : 791;&quot;MULTILINESTRING((629357.137492173 222486.61416491,629357.137492172 222526.524103276))&quot; followed by these two : </span></p><p><span lang="EN-GB">
&nbsp;</span></p><p><span lang="EN-GB">47462;&quot;MULTILINESTRING((629357.137492172 222526.524103276,629355.842055444 222559.004436553))&quot; 44423;&quot;MULTILINESTRING((629355.842055444 222559.004436553,629354.394306192 222605.962730528
))&quot; </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">Which shows clearly how far it is from the starting point : POINT(640905 225230) </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">
Also I tried this function : </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">SELECT * FROM shortest_path_shooting_star(&#39; </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">SELECT gid as id, 
</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">source::integer, target::integer, length::double precision as cost, rcost::double precision as reverse_cost, x1, y1, x2, y2, rule, to_cost </span></p><p><span lang="EN-GB">
&nbsp;</span></p><p><span lang="EN-GB">FROM streets&#39;, </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">give_source(&#39;POINT(640905 225230)&#39;,1000,200), give_target(&#39;POINT(640982 225439)&#39;,1000,200), 
</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">false,true); </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">Highted and pasted here : <a href="http://yancho.pastebin.com/d216a2408" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://yancho.pastebin.com/d216a2408</a> </span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">Which is giving me these 3 rows as my first resultset : 13065;791;39.9099383660941 13066;47462;32.5061564333317 21733;44423;46.9806061157797 
</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">Which have the same gid as the first 3 resultset given from shootingstar_sp .. so it is quite obvious I am giving the functions the wrong starting location / ending .. any one can shed some light on what I should fix please? 
</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">Any ideas will be extremely appreciated and keep up the good work :)</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">Thanks and regards 
</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">Matthew</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span lang="EN-GB">&nbsp;</span></p><p><span style="font-size: 12pt">&nbsp;
</span></p><div align="center" style="text-align: center"><span style="font-size: 12pt"><hr size="2" width="100%" align="center"></span></div><p><span style="font-size: 12pt">I am using the free version of SPAMfighter for private users.
<br> It has removed 18348 spam emails to date.<br> Paying users do not have this message in their emails.<br> Try <a href="http://www.spamfighter.com/len" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
SPAMfighter</a> for free now!</span></p></div></div></blockquote></div><br><br clear="all"><br>-- <br>Matthew Pulis<br>URL : <a href="http://www.solutions-lab.net">http://www.solutions-lab.net</a><br>MSN : pulis_matthew[@]hotmail.com
<br>ICQ : 145951110<br>Skype : <a href="http://solutions-lab.net">solutions-lab.net</a>