A method and system for rendering optimization of a three-dimensional map based on geometric tile structure

CN123015805APending Publication Date: 2026-10-30ETONE INFORMATION TECH (SHANGHAI) CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611088256.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-22
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

[0003]现有技术通过深度缓冲区判断遮挡关系并按空间位置逐片提交几何片进行光栅化计算,这种依赖后期深度测试的逐片处理运作模式在面临复杂地形与密集城市建筑时极易产生批量不可见片段的冗余渲染,频繁的深度对比与无效图形绘制大幅增加系统计算负担与内存带宽消耗,易引发大范围场景漫游过程中的渲染延迟与画面卡顿,进而降低三维地图整体交互流畅度与空间分析实际执行效率

Benefits of technology

获取视点位置与监控方向并归一延伸形成视线轨迹,按划分位置计算地形网格深度构建地理深度分布序列,通过相邻深度差划分区段并将超预设阈值区段构建地理遮挡区段集合,基于遮挡区段对比顶点空间分布划分并映射几何片,在光栅计算前端主动剔除遮挡范围的裁剪几何片仅保留有效几何片执行变换,通过在渲染初期基于视线轨迹与地形深度精准识别并抛弃不可见区域,改变传统依赖后期深度缓冲区的验证模式,大幅降低无效顶点计算与光栅化压力并提升复杂场景渲染速率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123015805A_ABST
    Figure CN123015805A_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of geographic model, specifically to a three-dimensional map rendering optimization method and system based on geometric tile structure, comprising the following steps: obtaining a viewpoint direction extension track to generate a sampling point distribution structure, extracting a sampling point position to calculate a depth to generate a geographic depth distribution sequence, calculating an adjacent depth difference to mark a super preset threshold section to generate a geographic occlusion set, dividing and mapping geometric tiles based on set comparison structure to generate a classification structure, and eliminating, cutting and processing to retain geometric tiles for calculation.In the present application, a line of sight track is formed by obtaining a viewpoint normalized extension, a distribution sequence is constructed by calculating the depth according to the position, an occlusion set is constructed by the depth difference to the super preset threshold section, geometric tiles are divided and mapped based on the occlusion section, the effective part is retained by eliminating the occlusion range geometric tile, and the invisible area is discarded based on the line of sight and the depth in the initial rendering, the verification mode depending on the depth buffer is changed, the calculation pressure is reduced, and the rendering rate of complex scenes is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of geographic modeling technology, and in particular to a method and system for optimizing 3D map rendering based on geometric patch structure. Background Technology

[0002] The key technologies in geographic modeling technology involve the digital representation and 3D reconstruction of spatial information on the Earth's surface, including terrain data acquisition, spatial coordinate organization, polygon mesh construction, texture mapping, and visualization. By processing terrain elevation data, image data, and vector data, discrete point data is converted into regular or irregular triangular mesh structures, and spatial transformation and rasterization are performed in combination with viewpoint position to form an interactive 3D map scene. This field also involves basic processing procedures such as hierarchical detail expression, view frustum clipping, and depth sorting to support the continuous display and spatial analysis of complex geographic scenes. Among them, the traditional 3D map rendering optimization method and system refers to the problem of computational burden in the display process of 3D map scene. It divides the terrain mesh into blocks, divides the continuous terrain into multiple regular geometric patch units, selects the corresponding patch unit according to the view position during rendering, and loads triangular mesh models with different resolutions for near and far areas using pre-established hierarchical detail data. During the drawing process, the graphics are generated by vertex coordinate transformation, triangle stitching and texture coordinate interpolation. At the same time, the depth buffer is combined to determine the occlusion relationship and submit the geometric patches one by one according to the spatial position order for rasterization processing to complete the display process of the overall 3D map.

[0003] Existing technologies determine occlusion relationships through a depth buffer and submit geometric pieces piece by piece according to spatial location for rasterization calculation. This piece-by-piece processing mode, which relies on post-deep testing, is prone to generating redundant rendering of batches of invisible fragments when faced with complex terrain and dense urban buildings. Frequent depth comparisons and invalid graphics rendering significantly increase the system's computational burden and memory bandwidth consumption, which can easily cause rendering delays and screen stuttering during large-scale scene roaming, thereby reducing the overall interactive smoothness of 3D maps and the actual execution efficiency of spatial analysis. Summary of the Invention

[0004] To achieve the above objectives, the present invention adopts the following technical solution: a three-dimensional map rendering optimization method based on geometric patch structure, comprising the following steps: S1: Obtain the spatial position of the viewpoint and the monitoring direction vector, perform normalization processing on the monitoring direction vector and extend it to form the line of sight trajectory, divide the line of sight trajectory and calculate the division position coordinates, and generate the spatial distribution structure of sampling points; S2: Obtain the spatial distribution structure of the sampling points, extract the location of the sampling points in the terrain grid data block, calculate the location depth according to the sampling order and arrange them to generate a geographic depth distribution sequence; S3: Obtain the geographic depth distribution sequence, calculate the depth difference between adjacent locations and perform segment division, mark segments with depth differences exceeding a preset threshold and record the interval range, and generate a set of geographic occlusion segments. S4: Based on the set of geographic occlusion segments, compare the vertex spatial distribution structure and divide the geometric patches, obtain the vertex set of the geometric patches, and map it to the grid area of ​​urban building geometric patches to form the vertex spatial distribution structure, and generate the geometric patch spatial classification structure; S5: Obtain the spatial classification structure of the geometric pieces, remove and trim geometric pieces, and process the vertex transformation and raster calculation of the retained geometric pieces to generate a 3D map rendering optimization scheme.

[0005] As a further aspect of the present invention, the spatial distribution structure of the sampling points includes sampling coordinates along the trajectory, line-of-sight step distance, and segmented sampling node identifiers; the geographic depth distribution sequence includes the perspective depth value of the grid model, the terrain elevation difference, and the sampling point line-of-sight scalar; the set of geographic occlusion segments includes abruptly exceeding depth intervals, terrain occlusion bounding boxes, and invisible blind zone spans; the spatial classification structure of geometric patches includes building patches to be removed, visible retained grid clusters, and geometric intersection boundary lines; and the 3D map rendering optimization scheme includes invalid patch removal instructions, retained geometry drawing levels, and scene reconstruction topology map.

[0006] As a further aspect of the present invention, the line-of-sight trajectory is a straight path for sampling and spatial analysis formed by extending from the viewpoint along the normalized monitoring direction vector.

[0007] As a further aspect of the present invention, the set of vertexes of the geometric patch is a set of coordinates of all vertices constituting a single geometric patch, used to describe its spatial shape and position.

[0008] As a further aspect of the present invention, the specific steps of S1 are as follows: S101: Obtain the spatial position coordinates of the viewpoint and the components of the monitoring direction vector, calculate the vector magnitude as the direction magnitude value, calculate the direction magnitude value of each component separately and perform normalization processing to obtain the set of unit direction components and generate a direction normalization vector. S102: Perform scalar multiplication operation based on the direction normalization vector and the viewpoint spatial position coordinates, set the extended distance sequence as the stepping reference, calculate the distance value and the direction normalization vector item by item and superimpose them onto the viewpoint coordinates to form a multi-point coordinate set, and obtain the line trajectory coordinate sequence. S103: Calculate the distance difference between adjacent points based on the coordinate sequence of the line-of-sight trajectory, set the distance division interval parameter and perform interval segmentation, map the trajectory points to the corresponding distance interval index, establish the association between point coordinates and interval numbers, and generate the spatial distribution structure of sampling points.

[0009] As a further aspect of the present invention, the specific steps of S2 are as follows: S201: Obtain the spatial distribution structure of the sampling points, perform coordinate matching calculations based on the set of terrain grid data blocks, determine the grid cell number corresponding to the sampling point based on the minimum coordinate difference, establish a mapping relationship between point coordinates and grid numbers, and generate a sampling point grid mapping table. S202: Retrieve the set of grid elevation values ​​according to the sampling point grid mapping table, perform difference calculation, determine the depth value based on the elevation difference between adjacent grids and the offset ratio of sampling points, form a set of depth values ​​corresponding to sampling points, and obtain a sequence of sampling point depth values. S203: Based on the depth value sequence of the sampling points and the spatial distribution structure index of the sampling points, perform rearrangement calculation to establish the association between depth values ​​and spatial order index, and generate a geographic depth distribution sequence.

[0010] As a further aspect of the present invention, the specific steps of S3 are as follows: S301: Obtain the geographic depth distribution sequence, calculate the depth difference between adjacent locations based on the spatial index sequence and take the absolute value to form a change amplitude sequence, and obtain the depth change amplitude sequence; S302: Perform segment division according to the depth change amplitude sequence and the preset depth change threshold, merge positions below the preset threshold into continuous segments, take positions above the preset threshold as dividing points, establish the relationship between segment number and index range, and generate a continuous segment index table. S303: Based on the continuous segment index table and the depth change amplitude sequence, filter segments including those exceeding the preset threshold, mark segment attributes and extract the spatial coordinate range corresponding to the start and end indices, establish the association between segment number and spatial range, and generate a set of geographic occlusion segments.

[0011] As a further aspect of the present invention, the specific steps of S4 are as follows: S401: Obtain the set of geographic occlusion segments and the set of vertices based on geometric patches, perform interval comparison, compare the vertex coordinates with the segment range item by item, establish the correspondence between vertex and segment number, and generate a vertex segment mapping table; S402: Perform spatial mapping based on the vertex segment mapping table and the urban building geometric patch grid area, map vertex coordinates to grid cells and associate them with geometric patch numbers, establish the correspondence between vertices and grid areas, and obtain the vertex grid distribution table; S403: Based on the vertex mesh distribution table and the vertex segment mapping table, perform classification judgment, count the ratio of the number of vertices falling into the segment to the total number of vertices in the geometric piece, divide the clipping and retention categories according to the preset ratio threshold, establish the association relationship between the geometric piece number and the category, and generate the geometric piece spatial classification structure.

