Advertisement
Guest User

Untitled

a guest
Feb 26th, 2014
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.62 KB | None | 0 0
  1. SELECT CASE
  2.     WHEN R.seq = 0 THEN geom
  3.     WHEN ST_DWithin(ST_StartPoint(geom),ST_EndPoint(LAG(R.geom,1) OVER (ORDER BY R.seq)),1) THEN R.geom
  4.     WHEN ST_DWithin(ST_StartPoint(geom),ST_StartPoint(LAG(R.geom,1) OVER (ORDER BY R.seq)),1) AND       ST_DWithin(ST_EndPoint(LAG(R.geom,1) OVER (ORDER BY R.seq)),ST_StartPoint(LAG(geom,2) OVER (ORDER BY R.seq)),1) THEN R.geom
  5.     WHEN ST_DWithin(ST_StartPoint(geom),ST_StartPoint(LAG(R.geom,1) OVER (ORDER BY R.seq)),1) AND ST_DWithin(ST_EndPoint(LAG(R.geom,1) OVER (ORDER BY R.seq)),ST_EndPoint(LAG(geom,2) OVER (ORDER BY R.seq)),1) THEN R.geom
  6.     ELSE R.reverse
  7.     END AS geom,
  8.     R.seq
  9. FROM route R
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement