SuperMap GIS 倾斜摄影数据优化 QA

news2024/11/23 7:04:04

一、为什么要优化

倾斜摄影数据自身存在文件碎、体量大等特点。未经优化的倾斜摄影在目前市面上主流的三维平台上加载均会出现加载慢,浏览效率低等问题。特别是在浏览器端受文件请求量、网络带宽、硬件性能等方面的影响,倾斜摄影的显示效果往往不尽人意;SuperMap iDesktop软件针对倾斜摄影的数据特点,提供了多种数据优化方法,以便提高数据的加载效率,提升用户体验。

二、可优化方面

倾斜摄影最常用的数据格式是OSGB,以下均以OSGB格式进行分析。

2.1 LOD层级

倾斜摄影数据自身带有LOD,受无人机拍摄照片的清晰度、建模人员个人喜好等各个方面的影响,有些数据的LOD层级不理想,数据根节点特别模糊

2.2 纹理

● 倾斜摄影数据以无人机拍摄照片作为纹理,在数据生成过程中没有做限制导致数据纹理过大
● 倾斜摄影被Smart 3D(CC)修饰后,纹理利用率不高

2.3 瓦片边长

倾斜摄影数据由多个Tile文件夹组成,每一个Tile文件夹代表一块数据,如果每一块数据边长过小,那么拼成整份数据就需要特别多的块,这就导致了浏览数据时请求多,显示慢

2.4 索引

倾斜摄影所有根节点通过配置文件(*.scp)进行索引,每下一层文件通过上一层文件进行索引,这也就表明了倾斜摄影数据必须是由最粗糙层逐步加载到最精细层,这种原始的索引方式会加载不必要的LOD层级,在多个LOD层级切换过程中导致显示慢

三、如何优化

针对可优化方面,如何进行优化。下面我来一一介绍:

3.1 重新指定根节点

3.1.1 根节点原理

在这里插入图片描述

查看原始数据,可以看到文件夹中第一个文件为根节点,索引着下面所有文件,它代表12层(L13表示13层,它比L13还往上一层,可以理解为12层,层级越低越粗糙),在对原始数据生成配置文件时,默认读取根节点,也就是12层开始索引;通常我们认为15层以下的数据比较模糊,建议从16-18层中选择一层作为根节点

3.1.2 重新指定根节点步骤

● 通过【三维数据】-【生成配置文件】,指定根节点
在这里插入图片描述

● 删除默认根节点,并点击加号,重新指定
在这里插入图片描述

● 记录下根节点数量以便倾斜入库时计算重建LOD指数;点击确定,并输入坐标系、插入点参数生成配置文件
在这里插入图片描述


3.2 纹理重映设

纹理重映设功能适用于以下两种情况
● 倾斜摄影数据纹理分辨率过大,超过1024*1024
● 倾斜摄影被Smart 3D(CC)或其它软件修饰后,纹理利用率不高

3.2.1 如何检查

1)将倾斜摄影中间层级随便一个OSGB文件导入数据源作为模型数据集
2)将模型数据集添加进场景,打开“三维地理设计”-“材质”功能,查看模型纹理
在这里插入图片描述

我们需要查看两个方面,一个是有用纹理占整张图片的百分比大小(利用率),另一个是整张图片的分辨率大小;图片利用率小于70%,图片分辨率大小超过1024*1024,这两种情况都需要做纹理重映设

3.2.2 优化方法

倾斜入库时勾选纹理重映设

3.3 倾斜入库

在这里插入图片描述

倾斜入库是倾斜摄影处理的功能集合,以下对其中各个参数进行讲解:

3.3.1 参数介绍

S3M版本:
分为s3m1.0、s3m2.0、s3m3.0
SuperMap iDesktop 9.1.2版本s3m格式全面升级为s3m格式
9.1.2~10.1.2版本生成的数据格式为s3mb,版本号为1.0
10.2.1版本全面升级为2.0,并且兼容1.0格式的数据
11i 版本全面升级为3.0,支持椭球场景,并且兼容1.0/2.0格式的数据
在这里插入图片描述
在这里插入图片描述

