You don't need a stored procedure, you can simply use pure sql with the CASE WHEN ... THEN .. WHEN .. THEN .. .. END.
doc : http://www.postgresql.org/docs/9.3/static/functions-conditional.html If you still need plpgsql : http://www.postgresql.org/docs/9.3/static/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING Cheers, Rémi-C 2014-02-25 12:17 GMT+01:00 Pedro Costa <pedrocostaa...@sapo.pt>: > thanks Remi. > I'm tying to make a stored procedure to use st_reverse when draw order is > wrong. > Now, my difficult is in writing the loop. > I can't find something like that to guide me... > > > > Em 25-02-2014 11:11, Rémi Cura escreveu: > > You can use > http://postgis.refractions.net/docs/ST_Reverse.html > > Or simply ORDER BY DESC for your path > > Cheers, > > Rémi-C > > > 2014-02-25 11:49 GMT+01:00 Pedro Costa <pedrocostaa...@sapo.pt>: > >> Hi Rémi, >> >> Thanks for your awnser. >> 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... >> >> Em 25-02-2014 08:33, Rémi Cura escreveu: >> >> Hey, >> I don't understand your problem. >> >> If you have multilinestring, you need to break it to linestring with an >> id per multilinestring. >> If you have linestring, you just need to keep an id for each line and an >> id per point (given in path). >> >> Then you have several option to generate a ordered set of point (use the >> ORDER BY and the row_number() postgres function). >> >> If you give some detailled example maybe we could help better. >> >> Cheers, >> Rémi-C >> >> >> 2014-02-24 19:27 GMT+01:00 Stephen Woodbridge <wood...@swoodbridge.com>: >> >>> On 2/24/2014 11:33 AM, Pedro Costa wrote: >>> >>>> Hi guys, >>>> >>>> I'm trying to use lines from postgis to google maps android. >>>> To do that, I'm converting the lines to points with St_DumpPoints and, >>>> in gmaps, I make the lines. My problem is that I cannot create a correct >>>> sequence to order the points in android and so i get wrong lines (see ss >>>> atached). I'm already try to use st_dumpPoints path column and generate >>>> a serial but doesn't result. >>>> >>>> Anybody knows a solution to resolve that? >>>> >>> >>> You probably need to write function that re-orients you lines before >>> you dump them to points. The algorithm is like this: >>> >>> 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. >>> >>> 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. >>> >>> You might be able to st_union all the edges into one large edge and that >>> should create a new reorder edge. >>> >>> No you can dump them and the order will be correct. >>> >>> -Steve >>> _______________________________________________ >>> postgis-users mailing list >>> postgis-users@lists.osgeo.org >>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >>> >> >> >> >> _______________________________________________ >> postgis-users mailing >> listpostgis-users@lists.osgeo.orghttp://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >> >> >> >> _______________________________________________ >> postgis-users mailing list >> postgis-users@lists.osgeo.org >> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >> > > > > _______________________________________________ > postgis-users mailing > listpostgis-users@lists.osgeo.orghttp://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users > > > > _______________________________________________ > postgis-users mailing list > postgis-users@lists.osgeo.org > http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >
_______________________________________________ postgis-users mailing list postgis-users@lists.osgeo.org http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users