원클릭으로
minemap-s3m
MineMap S3M 倾斜摄影数据源。用于加载城市级三维模型(OSGB / S3M 切片 / 锦江示例)、S3M tileset 位置校正、太阳光联动与场景组件生命周期管理。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
MineMap S3M 倾斜摄影数据源。用于加载城市级三维模型(OSGB / S3M 切片 / 锦江示例)、S3M tileset 位置校正、太阳光联动与场景组件生命周期管理。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
MineMap 3D 公告板(Billboard)专题。覆盖 BillboardMaterial / BillboardGeometry / BillboardInstance 动画、拾取高亮、动态纹理更新与轨迹对象联动;不与 DOM 覆盖物 Marker 混淆。
MineMap 云与大气渲染链。用于启用体积云(多层 CloudLayer)、单片实例化云(map.cloudCollection)、大气散射与太阳 / 天空辐照度,重点说明主分支公开参数与禁用字段。
MineMap 事件订阅模型、图层事件代理、once/off 管理、矢量与三维对象拾取。
MineMap 热力图(heatmap)专题。用于二维 / 三维热力图、贴地热力、聚合权重、热力色阶与 3D 显示模式,重点说明 paint/layout 参数边界与典型失败场景。
MineMap KML 数据源。用于加载 KML / KMZ 文件,解析 LineStyle / IconStyle / LabelStyle / PolyStyle 等样式继承,并把 KML 属性映射为 line / circle / fill / symbol 派生图层。
MineMap 材质与着色规范。覆盖 `StandardMaterial`、`PhongMaterial`、`PhysicalMaterial`、`LambertMaterial`、`PolylineMaterial` 等主流材质的选型与调参。
| name | minemap-s3m |
| description | MineMap S3M 倾斜摄影数据源。用于加载城市级三维模型(OSGB / S3M 切片 / 锦江示例)、S3M tileset 位置校正、太阳光联动与场景组件生命周期管理。 |
S3M 是 MineMap 4.25 公开支持的倾斜摄影 / 城市级三维模型数据格式。入口统一在 map.addSceneComponent({ type: 's3m', ... }),与已有的 3D Tiles / scene-object 体系保持一致。
addSceneComponent 会返回一个 S3M tileset 对象,具备 readyPromise,可用于在数据加载完成后定位相机。
const tileset = map.addSceneComponent({
id: "cbd-s3m",
type: "s3m",
url: "../data/s3m/CBD/cbd.scp" // S3M 配置 / 服务地址
});
tileset.readyPromise.then(() => {
// 加载完成后定位相机
map.transform.activeCamera.setView({
destination: new minemap.Math.Vector3(-2181968.890329965, 4385313.17843029, 4072712.8241634783),
orientation: {
heading: 3.1756648661534443,
pitch: -0.3715184468182904
}
});
});
scene-component 体系,不是 source/layerurl 指定的 S3M 配置,解析 OSGB / crn 等切片资源enableLight / setSunLightTimestamp 协同:S3M 材质本身依赖光照计算| 参数 | 说明 |
|---|---|
id | scene component 唯一 id,后续通过 map.removeSceneComponent(id) 移除 |
type | 固定为 's3m' |
url | S3M 服务的配置地址(.scp 文件或 REST 配置地址) |
const tileset = map.addSceneComponent({ id, type: "s3m", url });
tileset.readyPromise.then(() => {
// 1. 调相机定位
// 2. 读取 tileset 元数据
});
map.removeSceneComponent("cbd-s3m");
S3M 与全局光照系统共享同一份 sun 状态,因此可以用:
map.enableLight() / map.disableLight()map.setSunLightTimestamp(date.getTime())map.setSunLightTime({ year, month, day, hours, minutes, seconds })推荐做法:
load 之后立即 map.enableLight()sunTime(比如中午 12:00)setSunLightTimestamp 触发重渲染对应 demo:demo/html/S3M.html
const tileset = map.addSceneComponent({
id: "cbd",
type: "s3m",
url: "../data/s3m/CBD/cbd.scp"
});
特点:
对应 demo:demo/html/S3M_Pipeline.html
const tileset = map.addSceneComponent({
id: "serve",
type: "s3m",
url: "https://.../3D-xxxx/rest/realspace/datas/PI_UV/config"
});
特点:
realspace 服务的 datas/.../config 端点readyPromise对应 demo:demo/html/S3M_JinJiang.html
用于演示城市级倾斜摄影 + 地形 / 影像底图组合。
addSceneComponent不要尝试用 addSource({ type: 's3m' }) + addLayer。S3M 不是 style source/layer 模型。
id 唯一重复 id 会替换现有 scene component,调用前确认 map.getSceneComponent(id) 行为。
removeSceneComponent(id)不要手动 tileset.destroy() 之类的私有方法。
部分 S3M 数据使用 crn 压缩纹理,需要在页面里配置 window.minemapCDN,让引擎能够拉取 wasm 解码器。
window.minemapCDN = "https://your.cdn/minemap-CDN";
如果 CDN 没配,crn 纹理会失败并出现"紫黑方块"。
4.25 默认开启 S3M 双面绘制,便于进入建筑内观察。如需关闭,参考对应 setDoubleSided / material 覆盖方式(按发布版本决定,不在主推路径)。
window.minemapCDN 是否配置readyPromise 后再 setViewid,并各自等待 readyPromiseenableLight 是否开启,并设置合理 sunTimeminemap-scene-componentsminemap-3d-tiles-runtime-controlminemap-lighting-and-shadowsminemap-business-oblique-bim