2.7.1 倾斜摄影数据加载及拾取
科澜公司自主优化后的 osgb 数据,可通过 CooWasm 高效加载与拾取。
数据结构
倾斜摄影数据以特定结构存储,其中metadata.xml为核心信息文件,在配置数据加载路径时,需指向此xml文件。
数据加载
使用MeshLayer类实现倾斜摄影数据加载
var obj = new CooWasm.MeshLayer({
url: "http://127.0.0.1:8088/Data/OSGB/metadata.xml"
}, state => {
if (state) {//是否加载成功
obj.Locate();//数据定位
} else {
obj = obj.destroy();
}
})
倾斜摄影数据拾取
倾斜摄影数据拾取需借助辅助对象:长方体/球体,以下以长方体为例,展示整个拾取过程:
1.加载倾斜摄影数据:
2.创建辅助拾取用长方体:
var obj = new CooWasm.GeoCuboid({
location: new CooWasm.Vec3Obj(120.2171958099, 30.208455402, 68.8648247495),//长方体位置
scale: new CooWasm.Vec3Obj(19.5376302068, 9.1819055204, 11.0937951842),
rotation: new CooWasm.Vec3Obj(0, 0, 10),
renderMode: CooWasm.EnumRenderMode.NORMAL //渲染模式
}, state => {
if (!state) {//是否加载成功
obj = obj.destroy();
}
});
3.隐藏辅助拾取用长方体:
将长方体的renderMode参数设置为CooWasm.EnumRenderMode.NULL,即颜色、深度均不绘制,使其在地图中不可见,避免干扰视觉效果。
obj.update({
renderMode: CooWasm.EnumRenderMode.NULL
}, state => {
console.log("update state:" + state);
})
4.创建拾取工具:
使用Picker创建拾取工具:
var picker = new CooWasm.Picker({
},(id)=>{
console.log("拾取对象avatarUuid:" + id)
})
5.拾取交互:
鼠标悬停在数据区域时,对应数据会高亮显示,提示可拾取区域。

点击数据后,被拾取对象变色,同时回调函数返回其avatarUuid,用于后续业务处理。

CooWasm开发者中心操作指南(倾斜摄影)
1.选择功能模块: 在开发者中心左侧列表中,依次选择多源数据加载→倾斜摄影。

2.创建倾斜摄影数据:点击创建倾斜摄影按钮,完成数据初始化。

3.创建辅助拾取体:点击创建辅助拾取用长方体,生成拾取辅助对象。

4.创建拾取工具:在工具栏中创建拾取工具,用于触发拾取操作。
5.执行数据拾取:在三维场景中选择目标数据,体验拾取交互效果。