线程数:
默认为8,根据计算机物理内核计算,线程数 = 物理内核*1.5

存储类型:
分为原始和紧凑,原始类型,生成的数据格式为 *.s3mb,紧凑类型,生成的数据格式为 *.db;原始类型方便查看各个缓存文件大小,方便排查数据是否符合规范以及再次优化,紧凑类型只会生成一个db大文件和一个json文件,方便文件传输与拷贝
原始类型
在这里插入图片描述

紧凑类型
在这里插入图片描述

几何压缩格式:
分为不压缩、DRACO压缩、meshOpt压缩,三种压缩格式与s3m版本对应,压缩性能依次递增,压缩时间也相应变长,如果选择s3m3.0版本,建议使用meshOpt压缩

纹理压缩格式:
分为webp、KTX2.0、DXT(PC设备)、CRN_DXT5(PC设备)、标准CRN
webp 和 KTX2.0 均为通用纹理,可在移动端和PC端共同使用,10.2.1版本开始支持webp,11i 版本支持开始支持KTX2.0
DXT是的PC端压缩格式,标准CRN与CRN_DXT5(PC设备)相比DXT有更进一步压缩,如果数据精度高,推荐使用CRN_DXT5(PC设备),同时倾斜入库压缩时间也会变长
纹理压缩格式:纹理压缩格式介绍

中心点坐标单位:
分为米和度,根据倾斜摄影OSGB原始数据坐标系单位设置,如果是投影坐标系,设置为米,如果是地理坐标系,或者ENU坐标系,设置为度

纹理重映设:
倾斜摄影数据纹理大小超过1024*1024或者纹理利用率不高,需要勾选纹理重映设,参考上一小点

重构LOD:
倾斜摄影模型数据通常采用分块(Tile)方式存储,即一定空间范围的模型划为一个块并存储在一个文件夹中,每个文件夹下包含了一个根节点文件及若干子节点文件。SuperMap通过索引文件(*.scp)记录的根节点相对路径来加载模型,如下示意图(蓝色方框表示模型根节点)。
在这里插入图片描述

“重建LOD”功能则是将相邻一定空间范围的根节点合并为一个根节点,即向上抽稀生成了一层更为粗糙的LOD层级。 当金字塔层级为1时,代表每4个根节点合并为1个,每合并一次,模型根节点数量减少约为原始数量的1/4。系统会控制模型最终的根节点数量,保证根节点在10个左右,极大提升了数据调度效率
在这里插入图片描述

融合边界:
勾选“融合边界”后,可以减弱倾斜摄影数据瓦片之间的交界效果,主要是针对瓦片边界存在少量相交的倾斜摄影数据
用来解决倾斜摄影半透明后,边界重叠区域

法线:
要对倾斜摄影数据做阴影分析、日照分析,需要勾选法线,否则不勾选

合并图层:
当多个配置文件的中心点一致时,支持将多个图层的倾斜摄影模型经过倾斜入库后合并成一个图层;当多个配置文件的中心点不一致时,需勾选修改中心点功能,以其中一个配置文件的中心点为准,修改模型中心点,然后进行倾斜入库,将多个图层的倾斜摄影数据合并成一个图层

3.3.2 倾斜入库参数推荐

10.2.1版本:s3m2.0、几何压缩DRACO、纹理压缩CRN_DXT5(或者DXTpc设备)
11i 版本:s3m3.0、几何压缩meshOpt、纹理压缩CRN_DXT5

3.4 构建空间索引

3.4.1 构建空间索引的意义

传统索引方式是通过配置文件一层一层地索引到下一层,这种方式使得要加载数据精细层,必须经过粗糙层,中间层,最终再加载精细层,在层级切换过程中非常耗时
空间索引采用另一种调度方式,以文件的空间结构为基础,规定每一定数量的s3mb生产一个索引文件(json),在前端调用时,根据当前相机位置,获取到对应json,从而调用当前视角下的s3mb文件;这种方式可直接调用精细层

