一、优化背景

TIN指不规则三角网,是针对连续三维空间的不规则划分,其最小单元为不规则三角形。TIN 可以减少数据冗余,表达经度更高,同时在计算效率方面比较有优势,在地理信息系统中有广泛应用。 如交通,道路、桥梁、隧道设计、施工;水利,水利设施、水利发电等;城市建筑,施工、填挖方等。TIN地形数据是项目中最基础的底图数据,用户对地形处理效率及加载性能都有比较高的要求,因此,本文总结了一些TIN地形数据优化的经验,供用户参考。

二、数据优化

2.1 去除无效值

2.1.1 栅格数据

TIN地形是栅格数据集生成三维瓦片而来,如果栅格数据集存在无效值会导致生成TIN缓存崩溃或者合并TIN缓存后会出现黑块这种现象(见下图)。

那么针对这个问题我们可以对栅格数据集去除无效值,具体思路如下:

(1)导入 TIF 文件时,选择栅格数据集类型,勾选创建影像金字塔;

(2)选中栅格数据集,右键查看栅格数据集的属性,发现其空值并不是-9999;

(3)在该项目中,要对多个栅格生成的 TIN 地形进行合并,要求其空值统一为-9999,因此直接修改属性中的空值为-9999;

(4)将栅格数据集添加到地图中,查询无效区域的栅格值,发现其空值不是-9999,需要将其转变为新的空值:-9999;

(5)通过代数运算里面的 con 函数进行重新赋值,得到一个新的栅格数据集,并重新计算新栅格数据集的极值。此处 con 函数的作用是把小于-9999 的值(浅绿色区域)改为-9999,其它地方不变。

主要操作步骤:在菜单【数据】-【数据处理】-【栅格】-【代数运算】,通过代数运算Con函数实现,如Con([test.grid]<-9999,-9999,[test.grid]),意思是将test数据源下grid数据集值小于-9999的栅格全部赋值为-9999,其它栅格保持栅格值不变。

2.1.2 瓦片数据

有时编辑后的高精度TIN与低精度TIN合并之后,会出现塌陷的现象(见下图),这时候就需要用到TIN地形的去除无效值操作。去除无效值是去除设置的TIN地形缓存高程极值范围之外的数据。该功能可应用于交通工程领域,如在具体的项目中,经常需要使用两套精度不同的地形数据,其中低精度作为项目背景,高精度满足工程需要。

那么针对这个问题我们可以对TIN地形数据去除无效值,具体操作步骤如下:

(1)打开高精度栅格数据集的属性框,查看其高度范围,即属性框-栅格栏中的极值。

(2)选择【三维数据】——【TIN工具】——【去除无效值】功能,根据数据本身的高度范围,填写高程值范围(即步骤1中的极值)。此操作是为了将高程值范围之外的数据在后面的 TIN 合并过程中,被视为无效值处理。

(3)使用三维数据下TIN工具栏中TIN合并缓存工具,将处理后的高精度 TIN 与原来的低精度 TIN 合并。

注意:TIN合并缓存工具时一定要注意,需要将高精度地形缓存放到TIN缓存1的位置,低精度地形缓存放到TIN缓存2的位置。

2.2 镶嵌数据集

将两个或两个以上栅格数据集以地理坐标为参照组合成一个栅格数据集。下面分别展示了两种栅格数据集镶嵌的示例。

对于多幅边界相邻的栅格数据集,通过栅格镶嵌操作可直接将其拼接起来,镶嵌效果如上图1所示;对于有重叠部分的栅格数据集,系统会提供多种方法处理栅格数据集的重叠部分,具体参见参数设置中的“重叠区域取值”参数说明,镶嵌效果如上图2所示。

功能入口

【数据】选项卡->【数据处理】->【栅格】->【栅格镶嵌】,弹出“栅格数据集镶嵌”窗口。

在列表框中添加需要进行镶嵌操作的栅格数据集

镶嵌数据集类型:可参与镶嵌的数据集类型有栅格数据集(GRID)和影像数据集(IMAGE)两类,栅格数据集多用来进行栅格分析,影像数据集多用来进行显示或作为底图。栅格数据集镶嵌只能在同一类数据集之间进行,因此,在添加数据集之前需要确定想要镶嵌的栅格数据集类型,这里默认为栅格数据集。选择数据集类型后,系统会根据所选的栅格数据集类型进行自动过滤。此外,将数据集添加至列表框以后,选择数据集类型的下拉列表框变为灰色,呈只读状态,如果用户想改变镶嵌数据集的类型,需要先将列表框内的数据集移除后方可选择。

1.进行栅格数据集镶嵌的参数设置。由于栅格数据集和影像数据集自身的差异性,二者的参数设置也略有不同。下面将详细介绍栅格数据集和影像数据集的各项参数。

​​​​​​​​​​​​​​栅格数据参数设置

重叠区域取值:系统提供的对地理范围上有重叠区域的待镶嵌数据集的处理方法,通过处理该区域像元值来完成数据集的镶嵌。对于栅格数据集,其像元值为地物的属性值,如高程、降水量等。取值方式包括以下五种:

