我想使用mapbox工具从一个GeoJson矢量数据存储中提供MBTiles瓷砖。这个是可能的吗?
我到目前为止所做的事:
为了检查是否可以读取MBTiles文件,我尝试了以下操作。
var tilelive = require('tilelive');
var MBTiles = require('mbtiles');
MBTiles.registerProtocols(tilelive);
var listsrc = function(src){ console.log('src: ' + src); }
tilelive.list('/home/bergw/Downloads', listsrc);但是它返回:null
当尝试使用tilelive-vector时,还会出现更多的问题
var opts = {};
opts.xml = 'file:///home/bergw/getgeojson/project.xml';
//opts.xml = 'file:///home/bergw/shapefiles/source.tm2/data.xml';
opts.format = 'json';
//opts.base = !style.tmpid(id) && uri.pathname;
opts.scale = 1; // data.scale || 1;
opts.source = 'mbtiles:///home/bergw/Downloads/source.mbtiles';
//opts.source = new MBTiles('/home/bergw/Downloads/source.mbtiles')
//opts.source = 'tmsource:///home/bergw/shapefiles/source.tm2';
v = new Vector(opts, done);project.xml是mapnik样式,我从导出的tm2z中提取。它仍然包含对原始shapefile的引用,但是如果我不使用它,就会得到Error: No xml。
通过对源参数的所有组合,我得到了Error: Invalid tilesource protocol。
任何关于如何进行或提示其他工具,或它们的组合更合适的帮助,都是非常感谢的。
你好,威廉
发布于 2013-12-20 21:50:58
TileMill 2被设计为将协议缓冲器创建为向量块,而不是GeoJSON。它也不是一个服务器,而是一个设计和创建工具,所以不适合你现在的使用。像本教程用于TileStache这样的东西对你来说是一个更好的选择。
https://stackoverflow.com/questions/20497309
复制相似问题