Fix static endpoints for (near-)whole-world queries (close #63)

This commit is contained in:
Petr Sloup 2016-10-21 14:49:39 +02:00
parent f1c835c21d
commit 345d96d5e6

View file

@ -432,14 +432,16 @@ module.exports = function(options, repo, params, id, dataResolver) {
var minCorner = mercator.px([bbox[0], bbox[3]], z), var minCorner = mercator.px([bbox[0], bbox[3]], z),
maxCorner = mercator.px([bbox[2], bbox[1]], z); maxCorner = mercator.px([bbox[2], bbox[1]], z);
w /= (1 + 2 * padding); var w_ = w / (1 + 2 * padding);
h /= (1 + 2 * padding); var h_ = h / (1 + 2 * padding);
z -= Math.max( z -= Math.max(
Math.log((maxCorner[0] - minCorner[0]) / w), Math.log((maxCorner[0] - minCorner[0]) / w_),
Math.log((maxCorner[1] - minCorner[1]) / h) Math.log((maxCorner[1] - minCorner[1]) / h_)
) / Math.LN2; ) / Math.LN2;
z = Math.max(Math.log(Math.max(w, h) / 256) / Math.LN2, Math.min(25, z));
return z; return z;
}; };