[0012] As a further aspect of the present invention, the specific steps of S5 are as follows: S501: Obtain the spatial classification structure of the geometric pieces, perform classification retrieval, extract the geometric piece numbers of the cropping category and the geometric piece numbers of the retained category respectively, establish the correspondence between the geometric piece numbers and the classification labels, and generate a geometric piece classification index table; S502: Perform spatial culling according to the geometric piece classification index table, remove the vertex coordinates of the clipped category geometric pieces from the grid data, and at the same time retain the set of vertex coordinates of the category geometric pieces to form the set of filtered geometric piece vertices, thus obtaining the set of retained geometric piece vertices; S503: Based on the reserved geometric patch vertex set, perform rendering data construction, associate vertex coordinates with mesh indexes and generate patch connection relationships, establish the correspondence between geometric patch numbers and rendering data structures, and generate a 3D map rendering optimization scheme.

[0013] A 3D map rendering optimization system based on geometric patch structure includes: The line-of-sight sampling generation module is used to implement S1: obtain the spatial position of the viewpoint and the monitoring direction vector, perform normalization processing on the monitoring direction vector and extend it to form a line-of-sight trajectory, divide the line-of-sight trajectory and calculate the division position coordinates, and generate the spatial distribution structure of sampling points; The depth sequence construction module is used to implement S2: obtain the spatial distribution structure of the sampling points, extract the location of the sampling points in the terrain grid data block, calculate the location depth according to the sampling order and arrange them to generate a geographic depth distribution sequence; The occlusion detection and segmentation module is used to implement S3: obtain the geographic depth distribution sequence, calculate the depth difference between adjacent locations and perform segmentation, mark segments with depth differences exceeding a preset threshold and record the interval range, and generate a set of geographic occlusion segments. The geometric patch classification and spatial mapping module is used to implement S4: based on the set of geographic occlusion segments, compare the vertex spatial distribution structure and divide the geometric patches, obtain the set of geometric patch vertices, and map them to the urban building geometric patch grid area to form a vertex spatial distribution structure, and generate a geometric patch spatial classification structure; The rendering optimization processing module is used to implement S5: obtain the spatial classification structure of the geometric pieces, remove and clip geometric pieces, process the vertex transformation and raster calculation of the retained geometric pieces, and generate a 3D map rendering optimization scheme.

[0014] Compared with the prior art, the advantages and positive effects of the present invention are as follows: The system acquires the viewpoint position and monitoring direction, and extends them to form a line-of-sight trajectory. It calculates the terrain mesh depth according to the division position to construct a geographic depth distribution sequence. It divides the area into segments by the difference between adjacent depths and constructs a set of geographic occlusion segments for segments exceeding a preset threshold. Based on the comparison of vertex spatial distribution in the occlusion segments, it divides and maps geometric patches. At the rasterization front end, it actively removes clipped geometric patches in the occlusion range and retains only the valid geometric patches for transformation. By accurately identifying and discarding invisible areas based on the line-of-sight trajectory and terrain depth in the early stage of rendering, it changes the traditional verification mode that relies on the later depth buffer, significantly reduces the calculation of invalid vertices and rasterization pressure, and improves the rendering speed of complex scenes. Attached Figure Description

[0015] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0016] Figure 1 This is a schematic diagram of the steps of the present invention; Figure 2 This is a detailed schematic diagram of S1 of the present invention; Figure 3 This is a detailed schematic diagram of S2 of the present invention; Figure 4 This is a detailed schematic diagram of S3 of the present invention; Figure 5 This is a detailed schematic diagram of S4 of the present invention; Figure 6 This is a detailed schematic diagram of S5 of the present invention; Figure 7 This is a system module diagram of the present invention. Detailed Implementation

[0017] The technical solution of the present invention will now be described with reference to the accompanying drawings.

[0018] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.

[0019] Please see Figure 1 This invention provides a method for optimizing 3D map rendering based on geometric patch structure, comprising the following steps: S1: Obtain the spatial position of the viewpoint and the monitoring direction vector, perform direction normalization processing on the monitoring direction vector, extend along the monitoring direction to form the line of sight trajectory, perform distance division calculation on the line of sight trajectory, and generate the spatial distribution structure of sampling points; S2: Obtain the spatial distribution structure of sampling points, perform geographic model matching calculations, extract the corresponding positions of sampling points in terrain grid data blocks, perform depth extraction and sequential arrangement calculations, and generate geographic depth distribution sequences; S3: Based on the geographic depth distribution sequence, perform segment division judgment, perform continuous segment division according to the depth change between adjacent locations, mark segments with changes exceeding a preset threshold as geographic occlusion segments, record the spatial range of geographic occlusion segments, and generate a set of geographic occlusion segments. S4: Based on the set of geographic occlusion segments, perform interval comparison judgment on the vertex spatial distribution structure. Through the set of geometric patch vertices, perform spatial mapping calculation to map the set of geometric patch vertices to the grid area of ​​urban building geometric patch to form the vertex spatial distribution structure. Divide the geometric patch into clipped geometric patch and retained geometric patch to generate the geometric patch spatial classification structure. S5: Through the spatial classification structure of geometric pieces, perform geographic model reconstruction calculations, perform spatial culling based on the clipped geometric pieces, perform rendering processing on the retained geometric pieces, and generate a 3D map rendering optimization scheme.

[0020] The spatial distribution structure of sampling points includes sampling coordinates along the trajectory, line-of-sight step distance, and segmented sampling node identifiers. The geographic depth distribution sequence includes the perspective depth value of the grid model, the terrain elevation difference, and the sampling point line-of-sight scalar. The set of geographic occlusion segments includes abruptly exceeding depth intervals, terrain occlusion bounding boxes, and the span of invisible blind spots. The spatial classification structure of geometric patches includes building patches to be removed, visible grid clusters to be retained, and geometric intersection boundary lines. The 3D map rendering optimization scheme includes invalid patch removal instructions, retaining geometric drawing levels, and scene reconstruction topology map.

[0021] Please see Figure 2 The specific steps of S1 are as follows: S101: Obtain the spatial position coordinates of the viewpoint and the components of the monitoring direction vector, calculate the vector magnitude as the direction magnitude value, calculate the direction magnitude value of each component separately and perform normalization processing to obtain the set of unit direction components and generate a direction normalization vector. The spatial coordinates of the viewpoint are obtained through an urban mapping database. The data format of these coordinates is structured as a 3D floating-point array, continuously storing longitude, latitude, and elevation coordinates representing geographic location. Specifically, high-precision positioning sensors deployed in the target monitoring area capture the physical location of the monitoring device's lens in real time at a fixed frequency of 10 Hz. Noise filtering is applied to the obtained viewpoint coordinates. A data cleaning algorithm is then used to perform statistical analysis on 20 consecutively collected coordinate points, calculating the spatial distribution mean of these 20 points. Anomalies deviating more than 15% from this mean are then removed to ensure the stability of the basic positioning data. The monitoring direction vector component is obtained by reading the pan-tilt-zoom (PTZ) attitude control parameters of the monitoring device's hardware. This monitoring direction vector component includes specific values ​​in three orthogonal dimensions: the X-axis component, the Y-axis component, and the Z-axis component. The three directional components are extracted, and each component is squared to obtain its corresponding quadratic value. These three quadratic values ​​are then summed to obtain the sum of the squares of the spatial vector. A square root operation is performed on this sum to derive a parameter representing the actual physical length of the vector, which is then established as the directional magnitude. Each independent component of the monitored directional vector is retrieved, and its specific value is divided by the calculated directional magnitude to eliminate the influence of the absolute scale of the hardware attitude parameters, thus deriving the unitized directional values ​​for the coordinate axes. The obtained unitized directional values ​​for the X, Y, and Z axes are sequentially combined according to spatial geometric order to form a set of unit directional components that purely represent directional direction. Finally, all three numerical elements within this set of unit directional components are extracted, packaged, and encapsulated into a directional normalized vector structure, which is then stored in the system cache. The actual calculation process includes obtaining the specific values ​​of the viewpoint's spatial coordinates as longitude 116.3 degrees, latitude 39.9 degrees, and elevation 50.0 meters. The monitoring direction vector components are obtained from the hardware's underlying parameters: X-axis component 30.0, Y-axis component 40.0, and Z-axis component 0.0. The X-axis component 30.0 is squared to obtain a value of 900.0, the Y-axis component 40.0 is squared to obtain a value of 1600.0, and the Z-axis component 0.0 is squared to obtain a value of 0.0. The derived values ​​of 900.0, 1600.0, and 0.0 are summed to obtain a total of 2500.0. The square root of this value 2500.0 is then performed, deriving a direction modulus of 50.0. Finally, the X-axis component 30.0 is divided by the direction modulus of 50.0, deriving a unit X-axis component value of 0.6.Dividing the Y-axis component 40.0 by the direction magnitude 50.0 yields a unit Y-axis component of 0.8. Dividing the Z-axis component 0.0 by the direction magnitude 50.0 yields a unit Z-axis component of 0.0. The calculated values ​​of 0.6, 0.8, and 0.0 are then sequentially combined to generate and fix the final direction-normalized vector. The advantage of this operational logic is that by extracting the components of each dimension and averaging them, a dimensionless stable vector value is obtained, providing a benchmark for subsequent step calculations.

