[postgis-users] segmentize lines with order
Pedro Costa
pedrocostaarma at sapo.pt
Tue Feb 25 03:59:46 PST 2014
I was trying CASE before but i doesn't know how to access 'next line
start point'.
Example:
SELECT
CASE
WHEN (ST_Intersects(ST_EndPoint(geom),(SELECT ST_StartPoint(geom)
FROM lines WHERE seq = seq+1))) <--- I need to get next line geom
THEN 1
ELSE 0
END AS reverse
FROM lines
Do you understand my problem?
Em 25-02-2014 11:42, Rémi Cura escreveu:
> 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 <pedrocostaarma at sapo.pt
> <mailto:pedrocostaarma at 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 <pedrocostaarma at sapo.pt
>> <mailto:pedrocostaarma at 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
>>> <woodbri at swoodbridge.com <mailto:woodbri at 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 at lists.osgeo.org
>>> <mailto:postgis-users at lists.osgeo.org>
>>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> postgis-users mailing list
>>> postgis-users at lists.osgeo.org <mailto:postgis-users at lists.osgeo.org>
>>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
>>
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at lists.osgeo.org
>> <mailto:postgis-users at lists.osgeo.org>
>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
>>
>>
>>
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at lists.osgeo.org <mailto:postgis-users at lists.osgeo.org>
>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org <mailto:postgis-users at lists.osgeo.org>
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
>
>
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20140225/a0fd988d/attachment.html>
More information about the postgis-users
mailing list