SuperMap iDesktop 地形DEM匹配倾斜数据

2023-10-22 19:20

本文主要是介绍SuperMap iDesktop 地形DEM匹配倾斜数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:姜尔

地形匹配倾斜数据是为了解决场景中倾斜数据和地形不能完全匹配的问题。例如,当地形数据较旧而倾斜数据较新等。由于地形数据通常是根据等高线制作的,地表数据与倾斜数据存在一定差异,而又由于地形起伏,不可避免的会出现一个问题:倾斜数据往往都是平整的,其底部高程统一,而真实地形是起伏不平的,因此倾斜数据与地形不能严格贴合,会出现部分倾斜被地形掩盖或者高于地形产生明显缝隙。如下图所示:

本文提供一种实现地形贴合倾斜的方法,通过将倾斜数据生成为DSM数据,然后进行栅格镶嵌实现模型底部与地形的贴合。

处理思路

  • 将倾斜数据添加至场景中。可以通过右键【场景】-【新建球面场景】-右键【普通图层】-【添加三位切片缓存图层】的方式选择倾斜数据的.scp格式文件并添加至场景中。如下图所示:

 

  • 通过【风格设置】-【拉伸设置】-【底部高程】,向下调整倾斜高度,一般10-50m左右。这是由于倾斜数据与地形数据完全重叠会出现影响倾斜数据展示的效果,因此通常在倾斜生成DSM之前降低倾斜高度,然后使用降低高度的倾斜生成DSM之后,再将倾斜高度调回。*注意调整高度时需将【高度模式】设置为“绝对高度”。操作方法如下图所示:

  • 倾斜数据生成DSM数据。DSM(Digital Surface Model) 即数字地表模型数据,其与DEM数据的区别在于,DSM在DEM的基础上还包含了除地面以外的其他地表信息的高程,如地标建筑物、桥梁、树木等要素,因此多应用与对建筑物高速有需求的情况。idesktop中【生成DSM】功能可将场景中的.scp数据生成为DSM数据,即将.scp文件的倾斜数据生成DSM数据。其操作步骤为【三维分析】-【模型出图】-【生成DSM】,如下图所示:

在“生成DSM”对话框中,”选择范围“部分有两种方式设置输出范围,本示例中使用数据范围,即可将当前场景中并集图层范围设置为结果数据范围。*因此,建议在生成DSM数据时场景中只保留倾斜数据。

在“结果设置”部分,“分辨率“为DSM 的分辨率,默认为1,单位米/像素。如生成过程速度较慢可在于损失精度相比可接受的基础上,适当升高参数设置;“相机高度”参数,越低看到的数据越细致,其表示生成的DSM数据在相机高度处看到的地表情况,*相机高度要高于倾斜高度;“附加高度”参数支持输入正负值作为附加高度,此方法中建议默认;“镶嵌到DEM”如勾选则会修改原始DEM数据,不建议勾选。

当以上参数设置完成后, 单击“确定”即可执行生成DSM数据的操作。结果数据如下图所示:

  • 使用处理后的dsm与原始地形进行栅格镶嵌,【数据】-【数据处理】-【栅格】-【栅格镶嵌】,如下图所示部分;

在弹出的”栅格数据集镶嵌“对话框中,包含参数据集列表、参数设置以及结果数据部分,在“参数设置”部分,”重叠区域取值“选择倾斜的dsm,此示例中即“同第一个数据集”,*由于栅格数据集与影像数据集自身的差异性,二者的参数设置也略有不同,此示例中均采用栅格数据集因此不在此详细介绍,可参考idesktop帮助文档中“栅格镶嵌”部分。参数设置示例如下图所示:

  • 栅格镶嵌后的dem处理成tin缓存添加至场景中,将倾斜数据同时也添加进去。生成TIN缓存的操作流程为:"右键数据集"-【生成缓存】,如下图所示:

 

  • 添加TIN缓存至场景中,检查倾斜与地形的边缘,如果边缘存在缝隙,可以通过绘制面对tin缓存进行镶嵌。其操作流程为:【三维地理设计】-【TIN地形操作】-【镶嵌】,如下图所示:

  

这篇关于SuperMap iDesktop 地形DEM匹配倾斜数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/263121

相关文章

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略