Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT CASE
- WHEN R.seq = 0 THEN geom
- WHEN ST_DWithin(ST_StartPoint(geom),ST_EndPoint(LAG(R.geom,1) OVER (ORDER BY R.seq)),1) THEN R.geom
- 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
- 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
- ELSE R.reverse
- END AS geom,
- R.seq
- FROM route R
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement