Mapbox 带有TM2和tilelive向量的GeoJson向量平铺

Mapbox 带有TM2和tilelive向量的GeoJson向量平铺,mapbox,tilemill,Mapbox,Tilemill,我想使用mapbox工具从MBTiles向量数据存储中提供GeoJson tiles。 这可能吗 到目前为止我所做的: 克隆并安装了许多存储库:TM2、tilelive、tilelive vector、mbtiles 将形状文件导入TM2 应用了一种样式(这对服务GeoJson是必要的吗?) 已导出样式和MBTiles数据库 为了检查MBTiles文件是否可以读取,我尝试了这个方法 var tilelive = require('tilelive'); var MBTiles = requi

我想使用mapbox工具从MBTiles向量数据存储中提供GeoJson tiles。 这可能吗

到目前为止我所做的:

  • 克隆并安装了许多存储库:TM2、tilelive、tilelive vector、mbtiles
  • 将形状文件导入TM2
  • 应用了一种样式(这对服务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的引用,但是如果我不使用它,我会得到
错误:无xml

使用我尝试的所有源参数组合,我得到了
错误:无效的tilesource协议

非常感谢您提供有关如何继续的任何帮助或提示哪些其他工具或其组合更合适

问候,,
Wilhelm

TileMill 2设计用于创建矢量图块,而不是GeoJSON。它也不是一个服务器,而是一个设计和创建工具,因此不适合您当前的用例。类似的内容对您来说是一个更好的选择。

TileMill 2设计用于创建矢量分幅,而不是GeoJSON。它也不是一个服务器,而是一个设计和创建工具,因此不适合您当前的用例。类似的内容对您来说是一个更好的选择。

抱歉,我无意中提交了前面的评论:谢谢您的链接,但在此期间,我通过使用mapnik和自定义传单GridLayer获得了一个原型。表演太棒了!即使有10000个多边形。再次感谢您提供这么好的工具,并在开放的环境下开发它们。@WilhelmBerg如果您冷贴一个链接到您的代码,我将对此非常感兴趣。谢谢,我从来没有完成过那个项目。如果你对矢量渲染感兴趣,你可以看看MapBox GL:对不起,我无意中提交了前面的评论:谢谢你的链接,但与此同时,我通过使用mapnik和自定义传单GridLayer获得了一个原型。表演太棒了!即使有10000个多边形。再次感谢您提供这么好的工具,并在开放的环境下开发它们。@WilhelmBerg如果您冷贴一个链接到您的代码,我将对此非常感兴趣。谢谢,我从来没有完成过那个项目。如果您对矢量渲染感兴趣,可以查看MapBox GL: