CN116433866A - 一种地震层位的可视化显示方法、装置、电子设备及介质 - Google Patents

一种地震层位的可视化显示方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN116433866A
CN116433866A CN202111647839.0A CN202111647839A CN116433866A CN 116433866 A CN116433866 A CN 116433866A CN 202111647839 A CN202111647839 A CN 202111647839A CN 116433866 A CN116433866 A CN 116433866A
Authority
CN
China
Prior art keywords
linked list
triangulation
dimension
seismic horizon
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111647839.0A
Other languages
English (en)
Inventor
黄鑫鹏
宋强功
李磊
李炎
袁世洪
鞠鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China National Petroleum Corp
BGP Inc
Original Assignee
China National Petroleum Corp
BGP Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China National Petroleum Corp, BGP Inc filed Critical China National Petroleum Corp
Priority to CN202111647839.0A priority Critical patent/CN116433866A/zh
Publication of CN116433866A publication Critical patent/CN116433866A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geophysics And Detection Of Objects (AREA)

Abstract

本发明实施例提供一种地震层位的可视化显示方法、装置、电子设备及介质,用以提升石油勘探中储层预测时的3D可视化显示效率。地震层位的可视化显示方法,包括:根据地震层位平面点集建立地震层位的初始三角剖分面;在x维度、y维度上分别建立初始的索引链表;逐点插入各地震层位数据点,针对每一个新插入的地震层位数据点,基于被分割的三角剖分面及其纵向连接关系在x维度、y维度上分别横向更新索引链表;在x维度、y维度上分别纵向更新索引链表,将同一维度内各链表元素中相同名称的三角剖分面之间建立纵向连接关系;直至所有地震层位数据点均插入到索引链表中;基于最终的双向索引链表,生成地震层位的三角网格并进行可视化显示。

Description

