本文介绍了以编程方式更新切片集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

似乎缺少MapBox数据管理工作流documentation(或我不了解它)。

我当前有一个自定义style,其中添加了一些自定义tilesets。当我的tileset的数据需要更新时,有没有一种优雅的方式可以通过API更新现有的数据,并保留特定style的任何样式?

我对该工作流程的最佳猜测是:

  1. 请求Mapbox S3凭据
  2. 将数据上传到新tileset
  3. 检索新的tilesetID
  4. 列表style当前tilesetID
  5. style中删除旧的tileset
  6. 将新tileset添加到style
  7. 重新设置新tileset样式以匹配旧tileset

我希望我错过了一些明显的东西,可以让我执行以下操作:

  1. 更新style%stileset的数据

推荐答案

可以使用MapBox的mapbox-upload节点模块替换现有的切片集:https://github.com/mapbox/mapbox-upload

var progress = upload({
    file: __dirname + '/test.mbtiles', // Path to mbtiles file on disk.
    account: 'test', // Mapbox user account.
    accesstoken: 'validtoken', // A valid Mapbox API secret token with the uploads:write scope enabled.
    mapid: 'test.upload', // The identifier of the map to create or update.
    name: 'My upload' // Optional name to set, otherwise a default such as original.geojson will be used.
});
mapid属性设置为现有切片集的ID。实际示例here

同样通过命令行:

$ npm install --global mapbox-upload
$ export MapboxAccessToken=<access token with uploads:write scope enabled>
$ mapbox-upload username.dataid /path/to/file

这篇关于以编程方式更新切片集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-12 19:12