[0022] S102: Perform scalar multiplication operation based on the direction normalization vector and the spatial position coordinates of the viewpoint, set the extended distance sequence as the stepping reference, calculate the distance value and the direction normalization vector item by item and superimpose them onto the viewpoint coordinates to form a multi-point coordinate set, and obtain the line trajectory coordinate sequence. An extended distance sequence is set for the gaze tracking analysis task. Data from the laser rangefinder in the environmental perception module is retrieved to obtain the maximum visible distance from the current viewpoint to physical obstructions, and this value is established as the maximum boundary value of the field of view. A step reference value is configured as a physical length dimension with fixed intervals. Starting from 0.0, an accumulation and summation operation is performed sequentially according to the set step reference value until the accumulated value is greater than or equal to the aforementioned maximum boundary value. The accumulated distance values ​​from multiple stages generated during the operation are arranged in ascending order to form an extended distance sequence in the form of a one-dimensional array. The direction normalization vector generated in step S101 is extracted, and the spatial position coordinates of the viewpoint, after filtering and cleaning, are retrieved simultaneously. The data traversal logic is initiated, reading the absolute distance values ​​contained within each element of the extended distance sequence, starting from the first element. A scalar multiplication operation is performed between each read distance value and the direction normalization vector, causing the normalized vector to be physically stretched in space according to the distance value, deriving the multi-dimensional offset vector components at the current distance level. The derived multi-dimensional offset vector components are added to the viewpoint spatial position coordinates on the corresponding X, Y, and Z axes, respectively. The vector offset is then superimposed onto the original observation point to derive the spatial coordinates of the true trajectory point in the current extension stage. This process of distance value extraction, scalar multiplication, and coordinate addition is repeated until all numerical elements in the extension distance sequence are fully traversed, resulting in a multi-point coordinate set of all generated trajectory point spatial coordinates. For all trajectory point spatial coordinates within this multi-point coordinate set, they are reordered in ascending order of their corresponding absolute extension distance values, ultimately outputting a line-of-sight trajectory coordinate sequence with strict physical spatial coherence. The actual calculation process is as follows: the maximum boundary value is obtained from the device parameters as 500.0 meters, and the step reference value is set to 10.0 meters. Starting from 0.0, the values ​​are accumulated in steps of 10.0 meters, forming an extension distance sequence including 0.0, 10.0, 20.0 up to 500.0. The second distance value element, 10.0 meters, is extracted from this extension distance sequence. The previously generated direction normalization vectors are extracted, including components 0.6, 0.8, and 0.0. The distance value of 10.0 meters is multiplied by these three normalized components to derive the X-axis offset vector component of 6.0 meters, the Y-axis offset vector component of 8.0 meters, and the Z-axis offset vector component of 0.0 meters. The viewpoint's spatial coordinates are then converted into projected values ​​in a local plane coordinate system: equivalent longitude x-coordinate of 1163000.0 meters, equivalent latitude y-coordinate of 399000.0 meters, and elevation coordinate of 50.0 meters.The coordinates are calculated by adding the X-axis offset vector component 6.0 to the x-coordinate 1163000.0, resulting in coordinate 1163006.0; the Y-axis offset vector component 8.0 to the y-coordinate 399000.0, resulting in coordinate 399008.0; and the Z-axis offset vector component 0.0 to the elevation 50.0, resulting in coordinate 50.0. This process derives the spatial coordinate data of the trajectory points for the first step. After completing the iterative calculation for the entire sequence, the output is a three-dimensional line-of-sight trajectory coordinate sequence including all points.

[0023] S103: Calculate the distance difference between adjacent points based on the coordinate sequence of the line-of-sight trajectory, set the distance division interval parameter and perform interval segmentation, map the trajectory points to the corresponding distance interval index, establish the association between point coordinates and interval numbers, and generate the spatial distribution structure of sampling points; A loop-based reading mechanism is established to sequentially extract the trajectory point at the current sequential position and its next adjacent sequential trajectory point from the line-of-sight trajectory coordinate sequence. The 3D floating-point coordinate data of these two spatial points are obtained separately. Subtraction operations are performed on the coordinate components of these two points in multiple corresponding dimensions to obtain the horizontal, vertical, and longitudinal coordinate differences. The multi-dimensional coordinate differences derived above are then squared, and the three squared results are summed. Finally, the summation result is square-rooted to accurately obtain the straight-line distance difference between adjacent points in real physical space. The system connects to the urban planning standard database to retrieve historical parameters of the average building span of blocks within the target scanning area. Distance interval parameters are set based on these parameters. An interval determination is performed: if the average building span value returned by the database is within the range of greater than 20.0 meters and less than 50.0 meters, the distance interval parameter is forcibly configured to 15.0 meters through an assignment operation. The total length of the line-of-sight trajectory records is divided using a predefined distance interval parameter. The quotient is then rounded up to obtain the total number of intervals. Based on this number, the total length is physically segmented, generating multiple consecutive distance interval structures. These intervals are then assigned unique indices starting from a constant 1, arranged in spatial order from closest to furthest from the viewpoint. Detailed attributes of multiple trajectory points in the line-of-sight trajectory coordinate sequence are read, and the absolute distance from each point to the starting point is extracted. This absolute distance is then compared to the upper and lower limits of multiple distance intervals. If the absolute distance is greater than or equal to the lower limit of an interval but strictly less than its upper limit, the trajectory point is mapped to that interval index. A one-to-one association is established and saved between the coordinates of each individual trajectory point and the interval number of its assigned segment. All the spatial point and interval number mappings are integrated to generate the basic sampling point spatial distribution structure for subsequent elevation retrieval. The actual calculation process includes: extracting the first valid trajectory point from the sequence, finding its absolute distance from the starting viewpoint to be 10.0 meters; obtaining the distance division interval parameter value of 15.0 meters from the configuration library; performing a matching operation on the first valid trajectory point, determining that its absolute distance of 10.0 meters satisfies the numerical comparison condition of being greater than or equal to 0.0 meters and less than 15.0 meters, thus classifying it as belonging to the first logical distance interval, and mapping its data to interval number 1; establishing a hard binding association between the 3D coordinate data of this trajectory point and interval number 1. Subsequently, extracting the second valid trajectory point with a distance value of 20.0 meters, determining that it satisfies the numerical comparison condition of being greater than or equal to 15.0 meters and less than 30.0 meters, thus mapping and binding it to interval number 2.After completing the mapping and binding operations for all 50 trajectory point elements within a 500.0-meter range, the entire list of relationships is compiled and output as the spatial distribution structure of the sampling points.

[0024] Please see Figure 3 The specific steps of S2 are as follows: S201: Obtain the spatial distribution structure of sampling points, perform coordinate matching calculations based on the set of terrain grid data blocks, determine the grid cell number corresponding to the sampling point based on the minimum coordinate difference, establish the mapping relationship between point coordinates and grid numbers, and generate a sampling point grid mapping table. A data link is established with the city's geographic information cloud database to fully read the set of terrain grid data blocks, including scanned data of the target street. This set of terrain grid data blocks exists in memory as a structured grid array containing batch vertex coordinate sequences and patch topological relationships. The spatial distribution structure of sampling points constructed in the preprocessing is read, deserialized, and all recorded independent sampling point spatial coordinate data are extracted. The diagonal intersection coordinates of each tiny grid cell within the terrain grid data block set are calculated as the center coordinate point. The matching engine is invoked to match the extracted sampling point spatial coordinates with all grid center coordinate points one by one and perform a coordinate difference calculation process. Specifically, the horizontal X-axis component of the sampling point coordinates is subtracted from the horizontal X-axis component of the grid center coordinates, and the absolute value of the result is taken. Simultaneously, the vertical Y-axis component of the sampling point coordinates is subtracted from the vertical Y-axis component of the grid center coordinates, and the absolute value is taken. The obtained horizontal and vertical absolute value differences are summed to obtain the Manhattan spatial coordinate difference of the specific sampling point relative to the target grid cell. The algorithm collects a series of coordinate difference data obtained from the calculation of the sampling point and all surrounding grid cells. These values ​​are sorted in ascending order, and the grid cell corresponding to the smallest coordinate difference (first in the list) is selected as the target grid cell surrounding the sampling point. The unique identifier of the selected target grid cell is extracted as its grid cell number. A memory pointer is established to map the coordinate data fragment of the current sampling point to the selected grid cell number. This process is repeated until all sampling points have completed the minimum coordinate difference pairing process. All matching mapping relationships are integrated and logged to generate a global sampling point grid mapping table. The actual calculation process is as follows: The planar projection coordinates of a single sampling point to be processed are extracted from memory as 500.0 meters on the X-axis and 600.0 meters on the Y-axis. The center coordinates of grid cell A in the adjacent region are extracted as 498.0 meters on the X-axis and 605.0 meters on the Y-axis, while the center coordinates of grid cell B are extracted as 510.0 meters on the X-axis and 590.0 meters on the Y-axis. The difference calculation with grid cell A is initiated. Subtracting the horizontal coordinate of the sampling point (500.0) from the horizontal coordinate of the grid (498.0) yields 2.0. Subtracting the vertical coordinate of the sampling point (600.0) from the vertical coordinate of the grid (605.0) yields 5.0. The sum of 2.0 and 5.0 gives a coordinate difference of 7.0 meters for grid A. The difference calculation with grid cell B is initiated. Subtracting 510.0 from the horizontal coordinate of the sampling point (500.0) yields 10.0. Subtracting 590.0 from the vertical coordinate of the sampling point (600.0) yields 10.0. The sum of these two values ​​gives a coordinate difference of 20.0 meters for grid B. Comparing the two differences, 7.0 meters is strictly less than 20.0 meters. Therefore, according to the minimum coordinate difference rule, this sampling point is assigned to grid cell A. The bottom-level identifier of grid cell A is retrieved as number 101.Bind the sampling point coordinate attribute to the field number 101 and persist it to the sampling point grid mapping table. Table 1 Sampling Point Grid Matching Data Table Point 1 500.0 600.0 101 7.0 Point 2 515.0 580.0 102 12.0 Point 3 600.0 620.0 105 4.0 Table 1 lists the planar coordinate parameters of multiple test sampling points during the mesh matching calculation process, the nearest mesh cell number locked after difference comparison, and the corresponding minimum coordinate difference quantization result data.

