|
var fs = require('fs'); |
|
var zlib = require('zlib'); |
|
var bytes = require('bytes'); |
|
var mapnik = require('mapnik'); |
|
|
|
mapnik.register_default_fonts(); |
|
|
|
function vtile() { |
|
var map = new mapnik.Map(256,256); |
|
map.loadSync('./original.xml'); |
|
var filename = '14_10083_6161.vector.pbf.z'; |
|
var data = fs.readFileSync(filename); |
|
zlib.inflate(data, function(err, buf) { |
|
if (err) throw err; |
|
var parts = filename.split('_'); |
|
var z = +parts[0]; |
|
var x = +parts[1]; |
|
var y = +(parts[2].split('.')[0]); |
|
var vt = new mapnik.VectorTile(z,x,y); |
|
vt.setData(buf); |
|
var im = new mapnik.Image(256,256); |
|
vt.parse(function(err) { |
|
if (err) throw err; |
|
fs.writeFileSync('out.json',JSON.stringify(vt.toGeoJSON(1),null,1)); |
|
vt.render(map, im, {buffer_size:0}, function(err,image) { |
|
if (err) throw err; |
|
image.save('out.png',"png24") |
|
}); |
|
}); |
|
}); |
|
} |
|
|
|
function normal() { |
|
mapnik.register_default_input_plugins(); |
|
var map2 = new mapnik.Map(256,256); |
|
map2.loadSync('./json.xml'); |
|
map2.extent = [4625357.4555925857275724,4965349.357405048795044,4627803.4404977113008499,4967795.3423101771622896]; |
|
map2.render(new mapnik.Image(256,256),function(err,im) { |
|
if (err) throw err; |
|
im.save('out2.png',"png24"); |
|
}); |
|
} |
|
|
|
|
|
//normal() |
|
vtile() |