GISBox(GIS 工具箱)支持使用 API 接口,打开 GISBox 软件后,我们可以在左侧工具栏中点击“设置”栏目,选择“集成开发”,然后点击右上角的“创建密钥”按钮添加 API 接口,其中“密钥ID”和“安全密钥”作为 Auth 参数,用于验证用户身份或应用程序的合法性,点击查看相应教程 →Auth 参数。

“密钥名称”指的是用于传递特定信息的键名,它通常出现在请求参数、HTTP 头部或响应数据中,当我们新增 key 时需要填写相应的“密钥名称”,如下图所示:

在右侧的操作中,我们可以更改“密钥名称”,如下图所示:

【温馨提示】GISBox 的 API 功能需要购买“企业版”套餐才能使用,如需使用,请点击“升级”按钮购买套餐。

所有 API 接口请求的基础 URL 为:
1主账号SaaS访问地址 + /api/v1
“主账号 SaaS 访问地址”可以在 GISBox 软件的“设置”→“域名端口”中进行查看,如下图所示:

例如,假设主账号 SaaS 访问地址为:
1http://192.168.31.122:42225
那么 API 接口的前置 URL 即为:
1http://192.168.31.122:42225/api/v1
为确保接口访问的安全性,每个接口请求都需要拼接以下参数进行校验,包括“密钥ID”和“安全密钥(**secret**)”:
| 名称 | 类型 | 必选 | 说明 |
|---|---|---|---|
| key | string | 是 | 生成的 key |
| timestamp | string | 是 | 当前时间戳(毫秒) |
| sign | string | 是 | 使用md5 对(key、secret、timestamp)拼接起来的字符串进行加密生成字符串(32位,不区分大小写) |
示例如下:
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 | 否 | 响应核心数据 |
task/<id>/info| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| id | string | √ | 任务 id |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| id | string | √ | 任务 id |
| name | string | √ | 任务名 |
| status | string | √ | 任务状态(“pending”、“running”、“finished”、“failed”、“canceled”) |
| type | string | √ | 任务类型(枚举值,详见创建任务接口) |
| inputPath | string | √ | 输入路径 |
| outputPath | string | √ | 输出路径 |
| settings | object | √ | 任务设置 |
| startTime | integer | 开始时间戳 | |
| progress | float | 当前进度(%) | |
| spentTime | integer | 已花费的时间(ms) | |
| remainTime | integer | 预估剩余时间(ms) | |
| endTime | integer | 结束时间戳 |
{
"success": true,
"data": {
"id": "ngcxb8xzf41x",
"name": "我的倾斜模型",
"status": "failed",
"type": "GeneralModelSlicing",
"inputPath": "C:\\Users\\admin\\AppData\\Local\\Temp\\6349b52ac052f1100a0099f56ae1360d",
"outputPath": "C:\\Users\\admin\\Desktop\\rubbish\\大场景",
"settings": {
"fileRange": [2, 20],
"sceneTree": true,
"is3DTiles1_1": true,
"enableLOD": true,
"textureCompressionFormat": "webp",
"vertexCompress": false,
"vertexCompressionLevel": 5,
"x": 120.14757537841797,
"y": 30.274856567382812,
"z": 0,
"name": "西湖区建筑模型",
"imageRatio": 0.5
},
"startTime": 1736838996442,
"endTime": 1736841982291
},
"msg": "请求成功"
}task/list| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| page | integer | 页码 | |
| pageSize | integer | 每页条数 | |
| status | enum | 任务状态(“pending”、“running”、“finished”、“failed”、“canceled”) |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| taskList | array | √ | 任务列表 |
| totalCount | integer | √ | 任务总数 |
{
"success": true,
"data": {
taskList: [
{
"id": "ngcxb8xzf41x",
"name": "我的倾斜模型",
"status": "running",
"type": "GeneralModelSlicing",
"inputPath": "C:\\Users\\admin\\AppData\\Local\\Temp\\6349b52ac052f1100a0099f56ae1360d",
"outputPath": "C:\\Users\\admin\\Desktop\\rubbish\\大场景",
"settings": {
"fileRange": [
2,
20
],
"sceneTree": true,
"is3DTiles1_1": true,
"enableLOD": true,
"textureCompressionFormat": "webp",
"vertexCompress": false,
"vertexCompressionLevel": 5,
"x": 120.14757537841797,
"y": 30.274856567382812,
"z": 0,
"name": "西湖区建筑模型",
"imageRatio": 0.5
},
"startTime": 1736838996442,
"progress": 0,
"spentTime": 0,
"remainTime": 0
},
{
"id": "xoeqj7jrw9fl",
"name": "我的倾斜模型",
"status": "finished",
"type": "GeneralModelSlicing",
"inputPath": "C:\\Users\\admin\\AppData\\Local\\Temp\\c8f9e1d5c211b16dc34c5181922dc911",
"outputPath": "C:\\Users\\admin\\Desktop\\rubbish\\新建文件夹 (2)",
"settings": {
"fileRange": [
2,
20
],
"sceneTree": true,
"is3DTiles1_1": true,
"enableLOD": true,
"textureCompressionFormat": "webp",
"vertexCompress": false,
"vertexCompressionLevel": 5,
"x": 120.19058749999999,
"y": 30.280553849999997,
"z": 0,
"name": "上城区建筑模型",
"imageRatio": 0.5
},
"startTime": 1736838648314,
"endTime": 1736838670124
},
],
totalCount: 100
}
"msg": "请求成功"
}task/createBody 类型:
application/json| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| options | object | √ | |
| type | string | √ | 任务类型,枚举值如下: "ImageSlicing" "DwgSlicing" "TerrainSlicing" "TiltModelSlicing" "GeneralModelSlicing" "RvtModelSlicing" "Tiles2OsgbSlicing" "PointCloudSlicing" "GaussianSplattingSlicing" "I3S2OSGB" "S3m2OsgbSlicing" "Hash2Compact" "Compact2Hash" "IFC23DTiles" "Osgb2GlbSlicing" "GaussianSplattingPly2Glb3dTiles" "TilesOptimize" |
| name | string | √ | 任务名称 |
| inputPath | string | √ | 输入路径 |
| outputPath | string | √ | 输出路径 |
| autoStart | boolean | 是否立即开始任务(默认为 true) | |
| isPublish | boolean | 是否在处理完成后自动发布为分发服务(默认为false) | |
| isCompact | boolean | 是否输出紧凑格式(.gbp文件) | |
| settings | object | 各类型任务的特有设置项(不同类型的settings各不相同,下面会介绍) |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| tilesize | integer | 默认为256 | |
| minzoom | integer | 最小级别(默认为0) | |
| maxzoom | integer | 最大级别(为空时自动计算) | |
| service | string | √ | 服务类型("TMS" | "WMTS") |
| toSrs | integer | √ | 投影参数(3857、4326) |
| background | string | 背景透明(“auto”、“255,255,255”) | |
| colorStretching | object | 颜色拉伸配置 | |
| type | string | 颜色拉伸类型("deviationAndZoom"-偏移缩放,"theMostValuable"-最值,"percent"-百分比) | |
| deviation | number | 偏移量(偏移缩放时填写,默认为0) | |
| zoom | number | 缩放系数(偏移缩放时填写,默认为0不缩放) | |
| min | number | 最小值(最值模式填写) | |
| max | number | 最大值(最值模式填写) | |
| minPercent | number | 低阈值(%)(百分比模式填写)) | |
| maxPercent | number | 高阈值(%)(百分比模式填写) | |
| hasWaterMark | boolean | 是否生成水印 | |
| waterMark | object | 水印设置 | |
| type | string | 水印类型("image" | "text") | |
| text | string | 水印文本 | |
| fontSize | number | 水印文本字号(px) | |
| fontColor | string | 水印文本颜色(如"#000000") | |
| opacity | number | 水印透明度(0-1) | |
| rotate | number | 水印旋转(deg) | |
| position | string | 水印位置("topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "center") | |
| imagePath | string | 水印图片路径 | |
| imageWidthRatio | number | 水印图片宽度比例(0-1) | |
| fromSrs | integer | string | 空间参考(epsg-code如3857或wkt字符串;为空时自动识别,识别失败时按照3857处理) (.tiff格式可填写该设置项,非tiff格式不用填) | |
| topLeft | [number,number] | √ | 左上角经纬度(非tiff格式时必填,tiff格式不用填) |
| topRight | [number,number] | √ | 右上角经纬度(非tiff格式时必填,tiff格式不用填) |
| bottomRight | [number,number] | √ | 右下角经纬度(非tiff格式时必填,tiff格式不用填) |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| tilesize | integer | 默认为256 | |
| minzoom | integer | 最小级别(默认为0) | |
| maxzoom | integer | 最大级别(为空时自动计算) | |
| service | string | √ | 服务类型("TMS" | "WMTS") |
| toSrs | integer | √ | 投影参数(3857、4326) |
| background | string | 背景透明(“auto”、“255,255,255”) | |
| colorStretching | object | 颜色拉伸配置 | |
| type | string | 颜色拉伸类型("deviationAndZoom"-偏移缩放,"theMostValuable"-最值,"percent"-百分比) | |
| deviation | number | 偏移量(偏移缩放时填写,默认为0) | |
| zoom | number | 缩放系数(偏移缩放时填写,默认为0不缩放) | |
| min | number | 最小值(最值模式填写) | |
| max | number | 最大值(最值模式填写) | |
| minPercent | number | 低阈值(%)(百分比模式填写)) | |
| maxPercent | number | 高阈值(%)(百分比模式填写) | |
| hasWaterMark | boolean | 是否生成水印 | |
| waterMark | object | 水印设置 | |
| type | string | 水印类型("image" | "text") | |
| text | string | 水印文本 | |
| fontSize | number | 水印文本字号(px) | |
| fontColor | string | 水印文本颜色(如"#000000") | |
| opacity | number | 水印透明度(0-1) | |
| rotate | number | 水印旋转(deg) | |
| position | string | 水印位置("topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "center") | |
| imagePath | string | 水印图片路径 | |
| imageWidthRatio | number | 水印图片宽度比例(0-1) | |
| topLeft | [number,number] | √ | 左上角经纬度 |
| topRight | [number,number] | √ | 右上角经纬度 |
| bottomRight | [number,number] | √ | 右下角经纬度( |
| maxResolution | number | √ | 最大分辨率(px)(5000-15000) |
| isRetainColor | boolean | √ | 是否保留图纸颜色 |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| waterFilePath | string | 水面文件路径 |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| srs | string | 空间参考(为空时自动识别) | |
| srsOrigin | string | 零点坐标(为空时自动识别) | |
| isRebuildTop | boolean | 是否重建顶层 | |
| maxConcurrency | integer | 顶层重建最大并发数(为空自动计算) | |
| textureFormat | string | 纹理压缩类别("default" | "webp" | "uastc" | "etc1s") | |
| vertexCompress | boolean | 是否压缩顶点 | |
| vertexCompressionLevel | integer | 顶点压缩级别(0|5|10,默认为5) | |
| backFaceCulling | boolean | 是否背面裁剪 | |
| computedNormal | boolean | 是否计算法线 | |
| mandatoryDoubleSide | boolean | 是否强制双面 | |
| unlit | boolean | 是否开启无光照 | |
| is3DTiles1_1 | boolean | 是否输出3dtiles1.1 |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| coordinateSystemConversion | boolean | 是否转换坐标系 | |
| srs | string | 空间参考(默认为"EPSG:3857") | |
| x | number | 零点坐标(默认120) | |
| y | number | 零点坐标(默认38) | |
| z | number | 零点坐标(默认0) | |
| enableLOD | boolean | 是否生成lod | |
| fileRange | [number, number] | 大小参数(MB)(默认为[2,20]) | |
| textureCompressionFormat | enum | 纹理压缩类型("default" | "webp" | "avif" | "uastc" | "etc1s") | |
| vertexCompress | boolean | 是否压缩顶点 | |
| filpNormals | boolean | 是否翻转法线 | |
| mandatoryDoubleSide | boolean | 是否强制双面 | |
| unlit | boolean | 是否开启无光照 | |
| is3DTiles1_1 | boolean | 是否输出3DTiles1.1 |
无
无
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| srs | string | 空间参考(默认为"EPSG:4547") | |
| srsOrigin | string | 零点坐标(默认为"0,0,0") | |
| upAxis | enum | 向上轴("X" | "Y" | "Z")(默认为"Y") | |
| maxConcurrency | integer | 最大并发数(为空时自动计算) |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| colorIpt | number | 颜色偏移量(颜色计算公式(color+colorIpt) * colorType / dividendColor)(默认为0) | |
| colorType | enum | 颜色类型(255 | 65535)(默认255) | |
| dividendColor | number | 颜色除数(默认65535) | |
| srs | string | 空间参考(默认"EPSG:3857") | |
| srsOrigin | string | 零点坐标(默认"0,0,0") | |
| isSaveColor | boolean | 是否存储颜色 | |
| vertexCompress | boolean | 是否压缩顶点 | |
| vertexCompressionLevel | enum | 顶点压缩级别(0|5|10)(默认5) | |
| isSelectAttribute | boolean | 是否拾取属性 | |
| isX | boolean | 是否拾取X | |
| isY | boolean | 是否拾取Y | |
| isZ | boolean | 是否拾取Z | |
| isIntensity | boolean | 是否拾取Intensity | |
| isClassification | boolean | 是否拾取classification | |
| repairDiscreteData | boolean | 是否修复离散化 | |
| is3DTiles1_1 | boolean | 是否输出3dtiles1.1 |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| srs | string | 空间参考(默认"ENU:30.282788,120.157471") | |
| srsOrigin | string | 零点坐标(默认"0,0,0") | |
| is3DTiles1_1 | boolean | 是否输出3dtiles1.1 |
无
无
无
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| isRebuildTop | boolean | 是否重建顶层 | |
| maxConcurrency | integer | 顶层重建最大并发数(为空自动计算) | |
| handledTopLayerWay | enum | ("default" | "continue")(默认为"default") | |
| textureFormat | enum | ("default" | "webp" | "uastc" | "etc1s") | |
| vertexCompress | boolean | 是否压缩顶点 | |
| vertexCompressionLevel | enum | 顶点压缩级别(0 | 5 | 10)(默认为5) | |
| backFaceCulling | boolean | 是否裁剪背面 | |
| computedNormal | boolean | 是否计算法线 | |
| mandatoryDoubleSide | boolean | 是否双面显示 | |
| unlit | boolean | 是否开启无光照 | |
| is3DTiles1_1 | boolean | 是否输出3DTiles1.1 |
无
无
/task/<id>/startbody参数
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| isResume | boolean | 是否为继续处理(目前仅支持倾斜摄影切片、3DTiles再处理) |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| id | string | √ | 任务 id |
{
"success": true,
"data": {
"id": "4gtfbeg794p7"
},
"msg": "请求成功"
}/task/<id>/stop| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| id | string | √ | 任务 id |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| id | string | √ | 任务id |
{
"success": true,
"data": {
"id": "4gtfbeg794p7"
},
"msg": "请求成功"
}/task/<id>/stop| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| id | string | √ | 任务 id |
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| id | string | √ | 任务 id |
{
"success": true,
"data": {
"id": "4gtfbeg794p7"
},
"msg": "请求成功"
}