From c5660f598d41b22300d218f753b5131e8429957c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Tue, 21 Jun 2011 21:45:38 +0200 Subject: [PATCH] first stab at online tiles --- lib/mbtiles.js | 36 +++++++++++++++++++-- package.json | 1 + test/fixtures/online.mbtiles | Bin 0 -> 121856 bytes test/online.test.js | 61 +++++++++++++++++++++++++++++++++++ 4 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/online.mbtiles create mode 100644 test/online.test.js diff --git a/lib/mbtiles.js b/lib/mbtiles.js index 6d352dc..deaed98 100644 --- a/lib/mbtiles.js +++ b/lib/mbtiles.js @@ -3,6 +3,7 @@ var _ = require('underscore'), Step = require('step'), crypto = require('crypto'), zlib = require('zlib'), + get = require('get'), sqlite3 = require('sqlite3'); // MBTiles @@ -10,8 +11,16 @@ var _ = require('underscore'), // MBTiles class for doing common operations (schema setup, tile reading, // insertion, etc.) function MBTiles(filename, callback) { + var mbtiles = this; this.filename = filename; - this.db = new sqlite3.Database(filename, callback); + this.db = new sqlite3.Database(filename, function(err) { + if (err) return callback(err); + mbtiles.metadata('online', function(err, value) { + // Ignore not-existant key. + mbtiles.online = value; + if (callback) callback(null); + }); + }); }; // Retrieve the schema of the current mbtiles database and inform the caller of @@ -208,16 +217,39 @@ MBTiles.prototype.insertGridTiles = function(map, callback) { // - @param {Number} z tile z coordinate. // - @param {Function} callback MBTiles.prototype.tile = function(x, y, z, callback) { + var mbtiles = this; this.db.get('SELECT tile_data FROM tiles WHERE ' + 'zoom_level = ? AND tile_column = ? AND tile_row = ?', z, x, y, function(err, row) { if (err) callback(err); - else if (!row || !row.tile_data) callback(new Error('Tile does not exist')); + else if (!row || !row.tile_data) mbtiles.onlineTile(x, y, z, callback); else callback(null, row.tile_data); }); }; +// Requests a tile from an online source and cache it to the database. +// +// - @param {Number} x tile x coordinate. +// - @param {Number} y tile y coordinate. +// - @param {Number} z tile z coordinate. +// - @param {Function} callback +MBTiles.prototype.onlineTile = function(x, y, z, callback) { + var mbtiles = this; + if (!this.online) { + return callback(new Error('Tile does not exist')); + } + + var url = this.online.replace(/%x/g, x).replace(/%y/g, Math.pow(2, z) - 1 - y).replace(/%z/g, z); + new get(url).asBuffer(function(err, result) { + if (err) return callback(new Error(err)); + + // Cache image. + mbtiles.insertTiles([{ x: x, y: y, z: z, data: result }], function() {}); + callback(null, result); + }); +}; + // Select a grid and its data from an mbtiles database. // // - @param {Number} x tile x coordinate diff --git a/package.json b/package.json index 76b00f8..66194f7 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "optimist": "0.2.x", "sqlite3": "2.0.x", "step": "0.0.x", + "get": "0.3.x", "underscore": "1.1.x", "zlib": "1.0.x" }, diff --git a/test/fixtures/online.mbtiles b/test/fixtures/online.mbtiles new file mode 100644 index 0000000000000000000000000000000000000000..07d5651b1c9d26223deb3e01ece7399d2783050d GIT binary patch literal 121856 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%0A8H}Sxcdd2!8m;vuH^dlXN} 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 a;oApyn;z!8d6ZF`on29o^I}>1v+2JZCATvG literal 0 HcmV?d00001 diff --git a/test/online.test.js b/test/online.test.js new file mode 100644 index 0000000..0b0b4b3 --- /dev/null +++ b/test/online.test.js @@ -0,0 +1,61 @@ +var assert = require('assert'); +var MBTiles = require('..').MBTiles; + +var fixture = __dirname + '/fixtures/online.mbtiles'; + +exports['get online metadata'] = function(beforeExit) { + var completion = {}; + + var mbtiles = new MBTiles(fixture); + mbtiles.metadata('name', function(err, value) { if (err) throw err; completion.name = value; }); + mbtiles.metadata('type', function(err, value) { if (err) throw err; completion.type = value; }); + mbtiles.metadata('description', function(err, value) { if (err) throw err; completion.description = value; }); + mbtiles.metadata('version', function(err, value) { if (err) throw err; completion.version = value; }); + mbtiles.metadata('formatter', function(err, value) { if (err) throw err; completion.formatter = value; }); + mbtiles.metadata('bounds', function(err, value) { if (err) throw err; completion.bounds = value; }); + mbtiles.metadata('online', function(err, value) { if (err) throw err; completion.online = value; }); + mbtiles.metadata('invalid', function(err, value) { completion.invalid = err.message; }); + + beforeExit(function() { + assert.deepEqual(completion, { + name: 'MapQuest streets', + type: 'baselayer', + description: 'MapQuest’s OpenStreetMap based street level tiles.', + version: '1.0.0', + formatter: null, + bounds: '-180,-90,180,90', + online: 'http://otile1.mqcdn.com/tiles/1.0.0/osm/%z/%x/%y.png', + invalid: 'Key does not exist' + }); + }); +}; + + +exports['get online tiles'] = function(beforeExit) { + var status = { + success: 0, + error: 0 + }; + + var mbtiles = new MBTiles(fixture); + + mbtiles.db.serialize(function() { + mbtiles.db.run("DELETE FROM map"); + mbtiles.db.run("DELETE FROM images"); + }); + + mbtiles.tile(0, 0, 0, function(err, tile) { + if (err) throw new Error(err); + status.success++; + }); + + mbtiles.tile(0, 0, 18, function(err, tile) { + if (err) throw new Error(err); + status.success++; + }); + + beforeExit(function() { + assert.equal(status.success, 2); + assert.equal(status.error, 0); + }); +}; \ No newline at end of file