A 3DTiles-based method for generating, loading, and scheduling 3D drilling caches
By extracting key feature data of drilling holes and generating cache data, combined with the 3DTiles filtering and scheduling mechanism, the problem of low rendering efficiency of massive drilling holes on the web side is solved, and more efficient rendering and customized rendering effects are achieved.
Patent Information
- Application Number
- CN202211363481.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-02
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2042-11-02
AI Technical Summary
The prior art is difficult to efficiently render massive drilled data on the web side, and the processing efficiency is low when directly generating 3DTiles, so vector rendering and customized rendering are not possible.
The key feature data of the drilling hole is extracted, and cached data is generated through blocking and LOD grading, and filtering and scheduling is performed through 3DTiles to restore the feature data to the drilling model.
Significantly reduce data volume, improve network transmission efficiency, support vector rendering and customized rendering, and improve rendering effect and efficiency.
Smart Images

Figure CN115618153B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of geological data, and particularly to a method for generating, loading, and scheduling 3D borehole caches based on 3DTiles. Background Art
[0002] For borehole data, rendering on the web side has been achieved, and basic functions such as texture mapping, depth filtering, and querying are supported.
[0003] Currently, the number of boreholes that can be smoothly rendered is less than 30,000. However, as the volume of borehole data increases, it is impossible to directly render on the web side without scheduling. To solve the efficient rendering of massive model data, there is a relatively typical and mature technical solution in the industry, namely chunking plus LOD. Among them, 3DTiles is a typical implementation of this solution. Converting various types of business data directly into 3DTiles can solve the problems of data loading and scheduling.
[0004] However, borehole data itself has very clear data characteristics:
[0005] 1. Boreholes are usually rendered as cylinders, and the cylinder only needs to know the center point, length, and radius of the cylinder to complete the rendering;
[0006] 2. Boreholes are usually rendered using specific colors and patterns to distinguish different strata;
[0007] Based on the characteristics of borehole data itself, directly generating 3DTiles requires processing a large amount of borehole data, which greatly reduces the network transmission efficiency of the data, and vector rendering and customized rendering cannot be performed. Summary of the Invention
[0008] In view of the above problems, the present invention is proposed to provide a method for generating, loading, and scheduling 3D borehole caches based on 3DTiles that overcomes the above problems or at least partially solves the above problems.
[0009] To solve the above technical problems, the embodiments of the present application disclose the following technical solutions:
[0010] A method for generating, loading, and scheduling 3D borehole caches based on 3DTiles, including:
[0011] S100. Extract key feature data of the borehole;
[0012] S200. Construct LOD according to the extracted key feature data of the borehole and generate cache data;
[0013] S300. Transmit the backend cache data to the frontend through the network;
[0014] S400. The front end performs screening and scheduling through 3DTiles, and restores the drilling feature data into a drilling model.
[0015] Furthermore, in S100, the key feature data of the drilling is extracted, including: first, the massive drilling data is segmented, then the segmented data is subjected to LOD grading, and finally the key feature data of the drilling is extracted.
[0016] Furthermore, the massive drilling data is segmented according to the distribution density characteristics of the drilling data; among them, the drilling data is segmented by the quadtree method or the K-D tree method.
[0017] Furthermore, the drilling data is segmented by the quadtree method, including:
[0018] S101. Divide the rectangular space where the distribution range of the drilling is located into four equal parts.
[0019] S102. Count whether the number of drillings in each area exceeds the set maximum drilling number threshold.
[0020] S103. If it exceeds the threshold, divide this area into four equal parts again.
[0021] S104. Repeat steps S102 and S103 until the number in all segments does not exceed the threshold.
[0022] Furthermore, the drilling data is segmented by the K-D tree method, including:
[0023] S111. Find an axis in the X direction to divide the rectangular space where the distribution range of the drilling is located into two equal parts, and at the same time ensure that the number of drillings in the two areas is the same.
[0024] S112. For each area, find an axis in the Y direction to divide the area into two equal parts, and at the same time ensure that the number of drillings in the two areas is the same.
[0025] S113. Repeat steps S111 and S112 until the number of drillings in all segments does not exceed the set maximum drilling number threshold.
[0026] Furthermore, the segmented data is subjected to LOD grading, which is divided into three levels, specifically including: ROOT level, point level and hierarchical level; among them:
[0027] The ROOT level is the root node, which does not record the specific drilling data, only records the overall range of the drilling, and is ignored during rendering.
[0028] Point level, which is the coordinate node of the borehole, includes the borehole id, three-dimensional coordinates x, y, z and depth, and realizes the rendering of the position and depth marks of the borehole; at the same time, the formation id, formation color and pattern required for the layered rendering of the boreholes in the current block are also recorded at this level for subsequent use in the layered rendering of multiple boreholes, thus avoiding repeated recording of formation-related data in the lower layer level.
[0029] Layer level, records the layer id and layer elevation z of the borehole min 、z max ; Combining the formation id, formation color and formation pattern recorded in the parent level, realizes the rendering of the borehole column model.
[0030] Furthermore, extract the key feature data of the borehole. The key feature data includes: a set of positioning data and multiple sets of layered data; among them:
[0031] A set of positioning data, including the borehole id, three-dimensional coordinates x, y, z and depth, realizes the positioning and depth marking of the borehole;
[0032] Multiple sets of layered data, each set of layers includes the borehole id, layer id, layer elevation z min 、z max 、layer color and layer pattern; the same layers may appear in multiple boreholes, and the colors and patterns of the layers are shared by multiple boreholes; recorded in the parent LOD of the layer level to realize the sharing of pattern and color data for the boreholes in the same block.
[0033] Furthermore, generate cache data in S200, generate 3DTiles custom cache according to the data format of 3DTiles; in 3DTiles, for the binary cache data, the first 4 bytes of its header are the magic string, which is used to mark the data format.
[0034] Furthermore, in S400, the front end performs screening and scheduling through 3DTiles to restore the borehole feature data into a borehole model, specifically including: in the customized borehole rendering directory, realizing data parsing and rendering according to the data format; for the data at the Root level, do not render it, or render a rectangular range; for the data at the point level, render the borehole point to identify the position of the borehole; at the same time, mark the depth of the borehole; for the data at the formation level, render the borehole column, where the horizontal spatial position of the borehole is obtained from the parent level through the borehole id; the pattern and color are obtained from the parent level through the formation id.
[0035] The beneficial effects of the above technical solutions provided by the embodiments of the present invention at least include:
[0036] A 3DTiles-based three-dimensional drilling cache generation, loading and scheduling method disclosed by the present invention includes: extracting key feature data of a borehole; constructing an LOD based on the extracted key feature data of the borehole to generate cache data; transmitting the backend cache data to the frontend through a network; and the frontend performing screening and scheduling through 3DTiles to restore the borehole feature data into a borehole model. Based on the features of the borehole data itself, the present invention dynamically constructs the model of the data and then performs rendering, which will have better rendering effects and efficiency. Compared with directly generating 3DTiles, it has the following advantages:
[0037] 1. It will greatly reduce the data volume, thereby greatly improving the network transmission efficiency of the data. Only the orifice coordinates of the borehole and the top and bottom plate elevations of each layer are required, combined with the formation pattern and color, without the need to transmit the model data of all cylindrical layers of the borehole.
[0038] 2. Vector rendering can be performed, such as the number of sides and radius of the borehole cylinder can be modified in real time.
[0039] 3. Customized rendering can be performed, such as rendering the nearby boreholes as cylinders and the distant ones as lines or points.
[0040] The technical solution of the present invention will be further described in detail below with reference to the drawings and embodiments. Description of the Drawings
[0041] The drawings are used to provide a further understanding of the present invention and constitute a part of the specification. They are used together with the embodiments of the present invention to explain the present invention and do not constitute a limitation to the present invention. In the drawings:
[0042] Figure 1 This is a 3DTiles-based three-dimensional drilling cache generation, loading and scheduling method in Embodiment 1 of the present invention. Detailed Embodiments
[0043] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the drawings. Although the exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0044] To solve the problems existing in the prior art, an embodiment of the present invention provides a 3DTiles-based three-dimensional drilling cache generation, loading and scheduling method.
[0045] Embodiment 1
[0046] This embodiment discloses a three-dimensional drilling cache generation, loading and scheduling method based on 3DTiles, as follows Figure 1 , including:
[0047] S100. Extract the key feature data of the drilling holes; in this embodiment, extracting the key feature data of the drilling holes includes: first, dividing the massive drilling hole data into blocks, then performing LOD grading on the divided data, and finally extracting the key feature data of the drilling holes.
[0048] Specifically, for the extraction of drilling hole data, first divide the massive drilling hole data into blocks. To ensure the speed of data transmission and processing, the data volume of a single block should not be too large, for example, not more than 5000 drilling holes. Then, it is necessary to perform LOD grading on the data to support the front end to render models with different precisions at different distances. The closer the distance, the finer the model. This can avoid problems such as rendering lag caused by too large a model data volume in the scene. Finally, extract the key feature data of the drilling holes, including information such as coordinates, layer elevation, formation pattern color, etc.
[0049] In this embodiment, the position distribution of the drilling hole data in the horizontal space may be uneven. Therefore, conventional uniform grid partitioning usually cannot be used. It is necessary to perform partitioning according to the distribution density characteristics of the data. For example, in areas with dense data, the partitioning is finer; while in areas with sparse data, the partitioning can be larger.
[0050] Divide the massive drilling hole data into blocks according to the distribution density characteristics of the drilling hole data; among them, use the quadtree method or the K-D tree method to divide the drilling hole data into blocks.
[0051] Among them, using the quadtree method to divide the drilling hole data into blocks includes:
[0052] S101. Divide the rectangular space where the distribution range of the drilling holes is located into four equal parts;
[0053] S102. Count whether the number of drilling holes in each block area exceeds the set maximum drilling hole number threshold;
[0054] S103. If it exceeds the threshold, divide this area into four equal parts again;
[0055] S104. Repeat steps S102 and S103 until the number in all blocks does not exceed the threshold.
[0056] Among them, using the K-D tree method to divide the drilling hole data into blocks includes:
[0057] S111. Find an axis in the X direction to divide the rectangular space where the distribution range of the drilling holes is located into two equal parts, while ensuring that the number of drilling holes in the two block areas is the same;
[0058] S112. For each area, find an axis in the Y direction to divide the area into two parts while ensuring that the number of drill holes in the two areas is the same;
[0059] S113. Repeat steps S111 and S112 until the number of drill holes in all divided blocks does not exceed the set maximum drill hole number threshold.
[0060] In this embodiment, there is a very crucial parameter geometricError, that is, the geometric space error of the model. This error value identifies the spatial coordinate error of the model when the model changes from the parent LOD to the child LOD. 3DTiles automatically calculates whether LOD switching is required during rendering based on the spatial distance identified by this error. If this value is set unreasonably, it is very likely to cause problems such as low rendering efficiency and unnatural and jerky LOD level switching.
[0061] Perform LOD classification on the divided data, which is divided into three levels, specifically including: ROOT level, point level, and stratification level; among them:
[0062] The Root level, that is, the root node, does not record specific drill hole data, but only records the overall range of the drill holes. During rendering, it can be ignored, and the latter renders the horizontal distribution range rectangle of the drill holes. After testing, the geometricError of this level can be set to 3000. The subsequent sub-levels are successively divided by 2 until the error is 0.
[0063] The point level, that is, the coordinate node of the drill hole, can include the id of the drill hole, three-dimensional coordinates x, y, z, and depth. Thus, at this level, the rendering of the position and depth marks of the drill holes is realized. Of course, this level can be further subdivided into multiple levels as needed. The parent level is the data extraction level of the sub-level and does not contain all the drill hole point data to achieve the rendering of massive data. At the same time, the formation id, formation color, and pattern required for the stratified rendering of the drill holes in the current block can also be centrally recorded at this level for subsequent use in the stratified rendering of multiple drill holes, thus avoiding repeated recording of formation-related data in the following stratification level.
[0064] The stratification level records the stratification id, stratification elevation zmin, and zmax of the drill hole. Combining with the formation id, formation color, and formation pattern recorded in the previous level, the rendering of the drill hole column model can be realized.
[0065] In this embodiment, for the extraction of key feature data of the drill hole, the key feature data includes: a set of positioning data and multiple sets of stratification data; among them:
[0066] A set of positioning data, including the drill hole id, three-dimensional coordinates x, y, z, and depth, realizes the positioning and depth marking of the drill hole;
[0067] Multiple groups of hierarchical data, each group of hierarchy including borehole id, hierarchy id, and hierarchical elevation z min 、z max 、hierarchical color and hierarchical pattern; the same hierarchy may appear in multiple boreholes, and the colors and patterns of the hierarchies are shared by multiple boreholes; recorded in the parent LOD of the hierarchical level to achieve sharing of pattern and color data for boreholes in the same block.
[0068] S200. Construct an LOD based on the extracted key feature data of the boreholes and generate cached data; in this embodiment S200, when generating cached data, generate a 3DTiles custom cache according to the data format of 3DTiles; in 3DTiles, for the binary cached data, the first 4 bytes of its header are the magic string, which is used to mark the data format.
[0069] Specifically, after chunking, constructing the LOD, and extracting the key data of the boreholes, a 3DTiles custom cache can be generated according to the data format of 3DTiles.
[0070] In 3DTiles, for the binary cached data, the first 4 bytes of its header are the magic string, which is used to mark the data format. Common ones include b3dm, i3dm, glb, etc. When the front-end renders the model, different rendering strategies are adopted according to this magic string. Here, it is agreed that the magic string of the borehole cache data is drll.
[0071] S300. Transmit the backend cached data to the front-end through the network; in this embodiment, the network transmission method is not limited, including but not limited to wired network transmission methods and wireless network transmission methods.
[0072] S400. The front-end performs filtering and scheduling through 3DTiles to restore the borehole feature data into a borehole model. Specifically, 3DTiles provides a complete set of rendering scheduling mechanisms, which can achieve efficient rendering of massive data with chunked multi-level LOD. Regarding which data in the 3DTiles cache should be rendered and which should not be rendered, 3DTiles has implemented a relatively complete mechanism. However, how the data is rendered still requires custom development.
[0073] Since a custom binary format data is used when generating the 3DTiles custom cache and the magic string is drll. Therefore, it is natural to also extend the rendering module of 3DTiles and customize the rendering directory for borehole data. Otherwise, 3DTiles cannot render the custom binary cached data.
[0074] In this embodiment S400, the front end performs screening and scheduling through 3DTiles to restore the drilling feature data into a drilling model, which specifically includes: in the customized drilling rendering directory, realizing the parsing and rendering of data according to the data format; for the data at the Root level, no rendering is performed, or a rectangular range is rendered; for the data at the point level, the drilling points are rendered to mark the positions of the drill holes; meanwhile, the depths of the drill holes are marked; for the data at the stratum level, the drilling columns are rendered, where the horizontal spatial positions of the drill holes are obtained from the parent level through the drill hole id; the patterns and colors are obtained from the parent level through the stratum id. To improve the rendering performance and reduce the model data volume in the scene, the rendering accuracy of the model can also be dynamically adjusted according to the distance between the camera and the model. The closer the distance, the finer the rendering.
[0075] A three-dimensional drilling cache generation, loading and scheduling method based on 3DTiles disclosed in this embodiment includes: extracting the key feature data of the drill hole; constructing LOD based on the extracted key feature data of the drill hole to generate cache data; transmitting the backend cache data to the front end through the network; the front end performs screening and scheduling through 3DTiles to restore the drilling feature data into a drilling model. Based on the characteristics of the drilling data itself, this embodiment dynamically constructs the data model and then performs rendering, which will have better rendering effects and efficiency. Compared with directly generating 3DTiles, it has the following advantages:
[0076] 1. It will greatly reduce the data volume, and thus greatly improve the network transmission efficiency of the data. Only the orifice coordinates of the drill hole and the top and bottom plate elevations of each layer are required, combined with the stratum patterns and colors, without the need to transmit the model data of all cylindrical layers of the drill hole;
[0077] 2. Vector rendering can be performed, such as the number of sides and radius of the drill hole cylinder can be modified in real time;
[0078] 3. Customized rendering can be performed, such as rendering the nearby drill holes as cylinders and the distant ones as lines or points.
[0079] It should be understood that the specific order or hierarchy of the steps in the disclosed process is an example of an exemplary method. Based on design preferences, it should be understood that the specific order or hierarchy of the steps in the process can be rearranged without departing from the protection scope of the present disclosure. The appended method claims present the elements of the various steps in an exemplary order and are not intended to be limited to the specific order or hierarchy.
[0080] In the foregoing detailed description, various features are combined in a single embodiment to simplify the disclosure. This method of disclosure should not be interpreted as reflecting an intention that the embodiments of the claimed subject matter require more features than are expressly recited in each claim. Rather, as reflected in the appended claims, the invention lies in less than all of the features of a single disclosed embodiment. Accordingly, the appended claims are hereby expressly incorporated into the detailed description, with each claim standing on its own as a separate preferred embodiment of the invention.
[0081] Those skilled in the art should also understand that the various illustrative logical blocks, modules, circuits, and algorithmic steps described in connection with the embodiments herein can be implemented as electronic hardware, computer software, or combinations thereof. To clearly illustrate the interchangeability of hardware and software, the various illustrative components, blocks, modules, circuits, and steps have been generally described in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in a flexible manner for each particular application, but such implementation decisions should not be interpreted as departing from the scope of the present disclosure.
[0082] The steps of a method or algorithm described in connection with the embodiments herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination thereof. The software module may be located in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. Of course, the storage medium may also be integral to the processor. The processor and the storage medium may be located in an ASIC. The ASIC may be located in a user terminal. Of course, the processor and the storage medium may also exist as discrete components in a user terminal.
[0083] For a software implementation, the techniques described in this application can be implemented using modules (e.g., procedures, functions, etc.) that perform the functions described in this application. These software codes can be stored in a memory unit and executed by a processor. The memory unit may be implemented within the processor or outside the processor, and in the latter case, it is communicatively coupled to the processor by various means, which are well known in the art.
[0084] The foregoing description includes examples of one or more embodiments. Of course, it is not possible to describe all possible combinations of components or methods for the purpose of describing the above embodiments, but those of ordinary skill in the art should recognize that the various embodiments can be further combined and arranged. Accordingly, the embodiments described herein are intended to cover all such changes, modifications, and variations that fall within the scope of the appended claims. In addition, with respect to the term "comprising" as used in the specification or claims, that term is inclusive in a manner similar to the term "including," as that term is interpreted when used as a transitional word in a claim. Further, any use of the term "or" in the specification or claims is to be meant "non-exclusive or."
Claims
1. A method for generating, loading, and scheduling 3D drilling caches based on 3DTiles, characterized in that, Including: S100. Extract key feature data of boreholes; specifically including: First, block the massive borehole data, then perform LOD grading on the blocked data, and finally extract the key feature data of the boreholes; Perform LOD grading on the blocked data, which is divided into three levels, specifically including: ROOT level, point level, and layer level; where: The ROOT level is the root node, which does not record specific borehole data, but only records the overall range of the borehole. When rendering, it is ignored; The point level is the coordinate node of the borehole, which contains the borehole id, three-dimensional coordinates x, y, z, and depth, and realizes the rendering of the position and depth marks of the borehole; at the same time, the formation id, formation color, and pattern required for the layered rendering of the boreholes in the current block are also recorded at this level for subsequent use in the layered rendering of multiple boreholes, so as to avoid repeated recording of formation-related data in the following layer level; Hierarchical level, record the hierarchical ID and hierarchical elevation z of the borehole min 、z max ; Combine the formation ID, formation color, and formation pattern recorded in the parent level to achieve the rendering of the borehole column model; For the extraction of key feature data of boreholes, the key feature data includes: a set of positioning data and multiple sets of layered data; where: A set of positioning data includes the borehole id, three-dimensional coordinates x, y, z, and depth, and realizes the positioning and depth marking of the borehole; Multiple sets of stratified data, each set of stratification including borehole id, stratification id, and stratification elevation z min , z max , stratification color and stratification pattern; the same stratification may appear in multiple boreholes, and the color and pattern of the stratification are shared by multiple boreholes; recorded in the parent LOD of the stratification level to enable boreholes in the same block to share pattern and color data; S200. According to the extracted key feature data of the boreholes, construct LOD and generate cache data; S300. Transmit the backend cache data to the frontend through the network; S400. The frontend performs screening and scheduling through 3DTiles and restores the borehole feature data into a borehole model.
2. The method for generating, loading, and scheduling 3D drilling caches based on 3DTiles according to claim 1, characterized in that, Block the massive borehole data. According to the distribution density characteristics of the borehole data, perform blocking; among them, the borehole data is blocked by the quadtree method or the K-D tree method.
3. The method for generating, loading, and scheduling 3D drilling caches based on 3DTiles according to claim 2, characterized in that, Block the borehole data by the quadtree method, including: S101. Divide the rectangular space where the distribution range of the boreholes is located into four equal parts; S102. Count whether the number of boreholes in each area exceeds the set maximum borehole number threshold; S103. If it exceeds the threshold, divide this area into four equal parts again; S104. Repeat steps S102 and S103 until the number in all blocks does not exceed the threshold.
4. The method for generating, loading, and scheduling 3D drilling caches based on 3DTiles according to claim 2, characterized in that, Block the borehole data by the K-D tree method, including: S111. Find an axis in the X direction to divide the rectangular space where the distribution range of the boreholes is located into two equal parts, and at the same time ensure that the number of boreholes in the two areas is the same; S112. For each area, find an axis in the Y direction to divide the area into two equal parts, and at the same time ensure that the number of boreholes in the two areas is the same; S113. Repeat steps S111 and S112 until the number of boreholes in all blocks does not exceed the set maximum borehole number threshold.
5. The method for generating, loading, and scheduling 3D drilling caches based on 3DTiles according to claim 1, characterized in that, Generate cache data in S200. Generate 3DTiles custom cache according to the data mode of 3DTiles; in 3DTiles, for the binary cache data, the first 4 bytes of its header are the magic string, which is used to mark the data format.
6. The method for generating, loading, and scheduling 3D drilling caches based on 3DTiles according to claim 1, characterized in that, In the S400, the front end performs screening and scheduling through 3DTiles to restore the borehole feature data into a borehole model, specifically including: in the customized borehole rendering directory, realizing the parsing and rendering of data according to the data format; for the data at the Root level, no rendering is performed, or a rectangular range is rendered; for the point-level data, the borehole points are rendered to mark the positions of the boreholes; at the same time, the depths of the boreholes are marked; for the stratum-level data, the borehole columns are rendered, where the horizontal spatial positions of the boreholes are obtained from the parent level through the borehole id; the patterns and colors are obtained from the parent level through the stratum id.
Citation Information
Patent Citations
Method for stimulating and displaying geological drilling information on digital earth software platform
CN103345540A
Cross-layer scheduling method and system based on OSG rendering 3D Tiles model and electronic equipment
CN114168219A