一、优化目的
城市管网数据错综复杂,未经优化处理的数据在加载过程中可能会出现显示效果差,浏览效率低的情况,特别是在浏览器端,受文件请求量,网络带宽、硬件性能等方面的影响,未经优化的管线数据显示可能不尽如人意。在SuperMap 中,针对管线数据的数据特点提供了多方面的优化方法,以优化数据的显示效果,提升用户的浏览体验。
二、优化方式
1、数据集优化
a、数据集拓扑处理
生成管线数据的三维线数据集可能存在一些拓扑错误,可能会导致数据在进行空间分析时出现错误,生成缓存时崩溃等情况,因此需要使用【数据】-【线拓扑处理】功能对其进行线数据集的拓扑处理检查和修复。
b、对网络数据集建立空间索引
对网络数据集创建空间索引可提高数据的空间查询效率的数据结构,提供位置相关的数据的快速访问能力,从而提高瓦片生成速度。对于网络数据集,仅支持生成R树索引。在SuperMap iDesktop中,可在工作空间管理器中选中对应的数据集并右击,选择【重建空间索引】
即可弹出【空间索引管理】面板,在这个面板中将显示数据集原始空间索引类型,当原始空间索引类型为【无空间索引】时,可在【待建索引类型】一栏中选择空间索引类型,完成后点击【确定】即可创建。
2、场景优化
设置数据来自地下
当管线数据在地下,并在项目中需要通过控制地表透明度以同时浏览地上、影像以及地下的管管线数据时,需要将管线的【风格设置】-【数据来自】设置为【地下】。
3、缓存优化
a、瓦片边长
对已制作好的管线场景生成缓存时,不建议将瓦片边长设置过大,否则会导致生成缓存后,单个S3M文件过大,前端加载的时候会延长瓦片请求下载的时间,从而降低浏览体验。
b、过滤阈值
设置过滤阈值,过滤掉粗糙层较小的子对象,优化显示内容,可以提升大场景数据的性能。
C、S3M版本
从超图10.2.0版本开始,S3M升级至2.0版本,下图可见其相比于1.0版本的优化。
在超图11i产品中,已经推出了S3M3.0版本的缓存,相比于S3M1.0和S3M2.0版本,从性能、渲染、语义信息以及扩展性和兼容性上都有了较大的提升,且支持在椭球场景进行加载。
椭球场景支持加载S3M1.0、S3M2.0、S3M3.0格式的数据,在加载S3M1.0和S3M2.0格式的数据时,会自动进行坐标转换。圆球场景不支持加载S3M3.0格式的数据。故而在生成缓存时,如果应用场景时圆球场景,则S3M版本需要选择S3M2.0及其以下版本的格式。
4、前端加载优化
显示效果优化:
外挂json,附上PBR材质效果。可参考demo:http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#showUnderGround
功能代码:
var Layer = scene.layers.find('纯水绿色管道优化@管线');
Layer.setPBRMaterialFromJSON("./data/pbr/showUnderGround/piple.json");//json文件为PBR材质文件
设置流动管线,使管线有水流效果。可参考demo:http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#FlowingPipeLine
功能代码:
var line = scene.layers.find("纯水绿色管道优化@管线");
line.textureUVSpeed = new Cesium.Cartesian2(0, -2);//模型纹理在UV坐标上的运动速度