Fix zoom from scale condition for NULL result
And rewrite in cleaner form.
This commit is contained in:
parent
0b3ad5e569
commit
2a30eb2fd3
@ -17,11 +17,20 @@ RETURNS int
|
||||
LANGUAGE SQL
|
||||
IMMUTABLE
|
||||
AS $$
|
||||
SELECT
|
||||
CASE
|
||||
-- Don't bother if the scale is larger than ~zoom level 0
|
||||
WHEN scaleDenominator > 600000000 OR scaleDenominator = 0 THEN NULL
|
||||
WHEN scaleDenominator = 0 THEN _CDB_MaxSupportedZoom()
|
||||
ELSE CAST (LEAST(ROUND(LOG(2, 559082264.028/scaleDenominator)), _CDB_MaxSupportedZoom()) AS INTEGER)
|
||||
END;
|
||||
SELECT
|
||||
CASE
|
||||
WHEN scaleDenominator > 600000000 THEN
|
||||
-- Scale is smaller than zoom level 0
|
||||
NULL
|
||||
WHEN scaleDenominator = 0 THEN
|
||||
-- Actual zoom level would be infinite
|
||||
_CDB_MaxSupportedZoom()
|
||||
ELSE
|
||||
CAST (
|
||||
LEAST(
|
||||
ROUND(LOG(2, 559082264.028/scaleDenominator)),
|
||||
_CDB_MaxSupportedZoom()
|
||||
)
|
||||
AS INTEGER)
|
||||
END;
|
||||
$$;
|
||||
|
Loading…
Reference in New Issue
Block a user