Wrong order to the path

I have a query which I use to find a route between two points. Even though the route is displayed good on the map the order I get from pgRouting is wrong.

The query is this one:

``````SELECT rt.gid, ST_AsGeoJSON(rt.the_geom) AS geojson,
length(ST_transform(rt.the_geom,3785))as meters,x1,x2,y1,y2,name, ways.gid
FROM ways,
(SELECT gid, the_geom
FROM dijkstra_sp_delta(
'ways',
714,
4807,
0.1)
) as rt
WHERE ways.gid=rt.gid;
``````

Do you know any way to take the segments of the route in right order?

• I have found this thread here which seems to have the same problem as me lists.osgeo.org/pipermail/pgrouting-users/2010-April/… What i don't understand is why the segment is loading in reverse and how can i understand that . Also i can't understand the given solution so a little more detailed explanation would be much apriciated – john Oct 3 '12 at 16:58

Although you are using a different routing function but problem was the same I was facing and I hope this can help you out

try to order your result by sequence of your routing table. by doing that you will get your road segments in right order this is what i am doing this:

``````SELECT pt.gid, seq, id1 AS node, id2 AS edge, cost, geom as line FROM pgr_dijkstra('SELECT
gid as id,
source::int4,
target::int4,
shape_leng::float8 as cost
FROM my_table',
``````

1543, 186, false, false ) as di JOIN my_table pt ON di.id2 = pt.gid ) order by seq But when I tried to draw this route on the map for my mobile app (Android) as a complete route, road segments where not in the right order. Then I merged all the road segments as a single feature by using

``````   st_linemerge(st_union(geom))
``````

and the result was perfect