SuperMap GIS地质体数据处理QA

news2025/1/12 3:42:02

作者:hyy

一、地质体数据简介

什么是三维地质建模?百度上给出的解析是:将地质、测井、地球物理资料和各种解释结果或者概念模型综合在一起生成的三维定量随机模型。
已建成的地质模型可以为我们提供很多信息。首先是地质的三维可视化。通过三维可视化,我们可以了解所研究的地质对象(如地层、断裂、滑坡)的空间形态和相互关系。其次是它为我们提供了一套有机融合在一起的数据体,因为建模过程就是各种数据的融合过程。
本文主要介绍地质模型导入到 SuperMap 之后,可以用来做哪些功能,实现什么样的效果,在项目上 有什么样的应用?

二、地质体数据格式

对于目前发布到前端用于实际运用的地质体数据,通常是两种数据来源。分别是桌面的制作或者是从其他软件生成然后导入到桌面当中。

①iDesktop从零开始构建地质体

地质体数据的构建,通常的流程是:先有一份地质点的表格数据。把该表格数据,导入到桌面当中生成三维点,然后通过【构建地质体】功能去生成一份地质体数据,具体的流程可以参考官方博客:iDesktop从零开始构建地质体

②从其他软件制作地质体并导入到桌面

该方法简单来说,就是从其他软件,诸如3DMAX、Revit等专业建模软件中,制作地质体的成品模型数据,然后通过插件,导入到桌面当中。具体的插件使用,可以参考官方博客:SuperMap GIS三维插件使用Q&A
需要注意的是,其他软件导出时,要尽量使每一层的地质体都是一个单独的对象,或者是单独的组。最终在桌面需要实现的结果是,每一层都是一个单独的模型数据集。

三、地质体数据处理

在 SuperMap iDesktop 中,我们可以批量修改模型颜色,编辑修改模型纹理。 在 SuperMap iClient3D for WebGL 中,我们还实现了多种地质体实时分析功能,包括:
1、实时剖面分析(实时封边,获取被剖切对象 ID)
2、实时裁剪(多边形裁剪)
3、实时开挖(圆柱体、多边形开挖)
4、实时表达(爆炸、夸张)
5、实时构建虚拟钻孔(实时构建,实时查看)

1、在 SuperMap iDesktop 中,根据项目要求,编辑修改地质模型的材质。

如果导入的地质体模型没有材质,或者想要修改模型的材质,都可以在 SuperMap iDesktop 中完成。 目前我们提供了三种编辑材质的方法

①通过“材质浏览器”功能,实时选中对象修改材质

a.点击“三维地理设计-模型操作-材质编辑-材质”按钮,弹出材质浏览器面板。

b.点击“添加”按钮,并新建一个材质“地层 x”,并设置材质颜色及纹理。 材质颜色的 RGB 值可参考下图所示的色表。
材质色表

图:材质色表

c.置好颜色及纹理之后,通过在场景中选择对象,再点击“将材质赋给选中对象”按 钮,直接将设置的材质赋给相应的对象。
d.依次选择场景中的其它对象,并赋予其材质。

②批量修改模型材质颜色

“批量修改模型材质颜色”功能,支持根据模型对象的属性信息,过滤出相同材质的对 象,然后批量赋予材质。
如果导入的数据集本身就已经有记录材质的属性,则可以跳过ab两个步骤,进入c步。如果没有相关的材质属性,需要先添加一个材质属性。
a.给数据集添加一个材质属性
选中数据集,右键单击“属性”按钮,弹出属性面板;在属性面板中,点击“添加”按钮,添加一个新的属性进来。这里添加一个文本型的属性,命名为“Color”。

b.在属性表中,设置Color的属性值
选中数据集,右键单击“浏览属性表”,可以看到在属性表的最后,显示出了上一步添加的“Color”属性。根据项目要求,给其赋值。

c.通过批量修改模型材质颜色功能,批量修改模型的材质颜色
点击“三维数据-模型处理-修改材质颜色”功能,在弹出的“批量修改模型材质”面板中,选择“条件设置”,通过设置SQL表达式,批量设置模型的颜色。

SQL表达式面板中,选择Color对象,点击获取唯一值,即可得到所有的Color属性,再通过Color=‘颜色’表达式,过滤出相同材质的对象。
依次设置不同颜色的过滤条件与过滤色,最后点击确定,生成一个新的带有材质颜色的数据集。

③给模型增加或修改纹理

