大规模地形影像数据处理流程


使用说明

地形影像数据是项目中最基础的底图数据,小范围的数据量有很多种处理方式,都可以快速生成瓦片,加载体验也不会很差。

然而随着项目的范围越来越大,用户对大规模地形影像的处理效率及加载性能都有比较高的要求。

因此,本文总结一些地形影像数据处理的方法,供参考。

    1. 数据处理
    2. 发布服务
    3. 在SuperMap iClient3D for WebGL/WebGPU中加载

其中涉及的产品有:SuperMap iDesktopX、SuperMap iServer、SuperMap iClient3D for WebGL/WebGPU。

操作流程

1、数据处理

(1)全部数据按照投影带进行划分任务区(每个任务区不跨带),人工划分为多个任务区,可以多台机器同时进行处理。

(2)用 SuperMap iDesktopX 创建镶嵌数据集,详细操作方法,请参考 SuperMap iDesktopX 帮助文档创建镶嵌数据集。

(3)生成全球剖分的地图瓦片:将镶嵌数据集添加到地图中,设置边界、标签、轮廓三个图层为不可见(否则生成的瓦片会带上),设置影像图层的背景透明、无效值颜色透明两个属性。

详细操作,请参考 SuperMap iDesktopX 帮助文档数据集投影转换。

如果恰好在有效区域中存在无效的颜色值,则用另外一种方式剔除无效区域,镶嵌数据集右键,选择重建范围;可以导入有效区域的边界,或者自动计算镶嵌数据集的有效范围。

(4)对投影坐标系的地图,设置动态投影转换,转换为对应的地理坐标系(并非所有的都转为 4326,China2000 的投影坐标系要设置动态转换为 China2000 的地理坐标系)。

详细操作,请参考 SuperMap iDesktopX 帮助文档镶嵌数据集显示。

(5)保存地图,多任务(可多机并行)生成全球剖分的地图瓦片。层级选择建议:01.米影像分辨率生成最高层级 21 层;0.2 米 20 层;0.5 米 19 层;1 米 18 层;2 米 17 层;4 米 16 层,以此类推。

(6)将生成的地图瓦片转换为sci3d影像瓦片,在三维常用工具及插件下载所需的插件压缩包,解压后按说明文档步骤进行操作

SuperMap iDesktopX 提供将非块存储的地形、影像瓦片升级为块存储,同时也支持将地形影像瓦片保存到MongoDB,方便组织管理。

详细操作,请参考以下 SuperMap iDesktopX 帮助文档:

    • 地形瓦片块存储
    • 影像瓦片块存储
    • 瓦片管理

如果追求更高的加载性能和体验,建议生成块存储的瓦片。性能最高的是块大文件存储、其次是MongoDB。

同一分辨率的影像最好放在一个地图里生成,不同分辨率的影像分不同的地图生成。

2、发布服务

2.1发布文件型工作空间

(1)在SuperMap iDesktopX的工作空间管理器中,在场景下右键点击新建球面场景。

(2)图层管理器选中普通图层,右键点击添加三维瓦片图层,选择上一步骤生成的*.scp文件。

(3)添加瓦片图层后,保存场景和工作空间,该工作空间文件将用于发布工作空间类型的三维服务。

(4)保存工作空间后,在 %SuperMap iServer_HOME%/bin 目录下,点击startup.bat批处理文件,启动SuperMap iServer服务。

(5)打开浏览器,地址栏输入http://localhost:8090/iserver/manager 进入服务管理页面,点击快速发布一个或一组服务按钮。

(6)弹出快速发布服务-选择发布的数据来源对话框,在数据来源处选择工作空间,点击下一步。

(7)弹出快速发布服务-配置数据对话框,点击远程浏览按钮选择前述所保存的工作空间,点击下一步。

(8)弹出快速发布服务-选择发布的服务类型对话框,勾选REST-三维服务,点击下一步。

2.2发布三维瓦片

由于SuperMap iServer 支持将 S3M 瓦片、OSGB 模型瓦片 、地形瓦片(cf、terrainz)、影像瓦片(WebP、JPG、PNG)作为数据来源直接发布为三维服务。

详细操作,请参考 SuperMap iServer 帮助文档:

    • 发布文件型工作空间
    • 发布三维瓦片

3、在SuperMap iClient3D for WebGL/WebGPU中加载

(1)在SuperMap iClient3D for WebGL/WebGPU 中开启批量请求,不是块存储类型的数据需要加 packingRequest:1 这句代码,才能完成批量请求。

            viewer.resolutionScale = window.devicePixelRatio;
            //添加SuperMap iServer发布的影像服务
            var layer = viewer.imageryLayers.addImageryProvider(new SuperMap3D.SuperMapImageryProvider({
				url : 'url',
				packingRequest:1//批量请求
            });
版权所有 © 2000-2025 北京超图软件股份有限公司 京ICP备11032883号-8 京公网安备11010502008721 甲测资字11002074