同第一个数据集:取列表框中排在最前的栅格数据集的像元值作为重叠区域的值。

​​​​​​​同最后一个数据集:取列表框中排在最后的栅格数据集的像元值作为重叠区域的值。

​​​​​​​所有数据集的最大值:取参与镶嵌的所有栅格数据集其相应位置的像元值的最大值。

​​​​​​​所有数据集的最小值:取参与镶嵌的所有栅格数据集其相应位置的像元值的最小值。

​​​​​​​所有数据集的平均值:取参与镶嵌的所有栅格数据集其相应位置的像元值的平均值。

像素格式:设置结果数据集的像素格式。

同第一个数据集:取列表框中排列最前的栅格数据集的像素格式。

同最后一个数据集:取列表框中排在最后的栅格数据集的像素格式。

精度最高:选择参与镶嵌的所有栅格数据集中最大的像素格式。

精度最低:选择参与镶嵌的所有栅格数据集中最小的像素格式。

出现频率最高:选择参与镶嵌的所有栅格数据集中出现频率最高的像素格式,如果像素格式出现的频率相同,则按照数据集在列表框中的存放顺序由上到下选择。

自定义像素格式:勾选“自定义像素格式”前面的复选框后,上方“像素格式”参数将变灰不可用。自定义的像素格式包括:1位、4位、单字节、双字节、整型、长整型、单精度浮点型、双精度浮点型8种。像素格式的具体说明请参见。

无值:这里设定的是镶嵌后数据集为空值的值,即参与镶嵌的栅格数据集中单元格的值在无值数据的设置范围内时,这些单元格在结果数据集的相应位置为空值。

容限:设置无值数据的容限,假设无值数据设为 r、容限值设为 a 时,无值数据的范围是 [r-a, r+a]。

​​​​​​​ 结果数据

数据源:结果数据集所在数据源,默认为被镶嵌数据集所在数据源。

数据集:结果数据集的名称。

编码方式:设置结果数据集的编码方式,包括 SGL、DCT、LZW、PNG、复合编码等编码方式,默认为不进行编码。具体编码方式说明请参见。 栅格数据集编码方式的变化参见下表,左侧一列为栅格数据集的原始编码方式,右侧分别列出了在不同像素格式下适用的编码方式。

创建影像金字塔:是否创建影像金字塔,默认为不勾选。在进行大数据量的栅格数据集镶嵌时,建议创建影像金字塔,以提高浏览速度。

​​​​​​​ 进行栅格数据集镶嵌的环境设置

指定结果数据集的范围,默认为“所有数据集的并集”,即为参加镶嵌的所有数据集其范围的并集。此外,也可以选择某一栅格数据集的范围。在指定结果数据集的范围后,用户可对该数据集的范围进行微调,包括结果数据集的四个边界的位置和栅格数据集的分辨率。

​​​​​​​ 完成栅格镶嵌相关参数的设置后,单击“确定”按钮,执行栅格镶嵌操作

2.3 生成优化

2.3.1 块存储瓦片

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

注意事项10.1及后续版本支持块存储,如果是之前版本,选择紧凑存储类型即可。

具体参数详情见SuperMap GIS的TIN地形数据处理Q&A_nannan^_^的博客-CSDN博客

2.3.2 高精度

在生成TIN地形时参数里有高精度和保留精度,如果对生成TIN地形不要求保留原始数据精度值的情况下,选择高精度是性能最优的。下面看这两个参数的说明:

高精度:默认勾选“压缩”复选框,仅高精度的TIN数据支持TIN的相关运算操作,例如提取三维数据(TIN)。

保留精度:默认不勾选“带法线”复选框,保留原始数据精度值,勾选后结束层和精细层误差都会改变。主要是针对精度值比较高的DEM数据。

2.4 创建空间索引

“创建索引”能够对Tin缓存进行构建可用边界信息和空间索引的操作,该操作针对的是那些不存在可用边界信息和空间索引的Tin缓存。

操作步骤:

(1)在【三维数据】选项卡的【TIN地形】组中的【TIN工具】下拉按钮中,单击【创建索引】按钮,弹出“构建索引”对话框。具体参数设置如下:

(2)Tin缓存(.sct):用于构建索引的Tin地形缓存。单击右侧按钮,在弹出的“打开”对话框中选择Tin地形配置文件(*.sct),单击【打开】按钮即可;也可在文本框中直接输入Tin地形配置文件所在的文件夹路径及名称。

(3)单击【确定】按钮,执行构建索引操作。

注意事项:

 可通过查看配置文件(*.sct),看Tin缓存是否具有空间索引和可用边界信息。

具体详见.sct配置文件里以下这两个标签:<sml:HasSpatialIndex>TRUE</sml:HasSpatialIndex>

<sml:HasCalculationData>TRUE</sml:HasCalculationData>

  这个是对于TIN地形数据没有空间索引的情况下使用的,一般情况生成TIN时默认会带空间索引。

