SuperMap支持对栅格数据集生成三维地形缓存,即把地形数据处理为切片(Tile)文件,以优化地形数据在服务器端发布以及在客户端的浏览性能,这样SuperMap iClient3D for Cesium(以下简称客户端)即可访问由SuperMap iServer发布三维服务,实现加载地形数据。
本文档主要阐述了客户端实现加载浏览地形数据的详细操作流程,其主要操作过程有以下:
下面将以示例数 “珠穆朗玛峰” 作详细操作演示。
本操作步骤通过SuperMap iDesktop桌面产品将地形数据生成Tin类型的三维地形缓存(*.sct)。
(1). 打开SuperMap iDesktop桌面产品,在“工作空间管理器”的“数据源”处右键“打开文件型数据源”。
图 1:打开数据源
(2).选中想要生成地形缓存的栅格数据集,右键点击“生成场景缓存”选项。
图 2:选择“生成场景缓存”
(3).弹出“生成场景缓存”对话框,如下图所示。
图 3:“生成场景缓存”对话框
(4). 数据列表中为将要生成缓存的数据集,可点击“添加数据集”或删除图标来管理将要生成缓存的数据集,对生成缓存的数据集设置以下:
(5). 在对话框的“参数设置”处,设置以下:
(6).“缓存范围”和“比例尺”相关信息可不作更改,点击“生成”按钮,等待生成完成。
缓存生成完成后,打开目标路径“Terrain”文件夹,存放着一个“info.sct”文件,它为地形数据的缓存配置文件,数字命名的文件夹则存储了不同层级的地形数据,如下图所示。
图 4:生成场景缓存结果
在上一步骤生成了地形的缓存数据,接下来将地形缓存以三维服务形式发布到本地或远程服务器上,便于WebGL客户端加载地形服务。
(1)在SuperMap iDesktop桌面产品的 “工作空间管理器”中,在“场景”下右键点击“新建球面场景”。
图 5:新建球面场景
(2)“图层管理器”下选中“地形图层”,右键点击“添加地形缓存”,选择上一步骤生成的*.sct文件。
图 6:向场景添加地形缓存
(3)添加地形缓存后,保存场景和工作空间,该工作空间文件将用于发布工作空间类型的三维服务。
(4)保存工作空间后,在 %SuperMap iServer_HOME%/bin 目录下,点击“startup.bat“批处理文件,启动SuperMap iServer服务。
(5)打开浏览器,地址栏输入 http://localhost:8090/iserver/manager 进入“服务管理“页面,“首页”下点击“快速发布一个或一组服务“按钮。
图 7:快速发布一个或一组服务
(6)弹出“快速发布服务-选择发布的数据来源”对话框,在”数据来源“处选择”工作空间“,点击”下一步“。
图 8:数据来源选择工作空间
(7)弹出“快速发布服务-配置数据“对话框,点击”远程浏览“按钮选择前述所保存的工作空间,点击”下一步“。
图 9:选择工作空间配置数据
(8)弹出“快速发布服务-选择发布的服务类型“对话框,勾选”REST-三维服务“,点击”下一步“。
图 10:勾选三维服务
至此,服务发布已配置完成,按照提示点击“完成“和”关闭“按钮。
服务发布完成后,将在服务列表(http://localhost:8090/iserver/services)中显示该三维服务,如下图所示。
图 11:三维服务下显示新发布的服务
发布了三维服务以后,在此步骤中便可通过WebGL客户端浏览地形数据。
提示:在操作前请将产品包存放在 %SuperMap iServer_HOME%/webapps 目录下。
(1)获取三维数据url地址,按照如下顺序点击获取:
图 12:复制url地址
(2)进入产品包存放路径(%SuperMap iServer_HOME%/webapps),在“examples”文件夹下,文本方式打开“terrainAndImagery.html“范例,修改如下图的内容。
图 13:修改范例部分参数
(3)以localhost方式打开“terrainAndImagery.html “网页,浏览器输入地址即为:http://localhost:8090/%产品包%/examples/terrainAndImagery.html
打开网页后,相机飞至地形数据所在位置,显示效果如下图:
图 14:客户端浏览地形数据效果
注:上图效果为加载了影像数据和地形数据的效果,加载影像数据相关操作请参考 加载影像数据 操作文档。