[0025] S202: Retrieve the set of grid elevation values ​​according to the sampling point grid mapping table, perform difference calculation, determine the depth value based on the elevation difference between adjacent grids and the offset ratio of sampling points, form a set of depth values ​​corresponding to sampling points, and obtain the sampling point depth value sequence. The sampling point grid mapping table structure is analyzed, and multiple grid cell numbers recorded within are read. These numbers are then used as index keys to access the high-precision terrain database and retrieve the corresponding data package of grid elevation values. From this data package, the initial relative elevation values ​​of the four endpoints constituting the current quadrilateral grid cell are accurately extracted. The relative position attributes attached to the sampling point grid mapping table are read to obtain the lateral and longitudinal offset ratios of the current sampling point relative to the lower left corner reference origin within the grid cell. A four-point spatial weighted calculation logic is introduced to replace the cumbersome geometric construction, using the initial elevation values ​​of these four endpoints to perform composite difference calculations. Specifically, the elevation difference between the upper and lower vertices of the left boundary of the grid is calculated. This difference is multiplied by the longitudinal offset ratio of the sampling point, and the multiplication result is added to the elevation of the lower left vertex to derive the elevation value of the middle left boundary projected onto the left boundary at the same latitude. Similarly, the elevation difference between the upper and lower endpoints of the right boundary of the grid is calculated, multiplied by the vertical offset ratio, and added to the elevation of the lower right endpoint to derive the middle elevation value of the right boundary. Finally, the middle elevation value of the right boundary is subtracted from the middle elevation value of the left boundary to obtain the difference in lateral height change. This difference is multiplied by the lateral offset ratio of the sampling point and added to the middle elevation value of the left boundary to obtain the target depth value that accurately matches the undulation of the grid. The target depth value derived from the above weighted calculation for each sampling point is associated with its original unique identifier to form a complete set of depth values ​​corresponding to each sampling point. Then, the multiple elements in this set are organized according to the original sampling point generation timeline sequence, ultimately outputting a sequence of sampling point depth values ​​with temporal and spatial continuity. The actual calculation process is as follows: The four vertex elevation parameters corresponding to grid cell number 101 are obtained through the index: 10.0 meters for the lower left corner, 12.0 meters for the upper left corner, 14.0 meters for the lower right corner, and 18.0 meters for the upper right corner. The horizontal offset ratio recorded by the sampling point within this grid is 0.5, and the vertical offset ratio is 0.4. The difference between the upper left (12.0) and lower left (10.0) is used to derive the left-side elevation difference of 2.0. This 2.0 is multiplied by the vertical offset ratio of 0.4 to derive 0.8. Adding the base reference of 10.0, the elevation of the middle left boundary is derived to be 10.8 meters. The difference between the upper right (18.0) and lower right (14.0) is used to derive the right-side difference of 4.0. This 4.0 is multiplied by the vertical offset ratio of 0.4 to derive 1.6. Adding the base reference of 14.0, the elevation of the middle right boundary is derived to be 15.6 meters. Calculate the elevation difference of the right boundary (15.6) minus the elevation difference of the left boundary (10.8), resulting in a span difference of 4.8. Multiply this difference of 4.8 by the lateral offset ratio of 0.5 to derive a value of 2.4.Finally, the elevations of the middle left boundary, 10.8 and 2.4, are summed to obtain a final target depth value of 13.2 meters for the sampling point. This value of 13.2 meters is then added to the sampling point depth value sequence. The advantage of this calculation logic is that it uses the relative proportional distribution of vertices within the grid to replace complex 3D surface intersection calculations, quickly deriving highly accurate terrain depth parameters with excellent fit.

[0026] S203: Based on the sampling point depth value sequence and the spatial distribution structure index of the sampling points, perform rearrangement calculation, establish the association relationship between depth values ​​and spatial order index, and generate a geographic depth distribution sequence; The system batches all depth feature values ​​from the sampling point depth value sequence in the high-speed memory cache, while simultaneously waking up the storage system to retrieve the complete file of the sampling point spatial distribution structure output from step S103. This spatial distribution structure is mounted, and multiple spatial order index numbers assigned to the sampling points during initial generation are traversed and read. A sequence rearrangement calculation operation is initiated, defining a set of sorting rules based on the index value size. Following the strict ascending rule of the read spatial order index, the physical positions of elements within the sampling point depth value sequence that were initially expected to be disordered due to differences in calculation time are physically swapped. A continuous data structure column memory space is allocated, and the rearranged depth values ​​are sequentially filled into the slots of this data structure column. During the filling process, pointers are linked between the depth value in each storage slot and its corresponding original spatial order index number, constructing a robust one-to-one data association. The overall data structure, including this mapping relationship and the rearranged sequence, is packaged and sealed, and delivered as the geographic depth distribution sequence to the next stage. The actual calculation process is as follows: An unorganized sequence of sampling point depth values ​​retrieved from memory contains three disordered elements: element A (depth value 13.2 meters), element B (depth value 15.5 meters), and element C (depth value 11.0 meters). By querying the spatial distribution structure of the sampling points across tables, the corresponding spatial order data is obtained. It is verified that the actual spatial order index value corresponding to element A (depth value 13.2 meters) is 3, the order index value corresponding to element B (depth value 15.5 meters) is 1, and the order index value corresponding to element C (depth value 11.0 meters) is 2. Based on the preset ascending numerical sorting criterion of 1, 2, and 3, a data column reorganization procedure is triggered. Element B, with the smallest index value of 1, and its contained value of 15.5 meters, is moved to the first slot of the new queue. Element C, with the index value of 2, and its contained value of 11.0 meters, is moved to the second slot of the new queue. Element A, with the largest index value of 3, and its contained value of 13.2 meters, is moved to the third slot of the new queue. After the above positional adjustment processing, a perfectly aligned rearranged sequence of physical routes is obtained, namely 15.5 meters, 11.0 meters, and 13.2 meters. This arranged data column is locked, and a geographic depth distribution sequence is generated and persistently stored.

[0027] Please see Figure 4 The specific steps of S3 are as follows: S301: Obtain the geographic depth distribution sequence, calculate the depth difference between adjacent locations based on the spatial index sequence and take the absolute value to form a change amplitude sequence, and obtain the depth change amplitude sequence; The data mounting instruction is executed to extract the complete geographic depth distribution sequence generated in the previous step from the specified memory segment. The spatial index sequence field information recorded in this sequence is located and separated. Based on the physical extension order from near to far indicated by the spatial index sequence, a stepping pointer slides from the head to the tail of the queue, successively extracting the depth value of the current logical position and the associated depth value of the previous logical position. The extracted depth value of the current index position and the depth value of the previous index position are pushed to the processor's arithmetic logic unit for subtraction, deriving the original relative height difference between adjacent nodes. Given that terrain undulations have two vector directions, upward and downward, to uniformly measure the intensity of the fluctuations, the absolute value stripping function is called on the difference result obtained from the subtraction operation for mathematical processing, forcibly removing the negative sign before the value, thus obtaining an absolute value parameter representing the absolute intensity of local terrain undulations, consisting entirely of positive numbers. The absolute value parameters obtained through the above steps between every two adjacent detection points are strictly concatenated and filled into the current cache array according to the original spatial extension index order, forming a basic change amplitude sequence. After the pointer slides to the end of the sequence and completes the comparison of all point pairs, the buffer array is closed, defined, and output as the final depth change amplitude sequence. The actual calculation process includes retrieving the generated geographic depth distribution sequence data, capturing the characteristic depth values ​​of 15.5 meters at spatial index 1, 11.0 meters at spatial index 2, 13.2 meters at spatial index 3, and 20.0 meters at spatial index 4, arranged sequentially. First, index 2 is compared with index 1, extracting the value of 11.0 meters from index 2 and 15.5 meters from index 1. Subtraction is performed to derive the original difference value of -4.5 meters, and the absolute value function is called to clear the sign and derive the fluctuation parameter of 4.5 meters. Then, the pointer moves forward to compare index 3 with index 2, extracting 13.2 meters and 11.0 meters, performing subtraction to derive 2.2 meters, and performing an absolute value check, retaining 2.2 meters because it is a positive number. Finally, by comparing index 4 and index 3, the difference of 6.8 meters was derived by subtracting 20.0 meters from 13.2 meters. After absolute value processing, the difference remained 6.8 meters. The absolute difference data generated from all rounds of calculation, namely 4.5 meters, 2.2 meters, and 6.8 meters, were pushed into the target queue in chronological order, successfully deriving the complete set of depth change amplitude sequence data.