一种地震层位的可视化显示方法、装置、电子设备及介质
技术领域
本发明涉及石油勘探技术领域,尤指一种地震层位的可视化显示方法、装置、电子设备及介质。
背景技术
三角剖分算法在计算机可视化研究中一直处于非常重要的地位,它广泛地应用在地球物理勘探、地理系统、地质建模、图形图像分析等领域,能够提高可视化显示的效率,对石油勘探中开展储层预测具有十分重要的意义。
如何把一个散点集合剖分成不均匀的三角网格,这就是散点集的三角剖分问题,散点集的三角剖分,对数值分析以及图形学来说,都是极为重要的一项预处理技术。现有三角剖分算法的工作流程如图1a、1b所示。请参见图1a,假设△ABC为初始三角剖分面T0,初始的索引链表包含T0,在插入第一个数据点P1后,P1将初始三角剖分面T0分割成三个新的三角剖分面T1、T2、T3,插入P1后索引链表更新为T1→T2→T3;请参见图1b,在插入第二个数据点P2后,P2将三角剖分面T3分割成三个新的三角剖分面T4、T5、T6,插入P2后索引链表更新为T1→T2→T4→T5→T6;以此类推,逐点插入各数据点,从而将所有数据点都插入索引链表中。现有三角剖分算法,在大规模数据点的应用场景下,三角剖分的效率较低。
现阶段研究人员的关注点主要集中在现有三角剖分算法基础上进行的优化和改进。本发明人在发明过程中发现,现有技术中对于在数据预处理阶段通过建立索引网格对平面点集的数据范围进行划分并没有有效的办法,并不能索引出在网格单元内计算点、线、面之间的位置关系,导致3D可视化的显示速度慢。
发明内容
本发明实施例提供一种地震层位的可视化显示方法、装置、电子设备及介质,用以提升石油勘探中储层预测时的3D可视化显示效率。
为了解决上述技术问题,本说明书是这样实现的:
第一方面,提供了一种地震层位的可视化显示方法,包括:
根据地震层位平面点集建立地震层位的初始三角剖分面,所述地震层位平面点集中包括大量待三角剖分的地震层位数据点,所述初始三角剖分面是覆盖所有地震层位数据点的最大外围三角形;
在x维度、y维度上分别建立初始的索引链表,每个维度上初始的索引链表中包括一个初始的链表元素,所述初始的链表元素对应的数据范围为所述初始三角剖分面在该维度上的数据范围,所述初始的链表元素包含所述初始三角剖分面;
逐点插入各地震层位数据点,针对每一个新插入的地震层位数据点,确定该地震层位数据点所在的三角剖分面,使用该地震层位数据点将其所在的三角剖分面分割为三个新的三角剖分面,基于该地震层位数据点的坐标在x维度、y维度上分别增加一个链表元素,并基于被分割的三角剖分面及其纵向连接关系在x维度、y维度上分别横向更新索引链表;其中,每个维度上的链表元素对应该维度上特定的数据范围、并在该链表元素包含的各三角剖分面之间建立横向连接关系,同一维度内各链表元素对应的数据范围之间无交集、且所有链表元素对应的数据范围的合集为该维度上初始的链表元素对应的数据范围,有至少一个点位于某个链表元素对应的数据范围内的三角剖分面属于该链表元素;以及
在x维度、y维度上分别纵向更新索引链表,将同一维度内各链表元素中相同名称的三角剖分面之间建立纵向连接关系;
直至地震层位平面点集中所有地震层位数据点均插入到索引链表中得到最终的双向索引链表;
基于最终的双向索引链表,生成地震层位的三角网格并进行可视化显示。
可选的,所述根据地震层位平面点集建立地震层位的初始三角剖分面,具体包括:
确定地震层位平面点集中所有地震层位数据点的数据范围;
基于所有地震层位数据点的数据范围建立覆盖所有地震层位数据点的最大外围三角形,作为所述初始三角剖分面;所述初始三角剖分面的三个顶点坐标分别表示为
Figure BDA0003445680030000021
各顶点坐标具体通过如下公式确定:
Figure BDA0003445680030000022
Figure BDA0003445680030000023
Figure BDA0003445680030000024
Figure BDA0003445680030000031
Figure BDA0003445680030000032
Figure BDA0003445680030000033
其中,xmin、xmax分别表示x维度上所有地震层位数据点的数据范围的最小值、最大值,ymin、ymax分别表示y维度上所有地震层位数据点的数据范围的最小值、最大值,max(·)为取最大值操作,abs(·)为取绝对值操作。
可选的,所述基于该地震层位数据点的坐标在x维度、y维度上分别增加一个链表元素,具体包括:
在x维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的横坐标所在的目标链表元素,使用所述横坐标将横坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围;
在y维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的纵坐标所在的目标链表元素,使用所述纵坐标将纵坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围。
可选的,基于被分割的三角剖分面及其纵向连接关系在x维度、y维度上分别横向更新索引链表,具体包括:
在x维度上,将所述横坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;以及
基于被分割的三角剖分面的纵向连接关系确定x维度上包含所述被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新;
在y维度上,将所述纵坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;以及
基于被分割的三角剖分面的纵向连接关系确定y维度上包含所述被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新。
可选的,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新,包括:
针对每个新的链表元素,将被分割的三角剖分面从其初始包含的各三角剖分面中删除,根据该新的链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该新的链表元素,并将属于该新的链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该新的链表元素最新包含的各三角剖分面之间的横向连接关系;
基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新,包括:
针对其他链表元素,将被分割的三角剖分面从其当前包含的各三角剖分面中删除,根据该其他链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该其他链表元素,并将属于该其他链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该其他链表元素最新包含的各三角剖分面之间的横向连接关系。
可选的,所述方法还包括:
对于新插入的地震层位数据点,如果该地震层位数据点位于任一三角剖分面的任一条边上,则不执行任何处理,继续插入下一个地震层位数据点。
可选的,所述方法还包括:
对地震资料解释的地震层位数据进行处理,忽略地震层位数据中的时间维度,得到所述地震层位平面点集。
第二方面,提供了一种地震层位的可视化显示装置,包括:
剖分面初始化单元,用于根据地震层位平面点集建立地震层位的初始三角剖分面,所述地震层位平面点集中包括大量待三角剖分的地震层位数据点,所述初始三角剖分面是覆盖所有地震层位数据点的最大外围三角形;
链表初始化单元,用于在x维度、y维度上分别建立初始的索引链表,每个维度上初始的索引链表中包括一个初始的链表元素,所述初始的链表元素对应的数据范围为所述初始三角剖分面在该维度上的数据范围,所述初始的链表元素包含所述初始三角剖分面;
链表更新控制单元,用于逐点插入各地震层位数据点,针对每一个新插入的地震层位数据点,触发横向更新单元、纵向更新单元依次执行相应处理,直至地震层位平面点集中所有地震层位数据点均插入索引链表中得到最终的双向索引链表;
横向更新单元,用于确定新插入的地震层位数据点所在的三角剖分面,使用该地震层位数据点将其所在的三角剖分面分割为三个新的三角剖分面,基于该地震层位数据点的坐标在x维度、y维度上分别增加一个链表元素,并基于被分割的三角剖分面及其纵向连接关系在x维度、y维度上分别横向更新索引链表;其中,每个维度上的链表元素对应该维度上特定的数据范围、并在该链表元素包含的各三角剖分面之间建立横向连接关系,同一维度内各链表元素对应的数据范围之间无交集、且所有链表元素对应的数据范围的合集为该维度上初始的链表元素对应的数据范围,有至少一个点位于某个链表元素对应的数据范围内的三角剖分面属于该链表元素;
纵向更新单元,用于在x维度、y维度上分别纵向更新索引链表,将同一维度内各链表元素中相同名称的三角剖分面之间建立纵向连接关系;
显示单元,用于基于最终的双向索引链表,生成地震层位的三角网格并进行可视化显示。
可选的,所述剖分面初始化单元,包括:
确定子单元,用于确定地震层位平面点集中所有地震层位数据点的数据范围;
建立子单元,用于基于所有地震层位数据点的数据范围建立覆盖所有地震层位数据点的最大外围三角形,作为所述初始三角剖分面;所述初始三角剖分面的三个顶点坐标分别表示为
Figure BDA0003445680030000051
各顶点坐标具体通过如下公式确定:
Figure BDA0003445680030000052
Figure BDA0003445680030000053
Figure BDA0003445680030000054
Figure BDA0003445680030000055
Figure BDA0003445680030000056
Figure BDA0003445680030000057
其中,xmin、xmax分别表示x维度上所有地震层位数据点的数据范围的最小值、最大值,ymin、ymax分别表示y维度上所有地震层位数据点的数据范围的最小值、最大值,max(·)为取最大值操作,abs(·)为取绝对值操作。
可选的,所述横向更新单元,包括:
元素更新子单元,用于在x维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的横坐标所在的目标链表元素,使用所述横坐标将横坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围;以及
在y维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的纵坐标所在的目标链表元素,使用所述纵坐标将纵坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围。
可选的,所述横向更新单元,还包括:
第一链表更新子单元,用于在x维度上,将所述横坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;以及
在y维度上,将所述纵坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;
第二链表更新子单元,用于基于被分割的三角剖分面的纵向连接关系确定x维度上包含所述被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新;以及
基于被分割的三角剖分面的纵向连接关系确定y维度上包含所述被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新。
可选的,所述第一链表更新子单元,具体用于针对每个新的链表元素,将被分割的三角剖分面从其初始包含的各三角剖分面中删除,根据该新的链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该新的链表元素,并将属于该新的链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该新的链表元素最新包含的各三角剖分面之间的横向连接关系;
第二链表更新子单元,具体用于针对其他链表元素,将被分割的三角剖分面从其当前包含的各三角剖分面中删除,根据该其他链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该其他链表元素,并将属于该其他链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该其他链表元素最新包含的各三角剖分面之间的横向连接关系。
可选的,所述链表更新控制单元,还用于对于新插入的地震层位数据点,如果该地震层位数据点位于任一三角剖分面的任一条边上,则不触发所述横向更新单元、纵向更新单元的执行,继续插入下一个地震层位数据点。
可选的,还包括:
数据处理单元,用于对地震资料解释的地震层位数据进行处理,忽略地震层位数据中的时间维度,得到所述地震层位平面点集。
第三方面,提供了一种电子设备,包括存储器和与所述存储器电连接的处理器,所述存储器存储有可在所述处理器运行的计算机程序,该计算机程序被该处理器执行时实现如第一方面所述的方法的步骤。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
上述技术方案具有如下有益效果:
本发明实施例提供的地震层位的可视化显示方法、装置、电子设备及介质,基于双向索引链表结构的三角剖分算法实现,在现有三角剖分算法的基础上,引入了双向链表索引的数据结构,在每个链表元素包含的各三角剖分面之间建立横向连接关系,将同一维度内各链表元素中相同名称的三角剖分面之间建立纵向连接关系,通过为每一个三角剖分面建立索引信息,减少了构建三角网格时点、线、面之间位置关系的计算时间,不需要逐个进行所有地震层位数据点与三角剖分面位置的检测计算,可以提高三角剖分的效率,从而提高了地震资料解释过程中,大规模地震层位的3D可视化显示的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a、图1b是现有三角剖分算法的工作流程示意图;
图2是本发明实施例中地震层位的可视化显示方法的流程图;
图3a~图3e是本发明实施例中基于双向索引链表结构的三角剖分算法的工作流程示意图;
图4是本发明实施例中地震层位的可视化显示装置的结构示意图;
图5a是本发明实施例中地震层位空间点集的显示示意图;
图5b是利用本发明实施例生成地震层位的三角网格的显示结果示意图;
图6是本发明实施例中电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了应对石油勘探中储层预测时3D可视化显示效率的需求,本发明实施例提供了一种地震层位的可视化显示方法及装置,基于双向索引链表结构的三角剖分算法实现,在现有三角剖分算法的基础上,引入了双向链表索引的数据结构,通过为每一个三角剖分面建立索引信息,减少了构建三角网格时点、线、面之间位置关系的计算时间,从而提高了地震资料解释过程中,大规模地震层位的3D可视化显示的效率。
为了解决地震资料解释过程中,大规模地震层位的3D可视化显示过程中效率低的问题,本发明实施例首先提供了一种新的基于双向索引链表结构的三角剖分算法,能够提高大规模地震层位的3D可视化显示的效率和精度。基于双向索引链表结构的三角剖分算法的实现原理介绍如下:
1)确定三角剖分的范围,对采集数据l(x,y,t)进行处理,忽略时间维度t,得到二维平面点集l*(x,y),计算需要进行三角剖分的二维平面点集中x、y两个维度上的最大值和最小值,并建立初始三角剖分面T0;
2)逐点插入各三角剖分点,并以x维度、y维度分别动态逐步建立索引链表Lx和Ly
3)针对每一个新插入的三角剖分点,将其所在的三角剖分面分割为三个新的三角剖分面;
4)横向更新索引链表Lx和Ly,将被分割的三角剖分面从索引链表Lx和Ly中删除,将分割后得到的三个新的三角剖分面加入索引链表Lx和Ly中;
5)纵向更新索引链表Lx和Ly,在Lx和Ly中分别查找相同名称的三角剖分面建立纵向连接关系;
6)重复第2)和第5)步操作,直至所有三角剖分点均插入索引链表Lx和Ly中,三角剖分算法结束。
通过逐点插入各三角剖分点在x维度、y维度上分别动态逐步建立的双向索引链表Lx、Ly,具备如下特征:
1、每个维度上的索引链表中包括至少一个链表元素,每插入一个三角剖分点相应增加一个链表元素;
2、每个维度上的每个链表元素对应该维度上一个特定的数据范围,同一维度内各链表元素对应的数据范围之间无交集、且所有链表元素对应的数据范围的合集为该维度上初始的链表元素对应的数据范围(即初始三角剖分面在该维度上的数据范围);
3、有至少一个点位于某个链表元素对应的数据范围内的三角剖分面属于该链表元素,并在该链表元素包含的各三角剖分面之间建立横向连接关系;
4、将同一维度内各链表元素中相同名称的三角剖分面之间建立纵向连接关系。
基于双向索引链表结构的三角剖分算法与现有技术中的三角剖分算法相比,能够大幅提高三角剖分的效率,降低了操作的重复性。
图2是本发明实施例的地震层位的可视化显示方法的流程示意图。如图2所示,本发明实施例提供的地震层位的可视化显示方法,基于双向索引链表结构的三角剖分算法实现,包括以下步骤:
S201、根据地震层位平面点集建立地震层位的初始三角剖分面,地震层位平面点集中包括大量待三角剖分的地震层位数据点,初始三角剖分面是覆盖所有地震层位数据点的最大外围三角形。
在S201的具体实施中,地震层位平面点集一般是通过对地震资料解释的地震层位数据进行处理,忽略地震层位数据中的时间维度t而得到的。对于地震层位平面点集
Figure BDA0003445680030000091
其中,pi为地震层位数据点,i为数据点索引,N为地震层位平面点集G(即地震层位数据点集合)中地震层位数据点的个数,可以理解,地震层位数据点pi由于忽略了时间维度t,因此为平面空间数据点。确定地震层位平面点集G中所有地震层位数据点的数据范围,即[xmin,xmax]和[ymin,ymax],xmin和xmax、ymin和ymax分别为x维度(或称x轴方向)上所有地震层位数据点的数据范围的最小值和最大值、以及y维度(或称y轴方向)上所有地震层位数据点的数据范围的最小值和最大值。
建立地震层位可视化显示中所需要的初始三角剖分面T0,其中T0为覆盖所有地震层位数据点的最大外围三角形,该最大外围三角形的三个顶点坐标分别为:
Figure BDA0003445680030000101
Figure BDA0003445680030000102
其中各顶点坐标通过如下公式(1)~公式(6)计算得到:
Figure BDA0003445680030000103
Figure BDA0003445680030000104
Figure BDA0003445680030000105
Figure BDA0003445680030000106
Figure BDA0003445680030000107
Figure BDA0003445680030000108
其中,max(·)为取最大值操作,abs(·)为取绝对值操作。
S202、在x维度、y维度上分别建立初始的地震层位索引链表(本发明实施例中简称为索引链表),每个维度上初始的索引链表中包括一个初始的链表元素,所述初始的链表元素对应的数据范围为初始三角剖分面在该维度上的数据范围,初始的链表元素包含初始三角剖分面。
在S202的具体实施中,在x维度、y维度上分别建立初始的索引链表Lx、Ly,初始的索引链表Lx、Ly分别为通过如下公式(7)、(8)计算得到:
Figure BDA0003445680030000109
Figure BDA00034456800300001010
其中,
Figure BDA00034456800300001011
表示索引链表中的链表元素,链表元素的上下标表示索引链表中链表元素对应的一个特定的数据范围,如果某个三角剖分面Tj的至少一个点位于该数据范围内,则该三角剖分面Tj将被加入到链表元素/>
Figure BDA00034456800300001012
中,在该链表元素包含的各三角剖分面之间建立横向连接关系,例如采用T1→T2→T3方式。通过公式(7)可知,x维度上初始的索引链表中包括一个初始的链表元素/>
Figure BDA00034456800300001013
该初始的链表元素/>
Figure BDA00034456800300001014
对应的数据范围为初始三角剖分面T0在x维度上的数据范围,初始的链表元素/>
Figure BDA00034456800300001015
包含初始三角剖分面T0;/>
Figure BDA00034456800300001016
的含义与/>
Figure BDA00034456800300001017
相同,类似的通过公式(8)可知,y维度上初始的索引链表中包括一个初始的链表元素/>
Figure BDA0003445680030000111
该初始的链表元素/>
Figure BDA0003445680030000112
对应的数据范围为初始三角剖分面T0在y维度上的数据范围,初始的链表元素/>
Figure BDA0003445680030000113
包含初始三角剖分面T0。
S203、逐点插入各地震层位数据点,针对每一个新插入的地震层位数据点,确定该地震层位数据点所在的三角剖分面,使用该地震层位数据点将其所在的三角剖分面分割为三个新的三角剖分面,基于该地震层位数据点的坐标在x维度、y维度上分别增加一个链表元素,并基于被分割的三角剖分面及其纵向连接关系在x维度、y维度上分别横向更新索引链表。
在S203的具体实施中,对于新插入的地震层位数据点,如果该地震层位数据点位于任一三角剖分面的任一条边上,则不执行任何处理,继续插入下一个地震层位数据点。
在S203的具体实施中,对于新插入的地震层位数据点pt=(xt,yt),x_min≤xt≤x_max,y_min≤yt≤y_max,对于某一个链表元素
Figure BDA0003445680030000114
Ni为索引链表中三角剖分面的个数,如果xt_m≤xt≤xt_n,那么根据公知公决的重心法,确定地震层位数据点pt=(xt,yt)所在的三角剖分面/>
Figure BDA0003445680030000115
将该三角剖分面分割成三个新的三角剖分面
Figure BDA0003445680030000116
和/>
Figure BDA0003445680030000117
在S203的具体实施中,基于该地震层位数据点的坐标在x维度、y维度上分别增加一个链表元素,具体包括如下步骤:
在x维度上,基于各链表元素对应的数据范围,确定该地震层位数据点Pt的横坐标xt所在的目标链表元素,假设目标链表元素为
Figure BDA0003445680030000118
对应的数据范围为xt_m≤xt≤xt_n,使用横坐标xt将/>
Figure BDA0003445680030000119
分割为两个新的链表元素/>
Figure BDA00034456800300001110
并确定两个新的链表元素各自对应的数据范围[xt_m,xt)、[xt,xt_n];
同理,在y维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的纵坐标所在的目标链表元素,使用所述纵坐标将纵坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围;
需要说明的是,同一维度内各链表元素对应的数据范围之间无交集、且所有链表元素对应的数据范围的合集为该维度上初始的链表元素对应的数据范围。
在S203的具体实施中,基于被分割的三角剖分面及其纵向连接关系在x维度、y维度上分别横向更新索引链表,具体包括:
a、在x维度上,将所述横坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;
b、基于被分割的三角剖分面的纵向连接关系确定x维度上包含被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新;
c、在y维度上,将所述纵坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;
d、基于被分割的三角剖分面的纵向连接关系确定y维度上包含被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新。
具体的,针对每个新的链表元素,将被分割的三角剖分面从其初始包含的各三角剖分面中删除,根据该新的链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该新的链表元素,并将属于该新的链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该新的链表元素最新包含的各三角剖分面之间的横向连接关系;
针对其他链表元素,将被分割的三角剖分面从其当前包含的各三角剖分面中删除,根据该其他链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该其他链表元素,并将属于该其他链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该其他链表元素最新包含的各三角剖分面之间的横向连接关系。
在x维度、y维度上分别横向更新索引链表Lx和Ly时,对于索引链表Lx,如果分割后得到的三个新的三角剖分面
Figure BDA0003445680030000121
和/>
Figure BDA0003445680030000122
的各顶点pt、/>
Figure BDA0003445680030000123
Figure BDA0003445680030000124
的横坐标xt(此处为了表述方便,四个顶点的横坐标均用xt表示)值满足某个链表元素/>
Figure BDA0003445680030000125
对应的数据范围/>
Figure BDA0003445680030000126
那么将该新的三角剖分面加入相应的链表元素中。同理,更新索引链表Ly
基于纵向连接关系在索引链表Lx和Ly中删除三角剖分面
Figure BDA0003445680030000127
时,其中i为下标索引,首先在索引链表Lx的某个链表元素/>
Figure BDA0003445680030000128
中,查找三角剖分面/>
Figure BDA0003445680030000129
然后按照索引队列/>
Figure BDA0003445680030000131
的对应关系,在其他链表元素/>
Figure BDA0003445680030000132
t≠h中,删除三角剖分面
Figure BDA0003445680030000133
S204、在x维度、y维度上分别纵向更新索引链表,将同一维度内各链表元素中相同名称的三角剖分面之间建立纵向连接关系。
纵向更新索引链表Lx和Ly,对于索引链表
Figure BDA0003445680030000134
在链表元素
Figure BDA0003445680030000135
和/>
Figure BDA0003445680030000136
查找相同名称的三角剖分面,如果/>
Figure BDA0003445680030000137
与/>
Figure BDA0003445680030000138
表示相同的三角剖分面,那么在/>
Figure BDA0003445680030000139
与/>
Figure BDA00034456800300001310
之间通过索引队列/>
Figure BDA00034456800300001311
方式建立纵向连接关系,即表示了链表元素/>
Figure BDA00034456800300001312
中的三角剖分面/>
Figure BDA00034456800300001313
与链表元素/>
Figure BDA00034456800300001314
中的三角剖分面/>
Figure BDA00034456800300001315
之间的连接。
S205、重复上述S203至S204,直到地震层位平面点集
Figure BDA00034456800300001316
中所有地震层位数据点均插入到索引链表Lx和Ly中,该基于双向索引链表结构的三角剖分算法结束,得到最终的双向索引链表。
S206、基于最终的双向索引链表,生成地震层位的三角网格并进行可视化显示。
下面将结合说明书附图3a~3e,举例说明地震层位的可视化显示所采用的基于双向索引链表结构的三角剖分算法的工作流程。
如图3a所示,假设△ABC为根据地震层位平面点集建立的初始三角剖分面T0,在y维度上初始的索引链表Ly包括一个初始的链表元素
Figure BDA00034456800300001317
该初始的链表元素/>
Figure BDA00034456800300001318
对应的数据范围为[ymin,ymax],该初始的链表元素/>
Figure BDA00034456800300001319
包含初始三角剖分面T0;
如图3b所示,假设插入第一个地震层位数据点P1(xP1,yP1),该地震层位数据点P1所在的三角剖分面为T0,该地震层位数据点P1将T0分割为三个新的三角剖分面T1、T2、T3,该地震层位数据点P1的纵坐标yP1所在的目标链表元素为初始的链表元素
Figure BDA00034456800300001320
则将目标链表元素/>
Figure BDA00034456800300001321
分割为两个新的链表元素/>
Figure BDA00034456800300001322
两个新的链表元素各自对应的数据范围为[ymin,yP1)、[yP1,ymax],将目标链表元素/>
Figure BDA00034456800300001323
包含的T0作为两个新的链表元素
Figure BDA00034456800300001324
初始包含的三角剖分面,基于被分割的三角剖分面T0、分割后得到的三个新的三角剖分面T1、T2、T3、以及两个新的链表元素各自对应的数据范围为[ymin,yP1)、[yP1,ymax],将T0从两个新的链表元素/>
Figure BDA00034456800300001325
初始包含的三角剖分面中删除,将T1、T3加入新的链表元素/>
Figure BDA00034456800300001326
将T1、T2、T3加入新的链表元素/>
Figure BDA00034456800300001327
中,建立该新的链表元素/>
Figure BDA00034456800300001328
最新包含的各三角剖分面之间的横向连接关系为T1→T3,建立该新的链表元素/>
Figure BDA0003445680030000141
最新包含的各三角剖分面之间的横向连接关系为T1→T2→T3;
如图3c所示,将各链表元素
Figure BDA0003445680030000142
中相同名称的三角剖分面T1、T3之间建立纵向连接关系;
如图3d所示,假设插入第二个地震层位数据点P2(xP2,yP2),该地震层位数据点P2所在的三角剖分面为T3,该地震层位数据点P2将T3分割为三个新的三角剖分面T4、T5、T6,该地震层位数据点P2的纵坐标yP2所在的目标链表元素为
Figure BDA0003445680030000143
则将目标链表元素/>
Figure BDA0003445680030000144
分割为两个新的链表元素/>
Figure BDA0003445680030000145
两个新的链表元素各自对应的数据范围为[ymin,yP2)、[yP2,yP1),将目标链表元素/>
Figure BDA0003445680030000146
包含的T1、T3作为两个新的链表元素/>
Figure BDA0003445680030000147
Figure BDA0003445680030000148
初始包含的三角剖分面,基于被分割的三角剖分面T3、分割后得到的三个新的三角剖分面T4、T5、T6、以及两个新的链表元素各自对应的数据范围[ymin,yP2)、[yP2,yP1),将T3从两个新的链表元素
Figure BDA0003445680030000149
初始包含的三角剖分面中删除,将T5、T4加入新的链表元素/>
Figure BDA00034456800300001410
中,将T5、T6、T4加入新的链表元素/>
Figure BDA00034456800300001411
中,建立该新的链表元素/>
Figure BDA00034456800300001412
最新包含的各三角剖分面之间的横向连接关系为T1→T5→T4,建立该新的链表元素/>
Figure BDA00034456800300001413
最新包含的各三角剖分面之间的横向连接关系为T1→T5→T6→T4;进一步,基于被分割的三角剖分面T3的纵向连接关系确定包含T3的其他链表元素/>
Figure BDA00034456800300001414
基于被分割的三角剖分面T3、分割后得到的三个新的三角剖分面T4、T5、T6、以及其他链表元素/>
Figure BDA00034456800300001415
对应的数据范围[yP1,ymax],将T3从其他链表元素/>
Figure BDA00034456800300001416
当前包含的三角剖分面中删除,将T5、T6、T4加入其他链表元素/>
Figure BDA00034456800300001417
中,建立该其他链表元素
Figure BDA00034456800300001418
最新包含的各三角剖分面之间的横向连接关系为T1→T2→T5→T6→T4;
如图3e所示,将各链表元素
Figure BDA00034456800300001419
中相同名称的三角剖分面T1、T5、T6、T4之间建立纵向连接关系;
以此类推,逐点插入后续各地震层位数据点P3、P4......,直至地震层位平面点集中所有地震层位数据点均插入索引链表Ly中得到y维度上最终的双向索引链表;
同理,将地震层位平面点集中所有地震层位数据点逐点插入索引链表Lx中得到x维度上最终的双向索引链表,具体工作流程不再赘述。
基于同一技术构思,本发明实施例还提供了一种地震层位的可视化显示装置,如图4所示,包括:
剖分面初始化单元401,用于根据地震层位平面点集建立地震层位的初始三角剖分面,所述地震层位平面点集中包括大量待三角剖分的地震层位数据点,所述初始三角剖分面是覆盖所有地震层位数据点的最大外围三角形;
链表初始化单元402,用于在x维度、y维度上分别建立初始的索引链表,每个维度上初始的索引链表中包括一个初始的链表元素,所述初始的链表元素对应的数据范围为所述初始三角剖分面在该维度上的数据范围,所述初始的链表元素包含所述初始三角剖分面;
链表更新控制单元403,用于逐点插入各地震层位数据点,针对每一个新插入的地震层位数据点,触发横向更新单元、纵向更新单元依次执行相应处理,直至地震层位平面点集中所有地震层位数据点均插入索引链表中得到最终的双向索引链表;
横向更新单元404,用于确定新插入的地震层位数据点所在的三角剖分面,使用该地震层位数据点将其所在的三角剖分面分割为三个新的三角剖分面,基于该地震层位数据点的坐标在x维度、y维度上分别增加一个链表元素,并基于被分割的三角剖分面及其纵向连接关系在x维度、y维度上分别横向更新索引链表;其中,每个维度上的链表元素对应该维度上特定的数据范围、并在该链表元素包含的各三角剖分面之间建立横向连接关系,同一维度内各链表元素对应的数据范围之间无交集、且所有链表元素对应的数据范围的合集为该维度上初始的链表元素对应的数据范围,有至少一个点位于某个链表元素对应的数据范围内的三角剖分面属于该链表元素;
纵向更新单元405,用于在x维度、y维度上分别纵向更新索引链表,将同一维度内各链表元素中相同名称的三角剖分面之间建立纵向连接关系;
显示单元406,用于基于最终的双向索引链表,生成地震层位的三角网格并进行可视化显示。
可选的,所述剖分面初始化单元401的一种可能结构,包括:
确定子单元,用于确定地震层位平面点集中所有地震层位数据点的数据范围;
建立子单元,用于基于所有地震层位数据点的数据范围建立覆盖所有地震层位数据点的最大外围三角形,作为所述初始三角剖分面;所述初始三角剖分面的三个顶点坐标分别表示为
Figure BDA0003445680030000151
各顶点坐标具体通过如下公式确定:
Figure BDA0003445680030000152
Figure BDA0003445680030000153
Figure BDA0003445680030000154
Figure BDA0003445680030000161
Figure BDA0003445680030000162
Figure BDA0003445680030000163
其中,xmin、xmax分别表示x维度上所有地震层位数据点的数据范围的最小值、最大值,ymin、ymax分别表示y维度上所有地震层位数据点的数据范围的最小值、最大值,max(·)为取最大值操作,abs(·)为取绝对值操作。
可选的,所述横向更新单元404的一种可能结构,包括:
元素更新子单元,用于在x维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的横坐标所在的目标链表元素,使用所述横坐标将横坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围;以及
在y维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的纵坐标所在的目标链表元素,使用所述纵坐标将纵坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围。
可选的,所述横向更新单元404,还包括:
第一链表更新子单元,用于在x维度上,将所述横坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;以及
在y维度上,将所述纵坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;
第二链表更新子单元,用于基于被分割的三角剖分面的纵向连接关系确定x维度上包含被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新;以及
基于被分割的三角剖分面的纵向连接关系确定y维度上包含被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新。
可选的,所述第一链表更新子单元,具体用于针对每个新的链表元素,将被分割的三角剖分面从其初始包含的各三角剖分面中删除,根据该新的链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该新的链表元素,并将属于该新的链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该新的链表元素最新包含的各三角剖分面之间的横向连接关系;
所述第二链表更新子单元,具体用于针对其他链表元素,将被分割的三角剖分面从其当前包含的各三角剖分面中删除,根据该其他链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该其他链表元素,并将属于该其他链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该其他链表元素最新包含的各三角剖分面之间的横向连接关系。
可选的,链表更新控制单元403,还用于对于新插入的地震层位数据点,如果该地震层位数据点位于任一三角剖分面的任一条边上,则不触发所述横向更新单元404、纵向更新单元405的执行,继续插入下一个地震层位数据点。
可选的,如图4所示,所述装置还可以包括:
数据处理单元400,用于对地震资料解释的地震层位数据进行处理,忽略地震层位数据中的时间维度,得到所述地震层位平面点集。
为了展示基于新的三角剖分算法生成的地震层位,图5a是本发明实施例中地震层位空间点集的显示示意图,图5b是利用本发明实施例生成地震层位的三角网格的显示结果示意图。本发明实施例提供的基于双向索引链表结构的三角剖分算法可与构造建模、属性建模等技术相结合,具有可观的应用前景,在进入中后期开发的油田中应用市场广阔。
本发明实施例提供的地震层位的可视化显示方法及装置,基于双向索引链表结构的三角剖分算法实现,引入了双向链表索引的数据结构,在每个链表元素包含的各三角剖分面之间建立横向连接关系,将同一维度内各链表元素中相同名称的三角剖分面之间建立纵向连接关系,通过为每一个三角剖分面建立索引信息,减少了构建三角网格时点、线、面之间关系的计算时间,不需要逐个进行所有地震层位数据点与三角剖分面位置的检测计算,可以提高三角剖分的效率,从而提高了地震勘探过程中,地震层位的3D可视化显示的效率。
图6是本说明书的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器,执行存储器所存放的程序。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,所述计算机程序被所述处理器执行时实现上述任意一种地震层位的可视化显示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
上述实施例揭示的地震层位的可视化显示方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种地震层位的可视化显示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (16)

1.一种地震层位的可视化显示方法,其特征在于,包括:
根据地震层位平面点集建立地震层位的初始三角剖分面,所述地震层位平面点集中包括大量待三角剖分的地震层位数据点,所述初始三角剖分面是覆盖所有地震层位数据点的最大外围三角形;
在x维度、y维度上分别建立初始的索引链表,每个维度上初始的索引链表中包括一个初始的链表元素,所述初始的链表元素对应的数据范围为所述初始三角剖分面在该维度上的数据范围,所述初始的链表元素包含所述初始三角剖分面;
逐点插入各地震层位数据点,针对每一个新插入的地震层位数据点,确定该地震层位数据点所在的三角剖分面,使用该地震层位数据点将其所在的三角剖分面分割为三个新的三角剖分面,基于该地震层位数据点的坐标在x维度、y维度上分别增加一个链表元素,并基于被分割的三角剖分面及其纵向连接关系在x维度、y维度上分别横向更新索引链表;其中,每个维度上的链表元素对应该维度上特定的数据范围、并在该链表元素包含的各三角剖分面之间建立横向连接关系,同一维度内各链表元素对应的数据范围之间无交集、且所有链表元素对应的数据范围的合集为该维度上初始的链表元素对应的数据范围,有至少一个点位于某个链表元素对应的数据范围内的三角剖分面属于该链表元素;以及
在x维度、y维度上分别纵向更新索引链表,将同一维度内各链表元素中相同名称的三角剖分面之间建立纵向连接关系;
直至地震层位平面点集中所有地震层位数据点均插入到索引链表中得到最终的双向索引链表;
基于最终的双向索引链表,生成地震层位的三角网格并进行可视化显示。
2.如权利要求1所述的方法,其特征在于,所述根据地震层位平面点集建立地震层位的初始三角剖分面,具体包括:
确定地震层位平面点集中所有地震层位数据点的数据范围;
基于所有地震层位数据点的数据范围建立覆盖所有地震层位数据点的最大外围三角形,作为所述初始三角剖分面;所述初始三角剖分面的三个顶点坐标分别表示为
Figure FDA0003445680020000011
各顶点坐标具体通过如下公式确定:
Figure FDA0003445680020000012
Figure FDA0003445680020000021
Figure FDA0003445680020000022
Figure FDA0003445680020000023
Figure FDA0003445680020000024
Figure FDA0003445680020000025
其中,xmin、xmax分别表示x维度上所有地震层位数据点的数据范围的最小值、最大值,ymin、ymax分别表示y维度上所有地震层位数据点的数据范围的最小值、最大值,max(·)为取最大值操作,abs(·)为取绝对值操作。
3.如权利要求1所述的方法,其特征在于,所述基于该地震层位数据点的坐标在x维度、y维度上分别增加一个链表元素,具体包括:
在x维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的横坐标所在的目标链表元素,使用所述横坐标将横坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围;
在y维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的纵坐标所在的目标链表元素,使用所述纵坐标将纵坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围。
4.如权利要求3所述的方法,其特征在于,基于被分割的三角剖分面及其纵向连接关系在x维度、y维度上分别横向更新索引链表,具体包括:
在x维度上,将所述横坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;以及
基于被分割的三角剖分面的纵向连接关系确定x维度上包含所述被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新;
在y维度上,将所述纵坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;以及
基于被分割的三角剖分面的纵向连接关系确定y维度上包含所述被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新。
5.如权利要求4所述的方法,其特征在于,所述基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新,包括:
针对每个新的链表元素,将被分割的三角剖分面从其初始包含的各三角剖分面中删除,根据该新的链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该新的链表元素,并将属于该新的链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该新的链表元素最新包含的各三角剖分面之间的横向连接关系;
所述基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新,包括:
针对其他链表元素,将被分割的三角剖分面从其当前包含的各三角剖分面中删除,根据该其他链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该其他链表元素,并将属于该其他链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该其他链表元素最新包含的各三角剖分面之间的横向连接关系。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
对于新插入的地震层位数据点,如果该地震层位数据点位于任一三角剖分面的任一条边上,则不执行任何处理,继续插入下一个地震层位数据点。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
对地震资料解释的地震层位数据进行处理,忽略地震层位数据中的时间维度,得到所述地震层位平面点集。
8.一种地震层位的可视化显示装置,其特征在于,包括:
剖分面初始化单元,用于根据地震层位平面点集建立地震层位的初始三角剖分面,所述地震层位平面点集中包括大量待三角剖分的地震层位数据点,所述初始三角剖分面是覆盖所有地震层位数据点的最大外围三角形;
链表初始化单元,用于在x维度、y维度上分别建立初始的索引链表,每个维度上初始的索引链表中包括一个初始的链表元素,所述初始的链表元素对应的数据范围为所述初始三角剖分面在该维度上的数据范围,所述初始的链表元素包含所述初始三角剖分面;
链表更新控制单元,用于逐点插入各地震层位数据点,针对每一个新插入的地震层位数据点,触发横向更新单元、纵向更新单元依次执行相应处理,直至地震层位平面点集中所有地震层位数据点均插入索引链表中得到最终的双向索引链表;
横向更新单元,用于确定新插入的地震层位数据点所在的三角剖分面,使用该地震层位数据点将其所在的三角剖分面分割为三个新的三角剖分面,基于该地震层位数据点的坐标在x维度、y维度上分别增加一个链表元素,并基于被分割的三角剖分面及其纵向连接关系在x维度、y维度上分别横向更新索引链表;其中,每个维度上的链表元素对应该维度上特定的数据范围、并在该链表元素包含的各三角剖分面之间建立横向连接关系,同一维度内各链表元素对应的数据范围之间无交集、且所有链表元素对应的数据范围的合集为该维度上初始的链表元素对应的数据范围,有至少一个点位于某个链表元素对应的数据范围内的三角剖分面属于该链表元素;
纵向更新单元,用于在x维度、y维度上分别纵向更新索引链表,将同一维度内各链表元素中相同名称的三角剖分面之间建立纵向连接关系;
显示单元,用于基于最终的双向索引链表,生成地震层位的三角网格并进行可视化显示。
9.如权利要求8所述的装置,其特征在于,所述剖分面初始化单元,包括:
确定子单元,用于确定地震层位平面点集中所有地震层位数据点的数据范围;
建立子单元,用于基于所有地震层位数据点的数据范围建立覆盖所有地震层位数据点的最大外围三角形,作为所述初始三角剖分面;所述初始三角剖分面的三个顶点坐标分别表示为
Figure FDA0003445680020000041
各顶点坐标具体通过如下公式确定:
Figure FDA0003445680020000042
Figure FDA0003445680020000043
Figure FDA0003445680020000044
Figure FDA0003445680020000045
Figure FDA0003445680020000046
Figure FDA0003445680020000047
其中,xmin、xmax分别表示x维度上所有地震层位数据点的数据范围的最小值、最大值,ymin、ymax分别表示y维度上所有地震层位数据点的数据范围的最小值、最大值,max(·)为取最大值操作,abs(·)为取绝对值操作。
10.如权利要求8所述的装置,其特征在于,所述横向更新单元,包括:
元素更新子单元,用于在x维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的横坐标所在的目标链表元素,使用所述横坐标将横坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围;以及
在y维度上,基于各链表元素对应的数据范围,确定该地震层位数据点的纵坐标所在的目标链表元素,使用所述纵坐标将纵坐标所在的目标链表元素分割为两个新的链表元素,并确定两个新的链表元素各自对应的数据范围。
11.如权利要求10所述的装置,其特征在于,所述横向更新单元,还包括:
第一链表更新子单元,用于在x维度上,将所述横坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;以及
在y维度上,将所述纵坐标所在的目标链表元素包含的各三角剖分面作为两个新的链表元素初始包含的各三角剖分面,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、两个新的链表元素各自对应的数据范围,对两个新的链表元素初始包含的各三角剖分面分别进行更新;
第二链表更新子单元,用于基于被分割的三角剖分面的纵向连接关系确定x维度上包含所述被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新;以及
基于被分割的三角剖分面的纵向连接关系确定y维度上包含所述被分割的三角剖分面的其他链表元素,基于被分割的三角剖分面、分割后得到的三个新的三角剖分面、其他链表元素对应的数据范围,对其他链表元素当前包含的各三角剖分面进行更新。
12.如权利要求11所述的装置,其特征在于,
所述第一链表更新子单元,具体用于针对每个新的链表元素,将被分割的三角剖分面从其初始包含的各三角剖分面中删除,根据该新的链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该新的链表元素,并将属于该新的链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该新的链表元素最新包含的各三角剖分面之间的横向连接关系;
第二链表更新子单元,具体用于针对其他链表元素,将被分割的三角剖分面从其当前包含的各三角剖分面中删除,根据该其他链表元素对应的数据范围判断分割后得到的三个新的三角剖分面是否属于该其他链表元素,并将属于该其他链表元素的新的三角剖分面加入被分割的三角剖分面的相应位置处,建立该其他链表元素最新包含的各三角剖分面之间的横向连接关系。
13.如权利要求8所述的装置,其特征在于,
所述链表更新控制单元,还用于对于新插入的地震层位数据点,如果该地震层位数据点位于任一三角剖分面的任一条边上,则不触发所述横向更新单元、纵向更新单元的执行,继续插入下一个地震层位数据点。
14.如权利要求8所述的装置,其特征在于,还包括:
数据处理单元,用于对地震资料解释的地震层位数据进行处理,忽略地震层位数据中的时间维度,得到所述地震层位平面点集。
15.一种电子设备,其特征在于,包括:存储器和与所述存储器电连接的处理器,所述存储器存储有可在所述处理器运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
CN202111647839.0A 2021-12-30 2021-12-30 一种地震层位的可视化显示方法、装置、电子设备及介质 Pending CN116433866A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111647839.0A CN116433866A (zh) 2021-12-30 2021-12-30 一种地震层位的可视化显示方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111647839.0A CN116433866A (zh) 2021-12-30 2021-12-30 一种地震层位的可视化显示方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN116433866A true CN116433866A (zh) 2023-07-14

Family

ID=87085997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111647839.0A Pending CN116433866A (zh) 2021-12-30 2021-12-30 一种地震层位的可视化显示方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN116433866A (zh)

Similar Documents

Publication Publication Date Title
CN112233240B (zh) 三维矢量地图的三维矢量数据切片方法、装置及电子设备
EP4116935A2 (en) High-definition map creation method and device, and electronic device
CN113112603B (zh) 三维模型优化的方法和装置
CN107564077B (zh) 一种绘制道路网的方法及装置
CN109388843B (zh) 一种基于vtk的桁架天线的可视化系统及方法、终端
US20170186225A1 (en) Method and apparatus for generating a composite indexable linear data structure to permit selection of map elements based on linear elements
CN111611992B (zh) 确定兴趣面的方法、装置和计算机设备
CN116774292B (zh) 一种地震波走时确定方法、系统、电子设备及存储介质
CN107958209B (zh) 一种违建识别方法、系统及电子设备
CN113761093A (zh) 空间二元组的确定方法、装置、计算机设备和存储介质
US11417073B2 (en) System and method for generating hierarchical level-of-detail measurements for runtime calculation and visualization
CN112215864B (zh) 电子地图的轮廓处理方法、装置及电子设备
Miky et al. A combined contour lines iteration algorithm and Delaunay triangulation for terrain modeling enhancement
CN105931297A (zh) 三维地质表面模型中的数据处理方法
CN115659900B (zh) 用于呈现集成电路版图的方法、设备和介质
Shen et al. An ArcScene plug-in for volumetric data conversion, modeling and spatial analysis
CN116433866A (zh) 一种地震层位的可视化显示方法、装置、电子设备及介质
Mateo et al. Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks
CN115481268A (zh) 一种平行线墙体数据识别方法、装置、设备及存储介质
CN115127565A (zh) 高精地图数据生成方法、装置、电子设备及存储介质
Chen et al. A clipping algorithm for real-scene 3D models
CN114528305A (zh) 矢量数据更新范围确定方法、装置、电子设备及存储介质
CN114116948A (zh) 地理矢量数据空间缓冲区分析方法、装置、设备及介质
CN114328783A (zh) 地图数据输出方法、地图数据处理方法、装置和电子设备
CN113838202B (zh) 地图中三维模型的处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination