mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 12:57:08 +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 limit = Math.abs(Number(opts.itemsPerPage)) || null;
|
||||||
|
|
||||||
const text = `
|
const text = `
|
||||||
SELECT
|
SELECT *
|
||||||
pl.*,
|
FROM planned_lines_summary
|
||||||
(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
|
|
||||||
ORDER BY sequence ASC;
|
ORDER BY sequence ASC;
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user