[0028] S302: Perform segment division based on the depth change amplitude sequence and the preset depth change threshold, merge positions below the preset threshold into continuous segments, and use positions above the preset threshold as dividing points, establish the relationship between segment number and index range, and generate a continuous segment index table; The system parameter configuration module is activated to retrieve the globally preset depth change threshold parameter. This threshold parameter is calculated from dynamic data statistical analysis. Specifically, it involves reviewing the target area's past 30-day period of building height increase and terrain subsidence monitoring data, calculating the standard deviation of its overall fluctuation, and then multiplying this standard deviation by an environmental tolerance coefficient of 1.5 to derive the critical preset threshold for regional matching. The depth change amplitude sequence array processed in step S301 is extracted. A loop comparison logic is configured to extract discrete absolute amplitude data one by one, starting from the beginning of the sequence. The absolute value of the depth change amplitude scanned in the current round is compared with the calculated depth change threshold parameter in the logic comparator. The system is configured with a traffic diversion response mechanism: if the logical judgment result shows that the current amplitude value is strictly less than the preset threshold for depth change, the current area is determined to be a smooth transition zone, and the current index position is directly allocated to the continuous segment attribute coding group with the same value as the immediately preceding position; conversely, if the logical judgment result indicates that the current amplitude value is greater than or exactly equal to the preset threshold for depth change, the system immediately triggers an interruption alarm, identifying a geological upheaval at the current physical location, such as the uplift of a high-rise building or the collapse of a deep pit, and forcibly marking the current location as a fully current segmentation node. At this segmentation node, the system cuts off the data inclusion operation of the preceding continuous segment, assigns an end index to it, and simultaneously opens a new segment number coding group with an increment value of 1 for the subsequent data. After thoroughly scanning the entire sequence, all segment number grouping data are aggregated, and the starting and ending spatial index positions corresponding to each segment number are accurately extracted and entered, establishing a solid correspondence table between segment numbers and physical index ranges. This relationship table is stored in a high-availability database to generate the final continuous segment index table. The actual calculation process includes the following: By extracting the standard deviation of the land parcel's fluctuation (3.3 meters) and multiplying it by a coefficient of 1.5, the preset threshold for depth change in the area is calculated to be 5.0 meters. The synchronously loaded depth change amplitude sequence data stream includes 4.5 meters, 2.2 meters, 6.8 meters, and 1.0 meters. The first priority data point, 4.5 meters, is extracted to initiate the first round of judgment. Since the value of 4.5 meters is less than the preset threshold of 5.0 meters, it does not constitute a geomorphic abrupt change and is assigned to the initial segment number 1. The second priority data point, 2.2 meters, is extracted and judged. 2.2 meters is still less than 5.0 meters, so the merging process continues, and it is still included in the segment number 1 group. The third priority data point, 6.8 meters, is extracted to initiate judgment. The system detects that 6.8 meters is greater than the preset threshold of 5.0 meters, satisfying the drastic change judgment condition. The third priority position is marked as a split node. The collection permission of segment number 1 is forcibly terminated, verifying that the index span governed by segment number 1 is from the 1st to the 2nd position. Then, a new segment number 2 is created from position 3.A comparison is performed on the fourth data point, 1.0 meter. Since 1.0 meter is less than 5.0 meter, it belongs to the newly created segment number 2. After summarizing and organizing, it is determined that the index range under segment number 1 is 1 to 2, and the index range under segment number 2 is 3 to 4. This result is then output to construct a continuous segment index table.

[0029] S303: Based on the continuous segment index table and depth change range sequence, filter segments including those exceeding the preset threshold, mark segment attributes and extract the spatial coordinate range corresponding to the start and end indexes, establish the relationship between segment number and spatial range, and generate a set of geographic occlusion segments; Establish a data bus path to acquire the frozen continuous segment index table data stream output in step S302, and simultaneously extract the depth change amplitude sequence ontology file sealed in step S301. Set up a line-by-line scanner to read each independent segment number entity registered in the continuous segment index table. For the currently selected specific segment number, query its bound exclusive index start and end span range. Relying on the obtained start and end span range as the condition parameter of the search engine, delve into the depth change amplitude sequence to slice and extract all continuous amplitude value sets, including those included. Configure a filter to perform multi-dimensional traversal filtering and detection on all discrete amplitude values ​​deployed within the extracted set. The verification condition is set as follows: check whether there is at least one special distortion amplitude data whose absolute value is greater than or equal to the preset threshold set for system depth change within the extracted set. Malicious fluctuation segments including the above-mentioned excessive distortion values ​​are specially isolated and extracted. Perform attribute rewriting operations on these isolated abnormal segments, injecting geographical occlusion attribute tags that characterize the visibility obstruction rate. Referring to the archived history in the continuous segment index table, extract the specific start and end index values ​​of the segment carrying the occlusion label. Using these two extreme index values, trace back to explore the spatial distribution structure of the initial sampling points, decode and obtain the precise X-axis and Y-axis projection coordinate parameters of these two extreme points in the absolute three-dimensional spatial reference system, thus piecing together a closed rectangular spatial coordinate range boundary. Generate a structured association pair between the screened key segment number and the boundary of this rectangular spatial coordinate range. Gather all segment boundary data fragments carrying geographic occlusion attribute labels and assemble them to generate a comprehensive set of geographic occlusion segments. The actual calculation process is as follows: Read the continuous segment index table to obtain segment number 1, whose start and end index range is set from position 1 to position 2. Use this condition to extract the corresponding amplitude value fragments of 4.5 meters and 2.2 meters. Filter exploration verifies that the highest value of 4.5 meters within this fragment does not reach or exceed the preset threshold red line of 5.0 meters. Determine that this segment poses no obstruction threat, discard it, and do not apply any markings. Continuing with segment number 2, its start and end range is from position 3 to position 4. The corresponding amplitude data segment is extracted to obtain values ​​of 6.8 meters and 1.0 meters. The system keenly detects that the hidden value of 6.8 meters meets the stringent condition of exceeding the 5.0-meter red line. Geographic occlusion attribute is immediately applied to segment number 2. The edge nodes of this segment, namely start index 3 and end index 4, are extracted. Using these two nodes to examine the spatial distribution structure, the physical positioning parameters of index 3 are obtained as X-axis coordinate 500.0 meters and Y-axis coordinate 600.0 meters, while the positioning parameters of index 4 are obtained as X-axis coordinate 510.0 meters and Y-axis coordinate 610.0 meters. Based on these two sets of nodes, the system forcibly binds segment number 2 to a bounding rectangle defined by a horizontal range of 500.0 to 510.0 meters and a vertical range of 600.0 to 610.0 meters. This binding relationship document is then deposited into the final geographic occlusion segment set database.

[0030] Please see Figure 5 The specific steps of S4 are as follows: S401: Obtain the set of geographic occlusion segments and the set of geometric patch vertices, perform interval comparison, compare the vertex coordinates with the segment range item by item, establish the correspondence between vertex and segment number, and generate a vertex segment mapping table; The entire dataset of the generated geographic occlusion segment set is loaded from the shared memory segment of the graphics processor. Simultaneously, the massive geometric patch vertex set matrix generated during the preprocessing stage of the city's 3D model is acquired. A data discretizer is activated to strip away the polygonal topology network within the geometric patch vertex set, extracting only the physical coordinate information of each independent vertex. A spatial bounding box comparison and judgment process is deployed, capturing the X-axis and Y-axis coordinate components of each extracted discrete vertex coordinate. Then, nested loop logic is set up to scan the maximum and minimum values ​​of the rectangular spatial coordinate range of each occlusion segment sealed in the geographic occlusion segment set file. For the current test vertex, a comparator is invoked to perform extreme value comparison operations on its X-axis component with the maximum and minimum X-axis range parameters set for that segment; in parallel, its Y-axis component is also compared with the maximum and minimum Y-axis range parameters set for that segment. The interval convergence logic is established as follows: if all component data of a single test vertex on both the horizontal X-axis and vertical Y-axis strictly show a value greater than or equal to the minimum lower limit of the corresponding segment, and simultaneously show a value less than or equal to the maximum upper limit of the corresponding segment, then the system outputs a Boolean truth value, determining that the vertex has precisely fallen into the current geographic occlusion dark zone in physical space projection. For these special vertices that meet the conditions for falling into the dark zone, the internal number of the segment that triggered the truth value is extracted, and the system's globally unique identification code of the vertex is linked to the occlusion segment number. All corresponding relationship logs that successfully pass the interval comparison verification and are successfully linked are uniformly arranged and serialized, outputting a vertex segment mapping table file that includes details of the entire obstruction. The actual calculation process includes the following: extracting the test vertex with the code V1 from a massive geometric patch vertex library, setting its horizontal X-axis component to 505.0 meters and its vertical Y-axis component to 608.0 meters. The system retrieves the boundary range of segment number 2 from the geographic occlusion segment set and extracts the horizontal X-axis limit of the rectangular block. The lower limit is 500.0 meters, and the upper limit is 510.0 meters. The lower limit is 600.0 meters, and the upper limit is 610.0 meters. Test parameters are input to the comparator: First, the horizontal X-axis component of 505.0 meters is checked. The comparison confirms that 505.0 meters is securely within the absolute range of greater than or equal to the lower limit of 500.0 meters and less than or equal to the upper limit of 510.0 meters, thus passing this dimension. Next, the vertical Y-axis component of 608.0 meters is checked, confirming that 608.0 meters is also within the valid range of 600.0 meters to 610.0 meters, thus passing this dimension verification as well. Based on this comprehensive assessment, test vertex V1 is indeed submerged in the shadow of segment number 2. The data pair linking V1 identifier and segment number 2 is quickly recorded.Subsequently, test vertex V2 was extracted, with an x-coordinate of 520.0 meters and a y-coordinate of 608.0 meters. In the first round of X-axis testing, the comparator detected that 520.0 meters exceeded the upper limit of 510.0 meters, resulting in a failure to determine the value and directly terminating the current loop. Finally, the collected successful matching messages from V1 were compressed into a vertex segment mapping table.

