GISBox(GIS 工具箱)支持使用 API 接口,打开 GISBox 软件后,我们可以在左侧工具栏中选择“API”栏目,然后点击右上角的“新增 key”按钮添加 API 接口,其中“key”和“安全密钥”作为 Auth 参数,用于验证用户身份或应用程序的合法性,点击查看相应教程 →Auth 参数。
“Key 名称”指的是用于传递特定信息的键名,它通常出现在请求参数、HTTP 头部或响应数据中,当我们新增 key 时需要填写相应的“Key 名称”,如下图所示:
在右侧的操作中,我们可以更改“Key 名称”,如下图所示:
【温馨提示】GSIBox 的 API 功能需要“集团版”套餐才能使用,如需使用,请扫码联系 GISBox 官方微信客服做进一步沟通。
所有 API 接口请求的基础 URL 为:
1 | 主账号SaaS访问地址 + /api/v1 |
“主账号 SaaS 访问地址”可以在 GISBox 软件的“设置”→“域名端口”中进行查看,如下图所示:
例如,假设主账号 SaaS 访问地址为:
1 | http://192.168.31.122:42225 |
那么 API 接口的前置 URL 即为:
1 | http://192.168.31.122:42225/api/v1 |
为确保接口访问的安全性,每个接口请求都需要拼接以下参数进行校验,包括“key”和“安全密钥(**secret**)”:
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
key | string | 是 | 生成的 key |
timestamp | string | 是 | 当前时间戳 |
sign | string | 是 | 使用md5 对(key、secret、timestamp)拼接起来的字符串进行加密生成字符串 |
示例如下:
1 | http://192.168.31.122:42225/api/v1/task/list?key=06150cad-131c-4a13-88cf-90b7c4e76056×tamp=1736835697953&sign=1D1802A6A4BB9C8A603F696E1E0E3644 |
API 接口的响应数据遵循统一的格式,包含以下字段:
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
success | boolean | 是 | 是否成功 |
msg | string | 是 | 成功提示或错误描述 |
data | object | 否 | 响应核心数据 |
接口地址:
1 | GET task/<id>/info |
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
id | string | 是 | 任务 id |
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
id | string | true | 任务 id |
name | string | true | 任务名 |
status | string | true | 任务状态(“pending”、“running”、“finished”、“failed”、“canceled”) |
type | string | true | 任务类型 |
inputPath | string | true | 输入路径 |
outputPath | string | true | 输出路径 |
settings | object | true | 转换设置项 |
startTime | integer | false | 开始时间戳 |
progress | number | false | 当前进度(%) |
spentTime | integer | false | 已花费的时间(ms) |
remainTime | integer | false | 预估剩余时间(ms) |
endTime | integer | false | 结束时间戳 |
请求成功:
1 | { |
请求失败:
1 | { |
接口地址:
1 | GET task/list |
无
包含所有任务信息的数组,任务信息对象具体字段参考查询任务信息接口。
请求成功:
1 | { |
请求失败:
1 | { |
接口地址:
1 | POST /task/create |
Body 类型:
1 | application/json |
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
options | object | 是 | |
type | string | 是 | “ImageSlicing”、“TerrainSlicing ”、“TiltModelSlicing”、“Tiles2OsgbSlicing”、“PointCloudSlicing” |
name | string | 是 | 任务名称 |
inputPath | string | 是 | 输入路径 |
outputPath | string | 是 | 输出路径 |
autoStart | boolean | 否 | 是否立即开始任务(默认为 true) |
settings | object | 否 | 转换选项 |
不同转换类型的settings 参数各不相同,下面分别介绍一下:
名称 | 类型 | 必选 | 说明 | 默认值 |
---|---|---|---|---|
tilesize | integer | 否 | 瓦片大小 | 256 |
minzoom | integer | 否 | 最小级别 | 0 |
maxzoom | integer | 是 | 最大级别 | |
toSrs | integer | 是 | 投影参数(3857、4326) | |
service | string | 是 | 服务类型(“TMS”、“WMTS”) | |
fromSrs | string | 否 | 空间参考 | |
background | string | 否 | 背景透明(“auto”、“255,255,255”) | “auto” |
colorStretching | object | 否 | 颜色拉伸 | |
type | string | 是 | 类型(“deviationAndZoom”、“theMostValuable”、“percent”) | |
deviation | number | 否 | 偏移量(“deviationAndZoom”类型可传该参数) | |
zoom | number | 否 | 缩放系数(“deviationAndZoom”类型可传该参数) | |
min | number | 否 | 最小值(“theMostValuable”类型可传该参数) | |
max | number | 否 | 最大值(“theMostValuable”类型可传该参数) | |
minPercent | number | 否 | 低阈值(%)(“percent”类型可传该参数) | |
maxPercent | number | 否 | 高阈值(%)(“percent”类型可传该参数) |
无
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
srs | string | 否 | 空间参考 |
srsOrigin | string | 否 | 零点坐标(如“0,0,0”) |
isRebuildTop | boolean | 否 | 是否顶层重建 |
maxConcurrency | integer | 否 | 顶层重建最大并发数 |
is3DTiles1_1 | boolean | 否 | 是否输出 3dtile1.1 规范格式 |
textureFormat | string | 否 | 纹理格式(“default” 、“webp”、“uastc”、“etc1s”) |
vertexCompress | boolean | 否 | 是否顶点压缩 |
vertexCompressionLevel | 0、5、10 | 否 | 顶点压缩级别 |
computedNormal | boolean | 否 | 是否计算法线 |
backFaceCulling | boolean | 否 | 是否背面裁剪 |
mandatoryDoubleSide | boolean | 否 | 是否强制双面 |
noLight | boolean | 否 | 是否无光照 |
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
srs | string | 否 | 空间参考 |
srsOrgin | string | 否 | 零点坐标 |
upAxis | “Z”、“Y” | 否 | 向上轴 |
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
srs | string | 否 | 空间参考 |
srsOrigin | string | 否 | 零点坐标 |
vertexCompress | boolean | 否 | 是否顶点压缩 |
vertexCompressionLevel | 0、5、10 | 否 | 顶点压缩级别 |
colorIpt | number | 是 | 颜色计算(color + colorIpt)* colorType / dividendColor |
colorType | number | 是 | |
dividendColor | number | 是 | |
isSaveColor | boolean | 否 | 是否存储颜色 |
isSelectAttribute | boolean | 否 | 是否属性拾取 |
isClassification | boolean | 否 | |
isIntensity | boolean | 否 |
名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
---|---|---|---|---|---|
id | string | true | none | none |
请求成功:
1 | { |
请求失败:
1 | { |
接口地址:
1 | POST /task/<id>/start |
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
id | string | 是 | 任务 id |
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
id | string | true | 任务 id |
请求成功:
1 | { |
请求失败:
1 | { |
接口地址:
1 | POST /task/<id>/stop |
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
id | string | 是 | 任务 id |
名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
---|---|---|---|---|---|
id | string | true | none | none |
请求成功:
1 | { |
请求失败:
1 | { |
接口地址:
1 | POST /task/<id>/delete |
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
id | string | 是 | 任务 id |
名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
---|---|---|---|---|---|
id | string | true | none | none |
请求成功:
1 | { |
请求失败:
1 | { |