3.4.2 如何构建空间索引
通过【图层管理器】- 右键 - 【构建空间索引】
在这里插入图片描述

在这里插入图片描述
勾选嵌套结构,叶子节点数默认为256,如果数据量特别大,可适当调大

注意,通过SuperMap iDesktop 11i 版本倾斜入库,自动构建空间索引,不需要再次构建,判断一份数据是否已构建空间索引,可查看倾斜入库后的缓存文件夹,若文件夹内有大量的json文件,可以判断该数据有空间索引

3.4.3 如何使用空间索引

空间索引是一种加载调度方式,需要结合SuperMap iClient for Cesium使用,提供接口:
在这里插入图片描述

使用代码:

//查找倾斜摄影图层
var QXlayer = viewer.scene.layers.find('Config');
//对倾斜摄影图层设置空间索引加载模式
QXlayer.LoadingPriority=Cesium.LoadingPriorityMode.UsePagedLodInfo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/91629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

元房地产经纪人 — 科幻系列包 #2 来袭!

OUTR Studios 刚刚发布了他们最新的 The Sandbox 元宇宙科幻包,里面装满了很多好东西!新内容包括两个非玩家角色 (NPC)、两套可装备的太空服和两个独特的太空无人机。这个最新版本肯定会为已有的模块化科幻构建套件增添更多乐趣。无论你们是与朋友一起建…

大屏适配的两种方案

现在做大屏的需求越来越多,大屏的适配是个头疼的事情 一、基于rem的适配方案 rem是什么? rem是指相对于根元素的字体大小的单位,在日常开发过程中我们通常把根元素(html/body)的字体设置为10px,方便于我们计算(此时子元素的1rem就相当于10px)。 适用场景 不固定宽高…

A_A05_001 aithinker_serial_tool_安信可调试助手使用

目录 一、软件获取 二、软件基本功能介绍 1、接收区 2、串口通信参数配置区 3、串口打开关闭与其他设置区域 4、手动发送区域 5、多文本发送区 6、辅助区域 三、注意事项 一、软件获取 网盘链接 直戳跳转 二、软件基本功能介绍 1、接收区 接收区就是接收外部设备给串口…

理解vue2.x版本中productionTip=false设置无效的原因

首先&#xff0c;我们看到vue官网中关于productionTip的API使用&#xff1a; 但是&#xff0c;我在本地中使用却无效&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta htt…

写接口用例文档,测接口

定义数据工具 共用API文档 产品、设计、前端、后端、测试、运维、售前、售后 mock 自动生成code和data 前后端 编写接口文档 post json格式 查询需要token值 APIfox介绍 一、常用解决方案 使用 Swagger 管理 API 文档 使用 Postman 调试 API 使用 mockjs 等工具 Mock AP…

算法刷题打卡第46天:排序数组---堆排序

排序数组 难度&#xff1a;中等 给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 示例 1&#xff1a; 输入&#xff1a;nums [5,2,3,1] 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;nums [5,1,1,2,0,0] 输出&#xff1a;[0,0,1,1,2,5]堆排序…

[附源码]Python计算机毕业设计高校图书馆网站Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

C++初阶 模板进阶

作者&#xff1a;小萌新 专栏&#xff1a;C初阶 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;介绍进阶模板的一些特性 C 模板进阶非类型模板参数注意点模板的特化概念函数模板特化类模板的特化全特化偏特化模板的编译分离什么是编…

再见print !这个牛逼的库竟然这么强!

PySnooper 是一个非常方便的调试器。如果您正在试图弄清楚为什么您的Python代码没有按照您的预期去做&#xff0c;您会希望使用具有断点和监视功能的成熟Debug工具&#xff0c;但是许多Debug工具配置起来非常麻烦。 现在&#xff0c;有了PySnooper&#xff0c;您并不需要配置那…

