pgr_flipEdges¶
Name¶
pgr_flipEdges
-
Synopsis¶
The function returns:
geometry[]
An array of the input geometries with the geometries flipped end to end such that the geometries are oriented as a path from start to end.
geometry[] pgr_flipEdges(ga geometry[])
Description¶
Given an array of linestrings that are supposedly connected end to end like the results of a route, check the edges and flip any end for end if they do not connect with the previous seegment and return the array with the segments flipped as appropriate.
Parameters
ga: | geometry[] An array of geometries, like the results of a routing query. |
---|
Warning
- No checking is done for edges that do not connect.
- Input geometries MUST be LINESTRING or MULTILINESTRING.
- Only the first LINESTRING of a MULTILINESTRING is considered.
History
- New in version 2.1.0
Examples¶
select st_astext(e) from (select unnest(pgr_flipedges(ARRAY[
'LINESTRING(2 1,2 2)'::geometry,
'LINESTRING(2 2,2 3)'::geometry,
'LINESTRING(2 2,2 3)'::geometry,
'LINESTRING(2 2,3 2)'::geometry,
'LINESTRING(3 2,4 2)'::geometry,
'LINESTRING(4 1,4 2)'::geometry,
'LINESTRING(3 1,4 1)'::geometry,
'LINESTRING(2 1,3 1)'::geometry,
'LINESTRING(2 0,2 1)'::geometry,
'LINESTRING(2 0,2 1)'::geometry]::geometry[])) as e) as foo;
st_astext
---------------------
LINESTRING(2 1,2 2)
LINESTRING(2 2,2 3)
LINESTRING(2 3,2 2)
LINESTRING(2 2,3 2)
LINESTRING(3 2,4 2)
LINESTRING(4 2,4 1)
LINESTRING(4 1,3 1)
LINESTRING(3 1,2 1)
LINESTRING(2 1,2 0)
LINESTRING(2 0,2 1)
(10 rows)