[0031] S402: Perform spatial mapping based on the vertex segment mapping table and the urban building geometric patch grid area, map vertex coordinates to grid cells and associate them with geometric patch numbers, establish the correspondence between vertices and grid areas, and obtain the vertex grid distribution table; The system retrieves basic drawing data describing the geometric mesh region division of urban building entities. It loads the valid vertex identifier sequence from the vertex segment mapping table output in step S401. For each individual vertex coordinate in the extracted sequence, a hash mapping allocation algorithm based on the plane segmentation rule is introduced to perform a global spatial meshing reorganization allocation operation. Specifically, the allocation operation path is as follows: The system reads the environmental mesh cell side length constant set during system initialization. The horizontal X-axis coordinate parameter and vertical Y-axis coordinate parameter of the currently extracted vertex are pushed into the division operation unit, and the mesh cell side length constant is used as a fixed divisor to perform division and obtain floating-point results. A down-rounding integer filter is applied to these two floating-point results to forcibly remove all decimal places and remainders, thereby extracting the horizontal column index integer representing the absolute column sequence of the region to which the vertex belongs and the vertical row index integer representing the row sequence. The column index integers obtained from the operation are placed first, and the row index integers are placed last, and string concatenation is performed to assemble a 2D hybrid index of the mesh cell sufficient to uniquely determine its slot in the global mesh system. Using this newly assembled 2D hybrid index code, we delve into the vast database of urban building foundations to perform a reverse lookup, precisely retrieving the 3D entity data of the underlying real geometric pieces that dominate the grid cell. We analyze the entity's attribute tags, extracting the geometric piece's inherent number parameter representing the entity's physical ownership. Finally, we stitch together the unique identifier code of the currently processed vertex, the calculated 2D hybrid index code of the grid cell, and the extracted associated entity geometric piece number parameter into a unified data structure. This constructs a complete lifecycle mapping link between the vertex's microscopic spatial coordinates and its macroscopic grid street affiliation and building level affiliation. We then compile a comprehensive processing report of all affected vertices across the city, execute the output release, and obtain a complete vertex grid distribution table. The actual calculation process includes: retrieving the test vertex V1 file left over from the previous stage, verifying that its planar coordinate data is still 505.0 meters on the horizontal X-axis and 608.0 meters on the vertical Y-axis; querying the underlying configuration file to retrieve the city's standard grid cell side length setting constant value of 100.0 meters. The computing resources are allocated to divide the horizontal coordinate 505.0 by the constant value 100.0 to obtain the agreed floating-point number 5.05. This is then passed through a floor function to remove the decimal point, forcing a pure horizontal column index integer of 5. The same process is applied to the vertical coordinate 608.0, using 100.0 as the divisor to obtain a floating-point number 6.08. After filtering, the vertical row index integer is obtained as 6. The column index 5 and row index 6 are then forcibly concatenated using a concatenation operator to obtain a composite feature code form of the 2D hybrid index of the grid cell, which is a combination key of 5 and 6. Using this 5 and 6 combination key code, a comparison is made in the municipal bureau's building archive table, identifying an office building geometric piece entity with the identification code G10 covering the 5x6 column area. A three-dimensional binding contract is constructed for vertex V1 within the grid system, constrained by the 5 and 6 combination key and belonging to the geometric piece G10.Merge and bind all the 3D contract messages into a booklet to obtain the vertex mesh distribution table. Table 2. Vertex Region Hierarchical Mapping Execution Details Vertex V1 505.0 608.0 5 6 G10 Vertex V2 520.0 608.0 5 6 G10 Vertex V3 815.0 720.0 8 7 G12 Table 2 lists the absolute coordinates of multiple test vertices under the hash grid mapping rule, the row and column index allocation values ​​obtained through rounding calculation, and the code data of the bound entity geometry pieces obtained through tracing.

[0032] S403: Perform classification judgment based on vertex mesh distribution table and vertex segment mapping table, count the ratio of the number of vertices falling into segments in geometric pieces to the total number, divide the clipping and retention categories according to the preset ratio threshold, establish the association relationship between geometric piece number and category, and generate geometric piece spatial classification structure; A high-speed memory direct-access link is established to fully read the newly compiled vertex mesh distribution table and the vertex segment mapping table including occlusion information. The calculation mode is adjusted, shifting the focus from micro-vertex to macro-slice, and a data aggregation and review process is initiated in turn for each independent geometric piece number registered in the database. First, the instruction retrieval engine performs massive filtering in the vertex mesh distribution table based on the building geometric piece number currently under review, aggregating all descendant vertex identifiers that are confirmed to belong to the target building number to form a target set to be reviewed. The built-in counter is activated to count the total population size included in the set to be reviewed, that is, to obtain the total number of vertices belonging to the geometric piece, and this absolute number is permanently fixed as the denominator value in the division operation system. With this list of sets to be reviewed, the direction is changed to enter the vertex segment mapping table with occlusion information to carry out the second round of back-to-back comparison query operation. A rigorous statistical analysis was conducted to determine how many members among the pending vertices had names linked to occlusion numbers in the dark zone. The total number of these fallen vertices, deeply entangled in geographical obscuration, was compiled and elevated to the core numerical value within the computational system. Arithmetic units were dispatched to perform a probing division operation, dividing the numerator by the denominator, to obtain a precise ratio representing the degree of damage to the building within the visual blind spot. A preset proportional threshold parameter was extracted from the system's defense mechanism. This parameter's baseline setting fully referenced the stringent minimum visual visibility requirements in densely built-up urban environments, and its stringent redline constant value of 60% was established through hundreds of thousands of line-of-sight ray tracing tests. A comparison command group was dispatched to relentlessly compare the calculated current damage ratio data with this 60% preset proportional threshold. If the outcome of the competition reveals that the current damage ratio is greater than or equal to the red line standard of 60%, the geometric piece is deemed to have been deeply corrupted into a useless redundancy and is marked with a prominent pruning category label. If the outcome confirms that the current ratio still has breathing room and is strictly below the 60% threshold, it is graciously included in the protected reserved category array. The ultimate fate classification attribute generated by the above ruling is linked to the original geometric piece body number and recorded. After the city-wide sweep, the ultimate ruling document is released, generating a geometric piece spatial classification structure file that controls the life and death of all buildings. The actual calculation process includes the following: the preset proportion threshold parameter baseline of 60% is allocated from memory, which is equivalent to a coefficient of 0.6. The case file is checked and found that a total of 50 vertex personnel are affiliated with the single geometric piece code G10, and the number 50 is sealed as the denominator base. With this list of 50, the mapping table is infiltrated for comparison and search, and it is found that as many as 40 vertex members have a case record of being blocked in the dark area. This is counted as the total number of 40. The division unit uses the numerator 40 divided by the denominator 50 to deduce a battle loss ratio coefficient of 0.8. The deducer compares the battle loss ratio of 0.8 with the baseline red line coefficient of 0.6. Since 0.8 is much greater than the red line threshold of 0.6, Ironblood determines that the geometric piece G10 is in a severely paralyzed state, completely buried by other obstacles.The court immediately stripped the geometric film G10 of its on-screen privileges, ruthlessly relegating it to the abyss of the cut category. Looking at the geometric film G12, its total personnel capacity was 30. A review of its records revealed only 12 individuals with connections to the crime. Applying division by 30, the casualty ratio was calculated to be a coefficient of 0.4. Submitting this to a comparator, it was determined that due to the coefficient of 0.4, it had survived below the threshold of 0.6, meaning the majority of its appearance remained visible. The judge slammed the gavel, granting it a reprieve and relegating it to the privileged reserved category. These trial documents were compiled into a book.

[0033] Please see Figure 6 The specific steps of S5 are as follows: S501: Obtain the spatial classification structure of geometric pieces, perform classification retrieval, extract the geometric piece numbers of the cropping category and the geometric piece numbers of the retained category respectively, establish the correspondence between geometric piece numbers and classification labels, and generate a geometric piece classification index table; The system initiates the high-speed disk input interface to load and absorb the overall ledger of the geometric piece space classification structure, containing all final judgments. During system initialization, the memory manager is invoked to forcibly allocate two absolutely isolated queued data containers within the dynamic random access segment, naming these two new data containers the "pruned data list pool" and the "reserved data list pool," respectively. The internal engine-level classification retrieval polling daemon is activated, directing its pointer to sweep downwards from the first line of the geometric piece space classification structure ledger, reading each registered geometric piece's unique identification code and the subsequent fate category label field. The plaintext instruction ciphertext encapsulated within the fate category field is extracted and sent to a pre-set text character searchlight conditional comparator for character-by-character comparison and detection. When the searchlight verifies that the captured encrypted string matches the death sentence of the trimming category, it immediately retrieves the memory pointer to precisely extract the geometric piece-specific identification code body bound to that line, and activates the underlying system data insertion push command to directly push it into the end array of the initialized trimming data list pool. When the searchlight feedback string perfectly matches the survival characteristics of the preservation category, it similarly extracts the corresponding identification code body, drives the data push stream to smoothly place it into the internal sequence of the system-protected preservation data list pool. After this daemon process completes the final step in the massive ledger of millions of entries and verifies that nothing is missing, it issues a system sealing command to completely solidify the entry and exit gateways of these two data list pools. The reconstruction script is called to gather and weave the geometric piece identification codes that have been packaged into the same fate pool into a set of interconnected, continuous, and fast-searching retrieval structure spectrum, and issues data correspondence certificates to verify the identity and faction imprint of each building individual in this spectrum. Export this grand overall structure, including a dual-track distribution system, and generate a geometric piece classification index table for the backup system to access and consult at any time. The actual calculation process includes the following: unpacking the geometric piece spatial classification structure ledger and obtaining the following information from the dossier: object G10 is declared a pruning category, object G11 is granted the right to survive in the reserved category, object G12 also gains the right to survive in the reserved category, and object G13 is determined to be a pruning category. The instruction system completes the pre-warming memory allocation for the two empty containers: the pruning data list pool and the reserved data list pool. Examining object G10 in the first dossier, the ciphertext searchlight flashes, indicating its affiliation with the pruning camp. The memory grabber then strips the G10 characters and decisively throws it into the deepest part of the pruning data list pool. Examining object G11 in the second dossier, the searchlight indicates it is safely reserved. The grabber gently lifts the G11 characters and sends them to the reserved data list pool for safekeeping. Upon inspection of object G12 in Volume 3, it was still found to be in the reserved category, so it was pushed into the reserved data pool following G11. A spot check of object G13 in Volume 4 revealed it to be a pruned category, so it was instructed to be added to the pruned data pool.After a thorough restructuring, the system backend verified that G10 and G13 were indeed sealed in the current cropping list, while G11 and G12 were located in the protected retention list. By integrating all member background information and publishing it in a unified format, the geometric piece classification index table was born.

[0034] S502: Perform spatial culling based on the geometric patch classification index table, remove the vertex coordinates of the clipped category geometric patches from the grid data, and at the same time retain the set of vertex coordinates of the category geometric patches to form the set of filtered geometric patch vertices, thus obtaining the set of retained geometric patch vertices; The main engine for rendering the 3D city scene loads a massive resource pool of underlying data from the city's 3D scene mesh, which is in a primitive, undeveloped state. It retrieves all faction-based classification identifiers from the newly generated global geometry classification index table. Driven by the graphics kernel, it initiates a devastating spatial data physical culling cycle. Patrol pointers are dispatched to penetrate the list of clipping categories marked with a death sentence, forcibly extracting the top-ranked geometry piece's identification code. Holding this death code credential, it delves into the chaotic underlying data pool of the primitive mesh to perform a comprehensive content location and retrieval operation. Once the radar precisely locks onto all the intricate network of vertex micro-coordinates attached to this geometry piece's code and its derived, dependent facet triangle connection data, the system overlord unhesitatingly issues an irreversible physical memory segment forced release and annihilation command. This command will trigger a chain reaction, causing all 3D vertex coordinate arrays, texture mapping coordinate systems, lighting and reflection normal vector values, and crucial triangular facet assembly index structure data connected to the culled object to suffer a devastating blow, being completely erased from the current memory-based mesh data architecture without leaving a trace. Following this cleanup storm, extremely stringent maintenance and protection commands are issued to the geometry pieces huddled in the reserved privilege list. Hardware-level write protection is activated to safeguard all surviving reserved vertex coordinate meshes and topology data from any accidental deletion commands, ensuring they remain robustly alive in the internal survival pool. After the pointers have cleared the culling list of all objects and safely returned them to their positions, given the inevitable fragmentation and voids caused by the mass demolition of memory space, the system immediately launches a batch memory transfer, continuous packaging, compression, and merging campaign for the surviving mesh data, filling all data gaps and restoring the absolute tightness of the memory array. At this point, the entire cleanup and reorganization operation is complete. The streamlined new vertex set array, reborn from the ashes of brutal elimination, is output and packaged, gloriously obtaining the final retained geometry vertex set. The actual calculation process is as follows: The original mesh data living database to be operated on is found to be large, storing a total of 5000 vertex object data. The index ledger reveals that geometry object G10, which is on the pruning list, has 50 vertices, and object G13 has 100 vertices. It is also found that object G11 in the protected retention list has 80 vertices, and object G12 has 30 vertices. According to the cleanup list instructions, the system positioning probe penetrates the original living database, precisely surrounds the 50 coordinate nodes belonging to object G10, and triggers the memory release bomb. This wave of elimination causes the total number of living data to plummet from 5000 to 4950. Without pausing, the probe captured the 100 coordinate points of object G13 again and pressed the erase button, causing the live data volume to drop sharply to 4850.After the storm, the defense probes sequentially scanned the 80 nodes under object G11 and the 30 nodes under object G12, both protected by the retention list, verifying the defense's strength. No node triggered any illegal deletion code, ensuring the safe residing of these nodes within the memory pool. Faced with the fragmented and ravaged memory space, the controller performed a space-compact rearrangement algorithm on the remaining 4850 isolated vertices to clear the trenches, ultimately producing a slimmed-down version of the retained geometric patch vertex set containing only 4850 valid elements. Table 3 Rendering Removal and Liquidation Execution Feedback Tracking Table Initial state of readiness No specific object Suspended standby order 0 5000 First round of suppression Object G10 Memory address release 50 4950 Second round of suppression Object G13 Memory address release 100 4850 Third round of patrol Object G11 Data lock retention 0 4850 Fourth round of patrol Object G12 Data lock retention 0 4850 Table 3 lists the detailed battle report statistics and feedback data reports of the graphics processing system performing wave-by-wave physical space culling and defense locking operations on the vertex array of the specified mesh geometry piece according to the classification and adjudication instruction label, while monitoring and recording the changes in the overall number of remaining vertices in the video memory throughout the process.

[0035] S503: Based on the vertex set of the retained geometric pieces, the rendering data is constructed, the vertex coordinates are associated with the mesh index and the face connection relationship is generated, the correspondence between the geometric piece number and the rendering data structure is established, and a 3D map rendering optimization scheme is generated. A dedicated bus receiving channel is established to acquire the vertex set matrix data of the precious surviving geometric pieces after the destruction and elimination of space. A multi-dimensional ignition initiates a terminal rendering data standard reconstruction and modeling campaign for the graphics processing hardware rendering pipeline, aiming to provide the underlying drawing core with clean and standardized instruction stream data packets conforming to interface standards. The first command of the campaign is to extract the 3D absolute coordinates of all the precious vertices that survived the purge from the vertex set matrix of these surviving geometric pieces. Built-in registers are used to distribute a new global mesh logical index to each of these surviving vertex groups, based on a fully current global mesh, with a forced incrementing operation starting from a radix of 0.0. Subsequently, the core algorithm for reconstructing and reconstructing the triangle facet topology connection network is activated, tracing back the sealed historical blueprint to obtain the inherent connection network map of the triangle primitives in those original surviving geometric pieces that were not affected. Each surviving triangle facet with legal drawing permissions is traversed, extracting the initial three old aging vertex identification numbers recorded at the time of its creation. Using the well-preserved cached ledger of identity transformations, these three aging, time-worn identity numbers are seamlessly translated and equivalently converted into brand-new global mesh logic recognition index codes newly assigned by the system. These three translated index codes are then assembled according to the drawing and wrapping rules, forming a facet connection relationship reconstruction array representing a single triangular skeleton. All the rearranged and reconstructed vertex coordinates and geometric data, now with new identities, are injected into the memory block of a dedicated vertex base buffer object for the drawing interface. Simultaneously, the painstakingly assembled facet connection relationship reconstruction array is packaged and injected as the core content of a dedicated index addressing buffer object memory block guiding the rendering pipeline's addressing. The system coordinates the entire system, strictly binding pointers to the geometric piece identification number of each surviving entity and its assigned buffer storage block's starting address, absolute offset parameter, and data span length parameter, establishing a strict red-line correspondence. After completing the encapsulation and soldering processes for all vertex base buffer black boxes, dedicated index addressing buffer black boxes, and red-line-guided relational routing pointers, a robust and complete 3D graphics rendering pipeline delivery structure standard component capable of directly connecting to the graphics card was assembled and cast. The data gate was opened to pour and export this standard component, announcing the complete and successful output of the ultimate optimization solution for accelerating 3D panoramic map rendering. The actual calculation process includes the following: extracting the orphaned vertex coordinate data that has survived the ordeal; assigning a new sequence number 0 to the first vertex in the queue; assigning a new sequence number 1 to the second-ranked vertex; assigning a new sequence number 2 to the third-ranked vertex; and so on, continuously adding and distributing data until the final vertex is labeled 4849.A single surviving triangular primitive facet, undamaged, was retrieved from the blueprint library. Examining the blueprints confirmed that this facet's original reference identifiers in the past were V80, V85, and V90. Decrypting the generational mapping ledger revealed that the old code V80 had been reborn as the new sequence number 15, the old code V85 as the new sequence number 20, and the old code V90 as the new sequence number 25. The system operator then sequentially pushed the three badges—the pure numeric codes 15, 20, and 25—into a slot in the newly constructed facet connection array space. After processing and reshuffling all the remaining 5000 facet contracts, a massive indexing artery array structure absorbing 15000 integer identifiers proudly emerged within the system pool. Next, the final binding puzzle process is executed, establishing a contract for the survivor faction geometry piece G11 in this major artery array, with the starting route pointer at number 0 and a span including a length of number 200; constructing a contract for the survivor geometry piece G12, with the starting route anchor pointer positioned at number 200 and the jurisdiction length extending backward including a length of number 80; with these interlocking contracts, a top-tier 3D purification rendering pipeline feed data structure matrix that fully conforms to the drawing standards and specifications is finally forged, generating the ultimate speed-up rendering optimization solution for hardware-oriented output.

