作者:姜尔
目录
一、模型数据简介
SuperMap iDesktopX支持导入的模型文件格式很多,常见模型格式不限于 SketchUp三维模型文件(*.skp)、OBJ模型文件(*.obj)、DAE模型文件(*.dae)、IFC模型文件(*.ifc)、FBX 模型文件(*.fbx)等。 业务项目中,当大量模型数据汇总,需要统一发布前端浏览时, 普通功能中需要多次添加数据分批缓存数据,难以避免人力损耗。 此时, 处理自动化GP模型的好处即可显现。构建自动化模型后,一键生成, 不必人员跟随,省时省力。
本文主要介绍使用SuperMap iDesktopX搭建处理自动化模型,实现一键生成模型缓存S3MB。
二、GP模型详解
普通基础功能实现模型数据集生成S3MB缓存,可多选同一数据源中多个模型数据集【右键数据集】-【生成三维瓦片】, 对于多个数据源批量模型数据集缓存包括但不限于数据集合并、拆分、筛选、合并根节点等等操作通常需要大量操作逐一完成。 一定程度上增加了人工成本,对于不熟悉软件的用户来说,大量分散的操作也增加了操作人员的工作困难。 使用算子灵活自由的搭建自动化模型,一定程度上也实现了组件代码的操作, GP算子是低代码化良好的产物, 实现了高效便捷的数据处理。
iDesktop X11.1.1版本中【三维数据】-【流程操作】-【模型瓦片】中提供预制GP处理自动化模型。使用到算子【迭代模型数据集】、【数据集合并】、【数据集按SQL查询拆分】、【模型缓存】、【模型缓存合并根节点】等。
在实现模型缓存过程中,其算子的构建,并非死板不可调整的。 通常批量模型数据缓存可以使用简化的【迭代模型数据集】、【数据集合并】、【模型生成缓存】、【模型缓存合并根节点】等算子实现。此自动化模型可以整合所有数据集为一个数据集, 并生成一个缓存,且通过合并根节点优化模型。
【模型缓存合并根节点】与“模型缓存重建顶层”功能相同,适用于精模缓存,且缓存文件类型仅支持S3M和S3MB,是将相邻一定空间范围的根节点合并为一个根节点,即向上抽稀生成了一层更为粗糙的LOD层级,每合并一次,模型根节点数量减少约为原始数量的1/4。算子参数详见如下图所示:
不想改变原有数据集分类、对于缓存结果没有根节点优化等要求,甚至可以更简化的使用【迭代模型数据集】、【模型生成瓦片】实现。此自动化模型将文件夹内所有数据源数据集分别生成缓存。【模型生成瓦片】算子参数较多,对模型缓存有较高优化要求的业务场景会更适合些,其参数详见下图所示:
更甚者,直接使用【批量生成同名模型瓦片】实现一键文件夹下数据源模型全部缓存。此方法与【模型生成瓦片】算子相比,其参数较为简洁,对于数据优化要求不高、快速处理数据的使用场景更为适用。当数据集数据源过多情况下, 此算子应斟酌使用。因为,此算子将各个数据源中数据集分别处理为一个缓存文件夹,文件夹较多情况。例如下图所示:
三、GP模型搭建
本文以【迭代模型数据集】-【模型生成瓦片】为例,简述模型搭建过程。
1.如何搭建GP
算子与算子的连接方式较为简单,通过拖拽前一算子的结果,至后一算子上,即可显示连接信息,不同算子的连接其连接方式是不同的。本文使用算子, 进行连接时,其连接信息包含【源数据】或【前提条件】。
前提条件指的是,当前一算子执行完毕后,当满足某条件时, 开始执行后一算子。源数据指的是【模型生成瓦片】算子中所需参数【数据集】,此参数为【迭代模型数据集】集合的结果,结果即为下一个参数,因此可用【源数据】作为连接关系。
连接完毕后, 通过输入所需数据处理参数。 当参数填写完全时,其算子高亮。 即可执行。
2.检查结果数据
执行结果完毕后, 查看【任务管理】检查进度,100%即为执行完毕。 检查执行日志,工具算子执行结果存在输出值即可检查文件夹中缓存输出情况。可将缓存添加至场景中浏览保存以及后续发布处理。
四、可能遇到的问题及报错
1.模型算子搭建完毕如何发布至iServer使用?
答:有两种方式,第一种方式,在iDesktop X中填写参数保存处理自动化模型,直接发布至iserver使用;第二种方式,在iDesktop X中导出处理自动化模型XML文件,在iServer处理自动化页面中通过【文件】导入标签页方式使用模型。