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

目录

一、必须知道的TIN地形数据处理知识

1. 多个TIN地形合并后,生成的地形带有黑块

2. 对修改后的栅格数据集生成TIN 地形缓存,发现TIN地形带有黑块

3. 存在异常值导致的高精度 TIN 与低精度 TIN 合并之后,在精细 TIN 边缘处出现塌陷

4. TIN地形添加到场景中存在裂缝

5. 对TIN地形在图层属性面板做坡度坡向分析没有效果

6. 在三维场景中,加入带法线的TIn地形缓存,发现使用坡度坡向,淹没分析均无效果?

7. 二维线添加到场景中被TIN地形遮挡了,怎样生成和TIN地形匹配的三维线?

8. 用三维面(路基三维面)对地形缓存(地形缓存16级,生成缓存前地形tif格网2米)进行了挖洞操作,有些桥下挖洞前地形是平整的,挖完洞后地形有很多不规则凸起。

9. TIN地形挖洞如果用软约束在面边界周围放大后会出现很多小洞

10. 想将TIN地形表现的更夸张立体些该怎么做?

二、应该了解的TIN地形知识

补充说明


一、必须知道的TIN地形数据处理知识

1. 多个TIN地形合并后,生成的地形带有黑块

SuperMap GIS的TIN地形数据处理十问_第1张图片

  • 问题分析: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. 对修改后的栅格数据集生成TIN 地形缓存,发现TIN地形带有黑块

  • 问题分析:在生成 TIN 地形缓存的 LOD 层时,会用到栅格数据的影像金字塔,而影像金字塔是导入TIF时创建的,如果对栅格数据集进行了修改,却没有更新影像金字塔,导致二者不再对应。使得同一位置的点在不同的层级被赋予了不同的高程值,产生了黑块。
  • 解决方案:把原来的影像金字塔删除,然后再重新创建影像金字塔即可。

3. 存在异常值导致的高精度 TIN 与低精度 TIN 合并之后,在精细 TIN 边缘处出现塌陷

  • 问题分析:

1.生成 DSM 时,在有效值与地表之间产生了过渡数据。

2.在对高精度地形进行镶嵌等操作的过程中,引入了类似噪点的异常值。

3.也可能是其它原因导致精细地形数据中出现了实际地形高程范围之外的数据。

  • 解决方案:

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

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

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

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

4. TIN地形添加到场景中存在裂缝

SuperMap GIS的TIN地形数据处理十问_第2张图片

  • 问题分析:裙边高度过小。
  • 解决方案:

当TIN地形存在裂缝时,在场景属性里开启“Tin地形裙边”可避免显示地形裂缝,从而提升TIN地形的显示效果。裙边高度过小会导致地形裂缝仍然存在,目前支持设置裙边高度,取值范围为[0,+∞],单位为米,当取值为0时,采用默认计算的高度值。

5. 对TIN地形在图层属性面板做坡度坡向分析没有效果

  • 问题分析:坡度坡向分析只支持带法线的TIN地形。
  • 解决方案:切TIN地形缓存时需要勾选“带法线”。

6. 在三维场景中,加入带法线的TIn地形缓存,发现使用坡度坡向,淹没分析均无效果?

  • 问题分析:三维分析功能栏中的坡度坡向、淹没分析功能在10.1.0以前版本iDesktop中只适用于栅格地形(这个有版本限制,10.1.0以前版本不支持,10.1.0版本及其以后版本支持TIN地形在这里做坡度坡向、淹没分析)
  • 解决方案:倾斜摄影模型和TIN地形数据的淹没分析功能是通过数据对应的图层属性面板实现的。

7. 二维线添加到场景中被TIN地形遮挡了,怎样生成和TIN地形匹配的三维线?

  • 问题分析:二维线的高程和TIn地形的高程不匹配。
  • 解决方案:使用【三维数据】-【TIN工具】-【提取三维数据】功能对二维线提取匹配地形的三维线。

