From d00379af6b4e186362ba1558f1f42ae6b1b04402 Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Tue, 21 Jun 2016 14:01:43 +0200 Subject: [PATCH] Pixel size query for turbo-carto adapter using radians and degrees instead of meters --- NEWS.md | 3 +++ lib/cartodb/models/mapconfig/adapter/turbo-carto-adapter.js | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 9d4bf4bf..8aebb7b3 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,6 +4,9 @@ Released 2016-mm-dd +Bug fixes: + - Pixel size query for turbo-carto adapter using radians and degrees instead of meters. + New features: - Add support for min, max, and avg operations in aggregation dataview #513. diff --git a/lib/cartodb/models/mapconfig/adapter/turbo-carto-adapter.js b/lib/cartodb/models/mapconfig/adapter/turbo-carto-adapter.js index d838e0d5..43a3ffaa 100644 --- a/lib/cartodb/models/mapconfig/adapter/turbo-carto-adapter.js +++ b/lib/cartodb/models/mapconfig/adapter/turbo-carto-adapter.js @@ -50,7 +50,10 @@ var zoomTemplate = dot.template([ '0', ')' ].join('\n')); -var pixelSizeTemplate = dot.template('40075017 * cos(ST_Y(ST_Centroid({{=it._bbox}}))) / 2 ^ (({{=it._zoom}}) + 8)'); +// http://wiki.openstreetmap.org/wiki/Zoom_levels +var pixelSizeTemplate = dot.template( + '40075017 * cos(radians(ST_Y(ST_Transform(ST_Centroid({{=it._bbox}}), 4326)))) / (2 ^ ({{=it._zoom}} + 8))' +); var scaleDenominatorTemplate = dot.template('({{=it._pixelSize}} / 0.00028)::numeric');