SuperMap GIS的TIN地形数据优化相关推荐

  1. SuperMap GIS的TIN地形数据处理十问

    目录 一.必须知道的TIN地形数据处理知识 1. 多个TIN地形合并后,生成的地形带有黑块 2. 对修改后的栅格数据集生成TIN 地形缓存,发现TIN地形带有黑块 3. 存在异常值导致的高精度 TIN ...

  2. GlobalMapper20根据CAD图中的等高线生成GIS用的地形数据

    地形数据是GIS当中的基础数据.规划前.设计前需要的现状图都是需要通过地形数据来获取,并基于这些基础数据进行设计或者施工. 但有时候我们拿不到这个地区的地形数据,也没办法去做现场测绘,只能拿到一些CA ...

  3. SuperMap GIS 三维性能优化

    目录 一.数据处理 1.1 倾斜摄影数据 1.2 BIM数据 1.3 精模数据 1.4 TIN地形数据 1.5 管线数据 1.6 点云数据 1.7 矢量数据 1.8 地质体数据 二.性能优化 2.1 ...

  4. SuperMap GIS BIM类型数据优化 QA

    一.BIM数据特点 BIM数据它不仅可以在设计中应用,还可应用于建设工程项目的整个寿命周期中:用BIM进行设计属于数字化设计:BIM的数据库是动态变化的,在应用过程中不断在更新.丰富和充实:为项目参与 ...

  5. SuperMap GIS管线数据优化

    一.优化目的   城市管网数据错综复杂,未经优化处理的数据在加载过程中可能会出现显示效果差,浏览效率低的情况,特别是在浏览器端,受文件请求量,网络带宽.硬件性能等方面的影响,未经优化的管线数据显示可能 ...

  6. GIS原理篇 terrain 基于TIN的表面数据(地形数据)

    一.什么是terrain Terrain 数据集是一种多分辨率的基于 TIN 的表面数据结构,它是基于作为要素存储在地理数据库中的测量值构建而成的.通常,terrain 数据集利用激光雷达.声纳和摄影 ...

  7. SuperMap GIS 倾斜摄影数据优化 QA

    一.为什么要优化 倾斜摄影数据自身存在文件碎.体量大等特点.未经优化的倾斜摄影在目前市面上主流的三维平台上加载均会出现加载慢,浏览效率低等问题.特别是在浏览器端受文件请求量.网络带宽.硬件性能等方面的 ...

  8. 超图发布SuperMap GIS 8C(2017) 进一步挖掘空间大数据价值

    室内地图不算稀奇,但是如果在路线规划时连直梯和扶梯都能考虑到呢?地理大数据不稀奇,但是如果不仅支持Hadoop,还支持Spark实现地理大数据的分析呢? 10月25日,超图发布了SuperMap GI ...

  9. Supermap GIS二次开发之查询面内数据是否有点数据

    Supermap GIS二次开发之查询面内数据是否有点数据 作者:谢景,撰写时间:2019-1-18 在我们进行GIS二次开发的时候,经常会需要查询某个面区域里是否有点数据,或者是面区域里面的点数据是 ...

最新文章

  1. 读研三年与工作三年的人有哪些差距?
  2. 如何删除隐藏着的网卡
  3. aws高额账单_取消堆放以提高延迟并减少AWS账单
  4. pcb成型板aoi检测_基于AOI技术的PCB常见质量缺陷检测
  5. 两个div在同一行且不换行
  6. [Ext JS 4] 实战之 ComboBox 和 DateField 的点击事件在IE下失效
  7. springboot的一些小问题
  8. 如何用iMazing导出苹果手机短信(彩信)
  9. linux启动报错23修复
  10. Qt开源作品16-通用无边框拖动拉伸
  11. 解决安卓apk在其他手机无法安装问题
  12. NSPredicate模糊、精确、查询
  13. 利用GN算法进行社区发现
  14. 实时监听div,input内容改变并获取值(包括脚本动态添加)
  15. window下MySQL的压缩包方式安装--单版本或多版本(5.7和8共存)通用
  16. SOLIDWORKS软件如何导出带有缩略图的BOM
  17. 信息学奥林匹克c语言提高组,信息学奥赛提高组一级全攻略!你值得拥有!
  18. 建立APICloud云端数据库
  19. 如何获得财务数据信息
  20. bootstrap php三级联动,基于Bootstrap实现城市三级联动

热门文章

  1. BZOJ3677: [Apio2014]连珠线
  2. 关于面试党的那些刁问题
  3. 如何让git commit更简洁
  4. 艺赛旗开发技巧-根据文本点击网页元素
  5. 自定义View时,用到Paint Canvas的一些温故,讲讲用路径绘画实现动画效果(基础篇 三)
  6. Dx bad class file magic (cafebabe) or version (0033.0000) 导致 NoClassDefFoundError 的问题
  7. qml----Model/View入门(四)XmlListModel
  8. 离职那天,我们复员……
  9. cplex小白感悟—前言
  10. c语言中输出1st,高等学校计算机等级考试C语言模拟试题1st-all.doc