接入指南
产品简介
空间结构化建模 Open API 面向第三方系统,提供从三维采集数据到可编辑模型的云端自动化处理能力。
业务链路:上传 LCC2 场景包、LAS 点云或 PLY 点云 → 云端自动建模 → 产出 DXF / GLB / BLEND 三维模型,并附带 Revit 模型(RVT)。
适用场景
- 竣工图交付:从现场扫描直接得到平面图与剖面图底图,替代人工翻模。
- 存量改造设计:拿到带尺寸的墙体与门窗,直接在 CAD 中做方案。
- 房源与资产管理:批量产出户型图与面积表。
- 可行性与工程量:读取结构化数据做拆改判断、材料估算。
使用限制
| 项 | 限制 |
|---|---|
| 接口并发 | 每个接口 10 次 / 秒 |
| 建模任务并发 | 不限制,任务提交后直接进入排队 |
| 单次批量查询 | 任务详情接口最多 50 个 modelId |
| 轮询间隔 | 建议不低于 5 秒 |
| 上传临时凭证有效期 | 12 小时 |
| 分片数量上限 | 10000 片 |
| 上传心跳超时 | 180 秒,超时任务置为上传失败 |
| 单 modelId 频控 | 任务开始执行、再次获取上传密钥接口存在 3 秒频控 |
购买服务
本服务已在 AWS Marketplace 上架,可前往 AWS Marketplace 商品页 订阅购买。
获取应用凭证
接入前需提前申请应用,获取以下凭证。
| 凭证 | 说明 |
|---|---|
| APP-ID | 应用唯一标识 |
| APP-Secret | 应用密钥,用于生成签名 |
注:APP-Secret 请妥善保管,不得泄露。密钥仅用于服务端生成签名,不得下发到客户端或写入前端代码。
数据存储区域在申请应用时绑定,调用接口时无需传入。
签名机制
签名参与元素
| 参与元素 | 来源 | 规则说明 |
|---|---|---|
| httpMethod | 请求方法 | 大写,本文档所有接口均为 POST |
| path | 请求路径 | 必须是包含 /open-apis 前缀的完整路径 |
| timestamp | X-Timestamp | 秒级时间戳,与 Header 传入值完全一致 |
| nonce | X-Nonce | 随机字符串,与 Header 传入值完全一致 |
待签名字符串
\n 为换行符。请求体不参与签名。
httpMethod + "\n" + path + "\n" + timestamp + "\n" + nonce
示例:
POST
/open-apis/spatial-model/v1/model/create
1791763200
a3f91c2d8e7b4a6590fd12cb77ae40d1
签名算法
| 项 | 值 |
|---|---|
| 算法 | HMAC-SHA256 |
| 密钥 | APP-Secret |
| 输出 | Base64 编码字符串 |
示例代码
public static void main(String[] args) throws Exception {
String httpMethod = "POST";
String path = "/open-apis/spatial-model/v1/model/create";
long timestamp = System.currentTimeMillis() / 1000;
String nonce = UUID.randomUUID().toString().replaceAll("-", "");
// 1. 构造待签名字符串
String signContent = httpMethod + "\n" + path + "\n" + timestamp + "\n" + nonce;
// 2. HMAC-SHA256
String appSecret = "xxxxxxxxxxxxxxxxxxx";
Mac mac = Mac.getInstance("HmacSHA256");
SecretKeySpec secretKey =
new SecretKeySpec(appSecret.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
mac.init(secretKey);
byte[] rawHmac = mac.doFinal(signContent.getBytes(StandardCharsets.UTF_8));
// 3. Base64 编码
System.out.println(Base64.getEncoder().encodeToString(rawHmac));
}
完成接入准备后,阅读 建模流程 了解完整调用链路。