Method for quickly searching city geological survey data based on spatial index
Patent Information
- Application Number
- CN202611382135.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-08
- Publication Date
- 2026-10-09
AI Technical Summary
[0003]在上述现有方案中,空间索引仅承载水平方向的坐标信息,深度和地层属性的约束只能交由后续的属性过滤环节处理,执行查询时,系统先利用空间索引从全部钻孔中筛选出落在目标区域内的钻孔集合,再遍历该集合,依次读取每个钻孔所关联的地层记录,从中判别是否存在符合深度区间与岩性等条件的层位,这一做法将水平空间筛选与垂向条件判断完全解耦,使得深度和地层属性所构成的强约束条件无法在空间索引遍历阶段参与裁剪,大量虽处于目标区域但深部地层并不满足查询条件的钻孔,仍然需要被读取和逐层解析,由此产生大量冗余的输入输出操作和无效计算,导致复合空间查询的响应时间难以满足实时交互的使用需求
1.本方法通过对空间索引中每个叶节点预构建虚拟钻孔体,将叶节点区域内各钻孔的岩性分层信息沿深度方向融合为分段标记,使得原本仅承载水平坐标的空间索引具备了对垂向岩性分布的直接感知能力,在检索过程中,当查询请求包含目标深度区间和目标岩性组合时,系统无需等待进入属性过滤阶段即可在索引遍历环节利用虚拟钻孔体的分段标记和分段支持度对叶节点进行初步裁剪,将重叠段中未出现目标岩性且支持度平均值达到预设平均阈值的叶节点归入排除集,使得大量不满足垂向条件的钻孔在索引层面被提前终止处理,避免了现有方案中先捞取海量钻孔再逐层解析所带来的冗余输入输出操作。
Smart Images