8. 用三维面(路基三维面)对地形缓存(地形缓存16级,生成缓存前地形tif格网2米)进行了挖洞操作,有些桥下挖洞前地形是平整的,挖完洞后地形有很多不规则凸起。

  • 问题分析:TIN地形挖洞时参数设置里的约束边界设置的是硬约束,硬约束是裁剪结果边界高程和裁剪面边界高程值一致,所以会出现挖完洞后地形有很多不规则凸起的现象。
  • 解决方案:TIN地形挖洞时参数设置里的约束边界设置为软约束。

9. TIN地形挖洞如果用软约束在面边界周围放大后会出现很多小洞

  • 问题分析:这个是计算误差,避免不了,目前底层还没有精确的算法。
  • 解决方案:

方案一:采用硬约束挖洞后将凸起的部分镶嵌压平。

方案二:将路基三维面洞口封闭(见下图),这样对数据要求比较高,建议用代码封闭,手工操作会比较耗时。然后对封闭的面数据进行硬约束操作。这样处理的原因就是遵循硬约束是以挖洞面的边界高程来计算挖洞地形高程的。

方案三:将开挖面在【三维数据】-【TIN工具】-【提取三维数据】中提取贴合TIN地形的三维面,将提取出来的三维面添加到球面场景中,高度模式设置为贴地,【三维地理设计】-【TIN地形操作】-【挖洞】时选择这个面,进行【硬约束】挖洞即可。(最优

10. 想将TIN地形表现的更夸张立体些该怎么做?

  • 问题分析:当前场景中地形数据的垂直夸张程度不满足需求。
  • 解决方案:

设置【场景属性】-【地形缩放比例】。

“地形缩放比例”为1时,表示不对地形数据进行缩放的原始状态;当设置大于1的数值时,表示对地形的垂直比例进行放大,即夸张地形的起伏度,从而更为直观地展示模拟地球表面的地形状况。

注意:若用户需在三维场景中进行地形的可视性或可视域分析,仅在“地形缩放比例”为1的情况下进行分析,才能保证结果正确。

SuperMap GIS的TIN地形数据处理十问_第3张图片

SuperMap GIS的TIN地形数据处理十问_第4张图片

二、应该了解的TIN地形知识

  • TIN地形数据是怎么生成的?

    SuperMap GIS的TIN地形数据处理Q&A_supermapsupport的博客-CSDN博客

  • TIN地形数据该如何优化?

    SuperMap GIS的TIN地形数据优化_supermapsupport的博客-CSDN博客

  • TIN地形如何发布三维服务?

    SuperMap GIS发布三维服务流程_supermapsupport的博客-CSDN博客

  • TIN地形前端加载代码如何优化?
    SuperMap iClient3D for WebGL/Cesium端性能优化_supermapsupport的博客-CSDN博客

补充说明

  • 为了配合DEM 生成TIN地形缓存的使用,对TIN地形缓存数据进行多种形式的裁剪操作,更好的利用数据。
  • TIN地形上镂空一个洞,三维模型叠加显示,形成模型与地形匹配的效果。
  • 可通过TIN地形-镶嵌功能,利用模型的边界面与TIN地形进行镶嵌,使地形与模型能够很好的贴合。
  • 将TIN地形与模型数据进行求差运算或合并运算,得到新的TIN地形数据。
  • 将TIN地形与模型数据进行表面求差运算或合并运算,得到新的TIN地形数据。
  • TIN地形向上拉伸至指定高程处,形成一个闭合体。该方法可以用于3D打印的实体模型构建。
  • 目前三维场景只允许加载一个TIN缓存数据(*.sct),若想加载多份TIN缓存数据,则需将多份数据合并为一个TIN缓存。合并TIN缓存功能能够将两个不同分辨率(块大小)的TIN缓存数据合并,最终生成一个TIN缓存文件。

你可能感兴趣的:(三维GIS,桌面GIS,SuperMap,iDesktop,TIN地形)