postgis加载器发出元数据查询但不发出数据查询

时间:2017-03-22 19:01:08

标签: postgis mapbox mapnik

编辑1:我刚刚发现postgis内置了ST_AsMVT function,这正是我想要的(我想),所以我不打算使用mapnik所有!

编辑2:很遗憾,该功能尚未发布在PostGIS的发布版本中,但希望它能在未来几周内完成。

最初发布为github issue

当我执行以下操作时,为我的数据库启用了日志记录,我看到了一些"元数据"请求发布到postgis,但是,没有进行任何实际的数据查询。

对于与字段名称/类型和范围相关的逻辑(未明确提供),(大概)需要元数据请求。

var postgis = new mapnik.Datasource({
  type: 'postgis',
  host: ... etc,
  table: 'some_geometry_table',
  geometry_field: 'geom',
  srid: 4326,
  extent: "-180,-85.0511,180,85.0511",
  estimate_extent: false,
  row_limit:  10 // !! this doesn't seem to do anything
});

var map = new mapnik.Map(256, 256);
var layer = new mapnik.Layer('some_layer');
layer.datasource = postgis; 
map.add_layer(layer);
map.render(new mapnik.VectorTile(z, x, y), {}, (err, vtile) => {
    if (err) next(err);
    var data = vtile.getDataSync({});
    var file = path + z + "," + x + "," + y + ".pbf"
    console.log(data);
    console.log("written: " + file);
    fs.writeFileSync(file, data);
    next(null);
  });
});

在postgres日志中看到的元数据查询:

SELECT * FROM some_geometry_table LIMIT 0

我做错了什么?

0 个答案:

没有答案