Figure CN122885031A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of geographic information data retrieval technology in electronic digital data processing, and more specifically, to a method for rapid retrieval of urban geological survey data based on spatial indexing. Background Technology
[0002] Urban geological surveys accumulate a wealth of borehole data, which forms the foundation for obtaining information on underground soil and rock strata, physical and mechanical properties, and groundwater occurrence. This data is also a core basis for subsequent urban planning and engineering site evaluation. In geological data management systems, to support spatial retrieval of boreholes, each borehole is typically abstracted as a two-dimensional point element. Its borehole plane coordinates serve as the spatial location benchmark, constructing a horizontal spatial index based on a grid or tree structure. The information on various soil and rock layers revealed by the borehole, in-situ test data, etc., are stored as attribute records in a relational table, linked to the spatial index through borehole identifiers. When a composite query is required based on conditions of "a specified planar area meeting specific depth and stratigraphic attributes," such systems will initiate a separate spatial index scan based on the query request.
[0003] In the existing solutions described above, the spatial index only carries horizontal coordinate information. The constraints of depth and stratigraphic attributes can only be handled by the subsequent attribute filtering stage. When executing a query, the system first uses the spatial index to filter out the set of boreholes that fall within the target area from all boreholes. Then, it traverses the set and reads the stratigraphic records associated with each borehole in turn to determine whether there are any strata that meet the conditions such as depth range and lithology. This approach completely decouples the horizontal spatial filtering from the vertical condition judgment, so that the strong constraints formed by depth and stratigraphic attributes cannot participate in the pruning during the spatial index traversal stage. A large number of boreholes that are in the target area but whose deep strata do not meet the query conditions still need to be read and parsed layer by layer. This results in a large number of redundant input and output operations and invalid calculations, making it difficult for the response time of composite spatial queries to meet the needs of real-time interactive use. Summary of the Invention
[0004] To overcome the aforementioned deficiencies of the prior art, this invention provides a rapid retrieval method for urban geological survey data based on spatial indexing to address the problems mentioned in the background art.
[0005] To achieve the above objectives, the present invention provides the following technical solution: A rapid retrieval method for urban geological survey data based on spatial indexing includes the following steps: S1: Receive query requests, including target plane range, target depth range, and target lithological combination; S2: Identify all leaf nodes that intersect with the target plane range in the pre-built spatial index; each leaf node is associated with a virtual borehole body, which is formed by fusing lithological stratification information of each borehole in the leaf node region, and the lithology is marked in segments along the depth, with each segment having support; S3: For each intersecting leaf node, the segments in the virtual borehole that fall into the target depth range are taken as overlapping segments; if the target lithology does not appear in the overlapping segment and the average support of each segment in the overlapping segment reaches the preset average threshold, it is included in the exclusion set; otherwise, it is included in the retention set. S4: For leaf nodes in the exclusion set, obtain the lithological stratification sequence of the borehole corresponding to the leaf node and the segmentation label sequence of the virtual borehole body, and solve the minimum editing cost that maximizes the lithological matching of the two sequences; if the minimum editing cost exceeds the preset cost threshold, remove it from the exclusion set and place it into the retention set; S5: For the leaf nodes that are retained in the concentration, the layered records of the boreholes corresponding to the leaf nodes are determined layer by layer according to the target depth range and the target lithology combination, and the borehole and layer information that are simultaneously satisfied are filtered out. S6: Outputs the filtered borehole and stratum information.
[0006] Furthermore, S1 includes: Obtain the query space range defined by the user on the interactive interface, and resolve the query space range into the target plane range; Obtain the depth start and end values set by the user on the interactive interface, and parse the depth start and end values into the target depth range; The system obtains the stratigraphic filtering conditions entered by the user in the form of a list of lithology identifiers on the interactive interface, parses the list of lithology identifiers into target lithology combinations, and ensures that the order of each lithology in the target lithology combination is consistent with the standard stratigraphic sequence.
[0007] Furthermore, S2 includes: Extract all leaf nodes that intersect with the target plane range from the pre-built spatial index; For any extracted leaf node, the lithological stratification records of all boreholes within the corresponding leaf node area are uniformly arranged along the depth direction and divided into multiple segments from the minimum depth to the maximum depth of the borehole group according to the preset segment thickness. For each segment, all lithologies in the lithological stratification records falling within the corresponding segment are used as lithological markers for the corresponding segment. The number of boreholes with corresponding lithological markers is counted, and the ratio of the number of boreholes to the total number of boreholes within the corresponding leaf node is used as the support of the corresponding segment. This creates a virtual borehole associated with the corresponding leaf node.
[0008] Furthermore, all lithologies in the lithological stratification records falling within the corresponding segment are used as lithological markers for the corresponding segment, including: When multiple lithological stratification records exist within the same segment of the same borehole, the lithology of each of the multiple lithological stratification records will be used as the lithology marker for the corresponding segment. When there is only one lithological layer record in the same section of the same borehole, the lithology with a lithological layer thickness exceeding the preset threshold of the section thickness is used as the lithological marker of the corresponding section. The lithology with a lithological layer thickness not exceeding the preset threshold of the section thickness is merged with the lithological markers of the adjacent sections in the corresponding section and then marked.
[0009] Furthermore, S3 includes: For each intersecting leaf node, the segments in the virtual borehole whose depth coordinates fall within the target depth range are taken as overlapping segments; Check whether any target lithology from the target lithology combination appears in the lithology markers of each segment of the overlapping section; When no target lithology appears in any segment of the overlapping section, the support of each segment of the overlapping section is extracted, and the average value of the support of the entire overlapping section is calculated. The average support is compared with a preset average threshold. If the average support reaches the preset average threshold, the corresponding intersecting leaf node is added to the exclusion set; otherwise, the corresponding intersecting leaf node is added to the retention set.
[0010] Furthermore, check whether any target lithology from the target lithological assemblage appears in the lithological markers of each segment of the overlapping section, including: Arrange the target lithologies in the target lithology assemblage according to their order of appearance in the standard stratigraphic sequence to form the target lithology sequence; After arranging the overlapping segments in ascending order of depth, check each segment to see if the lithological marker is consistent with any target lithology in the target lithological sequence. When the lithological marker of a segment in an overlapping segment matches any target lithology in the target lithological sequence, the overlapping segment is determined to contain the target lithology, and the inspection of subsequent segments is terminated.
[0011] Furthermore, S4 includes: For each leaf node in the exclusion set, extract the lithological stratification records of all boreholes corresponding to the leaf node in ascending order of depth, and summarize the lithological stratification records of each borehole into a lithological stratification sequence. The lithological markers of each segment of the virtual borehole body were extracted in ascending order of depth and summarized into a segment marker sequence; Using insertion, deletion, and replacement as editing operations, we construct an editing path that maximizes the number of lithological matches when transforming a lithological stratification sequence into a segmented marker sequence, and take the number of editing operations for the corresponding editing path as the minimum editing cost. The minimum editing cost is compared with a preset cost threshold. If the minimum editing cost exceeds the preset cost threshold, the corresponding leaf node is removed from the exclusion set and placed into the retention set.
[0012] Furthermore, an edit path is constructed that maximizes the number of lithological matches when transforming a lithological stratification sequence into a segmented marker sequence, including: The lithology in the lithological stratification sequence is matched with the lithological markers in the segmented marker sequence according to their depth positions; Locations where the lithology at a depth point matches the lithological marker are considered matching locations, while locations where the lithology at a depth point does not match the lithological marker are considered non-matching locations. For non-matching positions, the number of edits for insertion, deletion, and replacement operations are calculated in ascending order of depth. The edit operation sequence with the minimum cumulative number of edits and the maximum number of matching positions is selected as the edit path, and the cumulative number of edits corresponding to the edit path is taken as the minimum edit cost.
[0013] Furthermore, S5 includes: For each leaf node in the retained set, extract the lithological stratification records of each borehole corresponding to the corresponding leaf node one by one; For each borehole, the lithological stratification record is compiled, and the depth start and end values and lithology of each stratum are read in ascending order of depth. The depth start and end values are included in the target depth range, and the lithology is matched with the target lithology combination. Strata with depth start and end values falling within the target depth range and lithology matching the target lithology combination are marked as stratigraphic information that simultaneously satisfies the target depth range and the target lithology combination. Collect the marked stratigraphic information and the boreholes to which they belong, as the filtered borehole and stratigraphic information.
[0014] Furthermore, S6 includes: The filtered borehole and stratigraphic information is collected to generate a set of search results; The boreholes in the search results set are spatially sorted according to their planar coordinates falling within the target plane range, and the stratigraphic information corresponding to each borehole is arranged in ascending order of depth. The spatially sorted boreholes and their stratigraphic information arranged in ascending order of depth are output as search results.
[0015] Compared with the prior art, the present invention has the following beneficial effects: 1. This method preconstructs a virtual borehole body for each leaf node in the spatial index, and integrates the lithological stratification information of each borehole within the leaf node region into segmented markers along the depth direction. This enables the spatial index, which originally only carries horizontal coordinates, to directly perceive the vertical lithological distribution. During the retrieval process, when the query request includes the target depth range and the target lithological combination, the system can perform preliminary pruning of the leaf nodes in the index traversal stage using the segmented markers and segmented support of the virtual borehole body without waiting to enter the attribute filtering stage. Leaf nodes in the overlapping segments that do not contain the target lithology and whose average support reaches the preset average threshold are included in the exclusion set. This allows a large number of boreholes that do not meet the vertical conditions to be terminated in advance at the index level, avoiding the redundant input and output operations caused by first retrieving a massive number of boreholes and then parsing them layer by layer in the existing scheme.
[0016] 2. Building upon this, for leaf nodes in the exclusion set that may be mistakenly excluded due to distorted virtual borehole body summarization, this method further obtains the lithological stratification sequence of the corresponding borehole and the segmented label sequence of the virtual borehole body. By solving for the minimum editing cost that maximizes the lithological matching of the two sequences, and using whether the editing cost exceeds a preset cost threshold as the basis for judging the credibility of the summary, the leaf nodes with distorted summarization are moved back to the retention set and re-entered for layer-by-layer discrimination. Without compromising the index filtering efficiency, this method effectively remedies the erroneous exclusion of leaf nodes in sparse borehole areas or areas with complex lithological variations, ensuring that the retrieval results maintain both fast response and accuracy. Attached Figure Description
[0017] Figure 1 This is a flowchart of the method for rapid retrieval of urban geological survey data based on spatial indexing, as described in this invention. Detailed Implementation
[0018] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present invention.
[0019] Example: Figure 1 This invention presents a method for rapid retrieval of urban geological survey data based on spatial indexing, which includes the following steps: S1: Receive query requests, including target plane range, target depth range, and target lithological combination; S2: Identify all leaf nodes that intersect with the target plane range in the pre-built spatial index; each leaf node is associated with a virtual borehole body, which is formed by fusing lithological stratification information of each borehole in the leaf node region, and the lithology is marked in segments along the depth, with each segment having support; S3: For each intersecting leaf node, the segments in the virtual borehole that fall into the target depth range are taken as overlapping segments; if the target lithology does not appear in the overlapping segment and the average support of each segment in the overlapping segment reaches the preset average threshold, it is included in the exclusion set; otherwise, it is included in the retention set. S4: For leaf nodes in the exclusion set, obtain the lithological stratification sequence of the borehole corresponding to the leaf node and the segmentation label sequence of the virtual borehole body, and solve the minimum editing cost that maximizes the lithological matching of the two sequences; if the minimum editing cost exceeds the preset cost threshold, remove it from the exclusion set and place it into the retention set; S5: For the leaf nodes that are retained in the concentration, the layered records of the boreholes corresponding to the leaf nodes are determined layer by layer according to the target depth range and the target lithology combination, and the borehole and layer information that are simultaneously satisfied are filtered out. S6: Outputs the filtered borehole and stratum information.
[0020] When implementing S1, users perform search operations on the interactive interface of the urban geological data management system. The interface provides a spatial delineation tool, allowing users to draw closed polygons or rectangles on the electronic map using mouse dragging or touch gestures. The system acquires the coordinate sequence of the boundary nodes of the user-drawn closed polygons or rectangles. This sequence is obtained by transforming the sequentially collected screen coordinates into geographic coordinates through geographic projection; each boundary node contains a longitude and a latitude value. The system arranges the boundary node coordinate sequence clockwise, forming a closed coordinate loop. The system validates the closed coordinate loop by checking the number of boundary nodes, the self-intersection of boundary segments, and the area enclosed by the closed coordinate loop. If the number of boundary nodes is less than three, the system determines that the validation has failed and prompts the user to re-delineate the query spatial range on the interactive interface. If any two non-adjacent boundary segments intersect, the system determines that the validation has failed and prompts the user to re-delineate the query spatial range on the interactive interface. The system calculates the area enclosed by a closed coordinate ring by traversing adjacent vertex pairs in the boundary node coordinate sequence. It accumulates the results of multiplying the longitude of the first vertex by the latitude of the second vertex in each adjacent vertex pair, subtracts the result of multiplying the longitude of the second vertex by the latitude of the first vertex in the same pair, and then accumulates the difference. The absolute value of the accumulated difference is multiplied by 0.5 to obtain the area value enclosed by the closed coordinate ring. If the area value is zero or negative, the system determines that the verification has failed and prompts the user to re-define the query space on the interactive interface. If the verification of the number of boundary nodes, the self-intersection of boundary segments, and the area all pass, the system determines the planar region enclosed by the closed coordinate ring formed after verification as the target planar range. The system stores the target planar range as an array of polygon vertex longitude and latitude values, where the elements of the array are the longitude and latitude values of each boundary node on the closed coordinate ring.
[0021] The interactive interface provides a depth range setting control, which includes a depth start value input box and a depth end value input box. The user enters a value in the depth start value input box as the depth start value and another value in the depth end value input box as the depth end value. Both the start and end values are in meters and increase downwards from the surface. The system reads the values from the depth start and end value input boxes, setting the smaller value as the lower limit of the depth range and the larger value as the upper limit. The system performs validity checks on the lower and upper limits of the depth range, including verifying that the lower limit is not less than zero, the upper limit is greater than the lower limit, and the upper limit does not exceed the system's preset maximum depth limit. The maximum depth limit is a parameter configured in the system by the system administrator based on the maximum borehole depth of all boreholes in the survey area, rounded up to the nearest hundred meters. For example, if the maximum borehole depth in the survey area is 347 meters, rounding up to the nearest hundred meters yields 400 meters as the maximum depth limit. If the lower limit of the depth interval is less than zero, or the upper limit of the depth interval is less than or equal to the lower limit, or the upper limit of the depth interval is greater than the maximum depth limit, the system determines that the verification has failed and prompts the user to reset the start and end values of the depth on the interactive interface. If the lower limit of the depth interval is not less than zero, the upper limit of the depth interval is greater than the lower limit, and the upper limit of the depth interval does not exceed the maximum depth limit, the system determines that the verification has passed. The system parses the closed interval formed by the lower limit and the upper limit of the depth interval into the target depth interval and stores the target depth interval in the form of the lower limit value and the upper limit value.
[0022] The interactive interface provides an input area for a lithology identifier list, allowing users to input stratigraphic filtering criteria via text input or drop-down selection. Users enter one or more lithology identifiers in the input area, separated by commas or semicolons. All entered lithology identifiers constitute the lithology identifier list. After receiving the user-input lithology identifier list, the system divides it into several independent lithology items based on the separators. The system standardizes each lithology item by first removing leading and trailing whitespace characters, and then searching for and matching the resulting lithology items in a pre-established lithology synonym mapping table. The lithology synonym mapping table is maintained by the system administrator in the backend management interface. Each record in the lithology synonym mapping table contains a standard lithology name and one or more synonym aliases corresponding to that standard lithology name; for example, silty clay, sub-clay, and silty clay are all mapped to silty clay. If a lithology item matches an alias in the lithology synonym mapping table, the lithology item is replaced with the standard lithology name corresponding to that alias; otherwise, the original lithology item is retained. The system combines all lithology items obtained after standardization into a target lithology assemblage. The system accesses pre-established standard stratigraphic sequence data, which is a data table compiled from standard stratigraphic columns of the geological structural units to which the survey area belongs. The standard stratigraphic sequence data records the stratigraphic sequence number, stratigraphic name, and representative lithology of each stratigraphic unit from newest to oldest or from oldest to newest. The system compares each lithology in the target lithology assemblage with the representative lithology of each stratigraphic unit in the standard stratigraphic sequence data in turn to determine the stratigraphic sequence number of the first occurrence of each lithology in the standard stratigraphic sequence data. If a lithology does not find a match in any of the representative lithologies in the standard stratigraphic sequence data, the stratigraphic sequence number corresponding to that lithology is marked as unmatched. The system rearranges the lithologies in the target lithology assemblage according to their stratigraphic sequence numbers from smallest to largest, with lithologies marked as mismatched at the end of the target lithology assemblage. The rearranged order of lithologies in the target lithology assemblage is consistent with the shallow-to-deep direction of the standard stratigraphic sequence. For example, if the user inputs a list of lithology identifiers: moderately weathered limestone, silty clay, and silty soil, the system, after standardization, retains only three lithology items: moderately weathered limestone, silty clay, and silty soil. The system compares these three lithology items with representative lithologies of each stratigraphic unit in the standard stratigraphic sequence data, determining that silty clay has the smallest stratigraphic sequence number, silty soil has the middle sequence number, and moderately weathered limestone has the largest. Based on this, the system rearranges the target lithology assemblage as silty clay, silty soil, and moderately weathered limestone. The rearranged target lithology assemblage is stored by the system and used as a target lithology assemblage in subsequent retrieval steps for lithology matching.
[0023] When implementing S2, the pre-construction of the spatial index is completed offline. The borehole plane coordinates of all boreholes within the urban geological survey area are used as the geometric centers of the spatial objects, with each borehole corresponding to one spatial object. An R-tree structure is used to organize the minimum bounding rectangles of all spatial objects, dividing them layer by layer from top to bottom until the number of boreholes contained in each leaf node does not exceed the preset maximum node capacity. The preset maximum node capacity is set by the system administrator through the configuration interface, for example, to 50 boreholes. The leaf nodes of the R-tree store a list of borehole identifiers associated with each borehole and the minimum bounding rectangle corresponding to the leaf node. The spatial index thus established is persistently stored in the index repository of the geological data management system and incrementally maintained when new boreholes are added or borehole coordinates are updated.
[0024] Upon receiving the target plane range, extract all leaf nodes intersecting with the target plane range from the pre-constructed spatial index. Traverse the root node of the R-tree, starting from the root node and proceeding downwards layer by layer to determine the positional relationship between the minimum bounding rectangle of each node and the polygon of the target plane range. For non-leaf nodes, if the minimum bounding rectangle of a non-leaf node intersects any edge of the polygon of the target plane range, or if the minimum bounding rectangle of a non-leaf node is completely contained within the polygon of the target plane range, or if the minimum bounding rectangle of a non-leaf node completely contains the polygon of the target plane range, then proceed to the child nodes of the non-leaf node for further evaluation. For leaf nodes, if the minimum bounding rectangle of a leaf node intersects with the polygon of the target plane range, or if the minimum bounding rectangle of a leaf node is completely contained within the polygon of the target plane range, then add the leaf node to the set of intersecting leaf nodes. After traversal, all leaf nodes intersecting with the target plane range are obtained.
[0025] For any leaf node in the extracted set of intersecting leaf nodes, obtain the lithological stratification records of all boreholes associated with that leaf node. The lithological stratification records for each borehole are imported from the original borehole logging data. Each record includes the top and bottom depths of the stratum and the lithological name. The units for both top and bottom depths are meters, increasing downwards from the surface. After collecting all the lithological stratification records, they are arranged uniformly along the depth direction, using depth as the sorting key. The top and bottom depths of each lithological stratification record are expanded sequentially to form a continuous depth range from the minimum depth to the maximum depth of the borehole group. The minimum depth of the borehole group is the minimum borehole opening depth among all boreholes within the leaf node. The maximum depth of the borehole group is the maximum final borehole depth among all boreholes within the leaf node. The system administrator sets a preset segment thickness in the system parameter configuration. The preset segment thickness is based on the average thickness of the borehole lithological stratification in the survey area, for example, set to 1 meter. Starting from the minimum depth of the borehole group, the continuous depth interval is divided into multiple consecutive depth segments with a preset segment thickness as the step size. Each depth segment has a segment number, a segment top depth, and a segment bottom depth. The segment top depth is equal to the starting depth of the depth segment, and the segment bottom depth is equal to the segment top depth plus the preset segment thickness. When the bottom depth of the last depth segment exceeds the maximum depth of the borehole group, the bottom depth of the last depth segment is aligned with the maximum depth of the borehole group.
[0026] For each segment, all lithologies in the lithological stratification records falling within the segment are used as lithological markers for that segment. The criterion for inclusion is the intersection of the top or bottom depth of the lithological stratification record with the segment's depth range. If multiple lithological stratification records exist within the same segment from the same borehole, the lithological names corresponding to each record are listed as lithological markers for the segment. For example, if a borehole contains silty clay at depths of 1.0 to 1.5 meters and silty mud at depths of 1.5 to 1.8 meters, and the segment range is from 1.0 to 2.0 meters, then the borehole contributes two lithological markers within that segment: silty clay and silty mud. If only one lithological stratification record exists within the same segment from the same borehole, the proportion of that lithological stratification record's thickness to the segment's thickness is calculated. The thickness of the lithological stratification record is equal to the bottom depth minus the top depth. If the calculated proportion exceeds a preset proportion threshold, the lithology recorded for that lithological layer is used as the lithology marker for that segment. The preset proportion threshold is set by the system administrator through the backend parameter configuration interface. The setting is based on the statistical analysis results of the borehole lithological layer thickness within the survey area. Thin lenses with a thickness less than a certain proportion of the segment thickness are considered interlayers without independent stratification significance, and this proportion is selected as the preset proportion threshold. If the proportion does not exceed the preset proportion threshold, the lithology recorded for that lithological layer is merged with the lithology markers of the adjacent segments within the segment before being marked. The merging and remarking process is as follows: Determine the lithological markings of the adjacent upper and lower segments. If the upper segment already has a marked lithology and the marked lithology in the upper segment is the same as the lithology in the current lithological stratification record, then the lithology in the current lithological stratification record is merged into the lithological markings of the upper segment, and the current segment will not repeat the marking of that lithology. If the marked lithology in the upper segment is different from the lithology in the current lithological stratification record, or if the upper segment does not have a marked lithology, then check the lower segment. If the lower segment already has a marked lithology that is the same as the lithology in the current lithological stratification record, then the lithology in the current lithological stratification record is merged into the lithological markings of the lower segment. If neither the upper nor the lower segment has a marked lithology that is the same as the lithology in the current lithological stratification record, then the lithology in the current lithological stratification record is merged into the lithological markings of the upper segment.
[0027] While determining the lithological markers for each segment, the number of boreholes exhibiting those markers is counted. For each segment, a mapping relationship is established from lithological markers to a set of borehole identifiers. The lithological markers contributed by the lithological stratification records of all boreholes within the segment are traversed, and each borehole identifier is added to the corresponding set of borehole identifiers. After traversal, for each lithological marker, the number of borehole identifiers in the corresponding set is calculated to obtain the number of boreholes exhibiting that lithological marker. The ratio of the number of boreholes exhibiting that lithological marker to the total number of boreholes within the leaf node is used as the support of that lithological marker in the segment. If multiple lithological markers exist within a segment, each lithological marker has its own support. After the above processing, each segment corresponds to a set of lithological markers and their respective support. All depth segments are arranged according to their segment numbers, and the top and bottom depths of each depth segment are recorded, thus forming a virtual borehole volume associated with the leaf node. The virtual borehole volume is stored in memory or an index database in the form of a data structure for subsequent retrieval steps.
[0028] When implementing S3, for each intersecting leaf node in the set of intersecting leaf nodes, the virtual borehole volume associated with that intersecting leaf node in S2 is obtained. The virtual borehole volume contains multiple segments arranged along the depth direction. Each segment has a segment top depth, a segment bottom depth, a set of lithological markers, and a support value corresponding to each lithological marker. The support value represents the proportion of the number of boreholes involved in the lithological markers of the segment to the total number of boreholes within the leaf node.
[0029] For the acquired virtual borehole, segments whose depth coordinates fall within the target depth range are selected as overlapping segments. The method for determining whether depth coordinates fall within the target depth range is as follows: the depth range of the segment is intersected with the target depth range, where the segment's depth range consists of its top and bottom depths. If the top depth of the segment is less than the upper limit of the target depth range, and the bottom depth is greater than the lower limit, the segment's depth coordinates are considered to fall within the target depth range. All segments of the virtual borehole are traversed, and segments meeting the above criteria are extracted sequentially and arranged in ascending order of depth to form an overlapping segment sequence. Each segment in the overlapping segment sequence retains its original lithological markers and support within the virtual borehole.
[0030] Check if any target lithology from the target lithology assemblage appears in the lithological markers of each segment of the overlapping section. Arrange the target lithologies in the target lithology assemblage according to their order of appearance in the standard stratigraphic sequence to form the target lithology sequence. The standard stratigraphic sequence data is a table of standard stratigraphic columnar data of the geological structural units to which the survey area belongs, imported during the system initialization phase. The standard stratigraphic sequence data records representative lithologies of each stratigraphic unit from shallow to deep. The order of the target lithologies in the target lithology sequence is the same as the order of appearance of the representative lithologies in the standard stratigraphic sequence data. Arrange each segment in the overlapping section sequence in ascending order of depth, from shallow to deep. Starting from the shallowest segment in the overlapping section sequence, extract all lithological markers for each segment. Compare the extracted lithological markers with each target lithology in the target lithology sequence. The string comparison method is to remove leading and trailing whitespace characters from both the lithological marker string and the target lithology string, convert them to the same uppercase and lowercase form, and then determine whether the character sequences of the two strings are completely identical. If any lithological marker in a segment of the overlapping section matches the character sequence of any target lithology in the target lithology sequence after string comparison, the overlapping section is determined to contain the target lithology in the target lithology combination. This determination result is recorded, and the comparison of lithological markers in subsequent segments of the overlapping section sequence is immediately terminated. If, after comparing segment by segment from the shallowest to the deepest segment in the overlapping section sequence, the string comparison results of all lithological markers in all segments and all target lithologies in the target lithology sequence are not completely consistent, then it is determined that no target lithology appears in any segment of the overlapping section.
[0031] When no target lithology appears in any segment of the overlapping section, the support of each segment in the overlapping section sequence is extracted. The support extraction method is as follows: traverse each segment in the overlapping section sequence. If a segment has only one lithology marker, extract the support corresponding to the lithology marker as the support extraction value for that segment; if a segment has multiple lithology markers, extract the support corresponding to each of the lithology markers as the support extraction value for that segment. After extraction, all support extraction values are uniformly included in the support value set. The preset average threshold is a numerical parameter set by the system administrator through the backend parameter configuration interface. The preset average threshold is determined based on the following: during the system testing phase, the support distribution of the virtual borehole overlapping segments that led to false and true exclusion cases in historical queries is statistically analyzed. The support boundary value that maximizes the distinction between falsely excluded nodes and true excluded nodes is selected as the preset average threshold. The preset average threshold is a value that is not less than 0 and not greater than 1. Calculate the arithmetic mean of all support values extracted from the support value set. The calculation method is to sum all support values extracted from the support value set and divide by the total number of support values extracted. The result is used as the support average.
[0032] The average support is compared with a preset average threshold. If the average support is greater than or equal to the preset average threshold, it indicates that the lithological marker information of the intersecting leaf node in the corresponding segment of the target depth interval in the virtual borehole body has sufficient credibility, and no target lithology is detected under this credibility. In this case, the intersecting leaf node is included in the exclusion set. The exclusion set is a set of leaf nodes used to store leaf nodes that are initially determined not to contain boreholes that meet the query conditions. If not all segments of the overlapping segment are devoid of any target lithology, that is, at least one segment in the overlapping segment contains any target lithology in the target lithology combination, the intersecting leaf node is included in the retention set. If no target lithology is found in any segment of the overlapping segment, but the average support is less than the preset average threshold, it indicates that although no target lithology was detected in the overlapping segment, the borehole coverage ratio involved by the lithological markers in each segment of the virtual borehole body is low. The actual boreholes within the leaf node may contain target lithology but are not included in the virtual borehole body. In this case, the intersecting leaf node is also included in the retention set. The reserved set is another set of leaf nodes used to store leaf nodes that need to be further analyzed layer by layer in subsequent steps to determine the borehole layering records.
[0033] When implementing S4, for each leaf node in the exclusion set, extract the virtual borehole body associated with that leaf node in S2. Extract the lithological markers of each segment of the virtual borehole body in ascending order of depth. The extraction method is as follows: Obtain all segments in the virtual borehole body arranged by segment number. Each segment has a segment top depth, segment bottom depth, and a set of lithological markers. Starting from the segment with the smallest segment number, extract all lithological markers in each segment one by one. If a segment has multiple lithological markers, extract them in lexicographical order of lithological names. For each extracted lithological marker, combine the character sequence of the lithological marker and the segment number of the segment containing the lithological marker into a marker tuple. The marker tuple records the lithological marker character sequence and the segment number. After all segments have been extracted, arrange the marker tuples in ascending order of segment number to obtain a sequence of marker tuples, which is the segment marker sequence. Each position in the segmented label sequence corresponds to a label tuple. The arrangement order of the label tuples in the segmented label sequence reflects the distribution of lithological labels in each segment of the virtual borehole body from shallow to deep along the depth direction.
[0034] For leaf nodes within the same exclusion set, lithological stratification records for all boreholes corresponding to that leaf node are extracted in ascending order of depth. The extraction method is as follows: from the lithological stratification records associated with all boreholes obtained in S2, all borehole lithological stratification records are aggregated together. Each lithological stratification record includes the top depth, bottom depth, and lithological name of the stratum. All lithological stratification records are sorted in ascending order using the top depth as the sorting key. If two lithological stratification records have the same top depth, they are sorted in ascending order of bottom depth. After sorting, the lithological name character sequence of each lithological stratification record is extracted sequentially, resulting in a sequence composed of lithological name character sequences; this sequence is the lithological stratification sequence. Each position in the lithological stratification sequence corresponds to a lithological name character sequence, and the order of the lithological name character sequences in the lithological stratification sequence reflects the actual order of occurrence of each rock layer along the depth direction from shallow to deep in all boreholes within the leaf node region.
[0035] The lithological stratification sequence and the segmented label sequence are used as two input sequences. The length of the lithological stratification sequence is denoted as the first length, and the length of the segmented label sequence is denoted as the second length. When either the first length or the second length is 0, the minimum edit cost is the maximum of the first and second lengths, and the subsequent edit path construction process is skipped. When both the first and second lengths are greater than 0, an edit cost matrix is constructed with the number of rows equal to the first length plus 1 and the number of columns equal to the second length plus 1. The element in the first row and first column of the edit cost matrix represents the minimum number of edit operations required to transform the first number of lithological name character sequences of the lithological stratification sequence into the first number of label tuples of the segmented label sequence, where the number is equal to the row index or column index. Edit operations include three types: insertion, deletion, and replacement. An insertion operation inserts a lithological name character sequence at the current position in the lithological stratification sequence that is identical to the lithological label character sequence in the corresponding label tuple of the segmented label sequence. The number of edits for the insertion operation is denoted as 1. The deletion operation removes the lithology name character sequence at the current position in the lithological stratification sequence, and the number of edits for the deletion operation is recorded as 1. The replacement operation replaces the lithology name character sequence at the current position in the lithological stratification sequence with the lithology marker character sequence in the corresponding marker tuple of the segment marker sequence. When the lithology name character sequence and the lithology marker character sequence are completely identical, the number of edits for the replacement operation is recorded as 0; when the lithology name character sequence and the lithology marker character sequence are inconsistent, the number of edits for the replacement operation is recorded as 1. The consistency judgment method between the lithology name character sequence and the lithology marker character sequence is as follows: after removing the leading and trailing whitespace characters from the lithology name character sequence and converting them to the same uppercase and lowercase form, it is judged whether the two character sequences are completely identical character by character.
[0036] The filling process of the edit cost matrix begins at row 0, column 0. Assigning an element in row 0, column 1 of the edit cost matrix to that column represents the number of insertion operations required to transform an empty lithological stratification sequence into a segmented labeled sequence of the first column's number of labeled tuples. Assigning an element in row 1, column 0 of the edit cost matrix to that row represents the number of deletion operations required to transform a lithological stratification sequence into an empty sequence of the first row's number of lithological name character sequences. For elements in the edit cost matrix with row and column indices greater than 0, three candidate costs are calculated. The first candidate cost is the element value in the same column of the row above the element in the edit cost matrix plus 1, corresponding to a deletion operation. The second candidate cost is the element value in the column preceding the element in the same row of the edit cost matrix plus 1, corresponding to an insertion operation. The third candidate cost is the element value of the previous row and column in the edit cost matrix plus the number of edits for the replacement operation. The number of edits for the replacement operation is determined by whether the lithological name character sequence corresponding to the current row index in the lithological stratification sequence matches the lithological marker character sequence in the marker tuple corresponding to the current column index in the segmented marker sequence. If they match, the number of edits for the replacement operation is 0; otherwise, it is 1. The minimum value among the first, second, and third candidate costs is taken and assigned to the element in the current row and column of the edit cost matrix. The matrix is filled by traversing and filling elements in the order of row index from 1 to the first length and column index from 1 to the second length, until all elements in the edit cost matrix are filled. The element value of the last row and last column of the edit cost matrix is the minimum edit cost to transform the lithological stratification sequence into a segmented marker sequence.
[0037] During the filling of the edit cost matrix, the edit operation selection corresponding to each element value is recorded simultaneously to construct an edit path that maximizes the number of lithological matches. For elements in the edit cost matrix with row indices greater than 0 and column indices greater than 0, if the element value comes from the first candidate cost, the edit operation type at that position is recorded as a deletion operation. If the element value comes from the second candidate cost, the edit operation type at that position is recorded as an insertion operation. If the element value comes from the third candidate cost, the edit operation type at that position is recorded as a replacement operation, and it is marked whether the lithological name character sequence and the lithological marker character sequence in the replacement operation are consistent. When the third candidate cost is equal to the first or second candidate cost, the third candidate cost is selected first, so that the replacement operation is executed before the insertion and deletion operations, thereby preserving the lithological matching positions between the lithological stratification sequence and the segmentation marker sequence to the greatest extent. After the edit cost matrix is filled, starting from the last element in the last row and last column, backtracking is performed towards the top left corner of the edit cost matrix according to the recorded edit operation type, sequentially passing through the corresponding elements in the edit cost matrix, until the element in row 0 and column 0 is reached. The sequence of edit operations corresponding to the elements traversed during the backtracking process constitutes the edit path that maximizes the number of lithological matches. The cumulative number of edit operations corresponding to this edit path is the minimum edit cost.
[0038] The preset cost threshold is a numerical parameter set by the system administrator through the backend parameter configuration interface. The preset cost threshold is determined based on the following: During system testing, the minimum edit cost distribution of correctly excluded and incorrectly excluded leaf nodes in historical queries is statistically analyzed. The edit cost boundary value that effectively distinguishes the two types of leaf nodes is selected as the preset cost threshold, which is an integer value not less than 0. The minimum edit cost is compared with the preset cost threshold. If the minimum edit cost exceeds the preset cost threshold, it indicates a significant deviation in lithological structure between the segmented label sequence of the virtual borehole body and the actual lithological stratification sequence of the corresponding borehole. The virtual borehole body's summary of the leaf node lacks credibility, and in this case, the leaf node is removed from the exclusion set and placed into the retention set. If the minimum edit cost is less than or equal to the preset cost threshold, it indicates that the deviation between the segmented label sequence of the virtual borehole body and the lithological stratification sequence is within an acceptable range, and the virtual borehole body's summary of the leaf node is reliable. The leaf node remains in the exclusion set.
[0039] When implementing S5, for each leaf node in the retained set, obtain a list of borehole identifiers for all boreholes associated with that leaf node in S2. Extract the lithological stratification record for each borehole corresponding to each borehole identifier in the list. Each borehole's lithological stratification record contains multiple stratigraphic records. Each stratigraphic record consists of three fields: top depth, bottom depth, and lithological name. The top and bottom depths together constitute the start and end values of the stratigraphic depth, and the lithological name is the lithology of the stratigraphic position. The extraction method is as follows: read all stratigraphic records for that borehole from the original borehole logging data table using the borehole identifier as the query condition, and sort them in ascending order of top depth as the lithological stratification record for that borehole.
[0040] For each borehole's lithological stratification record, the depth start and end values and lithology of each stratum are read sequentially in ascending depth order. The reading order in ascending depth is as follows: starting from the stratum with the lowest roof depth in the borehole's lithological stratification record, reading sequentially up to the stratum with the highest roof depth. When reading each stratum, the roof depth of that stratum is extracted as the upper limit of the depth start and end values, the floor depth of that stratum is extracted as the lower limit of the depth start and end values, and the lithology name of that stratum is extracted as the lithology of that stratum. After reading the current stratum, the next adjacent stratum is read sequentially until all strata of the borehole have been read.
[0041] The depth start and end values of each read layer are compared with the target depth interval for inclusion determination. The inclusion determination is performed as follows: the upper and lower depth limits of the target depth interval are obtained. The upper depth limit of the target depth interval is the upper limit of the depth interval parsed in S1, and the lower depth limit of the target depth interval is the lower limit of the depth interval parsed in S1. The upper and lower depth limits of the layer's depth start and end values are then compared with the upper and lower depth limits of the target depth interval for interval overlap determination. The rules for interval overlap determination are as follows: when the lower depth limit of the layer is less than or equal to the upper depth limit of the target depth interval, and the upper depth limit of the layer is greater than or equal to the lower depth limit of the target depth interval, the depth start and end values of the layer are considered to overlap with the target depth interval, i.e., the depth start and end values fall within the target depth interval. When the lower depth limit of the layer is greater than the upper depth limit of the target depth interval, or the upper depth limit of the layer is less than the lower depth limit of the target depth interval, the depth start and end values are considered not to fall within the target depth interval. For example, if the target depth range is 10 meters to 30 meters, and the depth range of a certain layer is 15 meters to 22 meters, then the lower limit of the layer's depth (22 meters) is less than the upper limit of the target depth range (30 meters), and the upper limit of the layer's depth (15 meters) is greater than the lower limit of the target depth range (10 meters). In this case, the depth range of that layer falls within the target depth range. Conversely, if the depth range of a certain layer is 35 meters to 42 meters, and the lower limit of the layer's depth (42 meters) is greater than the upper limit of the target depth range (30 meters), then the depth range of that layer does not fall within the target depth range.
[0042] Simultaneously with the inclusion check, the lithology of the read stratigraphic position is matched with the target lithology combination. The target lithology combination is a list of lithology names obtained in S1 after standardization and arrangement according to the standard stratigraphic sequence. The matching method is as follows: the character sequence of the lithology name of the stratigraphic position is compared with the character sequence of each target lithology name in the target lithology combination. The string comparison method is to remove leading and trailing whitespace characters from both the character sequence of the stratigraphic position's lithology name and the target lithology name character sequence and convert them to the same uppercase and lowercase form, and then determine whether the two character sequences are completely identical character by character. If the character sequence of the lithology name of the stratigraphic position is completely identical to any target lithology name character sequence in the target lithology combination after string comparison, then the lithology of the stratigraphic position is determined to match the target lithology combination. If the character sequence of the lithology name of the stratigraphic position is not completely identical to any of the target lithology name character sequences in the target lithology combination after string comparison, then the lithology of the stratigraphic position is determined to not match the target lithology combination.
[0043] When the depth start and end values of a stratigraphic unit fall within the target depth range and the lithology of that stratigraphic unit matches the target lithology combination, the stratigraphic unit is marked as meeting both the target depth range and the target lithology combination. The marking process involves appending a hit flag field to the stratigraphic record data corresponding to that stratigraphic unit. A hit flag field value of true is followed by the borehole identifier of the borehole to which the stratigraphic unit belongs, the upper depth limit of the depth start and end values of that stratigraphic unit, the lower depth limit of the depth start and end values, and the lithology name of that stratigraphic unit. These four elements together constitute a stratigraphic unit that simultaneously meets both the target depth range and the target lithology combination. If the depth start and end values of a stratigraphic unit do not fall within the target depth range, or the lithology of the stratigraphic unit does not match the target lithology combination, or neither the depth start and end values nor the lithology meets the conditions, the stratigraphic unit is not marked, and the next adjacent stratigraphic unit is processed.
[0044] After performing the above-described layer-by-layer discrimination process on all boreholes corresponding to each leaf node in the retainer set, all marked stratigraphic information is aggregated. The aggregation method is as follows: traverse each leaf node in the retainer set, traverse all corresponding borehole identifiers for each leaf node, traverse all stratigraphics for each borehole identifier, and collect stratigraphic information entries whose matched marker fields are true into a result set. Each collected stratigraphic information entry includes the borehole identifier, the upper limit of the stratigraphic depth, the lower limit of the stratigraphic depth, and the lithological name of the stratigraphic position. All stratigraphic information entries in the result set are grouped by borehole identifier, and stratigraphic information entries under the same borehole identifier are sorted in ascending order of upper limit of depth. All grouped and sorted entries are used as the filtered borehole and stratigraphic information. In the filtered borehole and stratigraphic information, each record clearly indicates which borehole, within which depth range, revealed which type of rock strata that meets the target lithological combination requirements. These records are passed to S6 for subsequent output processing.
[0045] When implementing S6, the filtered borehole and stratigraphic information is retrieved from S5. This filtered information exists as a set of entries, each containing a borehole identifier, the upper depth limit of the stratigraphic position, the lower depth limit of the stratigraphic position, and the lithological name of the stratigraphic position. The upper and lower depth limits are both in meters, increasing downwards from the Earth's surface. All entries are aggregated into a single search result set, stored using a list data structure, where each element represents an entry. During aggregation, duplicate entries are removed using the following rule: if two entries have the same borehole identifier, equal upper depth limit, and equal lower depth limit, only one entry is retained, and the other is discarded. After deduplication, the search result set is obtained.
[0046] Retrieve the planar coordinates of each borehole in the search results set. For each borehole identifier appearing in the search results set, retrieve the corresponding borehole opening planar coordinates from the borehole basic information table. The borehole opening planar coordinates include longitude and latitude values. The borehole basic information table is a data table maintained in the geological data management system, which stores the borehole identifier, borehole opening longitude, and borehole opening latitude for each borehole. Append the borehole opening planar coordinates to each entry for the corresponding borehole identifier in the search results set, so that each entry simultaneously carries the borehole identifier, borehole opening longitude, borehole opening latitude, upper limit depth of the stratigraphic unit, lower limit depth of the stratigraphic unit, and lithological name of the stratigraphic unit.
[0047] The boreholes in the search results set are spatially sorted according to their planar coordinates falling within the target plane range. An array of longitude and latitude values of the polygon vertices within the target plane range is obtained; this array is determined in S1. The minimum bounding rectangle of the target plane range is calculated. The lower longitude limit of the minimum bounding rectangle is the minimum value in the polygon vertex longitude value array, and the upper longitude limit is the maximum value in the same array. Similarly, the lower latitude limit is the minimum value in the polygon vertex latitude value array, and the upper latitude limit is the maximum value in the same array. The minimum bounding rectangle is then meshed along both the longitude and latitude directions. The number of meshes along the longitude and latitude directions is set by the system administrator in the parameter configuration; for example, the number of meshes along both directions is set to 100. The longitude span of a grid cell is equal to the difference between the upper and lower longitude limits of the minimum bounding rectangle, divided by the number of grid divisions along the longitude direction. Similarly, the latitudinal span of a grid cell is equal to the difference between the upper and lower latitude limits of the minimum bounding rectangle, divided by the number of grid divisions along the latitudinal direction. For each entry in the search result set, the row and column numbers of the grid cells to which the entry falls are calculated based on the entry's orifice longitude and latitude. The row number is equal to the difference between the orifice latitude and the lower latitude limit, divided by the latitudinal span and rounded down. The column number is equal to the difference between the orifice longitude and the lower longitude limit, divided by the longitude span and rounded down. The row and column numbers of the same entry are combined into a spatial location code, calculated by multiplying the row number by the number of grid divisions along the longitude direction and adding the column number. All entries in the search result set are traversed, and each entry is assigned a corresponding spatial location code.
[0048] The entries in the retrieval result set are sorted according to their spatial location codes. The sorting rule is to arrange them in ascending order of spatial location codes, and for entries with the same spatial location code, to arrange them in ascending lexicographical order of their borehole identifiers. After sorting, entries with the same borehole identifier are grouped together in the sorted results, and boreholes in spatially adjacent grid cells also maintain a proximity relationship in the overall sequence, thus achieving spatial sorting of the boreholes in the retrieval result set according to their planar coordinates falling within the target plane.
[0049] For each borehole after spatial sorting, the corresponding stratigraphic information is arranged in ascending order of depth. The search result set after spatial sorting is traversed, and entries with the same borehole identifier are grouped into the same borehole group. For each borehole group, the upper and lower depth limits of all entries within the group are extracted. The upper depth limit is used as the sorting criterion, and the entries within the borehole group are arranged in ascending order of their upper depth limit values. If two entries have the same upper depth limit, they are arranged in ascending order of their lower depth limit. The order of entries within the sorted borehole groups reflects the vertical distribution relationship of the strata from shallow to deep within each borehole.
[0050] The search results are output as follows: spatially sorted boreholes and their stratigraphic information arranged in ascending depth. During output, boreholes are grouped sequentially according to their spatial order. For each borehole group, the borehole identifier and borehole head plane coordinates are output. Then, each stratigraphic information entry within the borehole group is output sequentially in ascending depth order. Each stratigraphic information entry includes an upper depth limit, a lower depth limit, and a lithological name. The output format is structured text, with fields organized as key-value pairs. The borehole identifier, borehole head longitude, borehole head latitude, upper depth limit, lower depth limit, and lithological name are each an independent key, with the corresponding value following the key. The output structured text is returned to the interactive interface via a data interface. After parsing the structured text, the interactive interface displays the search results to the user in the form of a list or map annotations, completing the entire search process.
[0051] All calculations involved in the embodiments are dimensionless numerical calculations, and the preset parameters and thresholds in the calculations are set by those skilled in the art according to the actual situation.
[0052] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, in the form of a computer program product.
[0053] Those skilled in the art will recognize that the modules and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and inventive constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0054] In addition, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.
[0055] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.
[0056] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A rapid retrieval method for urban geological survey data based on spatial indexing, characterized in that, Includes the following steps: S1: Receive query requests, including target plane range, target depth range, and target lithological combination; S2: Identify all leaf nodes that intersect with the target plane range in the pre-built spatial index; each leaf node is associated with a virtual borehole body, which is formed by fusing lithological stratification information of each borehole in the leaf node region, and the lithology is marked in segments along the depth, with each segment having support; S3: For each intersecting leaf node, the segments in the virtual borehole that fall into the target depth range are taken as overlapping segments; If the target lithology does not appear in the overlapping segment and the average support of each segment in the overlapping segment reaches the preset average threshold, it is included in the exclusion set; otherwise, it is included in the retention set. S4: For leaf nodes in the exclusion set, obtain the lithological stratification sequence of the borehole corresponding to the leaf node and the segmentation label sequence of the virtual borehole body, and solve the minimum editing cost that maximizes the lithological matching of the two sequences; if the minimum editing cost exceeds the preset cost threshold, remove it from the exclusion set and place it into the retention set; S5: For the leaf nodes that are retained in the concentration, the layered records of the boreholes corresponding to the leaf nodes are determined layer by layer according to the target depth range and the target lithology combination, and the borehole and layer information that are simultaneously satisfied are filtered out. S6: Outputs the filtered borehole and stratum information.
2. The method for rapid retrieval of urban geological survey data based on spatial indexing according to claim 1, characterized in that, S1 includes: Obtain the query space range defined by the user on the interactive interface, and resolve the query space range into the target plane range; Obtain the depth start and end values set by the user on the interactive interface, and parse the depth start and end values into the target depth range; The system obtains the stratigraphic filtering conditions entered by the user in the form of a list of lithology identifiers on the interactive interface, parses the list of lithology identifiers into target lithology combinations, and ensures that the order of each lithology in the target lithology combination is consistent with the standard stratigraphic sequence.
3. The rapid retrieval method for urban geological survey data based on spatial indexing according to claim 1, characterized in that, S2 include: Extract all leaf nodes that intersect with the target plane range from the pre-built spatial index; For any extracted leaf node, the lithological stratification records of all boreholes within the corresponding leaf node area are uniformly arranged along the depth direction and divided into multiple segments from the minimum depth to the maximum depth of the borehole group according to the preset segment thickness. For each segment, all lithologies in the lithological stratification records falling within the corresponding segment are used as lithological markers for the corresponding segment. The number of boreholes with corresponding lithological markers is counted, and the ratio of the number of boreholes to the total number of boreholes within the corresponding leaf node is used as the support of the corresponding segment. This creates a virtual borehole associated with the corresponding leaf node.
4. The method for rapid retrieval of urban geological survey data based on spatial indexing according to claim 3, characterized in that, All lithologies falling within the corresponding segment are used as lithological markers for that segment, including: When multiple lithological stratification records exist within the same segment of the same borehole, the lithology of each of the multiple lithological stratification records will be used as the lithology marker for the corresponding segment. When there is only one lithological layer record in the same section of the same borehole, the lithology with a lithological layer thickness exceeding the preset threshold of the section thickness is used as the lithological marker of the corresponding section. The lithology with a lithological layer thickness not exceeding the preset threshold of the section thickness is merged with the lithological markers of the adjacent sections in the corresponding section and then marked.
5. The method for rapid retrieval of urban geological survey data based on spatial indexing according to claim 1, characterized in that, S3 include: For each intersecting leaf node, the segments in the virtual borehole whose depth coordinates fall within the target depth range are taken as overlapping segments; Check whether any target lithology from the target lithology combination appears in the lithology markers of each segment of the overlapping section; When no target lithology appears in any segment of the overlapping section, the support of each segment of the overlapping section is extracted, and the average value of the support of the entire overlapping section is calculated. The average support is compared with a preset average threshold. If the average support reaches the preset average threshold, the corresponding intersecting leaf node is added to the exclusion set; otherwise, the corresponding intersecting leaf node is added to the retention set.
6. The method for rapid retrieval of urban geological survey data based on spatial indexing according to claim 5, characterized in that, Check whether any target lithology from the target lithological assemblage appears in the lithological markers of each segment of the overlapping section, including: Arrange the target lithologies in the target lithology assemblage according to their order of appearance in the standard stratigraphic sequence to form the target lithology sequence; After arranging the overlapping segments in ascending order of depth, check each segment to see if the lithological marker is consistent with any target lithology in the target lithological sequence. When the lithological marker of a segment in an overlapping segment matches any target lithology in the target lithological sequence, the overlapping segment is determined to contain the target lithology, and the inspection of subsequent segments is terminated.
7. The method for rapid retrieval of urban geological survey data based on spatial indexing according to claim 1, characterized in that, S4 include: For each leaf node in the exclusion set, extract the lithological stratification records of all boreholes corresponding to the leaf node in ascending order of depth, and summarize the lithological stratification records of each borehole into a lithological stratification sequence. The lithological markers of each segment of the virtual borehole body were extracted in ascending order of depth and summarized into a segment marker sequence; Using insertion, deletion, and replacement as editing operations, we construct editing paths that maximize the number of lithological matches when transforming lithological stratification sequences into segmented marker sequences, and take the number of editing operations for the corresponding editing path as the minimum editing cost. The minimum editing cost is compared with a preset cost threshold. If the minimum editing cost exceeds the preset cost threshold, the corresponding leaf node is removed from the exclusion set and placed into the retention set.
8. The method for rapid retrieval of urban geological survey data based on spatial indexing according to claim 7, characterized in that, Construct an edit path that maximizes the number of lithological matches when transforming a lithological stratification sequence into a segmented labeled sequence, including: The lithology in the lithological stratification sequence is matched with the lithological markers in the segmented marker sequence according to their depth positions; Locations where the lithology at a depth point matches the lithological marker are considered matching locations, while locations where the lithology at a depth point does not match the lithological marker are considered non-matching locations. For non-matching positions, the number of edits for insertion, deletion, and replacement operations are calculated in ascending order of depth. The edit operation sequence with the minimum cumulative number of edits and the maximum number of matching positions is selected as the edit path, and the cumulative number of edits corresponding to the edit path is taken as the minimum edit cost.
9. The method for rapid retrieval of urban geological survey data based on spatial indexing according to claim 1, characterized in that, S5 include: For each leaf node in the retained set, extract the lithological stratification records of each borehole corresponding to the corresponding leaf node one by one; For each borehole, the lithological stratification record is compiled, and the depth start and end values and lithology of each stratum are read in ascending order of depth. The depth start and end values are included in the target depth range, and the lithology is matched with the target lithology combination. Strata with depth start and end values falling within the target depth range and lithology matching the target lithology combination are marked as stratigraphic information that simultaneously satisfies the target depth range and the target lithology combination. Collect the marked stratigraphic information and the boreholes to which they belong, as the filtered borehole and stratigraphic information.
10. The method for rapid retrieval of urban geological survey data based on spatial indexing according to claim 1, characterized in that, S6 include: The filtered borehole and stratigraphic information is collected to generate a set of search results; The boreholes in the search results set are spatially sorted according to their planar coordinates falling within the target plane range, and the stratigraphic information corresponding to each borehole is arranged in ascending order of depth. The spatially sorted boreholes and their stratigraphic information arranged in ascending order of depth are output as search results.