GISBox

如何使用API接口?

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

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

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

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

1. 前置 URL

所有 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

2. Auth 参数

为确保接口访问的安全性,每个接口请求都需要拼接以下参数进行校验,包括“key”“安全密钥(**secret**)”

名称类型必选说明
keystring生成的 key
timestampstring当前时间戳(毫秒)
signstring使用md5 对(keysecret、timestamp)拼接起来的字符串进行加密生成字符串(32位,不区分大小写)

示例如下:

http://192.168.31.122:42225/api/v1/task/list?key=06150cad-131c-4a13-88cf-90b7c4e76056×tamp=1736835697953&sign=1D1802A6A4BB9C8A603F696E1E0E3644

3. 响应格式

API 接口的响应数据遵循统一的格式,包含以下字段:

名称类型必选说明
successboolean是否成功
msgstring成功提示或错误描述
dataobject响应核心数据

4. 接口说明

4.1 查询任务信息(GET)

4.1.1 接口地址

task/<id>/info

4.1.2 请求参数

字段类型必选说明
idstring任务 id

4.1.3 响应参数

字段类型必选说明
idstring任务 id
namestring任务名
statusstring任务状态(“pending”“running”“finished”“failed”“canceled”
typestring任务类型(枚举值,详见创建任务接口)
inputPathstring输入路径
outputPathstring输出路径
settingsobject任务设置
startTimeinteger开始时间戳
progressfloat当前进度(%)
spentTimeinteger已花费的时间(ms)
remainTimeinteger预估剩余时间(ms)
endTimeinteger结束时间戳

4.1.4 响应示例

{
  "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": "请求成功"
}

4.2 查询任务列表(GET)

4.2.1 接口地址

task/list

4.2.2 请求参数

4.2.3 响应参数

包含所有任务信息的数组,任务信息对象具体字段参考查询单个任务信息接口。

4.2.4 响应示例

{
  "success": true,
  "data": [
    {
      "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
    },
  ],
  "msg": "请求成功"
}

4.3 新建任务POST

4.3.1 接口地址

task/create

4.3.2 请求参数

Body 类型:

application/json

4.3.2.1 请求参数

字段类型必选说明
optionsobject
typestring任务类型,枚举值如下:
"ImageSlicing"
"DwgSlicing"
"TerrainSlicing"
"TiltModelSlicing"
"GeneralModelSlicing"
"RvtModelSlicing"
"Tiles2OsgbSlicing"
"PointCloudSlicing"
"GaussianSplattingSlicing"
"I3S2OSGB"
"S3m2OsgbSlicing"
"Hash2Compact"
"Compact2Hash"
"IFC23DTiles"
"Osgb2GlbSlicing"
"GaussianSplattingPly2Glb3dTiles"
"TilesOptimize"
namestring任务名称
inputPathstring输入路径
outputPathstring输出路径
autoStartboolean是否立即开始任务(默认为 true)
isPublishboolean是否在处理完成后自动发布为分发服务(默认为false)
isCompactboolean是否输出紧凑格式(.gbp文件)
settingsobject各类型任务的特有设置项(不同类型的settings各不相同,下面会介绍)

4.3.2.2 各类型任务的settings参数

(1)影像切片
字段类型必选说明
tilesizeinteger默认为256
minzoominteger最小级别(默认为0)
maxzoominteger最大级别(为空时自动计算)
servicestring服务类型("TMS" | "WMTS")
toSrsinteger投影参数(3857、4326)
backgroundstring背景透明(“auto”、“255,255,255”)
colorStretchingobject颜色拉伸配置
typestring颜色拉伸类型("deviationAndZoom"-偏移缩放,"theMostValuable"-最值,"percent"-百分比)
deviationnumber偏移量(偏移缩放时填写,默认为0)
zoomnumber缩放系数(偏移缩放时填写,默认为0不缩放)
minnumber最小值(最值模式填写)
maxnumber最大值(最值模式填写)
minPercentnumber低阈值(%)(百分比模式填写))
maxPercentnumber高阈值(%)(百分比模式填写)
hasWaterMarkboolean是否生成水印
waterMarkobject水印设置
typestring水印类型("image" | "text")
textstring水印文本
fontSizenumber水印文本字号(px)
fontColorstring水印文本颜色(如"#000000")
opacitynumber水印透明度(0-1)
rotatenumber水印旋转(deg)
positionstring水印位置("topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "center")
imagePathstring水印图片路径
imageWidthRationumber水印图片宽度比例(0-1)
fromSrsinteger | string空间参考(epsg-code如3857或wkt字符串;为空时自动识别,识别失败时按照3857处理)
(.tiff格式可填写该设置项,非tiff格式不用填)
topLeft[number,number]左上角经纬度(非tiff格式时必填,tiff格式不用填)
topRight[number,number]右上角经纬度(非tiff格式时必填,tiff格式不用填)
bottomRight[number,number]右下角经纬度(非tiff格式时必填,tiff格式不用填)
(2)DWG切片(目前仅支持Windows)
字段类型必选说明
tilesizeinteger默认为256
minzoominteger最小级别(默认为0)
maxzoominteger最大级别(为空时自动计算)
servicestring服务类型("TMS" | "WMTS")
toSrsinteger投影参数(3857、4326)
backgroundstring背景透明(“auto”、“255,255,255”)
colorStretchingobject颜色拉伸配置
typestring颜色拉伸类型("deviationAndZoom"-偏移缩放,"theMostValuable"-最值,"percent"-百分比)
deviationnumber偏移量(偏移缩放时填写,默认为0)
zoomnumber缩放系数(偏移缩放时填写,默认为0不缩放)
minnumber最小值(最值模式填写)
maxnumber最大值(最值模式填写)
minPercentnumber低阈值(%)(百分比模式填写))
maxPercentnumber高阈值(%)(百分比模式填写)
hasWaterMarkboolean是否生成水印
waterMarkobject水印设置
typestring水印类型("image" | "text")
textstring水印文本
fontSizenumber水印文本字号(px)
fontColorstring水印文本颜色(如"#000000")
opacitynumber水印透明度(0-1)
rotatenumber水印旋转(deg)
positionstring水印位置("topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "center")
imagePathstring水印图片路径
imageWidthRationumber水印图片宽度比例(0-1)
topLeft[number,number]左上角经纬度
topRight[number,number]右上角经纬度
bottomRight[number,number]右下角经纬度(
maxResolutionnumber最大分辨率(px)(5000-15000)
isRetainColorboolean是否保留图纸颜色
(3)地形切片
字段类型必选说明
waterFilePathstring水面文件路径
(4)倾斜摄影切片
字段类型必选说明
srsstring空间参考(为空时自动识别)
srsOriginstring零点坐标(为空时自动识别)
isRebuildTopboolean是否重建顶层
maxConcurrencyinteger顶层重建最大并发数(为空自动计算)
textureFormatstring纹理压缩类别("default" | "webp" | "uastc" | "etc1s")
vertexCompressboolean是否压缩顶点
vertexCompressionLevelinteger顶点压缩级别(0|5|10,默认为5)
backFaceCullingboolean是否背面裁剪
computedNormalboolean是否计算法线
mandatoryDoubleSideboolean是否强制双面
noLightboolean是否禁用光照
is3DTiles1_1boolean是否输出3dtiles1.1
5)通用模型切片 (GeneralModelSlicing)
字段类型必选说明
coordinateSystemConversionboolean是否转换坐标系
srsstring空间参考(默认为"EPSG:3857")
xnumber零点坐标(默认120)
ynumber零点坐标(默认38)
znumber零点坐标(默认0)
enableLODboolean是否生成lod
fileRange[number, number]大小参数(MB)(默认为[2,20])
textureCompressionFormatenum纹理压缩类型("default" | "webp" | "avif" | "uastc" | "etc1s")
vertexCompressboolean是否压缩顶点
filpNormalsboolean是否翻转法线
mandatoryDoubleSideboolean是否强制双面
noLightboolean是否禁用光照
is3DTiles1_1boolean是否输出3DTiles1.1
(6)RVT模型切片(目前仅支持Windows)RvtModelSlicing

(7)IFC模型切片(IFC23DTiles)

(8)3DTiles转OSGB(Tiles2OsgbSlicing)
字段类型必选说明
srsstring空间参考(默认为"EPSG:4547")
srsOriginstring零点坐标(默认为"0,0,0")
upAxisenum向上轴("X" | "Y" | "Z")(默认为"Y")
maxConcurrencyinteger最大并发数(为空时自动计算)
(9)点云切片(PointCloudSlicing)
字段类型必选说明
colorIptnumber颜色偏移量(颜色计算公式(color+colorIpt) * colorType / dividendColor)(默认为0)
colorTypeenum颜色类型(255 | 65535)(默认255)
dividendColornumber颜色除数(默认65535)
srsstring空间参考(默认"EPSG:3857")
srsOriginstring零点坐标(默认"0,0,0")
isSaveColorboolean是否存储颜色
vertexCompressboolean是否压缩顶点
vertexCompressionLevelenum顶点压缩级别(0|5|10)(默认5)
isSelectAttributeboolean是否拾取属性
isXboolean是否拾取X
isYboolean是否拾取Y
isZboolean是否拾取Z
isIntensityboolean是否拾取Intensity
isClassificationboolean是否拾取classification
repairDiscreteDataboolean是否修复离散化
is3DTiles1_1boolean是否输出3dtiles1.1
(10)高斯泼溅切片(GaussianSplattingSlicing)
字段类型必选说明
srsstring空间参考(默认"ENU:30.282788,120.157471")
srsOriginstring零点坐标(默认"0,0,0")
is3DTiles1_1boolean是否输出3dtiles1.1
(11)高斯泼溅OPGS转3DTiles(GaussianSplattingPly2Glb3dTiles)

(12)I3S转OSGB(I3S2OSGB)

(13)S3M转OSGB(S3m2OsgbSlicing)

(14)3DTiles再处理(TilesOptimize)
字段类型必选说明
isRebuildTopboolean是否重建顶层
maxConcurrencyinteger顶层重建最大并发数(为空自动计算)
handledTopLayerWayenum("default" | "continue")(默认为"default")
textureFormatenum("default" | "webp" | "uastc" | "etc1s")
vertexCompressboolean是否压缩顶点
vertexCompressionLevelenum顶点压缩级别(0 | 5 | 10)(默认为5)
backFaceCullingboolean是否裁剪背面
computedNormalboolean是否计算法线
mandatoryDoubleSideboolean是否双面显示
noLightboolean是否禁用光照
is3DTiles1_1boolean是否输出3DTiles1.1
(15)散列转紧凑(Hash2Compact)

(16)紧凑转散列(Compact2Hash)

4.4 开始/重试/继续任务(POST)

4.4.1 接口地址

/task/<id>/start

4.4.2 请求参数

body参数

字段类型必选说明
isResumeboolean是否为继续处理(目前仅支持倾斜摄影切片、3DTiles再处理)

4.4.3 响应参数

字段类型必选说明
idstring任务 id

4.4.4 响应示例

{
  "success": true,
  "data": {
    "id": "4gtfbeg794p7"
  },
  "msg": "请求成功"
}

4.5 结束任务(POST)

4.5.1 接口地址

/task/<id>/stop

4.5.2 请求参数

字段类型必选说明
idstring任务 id

4.5.3 响应参数

字段类型必选说明
idstring任务id

4.5.4 响应示例

{
  "success": true,
  "data": {
    "id": "4gtfbeg794p7"
  },
  "msg": "请求成功"
}

4.6 删除任务(POST)

4.6.1 接口地址

/task/<id>/stop

4.6.2 请求参数

字段类型必选说明
idstring任务 id

4.6.3 响应参数

字段类型必选说明
idstring任务 id

4.6.4 响应示例

{
  "success": true,
  "data": {
    "id": "4gtfbeg794p7"
  },
  "msg": "请求成功"
}