<div dir="ltr"><div><div>You don't need a stored procedure,<br></div>you can simply use pure sql with the CASE WHEN ... THEN .. WHEN .. THEN .. .. END.<br><br></div>doc : <a href="http://www.postgresql.org/docs/9.3/static/functions-conditional.html">http://www.postgresql.org/docs/9.3/static/functions-conditional.html</a><br>
<div><br>If you still need plpgsql : <a href="http://www.postgresql.org/docs/9.3/static/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING">http://www.postgresql.org/docs/9.3/static/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING</a><br>
<br>Cheers,<br>Rémi-C<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-02-25 12:17 GMT+01:00 Pedro Costa <span dir="ltr"><<a href="mailto:pedrocostaarma@sapo.pt" target="_blank">pedrocostaarma@sapo.pt</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>thanks Remi.<br>
I'm tying to make a stored procedure to use st_reverse when draw
order is wrong.<br>
Now, my difficult is in writing the loop. <br>
I can't find something like that to guide me...<br>
<br>
<br>
<br>
Em 25-02-2014 11:11, Rémi Cura escreveu:<br>
</div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>You can use <br>
<a href="http://postgis.refractions.net/docs/ST_Reverse.html" target="_blank">http://postgis.refractions.net/docs/ST_Reverse.html</a><br>
<br>
</div>
Or simply ORDER BY DESC for your path<br>
<br>
</div>
Cheers,<br>
<br>
</div>
Rémi-C<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-02-25 11:49 GMT+01:00 Pedro Costa
<span dir="ltr"><<a href="mailto:pedrocostaarma@sapo.pt" target="_blank">pedrocostaarma@sapo.pt</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Hi Rémi,<br>
<br>
Thanks for your awnser.<br>
My problem is that the draw order isn't equal in all
lines so the path of st_dumppoints sometimes return
ascend order and another times descend. I need to make a
loop to make a reverse...<br>
<br>
Em 25-02-2014 08:33, Rémi Cura escreveu:<br>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Hey,<br>
</div>
I don't understand your problem.<br>
<br>
</div>
If you have multilinestring, you need to
break it to linestring with an id per
multilinestring.<br>
</div>
If you have linestring, you just need to keep
an id for each line and an id per point (given
in path).<br>
<br>
</div>
Then you have several option to generate a
ordered set of point (use the ORDER BY and the
row_number() postgres function).<br>
<br>
</div>
If you give some detailled example maybe we could
help better.<br>
<br>
Cheers,<br>
Rémi-C<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-02-24 19:27
GMT+01:00 Stephen Woodbridge <span dir="ltr"><<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>On 2/24/2014 11:33 AM, Pedro Costa
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Hi guys,<br>
<br>
I'm trying to use lines from postgis to
google maps android.<br>
To do that, I'm converting the lines to
points with St_DumpPoints and,<br>
in gmaps, I make the lines. My problem
is that I cannot create a correct<br>
sequence to order the points in android
and so i get wrong lines (see ss<br>
atached). I'm already try to use
st_dumpPoints path column and generate<br>
a serial but doesn't result.<br>
<br>
Anybody knows a solution to resolve
that?<br>
</blockquote>
<br>
</div>
</div>
You probably need to write function that
re-orients you lines before you dump them to
points. The algorithm is like this:<br>
<br>
1. for the first edge, if the start point
match the the start or end of the 2nd edge, if
it does then st_reverse() the first edge.<br>
<br>
2. for the rest of the edges, if the edge
point of the current edge matches the end
point of the last edge, then st_reverse() the
current edge.<br>
<br>
You might be able to st_union all the edges
into one large edge and that should create a
new reorder edge.<br>
<br>
No you can dump them and the order will be
correct.<br>
<br>
-Steve<br>
_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users" target="_blank">http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users</a><br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
postgis-users mailing list
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a>
<a href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users" target="_blank">http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users</a></pre>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users" target="_blank">http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users</a><br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
postgis-users mailing list
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a>
<a href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users" target="_blank">http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users</a></pre>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org">postgis-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users" target="_blank">http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users</a><br></blockquote></div><br></div>