批量修改模型材质颜色功能,只能修改模型的颜色,不能编辑模型的纹理。如果要增加或修改模型的纹理,需要使用“材质编辑器”功能。

a.将需要处理的数据集添加到场景中,选中对象,右键单击,在弹出的对话框中,选择“材质编辑”功能。

b.页面跳转至材质编辑界面,如果模型没有纹理坐标,是不能贴纹理的,因此,首先对模型的纹理坐标重新进行计算。重复模式选择实际大小,并根据地质体的范围设置合适的“横向大小”与“纵向大小”,然后点击下方的“应用到模型”。

c.模型设置好纹理坐标之后,就可以设置纹理了。点击顶部的材质按钮,弹出材质编辑对话框。点击纹理编辑下面的添加按钮,即可添加相应的纹理图片。如果不合适,可进行替换,删除操作。

d.在材质浏览器中,给出了当前数据集中的所有材质。如果需要对新的模型设置已有的材质,只需要在材质浏览器中,选择对应的材质即可。

e.点击保存到模型,得到带有纹理效果的地质模型。

④总结:

“材质浏览器”功能,可以实时选中对象修改材质,及将做好的材质直接赋给选中的模型,比较接近常规建模软件中的做法,方便材质的管理及设置。

“批量修改模型材质颜色”功能,能够根据对象的属性,批量修改模型的颜色,适合对象数比较多的数据,但不支持设置带有纹理贴图的材质。

“材质编辑”功能,可以单独将选中的对象进行隔离观察,并修改其颜色及纹理。如果对象在整体场景中不容易观察,可通过该功能进行编辑。

以上三种编辑材质的方法,各有所长,实际使用过程中,根据数据的特征进行选择。

2、通过 SuperMap iServer 将编辑好的 UDB/UDBX 格式的数据,发布成三维服务以及数据服务。

①将处理好的数据集通过 SuperMap iServer 发布为数据服务 :

启动 SuperMap iServer,进入快速创建服务页面,点击“快速发布一个或一组服务”, 依次选择“工作空间”-“REST-数据服务/三维服务”。如图1.
在这里插入图片描述

图1

发布成功之后,页面会弹出“快速发布服务-配置完成”窗口。如图2.
在这里插入图片描述

图2

②获取地质体对象的服务地址

点击进入配置完成窗口中的服务地址,依次点击进入“data-datasource-数据源名-datasets-数据集名-features”。
该页面列出了当前数据集下面GEOMODEL的要素数量,这里的示范数据集下面有4个几何对象,所以要素数量为4。
即该数据集下面第一个地质模型对象的服务地址为:http://localhost:8090/iserver/services/data-dzt-hyy/rest/data/datasources/数据源名称/datasets/数据集名称/features/1.stream
数据集中后续模型对象的服务地址依次为:http://localhost:8090/iserver/services/data-dzt-hyy/rest/data/data sources/数据源名称/datasets/数据集名称/features/2.stream
如图3.图4
在这里插入图片描述

