WebGL-based visualization analysis method, system and medium for three-dimensional scheduling of seismic data
Through WebGL-based technology, three-dimensional cache seismic data is generated and a three-dimensional model of seismic profile is constructed, which solves the problems of complex user interface and difficult system maintenance of existing seismic data software, and realizes efficient seismic data visualization and analysis.
Patent Information
- Application Number
- CN202411701922.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2044-11-26
AI Technical Summary
Existing seismic data analysis and visual analysis software are mostly desktop software, and there are problems such as complex user interface and interaction, system compatibility, update and maintenance difficulties.
Using a WebGL-based method, a three-dimensional seismic data is generated, a three-dimensional model of seismic profile is constructed, and GPU rendering technology is used to realize efficient visualization and analysis of seismic data.
It provides a high-performance, highly interactive seismic data visualization solution, where users can browse, analyze and schedule seismic data in real time in the Web environment, improving the efficiency and effectiveness of data processing.
Smart Images

Figure CN119648954B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of geophysics technology, and in particular to a WebGL-based three-dimensional scheduling visualization analysis method, system and medium for seismic data. Background Art
[0002] Seismic data is a very important source of geological data. It plays a vital role in the field of oil and gas exploration, providing data support for geological experts to identify underground rock structures and faults and delineate potential oil and gas reservoirs. Common data formats include seismic data files in SEGY format, SEGY is widely used to save seismic exploration data, and records detailed information and measurement data of seismic data. And LAS files for storing logging data. The application of seismic data has greatly improved the accuracy and efficiency of oil and gas exploration and promoted the effective development and utilization of resources.
[0003] In the early stage, seismic data visualization mainly relied on paper charts and hand-drawn seismic waveforms. In the 1990s, the introduction of computer technology significantly improved the level of seismic data visualization. Two-dimensional graphics obtained by computer processing and analyzing seismic data became the main visualization method. Since the 21st century, with the development of three-dimensional visualization technology, professional technicians can more intuitively understand the underground geological structure and seismic wave propagation path through the use of three-dimensional modeling software and visualization technology.
[0004] At present, most of the seismic data analysis and visualization software is desktop software, which has shortcomings such as complex user interface and interaction, system compatibility, and difficulty in updating and maintenance. These factors greatly restrict the efficiency of seismic data visualization. Therefore, it is particularly important to realize a simpler and easier-to-use seismic data visualization and analysis software.
[0005] At present, the seismic data visualization platform has complex user interfaces and interactions, difficult system compatibility and integration, and information security, which are issues that need to be addressed urgently. Summary of the invention
[0006] The present invention provides a WebGL-based three-dimensional scheduling visualization analysis method, system and medium for earthquake data, in order to solve the problem that earthquake data analysis and visualization analysis software are mostly desktop software, which has complex user interface and interaction, system compatibility, and difficulty in updating and maintenance.
[0007] To achieve the above objectives, in a first aspect, the present invention provides a WebGL-based three-dimensional scheduling visualization analysis method for seismic data, comprising:
[0008] Generate three-dimensional cached seismic data from SEGY data based on a predefined cached data format, and optimize the three-dimensional cached seismic data;
[0009] Constructing a three-dimensional model of a seismic profile includes at least: calculating the coordinates of the profile vertices, calculating the texture coordinates, constructing a triangulated network, and calculating the normal vector vertex by vertex using ComputeCommand in a GPU;
[0010] Visually render the seismic section three-dimensional model based on Cesium's DrawCommand;
[0011] The three-dimensional analysis of the three-dimensional cached seismic data is provided through the browser side, and the three-dimensional analysis includes one or more of movement, rotation, scaling, rolling curtain analysis, display of coordinate axes and cutting analysis of geological body models.
[0012] Preferably, the construction of the three-dimensional model of the seismic profile specifically includes: calculating the coordinates of each sampling point in the vertical direction according to the seismic profile path, constructing a triangulated network in the vertical direction, mapping the sampling values corresponding to the sampling points into texture coordinates, and calculating the normal vector vertex by vertex using ComputeCommand in the GPU.
[0013] Preferably, the coordinates of each sampling point in the vertical direction are calculated according to the seismic profile path, a triangulated network in the vertical direction is constructed, the sampling values corresponding to the sampling points are mapped to texture coordinates, and the normal vectors are calculated vertex by vertex using ComputeCommand in the GPU, specifically:
[0014] Calculate the vertex coordinates: Calculate the depth of each sampling point in the vertical direction based on the velocity V of the seismic wave propagating underground, and infer the three-dimensional spatial coordinates of each sampling point as the vertex coordinates of the profile model in combination with the surface coordinates of the sampling point. The Y axis of the SEGY data represents time.
[0015] Calculate texture coordinates: each sampling point of the SEGY data corresponds to a sampling value, and one-dimensional texture coordinates are used to count the maximum and minimum values of all sampling points, and then the absolute value of the minimum value is taken, and the minimum value V of the absolute value of the maximum value of the sampling point and the minimum value is taken, and the minimum value V is mapped to 1, -V is mapped to 0, and other values are linearly interpolated to perform texture coordinate mapping;
[0016] Constructing triangulated network: According to the characteristics of the SEGY data, the triangulated network is constructed by using the idea of sequentially constructing networks of two adjacent data;
[0017] Calculate the normal vector: according to the data characteristics of the SEGY data, convert all the vertex coordinates into RGB material data of Float32 and pass them to the GPU, and calculate the normal vector vertex by vertex based on Cesium's ComputeCommand, wherein: based on the coordinate values of the current pixel A and the adjacent 4 upper, lower, left and right pixels T, B, L and R, a total of 5 pixels, calculate the vectors AT, AB, AL and AR in turn, and normalize them to obtain vectors vAT, vAB, vAL and vAR; perform cross multiplication operations on the vector pairs (vAT, vAL), (vAT, -vAR), (vAR, -vAB) and (vAB, -vAL) to calculate the normal vectors, and normalize the results to obtain vn1, vn2, vn3 and vn4 respectively; calculate the average value of vn1, vn2, vn3 and vn4, and normalize them to obtain the normal vector of the pixel A, and output it for rendering.
[0018] Preferably, visual rendering of the seismic profile three-dimensional model is performed based on Cesium's DrawCommand, specifically including:
[0019] Set an enhancement coefficient enhance, use the enhancement coefficient enhance to enhance the profile, and then intercept the interruption data for coloring, wherein a smooth interception function smoothstep is used to intercept the three-dimensional model data of the seismic profile between -0.5 and 0.5 as the interruption data, and the interruption data is smoothly mapped to the standard range of texture coordinates;
[0020] The final shading algorithm is: preset the maximum value color, the middle value color and the minimum value color. For the interrupt data mapped to the texture coordinates, map 1 to the maximum value color, map 0.5 to the middle value color, map 0 to the minimum value color, and perform linear interpolation on other values.
[0021] Preferably, generating three-dimensional cached seismic data based on SEGY data and optimizing the three-dimensional cached seismic data include:
[0022] Generate 3D cached seismic data from SEGY data and remove unnecessary trace header data from the cache.
[0023] Preferably, the generating of three-dimensional cached seismic data based on SEGY data further includes:
[0024] Read the file header of the SEGY data: parse the file header to obtain the overall information of the file, including the data format version and the number of sample points;
[0025] Reading the data header of the SEGY data: reading the data header of each trace in sequence, and extracting metadata of each trace;
[0026] Read the seismic data of the SEGY data: read the actual seismic data samples according to the data header information of each trace.
[0027] To achieve the above objectives, the second aspect includes:
[0028] A cache data generation module, used to generate three-dimensional cache seismic data based on SEGY data, and optimize the three-dimensional cache seismic data;
[0029] A three-dimensional model building module is used to build a three-dimensional model of a seismic profile, which at least includes: calculating the coordinates of the profile vertices, calculating the texture coordinates, building a triangulated network, and calculating the normal vector pixel by pixel;
[0030] A rendering module, used for visual rendering based on the three-dimensional model of the seismic profile;
[0031] The three-dimensional analysis module is used to provide three-dimensional analysis of the three-dimensional cached seismic data through the browser side, and the three-dimensional analysis includes one or more of movement, rotation, scaling, rolling curtain analysis, display of coordinate axes and cutting analysis of geological body models.
[0032] Preferably, the three-dimensional model construction module is specifically used to: calculate the coordinates of each sampling point in the vertical direction according to the seismic profile path, construct a triangulated network in the vertical direction, map the sampling values corresponding to the sampling points into texture coordinates, and calculate the normal vector vertex by vertex using ComputeCommand in the GPU.
[0033] Preferably, the three-dimensional model building module specifically includes:
[0034] The vertex technology submodule is used to calculate the depth of each sampling point in the vertical direction based on the velocity V of the seismic wave propagating underground, and to infer the three-dimensional spatial coordinates of each sampling point as the vertex coordinates of the profile model in combination with the surface coordinates of the sampling point, wherein the Y axis of the SEGY data represents time;
[0035] A texture coordinate calculation submodule is used for each sampling point of the SEGY data to correspond to a sampling value, using one-dimensional texture coordinates to count the maximum and minimum values of all sampling points, then taking the absolute value of the minimum value, taking the minimum value V of the absolute value of the maximum value of the sampling point and the minimum value, mapping the minimum value V to 1, -V to 0, and performing linear interpolation on other values to perform texture coordinate mapping;
[0036] The triangulated network submodule is used to construct a triangulated network based on the characteristics of the SEGY data by using the idea of sequentially constructing a network with two adjacent data;
[0037] The normal vector calculation submodule is used to convert all the vertex coordinates into RGB material data of Float32 according to the data characteristics of the SEGY data, and pass them to the GPU, and calculate the normal vector vertex by vertex based on Cesium's ComputeCommand, wherein the normal vector is calculated specifically as follows: based on the coordinate values of the current pixel A and the adjacent 4 upper, lower, left and right pixels T, B, L and R, a total of 5 pixels, the vectors AT, AB, AL and AR are calculated in sequence, and normalized to obtain vectors vAT, vAB, vAL and vAR; the normal vectors are calculated by performing cross multiplication operations on the vector pairs (vAT, vAL), (vAT, -vAR), (vAR, -vAB) and (vAB, -vAL), and the results are normalized to obtain vn1, vn2, vn3 and vn4 respectively; the average value of vn1, vn2, vn3 and vn4 is calculated, and normalized to obtain the normal vector of the pixel A, and the output is used for rendering.
[0038] To achieve the above objectives, in a third aspect, the present invention also relates to a computer-readable storage medium, in which instructions are stored, and when the instructions are executed, the above-mentioned WebGL three-dimensional scheduling visualization analysis method for seismic data is executed.
[0039] The present invention relates to a WebGL-based three-dimensional scheduling visualization analysis method, system and medium for seismic data, which has the following beneficial effects compared with the prior art:
[0040] The present invention utilizes WebGL technology to realize efficient three-dimensional rendering and analysis of SEGY format seismic data in a browser, aiming to provide a high-performance and highly interactive seismic data visualization solution.
[0041] First, the seismic data is parsed, and a new cache data format is customized and designed based on the characteristics of the seismic data. The cache is published as a data service accessible to the browser through service publishing. Finally, based on WebGL and GPU rendering technology, efficient visualization of the seismic data is achieved.
[0042] Through the present invention, users can browse, analyze and schedule seismic data in real time in a Web environment, thereby improving the efficiency and effect of seismic data processing. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 A method flow chart of a WebGL three-dimensional scheduling visualization analysis method for seismic data in Embodiment 1 of the present invention;
[0044] Figure 2 A schematic diagram of sampled data distribution in a seismic SEGY file of a WebGL seismic data three-dimensional scheduling visualization analysis method in Embodiment 1 of the present invention;
[0045] Figure 3 It is a schematic diagram of a triangulated network algorithm for constructing a WebGL three-dimensional scheduling visualization analysis method for seismic data in the first embodiment of the present invention;
[0046] Figure 4 It is a schematic diagram of a normal vector calculation algorithm of a WebGL three-dimensional scheduling visualization analysis method for seismic data in Embodiment 1 of the present invention;
[0047] Figure 5 This is a data analysis and rendering process diagram of a WebGL seismic data three-dimensional scheduling visualization analysis method in the first embodiment of the present invention;
[0048] Figure 6 It is a structural diagram of a WebGL three-dimensional scheduling visualization analysis system for seismic data in the second embodiment of the present invention. DETAILED DESCRIPTION
[0049] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.
[0050] Embodiment 1
[0051] A WebGL-based visualization analysis method for 3D seismic data scheduling, see Figure 1-Figure 5 ,First, the seismic data is parsed, and a new cache data format is ,customized and designed based on the characteristics of the seismic data. The cache is ,published as a data service accessible to the browser through service ,release. Finally, based on WebGL and GPU rendering ,technology, efficient visualization of seismic data is achieved. Specifically, the following steps are ,included: S10 to S40.
[0052] S10: Generate three-dimensional cached seismic data from the SEGY data based on a predefined cache data format, and optimize the three-dimensional cached seismic data.
[0053] In this embodiment, the SEGY data is used to generate three-dimensional cached seismic data based on the predefined cached data format, and unnecessary header data is removed from the cache. In order to improve the efficiency of data parsing, the present invention defines a new cached data format as shown in Table 1, which generates three-dimensional cached seismic data from the SEGY data, and removes unnecessary header data from the three-dimensional cached seismic data, thereby reducing the volume of cached data and improving the data transmission efficiency on the browser side.
[0054] Table 1 New cache data format
[0055]
[0056] SEGY is a standard file format for storing seismic data, which is widely used in geophysics, especially in oil and gas exploration. SEGY data mainly consists of three parts: file header, data header and seismic data.
[0057] Prior to S10, seismic data analysis was also included:
[0058] Read the file header of SEGY data: parse the file header to obtain the overall information of the file, including the data format version and the number of sample points; read the data header of SEGY data: read the data header of each trace in sequence and extract the metadata of each trace; read the seismic data of SEGY data: read the actual seismic data sample according to the data header information of each trace.
[0059] S20: constructing a three-dimensional model of a seismic profile, at least including in sequence: calculating the coordinates of the profile vertices, calculating the texture coordinates, constructing a triangulated network, and calculating the normal vector vertex by vertex using ComputeCommand in the GPU. Based on the analysis of the characteristics of seismic data, the present invention proposes a seismic profile modeling idea, firstly, according to the seismic profile path, the coordinates of each sampling point in the vertical direction are calculated, and then a triangulated network in the vertical direction is constructed, and the sampling values corresponding to the sampling points are mapped to texture coordinates.
[0060] Constructing a 3D seismic profile model, including: Figure 2 As shown, the coordinates of each sampling point in the vertical direction are calculated according to the seismic profile path, a vertical triangulation network is constructed, the sampling values corresponding to the sampling points are mapped to texture coordinates, and the normal vector is calculated vertex by vertex using ComputeCommand in the GPU.
[0061] In this embodiment, the vertex coordinates are calculated: the depth of each sampling point in the vertical direction is calculated based on the speed V of seismic waves propagating underground, and the three-dimensional spatial coordinates of each sampling point are inferred as the vertex coordinates of the profile model in combination with the surface coordinates of the sampling points. The Y-axis of the SEGY data represents time.
[0062] Calculate texture coordinates: Each sampling point of SEGY data corresponds to a sampling value. One-dimensional texture coordinates are used to count the maximum and minimum values of all sampling points. The minimum value min is usually a negative value. Then the absolute value abs(min) of the minimum value is taken. The minimum value V of the maximum value max and the minimum value abs(min) of the sampling point is taken. The minimum value V is mapped to 1, and the negative number -V of the minimum value is mapped to 0. Other values are linearly interpolated to perform texture coordinate mapping. Among them, linear interpolation of other values can be specifically: other values are automatically trilinearly interpolated based on the GPU. Trilinear interpolation is a method of linear interpolation in three-dimensional space, which is often used in computer graphics, numerical analysis, data analysis and other fields.
[0063] like Figure 3 As shown, construct a triangulated network: According to the characteristics of SEGY data, the triangulated network is constructed by using the idea of constructing two adjacent data in sequence.
[0064] like Figure 4 As shown, calculate the normal vector: according to the data characteristics of the SEGY data, convert all vertex coordinates into Float32 RGB (corresponding to XYZ respectively) material data and pass it to the GPU, and calculate the normal vector vertex by vertex based on Cesium's ComputeCommand, wherein: based on the coordinate values of the current pixel A and the adjacent 4 pixels T, B, L and R, a total of 5 pixels, calculate the vectors AT, AB, AL and AR in turn, and normalize them to obtain vectors vAT, vAB, vAL and vAR; perform cross multiplication operations on the vector pairs (vAT, vAL), (vAT, -vAR), (vAR, -vAB) and (vAB, -vAL) to calculate the normal vectors, and normalize the results to obtain vn1, vn2, vn3 and vn4 respectively; calculate the average value of vn1, vn2, vn3 and vn4, and normalize them to obtain the normal vector of pixel A, and output it for rendering, sample the normal vector calculation method of the current pixel A to calculate the normal vector vertex by vertex, and output it for external rendering. Special processing is required at the edges to avoid sampling overflow, which will lead to inaccurate normal vector calculation.
[0065] S30: Visualize and render the 3D seismic profile model based on Cesium's DrawCommand.
[0066] On the basis of completing the construction of the seismic profile, the present invention performs visualization rendering of the seismic data based on Cesium's DrawCommand, specifically including a profile coloring algorithm, a lighting calculation algorithm, and the like.
[0067] In this embodiment, it specifically includes: setting an enhancement coefficient enhance, using the enhancement coefficient enhance to enhance the profile, and then intercepting the interruption data for coloring, wherein a smooth interception function smoothstep is used to intercept the seismic profile three-dimensional model data between -0.5 and 0.5 as interruption data, and the interruption data is smoothly mapped to the standard range of texture coordinates.
[0068] In this embodiment, the section is enhanced by first multiplying the original value by the enhancement coefficient enhance. Specifically, assuming that the original value is s, the enhancement formula is: smoothstep(-0.5, 0.5, (s-0.5) * enhance). Among them, smoothstep is a function provided by the glsl scripting language of WebGL to smoothly intercept data. Here, the data between -0.5 and 0.5 is intercepted and smoothly mapped to [0, 1], which is the standard range of texture coordinates.
[0069] The final coloring algorithm is: preset the maximum value color maxColor, corresponding to the color of the maximum value 1; preset the middle value color midColor, corresponding to the color of the middle value 0.5; preset the minimum value color minColor, corresponding to the color of the minimum value 0.
[0070] For the interrupt data mapped to the texture coordinates, 1 is mapped to the maximum value color maxColor, 0.5 is mapped to the middle value color midColor, 0 is mapped to the minimum value color minColor, and other values are linearly interpolated. Specifically, other values are linearly interpolated as follows: other values are automatically trilinearly interpolated based on the GPU. Trilinear interpolation is a method for linear interpolation in three-dimensional space, which is commonly used in computer graphics, numerical analysis, data analysis and other fields.
[0071] S40: providing three-dimensional analysis of the three-dimensional cached seismic data through the browser, wherein the three-dimensional analysis includes one or more of movement, rotation, scaling, rolling analysis, and cutting analysis of displaying coordinate axes and geological body models.
[0072] Embodiment 2
[0073] A WebGL-based 3D visualization analysis system for earthquake data scheduling, such as Figure 6 As shown, it includes a cache data generation module 71, a three-dimensional model construction module 72, a rendering module 73 and a three-dimensional analysis module 74.
[0074] A cache data generation module 71 is used to generate three-dimensional cache seismic data from SEGY data based on a predefined cache data format, and optimize the three-dimensional cache seismic data;
[0075] The three-dimensional model building module 72 is used to build a three-dimensional model of the seismic profile, which at least includes: calculating the coordinates of the profile vertices, calculating the texture coordinates, building a triangulated network, and calculating the normal vector pixel by pixel;
[0076] A rendering module 73, used for visual rendering of the three-dimensional model based on the seismic profile;
[0077] The three-dimensional analysis module 74 is used to provide three-dimensional analysis of three-dimensional cached seismic data through the browser side, and the three-dimensional analysis includes one or more of movement, rotation, scaling, rolling curtain analysis, display of coordinate axes and cutting analysis of geological body models.
[0078] In some embodiments, the three-dimensional model construction module 71 is specifically used to: calculate the coordinates of each sampling point in the vertical direction according to the seismic profile path, construct a vertical triangulation network, map the sampling values corresponding to the sampling points into texture coordinates, and calculate the normal vector vertex by vertex using ComputeCommand in the GPU.
[0079] In some embodiments, the three-dimensional model construction module 71 specifically includes: a vertex technology submodule, a texture coordinate calculation submodule, a triangulation construction submodule, and a normal vector calculation submodule.
[0080] The vertex technology submodule is used to calculate the depth of each sampling point in the vertical direction based on the velocity V of seismic waves propagating underground, and to infer the three-dimensional spatial coordinates of each sampling point as the vertex coordinates of the profile model in combination with the surface coordinates of the sampling points. The Y axis of the SEGY data represents time.
[0081] The texture coordinate calculation submodule is used for each sampling point of SEGY data to correspond to a sampling value. The maximum and minimum values of all sampling points are counted using one-dimensional texture coordinates, and then the absolute value of the minimum value is taken. The minimum value V is taken from the absolute value of the maximum and minimum values of the sampling points. The minimum value V is mapped to 1, -V is mapped to 0, and other values are linearly interpolated to perform texture coordinate mapping;
[0082] The triangulation submodule is used to construct a triangulation network based on the characteristics of SEGY data by using the idea of sequentially constructing a network with two adjacent data.
[0083] The normal vector calculation submodule is used to convert all vertex coordinates into Float32 RGB material data according to the data characteristics of SEGY data and pass it to the GPU, and calculate the normal vector vertex by vertex based on Cesium's ComputeCommand, where the normal vector is calculated as follows: based on the coordinate values of the current pixel A and the adjacent 4 upper, lower, left and right pixels T, B, L and R, a total of 5 pixels, the vectors AT, AB, AL and AR are calculated in sequence, and normalized to obtain vectors vAT, vAB, vAL and vAR; the normal vectors are calculated by performing cross multiplication operations on the vector pairs (vAT, vAL), (vAT, -vAR), (vAR, -vAB) and (vAB, -vAL), and the results are normalized to obtain vn1, vn2, vn3 and vn4 respectively; the average value of vn1, vn2, vn3 and vn4 is calculated, and normalized to obtain the normal vector of pixel A, which is output for rendering.
[0084] The implementation process, method and effect of the WebGL-based three-dimensional scheduling visualization analysis system for seismic data in this embodiment are the same as those of the WebGL-based three-dimensional scheduling visualization analysis method for seismic data described in the first embodiment, and will not be repeated here.
[0085] Embodiment 3
[0086] The present invention relates to a computer-readable storage medium, in which instructions are stored. When the instructions are executed, a three-dimensional scheduling visualization analysis method for seismic data based on WebGL in Example 1 is executed. The execution process method and effect of the execution process method are the same as those of the three-dimensional scheduling visualization analysis method for seismic data based on WebGL described in Example 1, and are not described in detail here.
[0087] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0088] The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. A WebGL-based three-dimensional scheduling visualization analysis method for seismic data, characterized in that: include: Generate three-dimensional cached seismic data from SEGY data based on a predefined cached data format, and optimize the three-dimensional cached seismic data; Calculate the vertex coordinates: Calculate the depth of each sampling point in the vertical direction based on the velocity V of the seismic wave propagating underground, and infer the three-dimensional spatial coordinates of each sampling point as the vertex coordinates of the profile model in combination with the surface coordinates of the sampling point. The Y axis of the SEGY data represents time. Calculate texture coordinates: each sampling point of the SEGY data corresponds to a sampling value, and one-dimensional texture coordinates are used to count the maximum and minimum values of all sampling points, and then the absolute value of the minimum value is taken, and the minimum value V of the absolute value of the maximum value of the sampling point and the minimum value is taken, and the minimum value V is mapped to 1, -V is mapped to 0, and other values are linearly interpolated to perform texture coordinate mapping; Construct triangulated network: according to the characteristics of the SEGY data, the triangulated network is constructed by using the idea of constructing a network in sequence with two adjacent data; calculate normal vector: according to the data characteristics of the SEGY data, convert all the vertex coordinates into Float32 RGB material data and pass them to the GPU, and calculate the normal vector vertex by vertex based on Cesium's ComputeCommand, wherein: based on the coordinate values of the current pixel A and the adjacent 4 pixels T, B, L and R, a total of 5 pixels, the vectors AT, AB, AL and AR are calculated in sequence and normalized to obtain vectors vAT, vAB, vAL and vAR; perform cross multiplication operations on the vector pairs (vAT, vAL), (vAT, -vAR), (vAR, -vAB) and (vAB, -vAL) to calculate the normal vectors, and normalize the results to obtain vn1, vn2, vn3 and vn4 respectively; calculate the average value of vn1, vn2, vn3 and vn4, and normalize them to obtain the normal vector of the pixel A, and output it for rendering; Visualize and render the 3D seismic profile model based on Cesium's DrawCommand; The three-dimensional analysis of the three-dimensional cached seismic data is provided through the browser side, and the three-dimensional analysis includes one or more of movement, rotation, scaling, rolling curtain analysis, display of coordinate axes and cutting analysis of geological body models.
2. A WebGL-based three-dimensional scheduling visualization analysis method for seismic data according to claim 1, characterized in that: The three-dimensional model of the seismic profile is visualized and rendered based on Cesium's DrawCommand, specifically including: Set an enhancement coefficient enhance, use the enhancement coefficient enhance to enhance the profile, and then intercept the interruption data for coloring, wherein a smooth interception function smoothstep is used to intercept the three-dimensional model data of the seismic profile between -0.5 and 0.5 as the interruption data, and the interruption data is smoothly mapped to the standard range of texture coordinates; The final shading algorithm is: preset the maximum value color, the middle value color and the minimum value color, and for the interrupt data mapped to the texture coordinates, map 1 to the maximum value color, map 0.5 to the middle value color, map 0 to the minimum value color, and perform linear interpolation on other values.
3. The WebGL-based three-dimensional scheduling visualization analysis method for seismic data according to claim 1, characterized in that: Generating three-dimensional cached seismic data from SEGY data based on a predefined cached data format, and optimizing the three-dimensional cached seismic data, including: The SEGY data is used to generate three-dimensional cached seismic data based on the predefined cache data format, and unnecessary trace header data is removed from the cache.
4. A WebGL three-dimensional scheduling visualization analysis method for seismic data according to claim 1, characterized in that : Generate 3D cached seismic data based on SEGY data, which also includes: Read the file header of the SEGY data: parse the file header to obtain the overall information of the file, including the data format version and the number of sample points; Reading the data header of the SEGY data: reading the data header of each trace in sequence, and extracting metadata of each trace; Read the seismic data of the SEGY data: read the actual seismic data samples according to the data header information of each trace.
5. A WebGL-based three-dimensional scheduling visualization analysis system for seismic data, characterized in that: include: A cache data generation module, used for generating three-dimensional cache seismic data from SEGY data based on a predefined cache data format, and optimizing the three-dimensional cache seismic data; The 3D model construction module includes the vertex technology submodule, the texture coordinate calculation submodule, the triangulation submodule, and the normal vector calculation submodule: The vertex technology submodule is used to calculate the depth of each sampling point in the vertical direction based on the velocity V of the seismic wave propagating underground, and to infer the three-dimensional spatial coordinates of each sampling point as the vertex coordinates of the profile model in combination with the surface coordinates of the sampling point. The Y axis of the SEGY data represents time. The texture coordinate calculation submodule is used for each sampling point of the SEGY data to correspond to a sampling value, using one-dimensional texture coordinates to count the maximum and minimum values of all sampling points, then taking the absolute value of the minimum value, taking the minimum value V of the absolute value of the maximum value of the sampling point and the minimum value, mapping the minimum value V to 1, mapping -V to 0, and performing linear interpolation on other values to perform texture coordinate mapping; The triangulated network construction submodule is used to construct a triangulated network based on the characteristics of the SEGY data by using the idea of sequentially constructing a network with two adjacent data; The normal vector calculation submodule is used to convert all the vertex coordinates into RGB material data of Float32 according to the data characteristics of the SEGY data, and pass them to the GPU, and calculate the normal vector vertex by vertex based on Cesium's ComputeCommand, wherein the normal vector calculation is specifically as follows: based on the coordinate values of the current pixel A and the adjacent four pixels T, B, L and R, a total of five pixels, the vectors AT, AB, AL and AR are calculated in sequence, and normalized to obtain vectors vAT, vAB, vAL and vAR; the normal vectors are calculated by performing cross multiplication operations on the vector pairs (vAT, vAL), (vAT, -vAR), (vAR, -vAB) and (vAB, -vAL), and the results are normalized to obtain vn1, vn2, vn3 and vn4 respectively; the average value of vn1, vn2, vn3 and vn4 is calculated, and normalized to obtain the normal vector of the pixel A, and the output is used for rendering; A rendering module is used for visual rendering of a three-dimensional model based on a seismic section; The three-dimensional analysis module is used to provide three-dimensional analysis of the three-dimensional cached seismic data through the browser side, and the three-dimensional analysis includes one or more of movement, rotation, scaling, rolling curtain analysis, display of coordinate axes and cutting analysis of geological body models.
6. A computer-readable storage medium, characterized in that: The storage medium stores instructions, which, when executed, execute a WebGL-based three-dimensional scheduling visualization analysis method for seismic data according to any one of claims 1 to 4.
Citation Information
Patent Citations
Method for three-dimensional display of two-dimensional earthquake profile
CN105096385A
Deep seismic data processing method based on refraction-reflection information fusion
CN118584534A