Advertisement
perchslayer

step_03_create_pipes_pts_postgresql_spatial_VIEW

Jun 19th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.74 KB | None | 0 0
  1. CREATE OR REPLACE VIEW public.pipe_pts
  2. AS SELECT pipes.grid_no,
  3.     pipes.mxassetnum,
  4.     pipes.STATUS,
  5.     pipes.x AS lon, -- very important!!
  6.     pipes.y AS lat, -- very important!!
  7.     st_lineinterpolatepoint(st_linemerge(pipes.shape), 0.50::DOUBLE PRECISION) AS pipes_pt
  8.    FROM ( SELECT ml.grid_no,
  9.             ml.mxassetnum,
  10.             ml.STATUS,
  11.             st_y(st_lineinterpolatepoint(st_linemerge(ml.shape), 0.50::DOUBLE PRECISION)) AS y,
  12.             st_x(st_lineinterpolatepoint(st_linemerge(ml.shape), 0.50::DOUBLE PRECISION)) AS x,
  13.             ml.shape
  14.            FROM ml
  15.         UNION
  16.          SELECT ml_rem.grid_no,
  17.             ml_rem.mxassetnum,
  18.             ml_rem.STATUS,
  19.             st_y(st_lineinterpolatepoint(st_linemerge(ml_rem.shape), 0.50::DOUBLE PRECISION)) AS y,
  20.             st_x(st_lineinterpolatepoint(st_linemerge(ml_rem.shape), 0.50::DOUBLE PRECISION)) AS x,
  21.             ml_rem.shape
  22.            FROM ml_rem
  23.         UNION
  24.          SELECT ll.grid_no,
  25.             ll.mxassetnum,
  26.             ll.STATUS,
  27.             st_y(st_lineinterpolatepoint(st_linemerge(ll.shape), 0.50::DOUBLE PRECISION)) AS y,
  28.             st_x(st_lineinterpolatepoint(st_linemerge(ll.shape), 0.50::DOUBLE PRECISION)) AS x,
  29.             ll.shape
  30.            FROM ll
  31.         UNION
  32.          SELECT ll_rem.grid_no,
  33.             ll_rem.mxassetnum,
  34.             ll_rem.STATUS,
  35.             st_y(st_lineinterpolatepoint(st_linemerge(ll_rem.shape), 0.50::DOUBLE PRECISION)) AS y,
  36.             st_x(st_lineinterpolatepoint(st_linemerge(ll_rem.shape), 0.50::DOUBLE PRECISION)) AS x,
  37.             ll_rem.shape
  38.            FROM ll_rem) pipes;
  39.  
  40. -- Permissions
  41.  
  42. --ALTER TABLE public.pipe_pts OWNER TO postgres;
  43. --GRANT ALL ON TABLE public.pipe_pts TO postgres;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement