From 803b3671d046ba92b9666fd315d9e9ad9cb4d36d Mon Sep 17 00:00:00 2001 From: Javier Goizueta Date: Wed, 25 May 2016 11:21:12 +0200 Subject: [PATCH] Fixes for feature density computation * The initial iteration of the recursive feature density query shouldn't start beyond the maximum level * Correct off-by-one limit the rest of iterations --- scripts-available/CDB_Overviews.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts-available/CDB_Overviews.sql b/scripts-available/CDB_Overviews.sql index f91424a..d7e93d5 100644 --- a/scripts-available/CDB_Overviews.sql +++ b/scripts-available/CDB_Overviews.sql @@ -326,7 +326,7 @@ AS $$ FROM ext, base ), seed AS ( - SELECT xt, yt, base.z, ( + SELECT xt, yt, least(base.z, _CDB_MaxOverviewLevel()), ( SELECT count(*) FROM %1$s WHERE the_geom_webmercator && CDB_XYZ_Extent(xt, yt, base.z) ) e @@ -339,7 +339,7 @@ AS $$ WHERE the_geom_webmercator && CDB_XYZ_Extent(x*2 + xx, y*2 + yy, t.z+1) ) FROM t, base, (VALUES (0, 0), (0, 1), (1, 1), (1, 0)) AS c(xx, yy) - WHERE t.e > %2$s AND t.z < (base.z + %3$s) AND t.z <= _CDB_MaxOverviewLevel() + WHERE t.e > %2$s AND t.z < (base.z + %3$s) AND t.z < _CDB_MaxOverviewLevel() ) SELECT MAX(e/ST_Area(CDB_XYZ_Extent(x,y,z))) FROM t where e > 0; ', reloid::text, min_features, nz, n, c, reloid::oid)