<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div id="yiv365884543"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12pt; font-family: "times new roman", "new york", "times", serif"><div id="yiv365884543yui_3_2_0_19_134196582770848"><span id="yiv365884543yui_3_2_0_19_134196582770876">Dear Mr. Steve <br><br>Glad to know astar_sp already use ecludian. :)<br>I used astar_sp for the function from the start. <br>Is there possibility i can see the script ecludian? i tried to find, but the script is in library.(am i right ?) or there is a documentation about it?<br><br>Boost Graph code, If i found some heuristic, i'll try to write it. :)<br>Thanks for the anwer,</span></div><div><span><br></span></div><div><span id="yiv365884543yui_3_2_0_19_1341965827708126">Dear Mr.
 Sanak<br></span></div><div><span>Thanks for answer, nice tutorial. Thank you so much :)<br></span></div><div><span><br></span></div><div><span id="yiv365884543yui_3_2_0_19_1341965827708121"><br></span></div><div id="yiv365884543yui_3_2_0_19_1341965827708115"><span id="yiv365884543yui_3_2_0_19_1341965827708118">This mailing list is really great, i hope everyone who 'new' used pgrouting know about it. Really help. Thankyou. :)<br></span></div><div><span><br></span></div><div><span><br></span></div><div><span id="yiv365884543yui_3_2_0_19_134196582770876">Thanks & Regards,</span></div><div><span id="yiv365884543yui_3_2_0_19_134196582770876">Robi<br><br><br><br><br><br></span></div><div id="yiv365884543yui_3_2_0_19_134196582770891"><br id="yiv365884543yui_3_2_0_19_134196582770851"></div>  <div style="font-size: 12pt; font-family: "times new roman", "new york", "times", serif" id="yiv365884543yui_3_2_0_19_134196582770856"
 class="yiv365884543yui_3_2_0_19_134196582770854"> <div style="font-size: 12pt; font-family: "times new roman", "new york", "times", serif" class="yiv365884543yui_3_2_0_19_134196582770861" id="yiv365884543yui_3_2_0_19_134196582770884"> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">Dari:</span></b> "pgrouting-dev-request@lists.osgeo.org" <pgrouting-dev-request@lists.osgeo.org><br> <b><span style="font-weight:bold;">Kepada:</span></b> pgrouting-dev@lists.osgeo.org <br> <b><span style="font-weight:bold;">Dikirim:</span></b> Selasa, 10 Juli 2012 19:21<br> <b><span style="font-weight:bold;">Judul:</span></b> pgrouting-dev Digest, Vol 25, Issue 13<br> </font> </div>
 <br>Send pgrouting-dev mailing list submissions to<br>    <a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a><br><br>To subscribe or unsubscribe via the World Wide Web, visit<br>    <a rel="nofollow" target="_blank" href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev">http://lists.osgeo.org/mailman/listinfo/pgrouting-dev</a><br>or, via email, send a message with subject or body 'help' to<br>    <a rel="nofollow" ymailto="mailto:pgrouting-dev-request@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev-request@lists.osgeo.org">pgrouting-dev-request@lists.osgeo.org</a><br><br>You can reach the person managing the list at<br>    <a rel="nofollow" ymailto="mailto:pgrouting-dev-owner@lists.osgeo.org" target="_blank"
 href="mailto:pgrouting-dev-owner@lists.osgeo.org">pgrouting-dev-owner@lists.osgeo.org</a><br><br>When replying, please edit your Subject line so it is more specific<br>than
 "Re: Contents of pgrouting-dev digest..."<br><br><br>Today's Topics:<br><br>   1. Ask how to use : Euclidean distance heuristic in A*    in<br>      pgrouting (Haruhi Suzumiya)<br>   2. Re: Ask how to use : Euclidean distance heuristic in A* in<br>      pgrouting (Stephen Woodbridge)<br>   3. Re: Ask how to use : Euclidean distance heuristic in A* in<br>      pgrouting (Sanak)<br>   4. duplicate function names in core (Mario Basa)<br>   5. Re: Ask how to use : Euclidean distance heuristic in A* in<br>      pgrouting (Steve Horn)<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Tue, 10 Jul 2012 09:24:53 +0800 (SGT)<br>From: Haruhi Suzumiya <<a rel="nofollow" ymailto="mailto:haruhi.suzumiyachan@yahoo.com" target="_blank"
 href="mailto:haruhi.suzumiyachan@yahoo.com">haruhi.suzumiyachan@yahoo.com</a>><br>To: "<a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a>" <<a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a>><br>Subject: [pgrouting-dev] Ask how to use : Euclidean distance heuristic<br>    in A*    in pgrouting<br>Message-ID:<br>    <<a rel="nofollow" ymailto="mailto:1341883493.85457.YahooMailNeo@web190103.mail.sg3.yahoo.com" target="_blank" href="mailto:1341883493.85457.YahooMailNeo@web190103.mail.sg3.yahoo.com">1341883493.85457.YahooMailNeo@web190103.mail.sg3.yahoo.com</a>><br>Content-Type: text/plain; charset="iso-8859-1"<br><br>Good morning,<br>?<br>Dear mr/mrs, :)<br><br><br>I'm robi, my
 username is haruhi. I'm newbie in pgrouting.?<br>I want to try use euclidean distance heuristic in A* in pgrouting, may u<br> give me tutorial how to change the heuristic and recompile it?
 :)<br>Fyi, I'm use windows 7, postgre 1.8.4, pgRouting-1.02_pg-8.3.3 :)<br><br><br>Thankyou and regards,<br>Robi<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <<a rel="nofollow" target="_blank" href="http://lists.osgeo.org/pipermail/pgrouting-dev/attachments/20120710/f5ae9295/attachment-0001.html">http://lists.osgeo.org/pipermail/pgrouting-dev/attachments/20120710/f5ae9295/attachment-0001.html</a>><br><br>------------------------------<br><br>Message: 2<br>Date: Mon, 09 Jul 2012 23:27:22 -0400<br>From: Stephen Woodbridge <<a rel="nofollow" ymailto="mailto:woodbri@swoodbridge.com" target="_blank" href="mailto:woodbri@swoodbridge.com">woodbri@swoodbridge.com</a>><br>To: <a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a><br>Subject: Re: [pgrouting-dev] Ask how to use : Euclidean
 distance<br>    heuristic in A* in pgrouting<br>Message-ID: <<a rel="nofollow" ymailto="mailto:4FFBA11A.7000100@swoodbridge.com" target="_blank" href="mailto:4FFBA11A.7000100@swoodbridge.com">4FFBA11A.7000100@swoodbridge.com</a>><br>Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br><br>On 7/9/2012 9:24 PM, Haruhi Suzumiya wrote:<br>> Good morning,<br>><br>> Dear mr/mrs, :)<br>><br>> I'm robi, my username is haruhi. I'm newbie in pgrouting.<br>> I want to try use euclidean distance heuristic in A* in pgrouting, may u<br>> give me tutorial how to change the heuristic and recompile it? :)<br>> Fyi, I'm use windows 7, postgre 1.8.4, pgRouting-1.02_pg-8.3.3 :)<br><br>Hi Robi,<br><br>The pgRouting package already supports A* and by definition it uses a <br>euclidean distance heuristic. See the function shortest_path_astar(), <br>there also may be some wrapper function with names like
 astar_sp_*<br><br>The wrapper function are just higher level convenience function.<br><br>There are a couple of tutorials around
 that probably have good examples <br>of how to use the functions.<br><br>If you want to change the heuristic, then you will need to look at the <br>Boost Graph code that is used to implement it. We don't have any <br>documentation on the implementation, but there are a lot of docs on <br>Boost Graph and you can get help from that list.<br><br>What I would do is write a wrapper for the Boost Graph code and reads a <br>text file to input the graph, sets up the structures to pass the data to <br>algorithm to run it and then prints out the results. You can do all this <br>outside of the database which greatly simplifies debugging your changes. <br>When you have it working the way you want, then it should be a clean <br>drop in replacement for the existing code or you can clone the existing <br>code and rename it for the new algorithm.<br><br>-Steve W<br><br><br>------------------------------<br><br>Message: 3<br>Date: Tue, 10 Jul 2012 16:20:45
 +0900<br>From: Sanak <<a rel="nofollow" ymailto="mailto:geosanak@gmail.com" target="_blank" href="mailto:geosanak@gmail.com">geosanak@gmail.com</a>><br>To: pgRouting developers mailing list <<a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a>><br>Subject: Re: [pgrouting-dev] Ask how to use : Euclidean distance<br>    heuristic in A* in pgrouting<br>Message-ID:<br>    <<a rel="nofollow" ymailto="mailto:CALeT7PBPSN9cQ1Qyq0u6fNPdwRY3YoxPytyAc-EUFWass2j65A@mail.gmail.com" target="_blank" href="mailto:CALeT7PBPSN9cQ1Qyq0u6fNPdwRY3YoxPytyAc-EUFWass2j65A@mail.gmail.com">CALeT7PBPSN9cQ1Qyq0u6fNPdwRY3YoxPytyAc-EUFWass2j65A@mail.gmail.com</a>><br>Content-Type: text/plain; charset="iso-8859-1"<br><br>Hi Robi,<br><br>I am not familiar with A* heuristic logic,<br>but if you want to build pgRouting Windows
 binary,<br>see following source and docs.<br><br><a rel="nofollow" target="_blank" href="https://github.com/sanak/pgrouting">https://github.com/sanak/pgrouting</a><br><a rel="nofollow" target="_blank" href="https://github.com/sanak/pgrouting/blob/mingw/BUILD.mingw">https://github.com/sanak/pgrouting/blob/mingw/BUILD.mingw</a><br><a rel="nofollow" target="_blank" href="https://github.com/sanak/pgrouting/blob/mingw/BUILD.mingw64">https://github.com/sanak/pgrouting/blob/mingw/BUILD.mingw64</a><br><br>And if you want to skip building dependency libraries,<br>use following build environment.<br><br><a rel="nofollow" target="_blank" href="http://sdrv.ms/NFCgr2">http://sdrv.ms/NFCgr2</a><br> +- Build.zip     ... for 32bit work folder. (extract to "C:\")<br> +- MinGW.zip ... for 32bit build environment. (extract to "C:\" and run<br>"C:\MinGW\msys\1.0\msys.bat")<br> +- Build64.zip ... for 64bit work folder. (extract to "C:\")<br> +- ming64.zip ... for
 64bit build environment. (based on PostGIS one.<br>extract to "C:\" and run "C:\ming64\msys\msys.bat")<br><br>Regards,<br><br>2012/7/10 Stephen Woodbridge
 <<a rel="nofollow" ymailto="mailto:woodbri@swoodbridge.com" target="_blank" href="mailto:woodbri@swoodbridge.com">woodbri@swoodbridge.com</a>><br><br>> On 7/9/2012 9:24 PM, Haruhi Suzumiya wrote:<br>><br>>> Good morning,<br>>><br>>> Dear mr/mrs, :)<br>>><br>>> I'm robi, my username is haruhi. I'm newbie in pgrouting.<br>>> I want to try use euclidean distance heuristic in A* in pgrouting, may u<br>>> give me tutorial how to change the heuristic and recompile it? :)<br>>> Fyi, I'm use windows 7, postgre 1.8.4, pgRouting-1.02_pg-8.3.3 :)<br>>><br>><br>> Hi Robi,<br>><br>> The pgRouting package already supports A* and by definition it uses a<br>> euclidean distance heuristic. See the function shortest_path_astar(), there<br>> also may be some wrapper function with names like astar_sp_*<br>><br>> The wrapper function are just higher level convenience
 function.<br>><br>> There are a couple of
 tutorials around that probably have good examples of<br>> how to use the functions.<br>><br>> If you want to change the heuristic, then you will need to look at the<br>> Boost Graph code that is used to implement it. We don't have any<br>> documentation on the implementation, but there are a lot of docs on Boost<br>> Graph and you can get help from that list.<br>><br>> What I would do is write a wrapper for the Boost Graph code and reads a<br>> text file to input the graph, sets up the structures to pass the data to<br>> algorithm to run it and then prints out the results. You can do all this<br>> outside of the database which greatly simplifies debugging your changes.<br>> When you have it working the way you want, then it should be a clean drop<br>> in replacement for the existing code or you can clone the existing code and<br>> rename it for the new algorithm.<br>><br>> -Steve W<br>>
 ______________________________**_________________<br>> pgrouting-dev mailing list<br>> <a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a><br>> <a rel="nofollow" target="_blank" href="http://lists.osgeo.org/**mailman/listinfo/pgrouting-dev">http://lists.osgeo.org/**mailman/listinfo/pgrouting-dev</a><<a rel="nofollow" target="_blank" href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev">http://lists.osgeo.org/mailman/listinfo/pgrouting-dev</a>><br>><br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <<a rel="nofollow" target="_blank"
 href="http://lists.osgeo.org/pipermail/pgrouting-dev/attachments/20120710/72b00301/attachment-0001.html">http://lists.osgeo.org/pipermail/pgrouting-dev/attachments/20120710/72b00301/attachment-0001.html</a>><br><br>------------------------------<br><br>Message: 4<br>Date: Tue, 10 Jul 2012 17:23:19 +0800<br>From: Mario Basa
 <<a rel="nofollow" ymailto="mailto:mario.basa@gmail.com" target="_blank" href="mailto:mario.basa@gmail.com">mario.basa@gmail.com</a>><br>To: <a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a><br>Subject: [pgrouting-dev] duplicate function names in core<br>Message-ID:<br>    <CAJwAmBPWaLmxBwy2iJMTwG+WvqO=<a rel="nofollow" ymailto="mailto:ZqJt4OKWj1tr0SKJunJKwA@mail.gmail.com" target="_blank" href="mailto:ZqJt4OKWj1tr0SKJunJKwA@mail.gmail.com">ZqJt4OKWj1tr0SKJunJKwA@mail.gmail.com</a>><br>Content-Type: text/plain; charset=UTF-8<br><br>Hello,<br><br>I am encountering problems placing the drivedist.c and<br>boost_drivedist.cpp into core (everything compiles, drivedist works<br>but astar searches dumps core. If I take out drivedist, astar works<br>like normal.), so I decided to poke around the source. I just found<br>out that
 there are so many duplicate functions (i.e.<br>finish(),text2char(),etc.) and struct names
 (edge_column,etc.) in each<br>of the C files.<br><br>Since C does not have any namespace functionality nor function<br>overloading, I don't have any idea which one will be called whenever<br>there is a library call. Scary since this will be difficult to debug.<br><br>Now that pgRouting is getting source contributions, I think this will<br>be a good time that we start discussing function naming conventions to<br>avoid duplicates as well as directory (core and extensions)<br>structures.<br><br>Regards,<br><br>Mario.<br><br><br>------------------------------<br><br>Message: 5<br>Date: Tue, 10 Jul 2012 08:21:20 -0400<br>From: Steve Horn <<a rel="nofollow" ymailto="mailto:steve@stevehorn.cc" target="_blank" href="mailto:steve@stevehorn.cc">steve@stevehorn.cc</a>><br>To: pgRouting developers mailing list <<a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank"
 href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a>><br>Subject: Re: [pgrouting-dev] Ask how to use
 : Euclidean distance<br>    heuristic in A* in pgrouting<br>Message-ID:<br>    <CAFLkBaW9+mPjHz_tLZ=<a rel="nofollow" ymailto="mailto:9owhdFowXjs3ieSLmPQUqqAu4Wix7ag@mail.gmail.com" target="_blank" href="mailto:9owhdFowXjs3ieSLmPQUqqAu4Wix7ag@mail.gmail.com">9owhdFowXjs3ieSLmPQUqqAu4Wix7ag@mail.gmail.com</a>><br>Content-Type: text/plain; charset="iso-8859-1"<br><br>Robi,<br>Since you have the instructions on how to recompile, I can tell you that<br>the heuristic function can be changed in the file astar_boost_wrapper.cpp<br>in the core/src directory around line 82. Look for the comment:<br><br>//You can choose any heuristical function from below<br>//return ::max(dx, dy);<br>//return ::sqrt(dx * dx + dy * dy)/4;<br>//return 0;<br>return (::fabs(dx)+::fabs(dy))/2;<br><br>On Tue, Jul 10, 2012 at 3:20 AM, Sanak <<a rel="nofollow" ymailto="mailto:geosanak@gmail.com" target="_blank"
 href="mailto:geosanak@gmail.com">geosanak@gmail.com</a>> wrote:<br><br>> Hi
 Robi,<br>><br>> I am not familiar with A* heuristic logic,<br>> but if you want to build pgRouting Windows binary,<br>> see following source and docs.<br>><br>> <a rel="nofollow" target="_blank" href="https://github.com/sanak/pgrouting">https://github.com/sanak/pgrouting</a><br>> <a rel="nofollow" target="_blank" href="https://github.com/sanak/pgrouting/blob/mingw/BUILD.mingw">https://github.com/sanak/pgrouting/blob/mingw/BUILD.mingw</a><br>> <a rel="nofollow" target="_blank" href="https://github.com/sanak/pgrouting/blob/mingw/BUILD.mingw64">https://github.com/sanak/pgrouting/blob/mingw/BUILD.mingw64</a><br>><br>> And if you want to skip building dependency libraries,<br>> use following build environment.<br>><br>> <a rel="nofollow" target="_blank" href="http://sdrv.ms/NFCgr2">http://sdrv.ms/NFCgr2</a><br>>  +- Build.zip     ... for 32bit work folder. (extract to "C:\")<br>>  +- MinGW.zip
 ... for 32bit build environment. (extract to "C:\" and
 run<br>> "C:\MinGW\msys\1.0\msys.bat")<br>>  +- Build64.zip ... for 64bit work folder. (extract to "C:\")<br>>  +- ming64.zip ... for 64bit build environment. (based on PostGIS one.<br>> extract to "C:\" and run "C:\ming64\msys\msys.bat")<br>><br>> Regards,<br>><br>> 2012/7/10 Stephen Woodbridge <<a rel="nofollow" ymailto="mailto:woodbri@swoodbridge.com" target="_blank" href="mailto:woodbri@swoodbridge.com">woodbri@swoodbridge.com</a>><br>><br>>> On 7/9/2012 9:24 PM, Haruhi Suzumiya wrote:<br>>><br>>>> Good morning,<br>>>><br>>>> Dear mr/mrs, :)<br>>>><br>>>> I'm robi, my username is haruhi. I'm newbie in pgrouting.<br>>>> I want to try use euclidean distance heuristic in A* in pgrouting, may u<br>>>> give me tutorial how to change the heuristic and recompile it? :)<br>>>> Fyi, I'm use windows 7, postgre 1.8.4,
 pgRouting-1.02_pg-8.3.3
 :)<br>>>><br>>><br>>> Hi Robi,<br>>><br>>> The pgRouting package already supports A* and by definition it uses a<br>>> euclidean distance heuristic. See the function shortest_path_astar(), there<br>>> also may be some wrapper function with names like astar_sp_*<br>>><br>>> The wrapper function are just higher level convenience function.<br>>><br>>> There are a couple of tutorials around that probably have good examples<br>>> of how to use the functions.<br>>><br>>> If you want to change the heuristic, then you will need to look at the<br>>> Boost Graph code that is used to implement it. We don't have any<br>>> documentation on the implementation, but there are a lot of docs on Boost<br>>> Graph and you can get help from that list.<br>>><br>>> What I would do is write a wrapper for the Boost Graph code and reads a<br>>> text file to
 input the graph, sets up the structures to pass the data to<br>>> algorithm to run it and then prints out the results. You can do all this<br>>> outside of the database which greatly simplifies debugging your changes.<br>>> When you have it working the way you want, then it should be a clean drop<br>>> in replacement for the existing code or you can clone the existing code and<br>>> rename it for the new algorithm.<br>>><br>>> -Steve W<br>>> ______________________________**_________________<br>>> pgrouting-dev mailing list<br>>> <a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a><br>>> <a rel="nofollow" target="_blank" href="http://lists.osgeo.org/**mailman/listinfo/pgrouting-dev">http://lists.osgeo.org/**mailman/listinfo/pgrouting-dev</a><<a rel="nofollow" target="_blank"
 href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev">http://lists.osgeo.org/mailman/listinfo/pgrouting-dev</a>><br>>><br>><br>><br>> _______________________________________________<br>> pgrouting-dev mailing list<br>> <a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a><br>> <a rel="nofollow" target="_blank" href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev">http://lists.osgeo.org/mailman/listinfo/pgrouting-dev</a><br>><br>><br><br><br>-- <br>Steve Horn<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <<a rel="nofollow" target="_blank"
 href="http://lists.osgeo.org/pipermail/pgrouting-dev/attachments/20120710/fdd6907d/attachment.html">http://lists.osgeo.org/pipermail/pgrouting-dev/attachments/20120710/fdd6907d/attachment.html</a>><br><br>------------------------------<br><br>_______________________________________________<br>pgrouting-dev mailing list<br><a rel="nofollow" ymailto="mailto:pgrouting-dev@lists.osgeo.org" target="_blank" href="mailto:pgrouting-dev@lists.osgeo.org">pgrouting-dev@lists.osgeo.org</a><br><a rel="nofollow" target="_blank" href="http://lists.osgeo.org/mailman/listinfo/pgrouting-dev">http://lists.osgeo.org/mailman/listinfo/pgrouting-dev</a><br><br><br>End of pgrouting-dev Digest, Vol 25, Issue 13<br>*********************************************<br><br><br> </div> </div>  </div></div></div></div></body></html>