最长回文子串问题(Manacher算法)

文章目录题目1&#xff09;例子演示2&#xff09;思路分析3&#xff09;Manacher 算法4&#xff09;代码展示题目 如何求得某字符串 str 的最长回文子串的长度&#xff1f; 要求时间复杂度 O(N) 1&#xff09;例子演示 什么是回文子串&#xff1f; 回文串即该字符串从前往…

Stable Diffusion 迁移和部署

文章目录1. 模型概述2. 模型架构3. 模型迁移流程3.1 前置准备3.2 CLIP text encoder3.3 VQ-VAE (fp16)3.4 Text conditioned unet3.5 创建pipeline3.6 web demo部署4. 效果展示5. 相关链接此实验需要最新的sdk实现模型的迁移&#xff0c;最终在1684X上进行推理。代码地址为&…

mysqldumpslow和mysqldumpslow

mysqldumpslow 这是一款mysql自带的慢查询工具&#xff0c;个人使用下来发现&#xff0c;可以满足在很多慢日志中找到有问题的慢的sql&#xff0c;并且可以进行sql排序。属于一种短小精干的工具。 命令大概形式&#xff1a; slowlog是需要分析的日志 mysqldumpslow -s c -t 1…

rocketmq源码-consumer启动

前言 这篇笔记记录consumer启动的逻辑 consumer主要是负责去broker中拉取消息&#xff0c;然后将拉取到的消息&#xff0c;交给消费者去处理 consumer本质上也是一个netty客户端&#xff0c;所以&#xff0c;在启动的时候&#xff0c;和producer有很多相似的点&#xff0c;但是…

[ vulhub漏洞复现篇 ] struts2远程代码执行漏洞s2-052(CVE-2017-9805)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

[附源码]Node.js计算机毕业设计高校国防教育管理系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

基于java+springboot+mybatis+vue+mysql的结合疫情情况的婚恋系统

项目介绍 现实生活中&#xff0c;很多年轻人的社交圈实际上很狭窄&#xff0c;一方面&#xff0c;多元化的社交方式太少了&#xff0c;另一方面&#xff0c;都市人繁忙的生活又让他们很少有空闲去体验传统交友方式&#xff0c;而网络的快捷和多元化恰恰提供了一个好的交友起点…

Blazor组件自做十三: VideoPlayer 视频播放器

Video.js 是一个具有大量功能的流行的视频和音频 JavaScript 库,今天我们试试集成到 Blazor . Blazor VideoPlayer 视频播放器 组件 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VwxxYiKn-1671068849666)(null)] 示例 https://blazor.app1.es/v…

为什么现代企业的ERP系统必须具备CRM?

各行各业的企业都依赖ERP系统和客户关系管理 (CRM) 系统来简化业务运营。企业的销售和运营信息必须实时联系起来&#xff1b;否则&#xff0c;企业的客户活动在现代社会就会变得缓慢或没有效率。 以下业务对象通常被映射在用于销售的CRM系统和用于运营的ERP系统之间&#xff0…

【Processing】我给网友 “战场小包” 做了他的 “自画像”.

前言 突然疫情放开了&#xff0c;在掘金里认识的一个掘友&#xff08;战场小包&#xff09;&#xff0c;突然今天找我。 &#xff1a;寻思啥事呢&#xff0c;原来找我做个自画像。 &#xff1a;行&#xff01;没问题&#xff01; &#xff1a;结果等半天&#xff08;一晚上到今…

rocketmq源码-broker处理consumer拉取消息请求

前言 在前面consumer拉取消息的博客中&#xff0c;有说过&#xff0c;对于consumer&#xff0c;在拉取消息的时候&#xff0c;是需要指定code码的&#xff0c;在consumer去broker拉取消息的时候&#xff0c;指定的code码是&#xff1a;PULL_MESSAGE&#xff0c;所以这篇博客&a…