图3 ![在这里插入图片描述](https://img-blog.csdnimg.cn/0fcb9dc6fd3f4d889ca1b10847065209.png)
图4

③在 SuperMap iClient3D for WebGL 中,加载数据服务,并实现地质体的实时分析功能。

通过引用上述步骤中发布的数据发布,根据提供的相关接口即可实现相关的实时分析功能。

(1)实时剖面分析

在SuperMap iClient3D for WebGL中,通过剖切来观察地质体的内部构造形态及沿剖切面上的变化。
在这里插入图片描述

图5
(2)实时裁剪

在SuperMap iClient3D for WebGL中,可以通过裁剪功能将地质体裁剪为任意形状。
在这里插入图片描述

图6
(3)实时开挖

在SuperMap iClient3D for WebGL中,可以通过开挖功能对地质体进行任意形状的开挖。
在这里插入图片描述

图7
(4)实时表达-夸张表达(拉伸)

实际中的场景可能会有这样的情况:在真实比例下,不容易寻找及浏览那些地质意义重大,但本身厚度较薄的对象;有些厚度较大,但范围较窄的地质体也不方便进行整体的浏览观察。这时,可通过改变模型在垂直方向的缩放来方便观察。
在这里插入图片描述

图8
(5)实时构建虚拟钻孔

在SuperMap iClient3D for WebGL中,提供的实时构建虚拟钻孔功能,可模拟对地质体打钻孔的效果。
在这里插入图片描述

图9
(6)实时表达-地质爆炸

目前有两种方式可用来做地质爆炸的效果:
1.通过数据服务的方式:是指通过模型数据流的地址,获取到每一个地质层,然后改变每一层在z轴的偏移值,实现爆炸的效果。
2.通过动态图层加载本地数据的方式:是指通过控制每个动态图层的偏移量,实现爆炸的效果。 通过动态图层加载本地数据的方式:动态图层目前仅支持加载.s3m与.s3mb格式的文件,不支持.json格式的文件,所以需要对模型数据集进行进一步的处理。

在SuperMap iClient3D for WebGL中通过设置模型插入点的方式来确定地质体对象的位置,因此需要在页面中填入模型插入点的位置坐标。如果数据为投影坐标系,需要将投影坐标系转为地理坐标系后再获取模型的插入点坐标。
a.将模型添加到球面场景中,选中对象,右键编辑模型,在弹出的窗口中,给出了模型的空间位置信息。
b.选择三维地理设计-模型编辑-坐标归零功能,在弹出的对话框中,将需要处理的数据集全部添加进去,选择“模型绝对坐标Z归零”,生成一个新的模型数据集。
c.将上一步骤中得到的数据集添加到场景中,通过选中模型,右键单击,导出模型命令,将每层地质体导出为一个s3m对象。
d.在SuperMap iClient3D for WebGL中通过动态图层的方式实现地质体爆炸的效果如下:
在这里插入图片描述

图10

四、可能遇到的问题

问题一:WebGL如何实现地质体双面裁剪?

解决方法:如果裁剪面是垂直于地面的话,可以考虑使用多边形裁剪的方式。将多边形裁剪的四个点均设置在地质体范围外即可。

问题二:钻孔数据生成地质体模型后,地质范围延伸至场景原点,并且出现部分异常突起。应该如何处理?

问题原因:这个一般是由于数据异常导致的。范围延伸至场景原点,一般是数据挂接时 部分埋深点位没有找到对应的钻孔点;异常突起,一般是部分埋深高度异常。
解决方法:将这些异常数据删除。

问题三:制作地质体剖切时,模型加载出现问题,图层无法完整加载。几个图层都加载到了但是不完全,缺很多,是什么情况?

解决方法:如果数据中一个数据集下有多个feature,每个feature都需要单独加载,缺很多可能就是由于有的feature没有加载完全,建议可以用iDeskop中模型合并功能,把多个feature合并为一个,这样在前端每个layer加载一次就可以了

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

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

相关文章

量子计算机:一场改变世界的开发竞赛

这样的设备可能会帮助解决气候变化和粮食短缺问题,也可能破坏互联网。在这场竞赛中,美国和中国谁会先到达目标? 神秘的机器 在加利福尼亚州圣巴巴拉的郊区,在果园和大海之间,坐落着一个不起眼的仓库,它的窗…

【区块链 | EVM】深入理解学习EVM - 深入Solidity数据存储位置

目录 目录 简介 EVM是一个工业工厂 为什么要在 Solidity 中理解 Evm 数据位置? 数据位置 → 概述 存储 内存 Calldata 堆栈(Stack) 代码 数据位置 - 规则 变量的默认位置 参考类型 在函数参数上的规则 在函数体内的规则 内存…

使用 QuTrunk+Amazon ParallelCluster3 进行并行计算

1.丘秉宜;2.邵伟;3.黄文;4.郭梦杰;5.刘利;6.刘波 1.亚马逊云科技 Hero;2.启科开发者生态负责人;3.启科 DEVOPS 工程师;4.启科量子资深研发工程师;5和;6.C高级…

Linux运维之knockd部署

如果你有一台公众可访问的服务器,黑客可以轻松扫描其IP地址,查找服务器上的开放端口(尤其是用于SSH的端口22)。将服务器隐藏起来、不让黑客看见的一种方法是使用knockd。knockd是一种端口试探服务器工具。它侦听以太网或其他可用接口上的所有流量&#x…

以代码绘制圣诞,过快乐圣诞节!

2022年圣诞节 12月25日 星期日 圣诞节的由来 基督教纪念耶稣诞生的重要节日。亦称耶稣圣诞节、主降生节,天主教亦称耶稣圣诞瞻礼。耶稣诞生的日期,《圣经》并无记载。公元336年罗马教会开始在12月25日过此节。12月25日原是罗马帝国规定的太阳神诞辰。有人…

百度百科怎么创建的?百度百科创建技巧分享

百度百科的创建并没有那么简单,虽然百度百科人人都可以编辑,我们在网上一搜就会出来很多相关的百科创建步骤,但是当你真的按照这些步骤去做的时候,就会出现很多问题,导致根本通不过。 百度百科怎么创建的?实…

ArcGIS基础实验操作100例--实验2平移矢量要素

实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 基础编辑篇--实验2 平移矢量要素 目录 一、实验背景 二、实验数据 三、实验步骤 (1)加载【Move】工具 (2)平移矢量要素 一、…

rocketmq搭建启动集成springboot落地并监控

目录 一、rocketmq服务器搭建启动: 二、springboot 集成rocketmq落地: 三、可视化页面集成: rocketmq是最近很流行的消息中间件,有很多的优点,比如多个topic也不会引起性能问题;今天我们开始搭建启动集成…

这5个素材库,新手也能让你做出精美的 PPT。

高质量免费PPT模板,各种PPT素材都有,文案模板直接套用,还有教程学习,对新手特别友好。1、菜鸟图库 https://www.sucai999.com/pptx.html?vNTYwNDUx网站有各种主题的PPT模板,工作总结、教育课件、述职汇报、节日庆典、…

美颜sdk中的人脸美型实现流程详解

在之前的文章中,小编讲了许多美颜sdk的功能实现流程,有一些是热门功能,例如美白、磨皮等,但是有一个功能小编遗漏没有讲到,虽然不常提起,但是它的热度并不低,这个功能就是——“人脸美型”。本篇…

一文解析Linux中断子系统softirq和tasklet

说明: Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio 1. 概述 中断子系统中有一个重要的设计机制,那就是Top-half和Bottom-half,将紧急的工作放…

电子招标采购系统—企业战略布局下的采购寻源

​ 智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明&#xff0c…

嵌入式Linux内核开发必须了解的三十道题

Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处理器到对称多处理器的过渡。 伴随着从非抢占内核到抢占内核的过度。Linux的锁机制越来越有效,也…

C# 基于文本的应用 正则表达式

一 基于文本的应用 1 控制台应用程序 2 Main()函数的参数-命令行参数 ① Main()函数可以带string[]参数; ② Main()函数可以有返回值(int),也可以为void; 二 使用Environment类 CommandLine CommandLineArgs MachineName OSVersion UserDomainName UserName …

Python使用re库处理正则详解

今天继续给大家介绍Python相关知识,本文主要内容是Python使用re库处理正则详解。 一、Python re库简介 re库是Python的标准库(所谓标准库,就是在安装Python后就自动安装了的库)之一,主要用于对指定字符串进行正则匹配…

功率放大器的输入阻抗和输出阻抗的关系

输入阻抗(inputimpedance)主要是电路输入端的等效阻抗。如果我们在输入端加一个电压源U并在输入端测量电流I,则输入阻抗Rin为U/I。输入端可以被认为是一个电阻的两端,这个电阻的阻值就是输入阻抗。 对于相同的输入电压&#xff0c…

【C++】使用vector和模拟其实现

文章目录1、vector的使用1.1 vector的构造、拷贝构造与迭代器1.2 vector的空间查询和随机访问1.2 vector的增删查改2、vector的模拟实现2.1 vector的迭代器2.2 vector的结构构建2.4 vector的构造和拷贝构造2.4 vector的增删1、vector的使用 C中的vector和C数据结构中的动态顺序…

CANopen1.0-基础知识

caopen基础知识 1、canopen基础知识-can标准帧格式2、CANopen 预定义主/从连接集的广播对象3、CANopen 主/从连接集的对等对象4、通讯接口4.1、NMT 网络管理1、canopen基础知识-can标准帧格式 报文传输采用 CAN 标准帧格式,即为 11bit 的 ID 域:CAN-ID(11bit)=function co…

STM32MP157驱动开发——Linux RS232/485/GPS 驱动

STM32MP157驱动开发——Linux RS232/485/GPS 驱动一、简介二、STM32MP1 UART 驱动分析1.UART 的 platform 驱动框架2.uart_driver相关流程三、驱动开发1.RS232驱动编写1)添加 usart3 和 uart5 的引脚信息2)移植minicom四、驱动测试1.RS232收发测试2.RS48…

GitHub下载量5W+,最新23版Java岗面试攻略,涵盖28个技术栈

年底失业,机会也不多,短时间内想找到合适工作是几乎不可能的。身体好点在家,主要建议大家就做两件事: 第一:整理工作经验,制定新年求职计划。等一些不错的公司放出新的hc,市场情况一回暖&#…