some result give me 2,3 or 4  points. how can i define (1,2)(3,4) when i got 2 points? 
<div> </div>
<div>segment 4390:</div>
<div>&quot;MULTILINESTRING((-71.1958400125164 -30.591211719682,-71.1959567794677 -30.5912308536826,-71.1968582353939 -30.5913171684662))&quot;</div>
<div> </div>
<div>segment 7320:</div>
<div>&quot;MULTILINESTRING((-71.2063821613355 -30.5998726725634,-71.2070054367284 -30.5991545647783))&quot;<br><br>i try with this query, but does not work:</div>
<div> </div>
<div>SELECT ST_Azimuth(ST_MakePoint(st_x(st_startpoint(the_geom)),st_x(st_pointn(the_geom, 2))), ST_MakePoint(st_x(st_pointn(the_geom, st_numpoints(the_geom)-1)),st_x(st_endpoint(the_geom))))/(2*pi())*360 as degAz,ST_Azimuth(ST_MakePoint(st_x(st_pointn(the_geom, st_numpoints(the_geom)-1)),st_x(st_endpoint(the_geom))), ST_MakePoint(st_x(st_startpoint(the_geom)),st_x(st_pointn(the_geom, 2))))/(2*pi())*360 As degAzrev from calle where gid=&quot;.$id_gid.&quot;</div>

<div> </div>
<div>results</div>
<div> </div>
<div>      degAz                       degAzrev </div>
<div>187.380514396367 :: 7.38051439636702<br> 4.88000936193493 :: 184.880009361935<br> 3.80862917910364 :: 183.808629179104<br> 4.56236891364906 :: 184.562368913649<br> 6.13664883828968 :: 186.13664883829<br> 84.2113342354141 :: 264.211334235414<br>
 83.7951033588638 :: 263.795103358864<br> 83.8097651650778 :: 263.80976516507</div>
<div> </div>
<div> </div>
<div>RG<br><br><br></div>
<div class="gmail_quote">2009/2/14 Stephen Woodbridge <span dir="ltr">&lt;<a href="mailto:woodbri@swoodbridge.com">woodbri@swoodbridge.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Valeria,<br><br>         C<br>         ^<br>         |<br>         |<br>A--------&gt;B<br><br>You need to look at the azimuth of the A-&gt;B and compare it to the azimuth of B-&gt;C, if the difference is around 0.0 then you are continuing straight ahead, if the difference is around +-90.0 you are turn right or left.<br>
<br>You also have to be careful with segments that have a lot of curvature, like exit ramps, because if you take the azimuth of the start and end points it might not be what you want, you might want to compute the azimuth points 1 and 2 for the start end and points numpoints-1, numpoints for the end of the segment.<br>
<br>-Steve<br><br><br><br><br>Valeria Muñoz wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div class="im">hi daniel<br>   i did try with Shooting*  and WORKS!!! .. thanks thanks!!... now my next problem :) i am using azimuth() for instructions(turn left right etc..) but i do not how use it, can you help me please?<br>
 RG<br> Query :<br> SELECT azimuth(startpoint(the_geom),endpoint(the_geom)) as azimuth from calle where gid = &quot;.$id_gid.&quot;<br> I read in a foro about azimuth() and this says that the result i have to multiply by 57.29577951. The result is the angle. Now How i know if the user have to turn left or rigth ..etc?, exist some algoritm? or function?<br>
 RG<br><br></div>2009/2/12 Daniel Kastl &lt;<a href="mailto:kastl@orkney.co.jp" target="_blank">kastl@orkney.co.jp</a> &lt;mailto:<a href="mailto:kastl@orkney.co.jp" target="_blank">kastl@orkney.co.jp</a>&gt;&gt; 
<div class="im"><br> </div></blockquote></blockquote></div>