Tilestrataを使用して、Ubuntu 16.04を実行している私のデジタルオーシャンドロップレットにWebマップタイルサーバーを実行しようとしています。すべての設定が完了した後に問題が続くのは、このエラーです。Digital Ocean UbuntuのTilestrataエラー16.04
[email protected]:~/tileserver$ node server.js
/home/carl/node_modules/tilestrata/lib/TileServer.js:502
var callback = function(err) { if (err) throw err; };
^
Error: Unable to initialize "basemap" layer: "expected < at line 1"
at /home/carl/node_modules/tilestrata/lib/TileServer.js:106:19
at /home/carl/node_modules/tilestrata/node_modules/async/lib/async.js:52:16
at done (/home/carl/node_modules/tilestrata/node_modules/async/lib/async.js:243:17)
at /home/carl/node_modules/tilestrata/node_modules/async/lib/async.js:44:16
at Immediate._onImmediate (/home/carl/node_modules/tilestrata/lib/TileRequestHandler.js:125:4)
at processImmediate [as _immediateCallback] (timers.js:383:17)
私の設定は良いはずです。これは、Amazon AWSインスタンスですでに作業しているものとまったく同じです(より良い価格設定方式があるため、私はDOに切り替えたい)。ノードサーバースクリプトがmapnik xmlファイル(project.xml)を読み取らない理由を理解できません。 AWS Ubuntu EC2インスタンスでうまく動作するのは同じXMLです。ここではserver.jsの完全なスクリプトは次のとおりです。
var tilestrata = require('tilestrata');
var disk = require('tilestrata-disk');
var mapnik = require('tilestrata-mapnik');
var dependency = require('tilestrata-dependency');
var strata = tilestrata();
// define layers
strata.layer('basemap')
.route('tile.png')
.use(disk.cache({dir: '/home/carl/tileserver/tiles/basemap/'}))
.use(mapnik({
xml: '/home/carl/tileserver/project/project.xml',
tileSize: 256,
scale: 1
}));
// start accepting requests
strata.listen(8080);
が正常tiles/basemap
ディレクトリが作成されますので、私は、スクリプトが何かをやっている知っています。しかし、Mapnikプラグインは、project.xmlファイルがないかのようにチョークします。これは、確かに存在します。パスは間違っていますが、そうではありません。何か案は?
ありがとうございました。文字通り何ヶ月も私が間違っていることを理解しようと頭を叩いて過ごしたので、ドキュメントでこれを言及することは良いでしょう。 – northlandiguana