[0036] Please see Figure 7 A 3D map rendering optimization system based on geometric patch structure, comprising: The line-of-sight sampling generation module is used to implement S1: obtain the spatial position of the viewpoint and the monitoring direction vector, perform normalization processing on the monitoring direction vector and extend it to form a line-of-sight trajectory, divide the line-of-sight trajectory and calculate the division position coordinates, and generate the spatial distribution structure of sampling points; The depth sequence construction module is used to implement S2: obtain the spatial distribution structure of sampling points, extract the location of sampling points in the terrain grid data block, calculate the location depth according to the sampling order and arrange them to generate a geographic depth distribution sequence; The occlusion detection and segmentation module is used to implement S3: obtain the geographic depth distribution sequence, calculate the depth difference between adjacent locations and perform segmentation, mark segments with depth differences exceeding a preset threshold and record the interval range, and generate a set of geographic occlusion segments. The geometric patch classification and spatial mapping module is used to implement S4: based on the set of geographic occlusion segments, compare the vertex spatial distribution structure and divide the geometric patches, obtain the vertex set of the geometric patch, and map it to the grid area of ​​urban building geometric patches to form the vertex spatial distribution structure, and generate the geometric patch spatial classification structure; The rendering optimization module is used to implement S5: obtain the spatial classification structure of geometric pieces, remove clipped geometric pieces, process the vertex transformation and raster calculation of the retained geometric pieces, and generate a 3D map rendering optimization scheme.

[0037] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of protection of the technical solution.

Claims

1. A method for optimizing 3D map rendering based on geometric patch structure, characterized in that, Includes the following steps: S1: Obtain the spatial position of the viewpoint and the monitoring direction vector, perform normalization processing on the monitoring direction vector and extend it to form the line of sight trajectory, divide the line of sight trajectory and calculate the division position coordinates, and generate the spatial distribution structure of sampling points; S2: Obtain the spatial distribution structure of the sampling points, extract the location of the sampling points in the terrain grid data block, calculate the location depth according to the sampling order and arrange them to generate a geographic depth distribution sequence; S3: Obtain the geographic depth distribution sequence, calculate the depth difference between adjacent locations and perform segment division, mark segments with depth differences exceeding a preset threshold and record the interval range, and generate a set of geographic occlusion segments. S4: Based on the set of geographic occlusion segments, compare the vertex spatial distribution structure and divide the geometric patches, obtain the vertex set of the geometric patches, and map it to the grid area of ​​urban building geometric patches to form the vertex spatial distribution structure, and generate the geometric patch spatial classification structure; S5: Obtain the spatial classification structure of the geometric pieces, remove and trim geometric pieces, and process the vertex transformation and raster calculation of the retained geometric pieces to generate a 3D map rendering optimization scheme.

2. The 3D map rendering optimization method based on geometric patch structure according to claim 1, characterized in that, The spatial distribution structure of the sampling points includes the sampling coordinates along the trajectory, the line-of-sight step distance, and the segmented sampling node identifiers. The geographic depth distribution sequence includes the perspective depth value of the grid model, the terrain elevation difference, and the sampling point line-of-sight scalar. The set of geographic occlusion segments includes abruptly exceeding the depth limit interval, terrain occlusion bounding boxes, and the span of invisible blind spots. The spatial classification structure of geometric patches includes building patches to be removed, visible grid clusters to be retained, and geometric intersection boundary lines. The 3D map rendering optimization scheme includes invalid patch removal instructions, retaining geometric drawing levels, and scene reconstruction topology map.

3. The 3D map rendering optimization method based on geometric patch structure according to claim 1, characterized in that, The line-of-sight trajectory is a straight path formed by extending from the viewpoint along the normalized monitoring direction vector, used for sampling and spatial analysis.

4. The 3D map rendering optimization method based on geometric patch structure according to claim 1, characterized in that, The set of vertices of the geometric patch: the set of coordinates of all vertices that make up a single geometric patch, used to describe its spatial shape and position.

5. The 3D map rendering optimization method based on geometric patch structure according to claim 1, characterized in that, The specific steps of S1 are as follows: S101: Obtain the spatial position coordinates of the viewpoint and the components of the monitoring direction vector, calculate the vector magnitude as the direction magnitude value, calculate the direction magnitude value of each component separately and perform normalization processing to obtain the set of unit direction components and generate a direction normalization vector. S102: Perform scalar multiplication operation based on the direction normalization vector and the viewpoint spatial position coordinates, set the extended distance sequence as the stepping reference, calculate the distance value and the direction normalization vector item by item and superimpose them onto the viewpoint coordinates to form a multi-point coordinate set, and obtain the line trajectory coordinate sequence. S103: Calculate the distance difference between adjacent points based on the coordinate sequence of the line-of-sight trajectory, set the distance division interval parameter and perform interval segmentation, map the trajectory points to the corresponding distance interval index, establish the association between point coordinates and interval numbers, and generate the spatial distribution structure of sampling points.

6. The 3D map rendering optimization method based on geometric patch structure according to claim 1, characterized in that, The specific steps of S2 are as follows: S201: Obtain the spatial distribution structure of the sampling points, perform coordinate matching calculations based on the set of terrain grid data blocks, determine the grid cell number corresponding to the sampling point based on the minimum coordinate difference, establish a mapping relationship between point coordinates and grid numbers, and generate a sampling point grid mapping table. S202: Retrieve the set of grid elevation values ​​according to the sampling point grid mapping table, perform difference calculation, determine the depth value based on the elevation difference between adjacent grids and the offset ratio of sampling points, form a set of depth values ​​corresponding to sampling points, and obtain a sequence of sampling point depth values. S203: Based on the depth value sequence of the sampling points and the spatial distribution structure index of the sampling points, perform rearrangement calculation to establish the association between depth values ​​and spatial order index, and generate a geographic depth distribution sequence.

7. The 3D map rendering optimization method based on geometric patch structure according to claim 1, characterized in that, The specific steps for S3 are as follows: S301: Obtain the geographic depth distribution sequence, calculate the depth difference between adjacent locations based on the spatial index sequence and take the absolute value to form a change amplitude sequence, and obtain the depth change amplitude sequence; S302: Perform segment division according to the depth change amplitude sequence and the preset depth change threshold, merge positions below the preset threshold into continuous segments, take positions above the preset threshold as dividing points, establish the relationship between segment number and index range, and generate a continuous segment index table. S303: Based on the continuous segment index table and the depth change amplitude sequence, filter segments including those exceeding the preset threshold, mark segment attributes and extract the spatial coordinate range corresponding to the start and end indices, establish the association between segment number and spatial range, and generate a set of geographic occlusion segments.

8. The 3D map rendering optimization method based on geometric patch structure according to claim 1, characterized in that, The specific steps of S4 are as follows: S401: Obtain the set of geographic occlusion segments and the set of vertices based on geometric patches, perform interval comparison, compare the vertex coordinates with the segment range item by item, establish the correspondence between vertex and segment number, and generate a vertex segment mapping table; S402: Perform spatial mapping based on the vertex segment mapping table and the urban building geometric patch grid area, map vertex coordinates to grid cells and associate them with geometric patch numbers, establish the correspondence between vertices and grid areas, and obtain the vertex grid distribution table; S403: Based on the vertex mesh distribution table and the vertex segment mapping table, perform classification judgment, count the ratio of the number of vertices falling into the segment to the total number of vertices in the geometric piece, divide the clipping and retention categories according to the preset ratio threshold, establish the association relationship between the geometric piece number and the category, and generate the geometric piece spatial classification structure.

9. The 3D map rendering optimization method based on geometric patch structure according to claim 1, characterized in that, The specific steps of S5 are as follows: S501: Obtain the spatial classification structure of the geometric pieces, perform classification retrieval, extract the geometric piece numbers of the cropping category and the geometric piece numbers of the retained category respectively, establish the correspondence between the geometric piece numbers and the classification labels, and generate a geometric piece classification index table; S502: Perform spatial culling according to the geometric piece classification index table, remove the vertex coordinates of the clipped category geometric pieces from the grid data, and at the same time retain the set of vertex coordinates of the category geometric pieces to form the set of filtered geometric piece vertices, thus obtaining the set of retained geometric piece vertices; S503: Based on the reserved geometric patch vertex set, perform rendering data construction, associate vertex coordinates with mesh indexes and generate patch connection relationships, establish the correspondence between geometric patch numbers and rendering data structures, and generate a 3D map rendering optimization scheme.

10. A 3D map rendering optimization system based on geometric patch structure, characterized in that, The system is used to implement the 3D map rendering optimization method based on geometric patch structure as described in any one of claims 1-9, including: The line-of-sight sampling generation module is used to implement S1: obtain the spatial position of the viewpoint and the monitoring direction vector, perform normalization processing on the monitoring direction vector and extend it to form a line-of-sight trajectory, divide the line-of-sight trajectory and calculate the division position coordinates, and generate the spatial distribution structure of sampling points; The depth sequence construction module is used to implement S2: obtain the spatial distribution structure of the sampling points, extract the location of the sampling points in the terrain grid data block, calculate the location depth according to the sampling order and arrange them to generate a geographic depth distribution sequence; The occlusion detection and segmentation module is used to implement S3: obtain the geographic depth distribution sequence, calculate the depth difference between adjacent locations and perform segmentation, mark segments with depth differences exceeding a preset threshold and record the interval range, and generate a set of geographic occlusion segments. The geometric patch classification and spatial mapping module is used to implement S4: based on the set of geographic occlusion segments, compare the vertex spatial distribution structure and divide the geometric patches, obtain the set of geometric patch vertices, and map them to the urban building geometric patch grid area to form a vertex spatial distribution structure, and generate a geometric patch spatial classification structure; The rendering optimization processing module is used to implement S5: obtain the spatial classification structure of the geometric pieces, remove and clip geometric pieces, process the vertex transformation and raster calculation of the retained geometric pieces, and generate a 3D map rendering optimization scheme.