mapbox ツールを使用して、MBTiles ベクター データストアから GeoJson タイルを提供したいと考えています。これは可能ですか?
私がこれまでに行ったこと:
- 多くのリポジトリを複製してインストールしました: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
。元のシェープファイルへの参照がまだ含まれていますが、それを使用しないと、Error: No xml
.
source パラメーターに対して試したすべての組み合わせで、Error: Invalid tilesource protocol
.
続行する方法についてのヘルプや、他のツール、またはそれらの組み合わせがより適切なヒントをいただければ幸いです。
よろしく、 ヴィルヘルム