Skip to content

Instantly share code, notes, and snippets.

@yhahn
Last active August 29, 2015 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yhahn/8e1726ecdd84f1070771 to your computer and use it in GitHub Desktop.
Save yhahn/8e1726ecdd84f1070771 to your computer and use it in GitHub Desktop.
queryMany
var fs = require('fs');
var zlib = require('zlib');
var mapnik = require('mapnik');
var z = 14;
var x = 2619;
var y = 6333;
var lon = -122.44210;
var lat = 37.76411;
zlib.inflate(fs.readFileSync(__dirname + '/14.2619.6333.vector.pbf'), function(err, buffer) {
if (err) throw err;
var vt = new mapnik.VectorTile(z, x, y);
vt.setData(buffer);
vt.parse();
var query = [];
for (var i = 0; i < 300; i++) query.push([
lon + (Math.random()*0.01),
lat + (Math.random()*0.01)
]);
console.time('10x queryMany for 300 points');
for (var times = 0; times < 10; times++) {
var features = vt.queryMany(query, {layer:'contour', tolerance:100000});
}
console.timeEnd('10x queryMany for 300 points');
});
{
"name": "querytest",
"dependencies": {
"mapnik": "https://github.com/mapnik/node-mapnik/archive/queryMany.tar.gz"
}
}
@yhahn
Copy link
Author

yhahn commented Jul 8, 2014

10x queryMany for 300 points: 3563ms

Or 356.3ms per call to queryMany (for 300pts)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment