倾斜摄影模型通常被称作“一张皮”的模型,为发挥倾斜摄影模型应用价值,超图三维率先采用了模型叠加矢量面的方式对倾斜摄影模型进行单体化,此方式操作简单,并且在矢量面数据的属性表中存储业务方面的各类属性信息,实现单体化的同时,能够在倾斜摄影模型进行属性查询。
目前,SuperMap iClient3D for Cesium提供了众多示范程序,其中“动态单体化”范例便演示了倾斜摄影模型实现动态单体化选择和属性查询的效果。
本文档将依照范例的效果,指导用户如何利用自己的倾斜摄影模型在for Cesium客户端上实现属性查询,本操作主要流程如下:
必备数据包括:
(1)倾斜摄影模型数据:如*.osgb格式的倾斜摄影模型及配置文件(*.scp),若无配置文件,请参照加载倾斜摄影模型操作手册。
(2)二维矢量面数据:矢量面数据与倾斜摄影模型位置匹配,完善矢量面数据的属性表;矢量面数据存放于文件数据源(*.udb/*.udbx)中。
图 1:矢量面属性表
在“工作空间管理器”中选中数据集并打开其属性表,在功能区“属性表”,即可查看、修改数据的属性结构,并且请根据业务需求为矢量数据添加属性字段、完善属性值。
在此步骤将S3M格式的倾斜摄影模型以三维服务的形式发布到本地或远程服务器上,实现Web网络资源共享,为实现属性查询,还将发布一个数据服务。
(1)在SuperMap iDesktop桌面产品的 “工作空间管理器”中,在“数据源”处右键点击“打开文件型数据源”,打开存有矢量面数据的数据源(*.udb/*.udbx)。
(2)新建一个球面场景,在“图层管理器”下选中“普通图层”,右键点击“添加三维切片缓存图层” 。
图 2:向场景添加三维切片缓存
(3)加载数据后,定位到图层并设置合适观察角度,保存场景和工作空间;保存后须关闭当前工作空间,占用可能导致后续服务发布失败。
(4)启动SuperMap iServer服务:在SuperMap iServer/bin 目录下,点击“startup.bat“批处理文件启动服务。
(5)打开浏览器,地址栏输入http://localhost:8090/iserver/manager进入“服务管理“页面,“首页”下点击“快速发布一个或一组服务“按钮。
图 3:快速发布一个或一组服务
(6)弹出“快速发布服务-选择发布的数据来源”对话框,在”数据来源“处选择”工作空间“,点击”下一步“。
图 4:数据来源选择工作空间
(7)弹出“快速发布服务-配置数据“对话框,点击”远程浏览“按钮选择前述所保存的工作空间,点击”下一步“。
图 5:选择工作空间配置数据
(8)弹出“快速发布服务-选择发布的服务类型“对话框,勾选”REST-数据服务“和”REST-三维服务“,点击”下一步“。
图 6:勾选三维服务和数据服务
至此,服务发布已配置完成,按照提示点击“完成“和”关闭“按钮。
(1)在操作前请将 for Cesium产品包存放在 SuperMap iServer/webapps 目录下。
(2)进入 for Cesium产品包存放路径SuperMap iServer/webapps,在“examples/webgl”文件夹下,文本方式打开“dynamicDTH.html“范例,修改如下图的内容。
图 7:修改范例部分参数
(3)在“dynamicDTH.html“范例中设置属性查询参数,即修改layer.setQueryParameter()部分,如下图:
图 8:修改范例属性查询参数
(5) 范例修改完毕,以localhost方式打开“dynamicDTH.html “网页。
网页加载完毕,相机飞至倾斜摄影模型所在位置,点击任一模型,模型高亮并弹出窗口显示属性,效果如下图:
图 9: 在倾斜摄影模型上进行属性查询效果图