mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 12:27:07 +00:00
Use view instead of ad-hoc query
This commit is contained in:
@@ -10,26 +10,8 @@ async function list (projectId, opts = {}) {
|
||||
// const limit = Math.abs(Number(opts.itemsPerPage)) || null;
|
||||
|
||||
const text = `
|
||||
SELECT
|
||||
pl.*,
|
||||
(SELECT count(*)
|
||||
FROM preplot_points pp
|
||||
WHERE pp.line = pl.line
|
||||
AND pp.class = pl.class
|
||||
AND pp.point BETWEEN SYMMETRIC pl.fsp AND pl.lsp
|
||||
) num_points,
|
||||
(ts1-ts0) duration,
|
||||
ST_Distance(pp0.geometry, pp1.geometry) length,
|
||||
ST_Azimuth(pp0.geometry, pp1.geometry)*180.0/pi() azimuth,
|
||||
-- speed? Nah
|
||||
ST_Transform(ST_MakeLine(pp0.geometry, pp1.geometry), 4326)::jsonb geometry
|
||||
FROM planned_lines pl
|
||||
INNER JOIN preplot_points pp0
|
||||
ON pl.line = pp0.line AND pl.fsp = pp0.point AND pl.class = pp0.class
|
||||
INNER JOIN preplot_points pp1
|
||||
ON pl.line = pp1.line AND pl.lsp = pp1.point AND pl.class = pp1.class
|
||||
INNER JOIN preplot_points pp
|
||||
ON pl.line = pp.line AND pp.point BETWEEN SYMMETRIC pl.fsp AND pl.fsp AND pl.class = pp.class
|
||||
SELECT *
|
||||
FROM planned_lines_summary
|
||||
ORDER BY sequence ASC;
|
||||
`;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user