Digital Ocean 上的 Tilestrata 错误 Ubuntu 16.04
Tilestrata error on Digital Ocean Ubuntu 16.04
我正在尝试 运行 在我的 Digital Ocean droplet 运行ning Ubuntu 16.04 上使用 Tilestrata 网络地图切片服务器。设置好所有内容后,我 运行ning 遇到的问题是这个错误:
carl@Senegal:~/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 文件一样窒息,这肯定是有的,或者路径是错误的,但事实并非如此。有什么想法吗?
需要将 xml
选项更改为 pathname
。这在 0.4.0
中发生了变化
我正在尝试 运行 在我的 Digital Ocean droplet 运行ning Ubuntu 16.04 上使用 Tilestrata 网络地图切片服务器。设置好所有内容后,我 运行ning 遇到的问题是这个错误:
carl@Senegal:~/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 文件一样窒息,这肯定是有的,或者路径是错误的,但事实并非如此。有什么想法吗?
需要将 xml
选项更改为 pathname
。这在 0.4.0