Lightweight methods and systems based on BIM and GIS

By spatially segmenting and managing LOD levels of BIM and GIS data, and combining a progressive loading strategy based on changes in viewing distance and perspective, the problems of latency and inconsistency in large-scale data loading were solved, achieving balanced data loading and visual coherence, thereby improving system efficiency and user experience.

CN119807319BActive Publication Date: 2025-10-28CHINA HIGHWAY ENG CONSULTING GRP CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411874997.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-10-28
Estimated Expiration
2044-12-18

AI Technical Summary

Technical Problem

In large-scale application scenarios, how to balance data accuracy and loading speed, and how to ensure data continuity and consistency during layered loading, especially in BIM and GIS systems, to avoid data loading delays and visual inconsistencies.

Method used

By spatially segmenting BIM and GIS data, assigning different LOD levels according to complexity, dynamically adjusting the LOD level of the loaded data, combining viewing distance and perspective changes for progressive loading, creating a smooth transition, identifying user browsing trajectories for preloading and unloading, and maintaining data synchronization through distributed consistency protocols and incremental updates.

Benefits of technology

It achieves faster data rendering and display without sacrificing accuracy, avoids visual breaks and data conflicts, and improves system stability and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119807319B_ABST
    Figure CN119807319B_ABST
Patent Text Reader

Abstract

This invention discloses a lightweight method and system based on BIM and GIS, comprising: spatially segmenting BIM and GIS data and assigning different Level of Detail (LOD) levels according to complexity; dynamically adjusting the LOD level of loaded data to achieve a balance between accuracy and loading speed; creating smooth transitions between different LOD levels; preloading data that users may need through prediction and memory pool mechanisms, combined with user interaction history, and unloading it when no longer needed; maintaining data consistency and synchronization between different LOD levels through distributed consistency protocols and incremental updates; and dynamically identifying visible areas within the current viewpoint through global occlusion culling and viewpoint-based visibility judgment, combined with regionalized data layering, and reducing rendering calculations for irrelevant areas based on caching mechanisms and data consistency models. This invention not only balances data accuracy and loading speed but also ensures data continuity and consistency during layered loading.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of BIM / CIM integration technology, and in particular to lightweight methods and systems based on BIM and GIS. Background Technology

[0002] With the widespread application of BIM (Building Information Modeling) and GIS (Geographic Information System) technologies, especially in complex projects such as large-scale urban construction and planning, the amount of data processed by these systems has become increasingly massive and complex. BIM models contain a large amount of detailed geometric data on buildings, facilities, and structures, while GIS systems involve a wider range of geospatial data and environmental information. As the user's view constantly changes and zooms, the system needs to load data of appropriate precision according to different perspectives and requirements. However, due to the massive amount of data, including all details in every load would lead to severe performance bottlenecks and loading delays. Therefore, how to avoid unnecessary data loading without sacrificing accuracy, thereby accelerating rendering and display, is a key problem that needs to be solved. Furthermore, large-scale BIM and GIS data are typically segmented into multiple Levels of Detail (LODs), each representing a different level of data precision. As the user's viewpoint changes, the system switches between different LODs. Improper switching can lead to visual "seams" or inconsistencies, affecting the user experience. Meanwhile, in multi-user collaborative environments, different data sources and LOD levels may experience synchronization issues, resulting in inconsistent or conflicting updated data displays. Ensuring seamless data connection and consistency during layered loading is essential for guaranteeing system stability and user satisfaction.

[0003] Therefore, in large-scale application scenarios, how to balance data accuracy and loading speed, and how to ensure that data maintains continuity and consistency during the layered loading process, has become an urgent problem to be solved. Summary of the Invention

[0004] To address the challenges of balancing data accuracy and loading speed in large-scale application scenarios, and to ensure data continuity and consistency during layered loading, this invention provides a lightweight method and system based on BIM and GIS.

[0005] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0006] On one hand, this invention discloses a lightweight method based on BIM and GIS, comprising:

[0007] Spatially divide BIM and GIS data and assign different LOD levels according to complexity;

[0008] Based on changes in the user's viewpoint, the LOD level of the loaded data is dynamically adjusted to ensure that low-precision data is loaded at long distances and high-precision data is loaded at close distances, thus achieving a balance between accuracy and loading speed.

[0009] Create smooth transitions between different LOD levels to avoid visual breaks when switching data;

[0010] Identify the user's browsing path, preload data for the areas the user needs to view, and unload data that is no longer needed when the user's viewpoint changes.

[0011] By using distributed consistency protocols and incremental updates, data between different LOD levels is kept consistent and synchronized, avoiding multi-level data conflicts.

[0012] By combining global occlusion culling and viewpoint-based visibility assessment with regionalized data layering, the visible area within the current viewpoint is dynamically identified, and rendering computation of irrelevant areas is reduced based on caching mechanisms and data consistency models.

[0013] Furthermore: the spatial segmentation of BIM and GIS data, and the allocation of different LOD levels according to complexity, includes:

[0014] The space is divided into eight equal small cubes, and the subspace is recursively subdivided until the amount of data in each spatial region is small enough. Each child node represents a cube region, stores the BIM and GIS element information within that region, and is assigned different LOD levels.

[0015] Furthermore: the dynamic adjustment of the LOD level of the loaded data based on changes in the user's viewpoint, ensuring that low-precision data is loaded at long distances and high-precision data is loaded at close distances, achieving a balance between accuracy and loading speed includes:

[0016] The accuracy requirements of the data are determined by the line-of-sight distance. The calculation of the line-of-sight distance involves setting the user's viewpoint position and the centroid position of the target area. The line-of-sight distance from the user to the target area is obtained from the Euclidean distance.

[0017] The LOD level is dynamically selected based on the view distance, and the switching rule is defined by the following formula:

[0018]

[0019] Among them, T3 and T4 are line-of-sight thresholds, which are used to control when to switch to low-precision or high-precision LOD;

[0020] Set the user's viewing angle to θ view This represents the relative angle between the user's viewpoint and a certain area in the spatial data; as the user's viewpoint changes, progressive loading is performed, and the progressive loading process is described by the following formula:

[0021]

[0022] Where, Δθ view It is the change in the user's perspective, Δθ threshold It is a set threshold; when the change in viewing angle exceeds the threshold, higher precision data is loaded.

[0023] To avoid lag during loading, a buffering mechanism is used to preload data from the next LOD level when the user's view changes, and unload data areas that are no longer visible when they are no longer needed.

[0024] Furthermore: the creation of a smooth transition between different LOD levels to avoid visual discontinuities during data switching includes:

[0025] At the LOD switching point, set a low-precision LOD surface and a high-precision LOD surface, and generate a smooth transition surface S. trans The transition surface is determined by control points, based on a set of control points P0, P1, ..., P n Generate a smooth surface, represented as:

[0026]

[0027] Where, N i (u) is the i-th basis function, u is the interpolation parameter, and P i These are control points, representing the transition points between low-precision LOD and high-precision LOD, and the basis function N. i (u) Control the influence of each control point to ensure a smooth transition;

[0028] basis function N i (u) is obtained through the following algorithm:

[0029] N0(u)=(1-u) 3 / 6

[0030] N1(u)=(3u 3 -6u 2 +4) / 6

[0031] N2(u)=(-3u 3 +3u 2 +3u+1) / 6

[0032] N3(u)=u 3 / 6

[0033] Control points P0, P1, ..., P n These are the key nodes between low-precision and high-precision geometry. A smooth transition is achieved through these control points, ultimately generating S...trans (u), which is the transition surface between two LOD levels;

[0034] During the dynamic switching of LOD levels, if the LOD level difference ΔLOD = LOD new -LOD current >1, where LOD new and LOD current This indicates the selected target LOD and the current rendering LOD at the current view distance, triggering the generation of a smooth transition surface S. trans (u).

[0035] Furthermore: the process of identifying the user's browsing trajectory, pre-loading data for the areas the user needs to view, and unloading data that is no longer needed when the user's viewpoint changes includes:

[0036] Based on the user's current viewpoint and direction of movement, predict the area A the user will browse in the near future. future Set the user's current viewpoint position to P. current Furthermore, the user's browsing trajectory exhibits a certain directionality and speed. view So, within a certain time period, the user's future viewpoint position P future Estimate using the following formula:

[0037] P future =P current +v view ·Δt

[0038] Among them, v view Δt represents the speed at which the user's viewpoint moves, and Δt represents the prediction time interval.

[0039] Based on the user's viewpoint prediction results, for the predicted area A future Perform data preloading and cache multiple LOD levels for this region, including short-term and long-term caches;

[0040] The short-term cache includes storing data about the areas the user is about to browse; the long-term cache includes storing data about previously browsed areas. Cache allocation includes:

[0041] Set region A near the current viewpoint near If caching is required, then the cache size R is... cache Represented as:

[0042]

[0043] Among them, D i L represents the data size of the i-th region. i Indicates the LOD level of the region;

[0044] Set the region data in the current cache to C. cache ={A1,A2,...,A n For each region A i By its distance R from the current viewpoint i To determine whether uninstallation is necessary;

[0045] Set available memory to M available The data size of each cache region is D. i The total cache memory size M cache for:

[0046]

[0047] Here, loaded represents the currently loaded cache area.

[0048] Furthermore: the method of maintaining data consistency and synchronization between different LOD levels through distributed consensus protocols and incremental updates, thereby avoiding multi-level data conflicts, includes:

[0049] Set cache area R i The corresponding data block is When its LOD level changes, the incremental update mechanism only updates the changed parts. The update is synchronized to all relevant nodes via a consensus protocol;

[0050] For data synchronization between different LOD levels, perform layered consistency verification:

[0051]

[0052] Among them, C sync (L x ,L y ) represents two LOD levels (L x and L y The consistency verification process between them, and These are the cache regions R under different LOD levels. i The data.

[0053] Furthermore: the process of dynamically identifying the visible region within the current viewpoint through global occlusion culling and viewpoint-based visibility judgment, combined with regionalized data layering, and reducing rendering computation for irrelevant regions based on caching mechanisms and data consistency models, includes:

[0054] Based on the user's historical interactions and current perspective, predict the area the user is viewing and eliminate invisible areas in advance;

[0055] By combining view distance, object occlusion, and LOD accuracy, the rendering area is accurately determined, and areas that are far from the user or do not require high-precision rendering are eliminated.

[0056] After determining the area to be rendered, a progressive LOD loading method is used to smoothly load and render details.

[0057] On the other hand, this invention discloses a lightweight system based on BIM and GIS, comprising:

[0058] Spatial data partitioning and hierarchical management module: Spatially partitions BIM and GIS data and assigns different LOD levels according to complexity;

[0059] Dynamic LOD Management and Precision Adaptive Module: Based on changes in the user's viewpoint, the LOD level of the loaded data is dynamically adjusted to ensure that low-precision data is loaded at long distances and high-precision data is loaded at close distances, thus achieving a balance between accuracy and loading speed;

[0060] Smooth Transition Module: Creates smooth transitions between different LOD levels to avoid visual breaks when switching data;

[0061] Preloading and intelligent unloading module: Combining user interaction history, it preloads the data needed by the user through prediction and memory pool mechanism, and unloads it when it is no longer needed;

[0062] Dynamic data consistency verification and synchronization mechanism module: Through distributed consistency protocol and incremental update, data between different LOD levels is kept consistent and synchronized, avoiding multi-level data conflicts;

[0063] Rendering optimization and occlusion culling module: Through global occlusion culling and viewpoint-based visibility judgment, combined with regional data layering, it dynamically identifies the visible area within the current viewpoint, and reduces rendering calculations for irrelevant areas based on caching mechanisms and data consistency models.

[0064] The technological advancements achieved by this invention compared to existing technologies are as follows:

[0065] This invention firstly divides large-scale BIM and GIS data at the city level into fine segments using multi-level spatial segmentation technology through partitioning and hierarchical management. Different LOD levels are assigned according to the complexity of different areas. This strategy lays the foundation for balancing accuracy and loading speed. By using dynamic loading and layer-by-layer refinement, unnecessary loading of high-precision data in long-distance or low-demand scenarios is avoided, thereby improving loading speed. At the same time, it ensures that high-precision data can be loaded in real time when the user approaches or focuses on a specific area, meeting accuracy requirements.

[0066] Secondly, the dynamic LOD management and accuracy-adaptive algorithm achieves a dynamic balance between data loading speed and accuracy by selecting the appropriate LOD level data in real time based on the user's viewpoint. Through a progressive loading strategy, data accuracy is gradually increased as the viewing distance changes, avoiding performance bottlenecks and unnecessary resource waste caused by instantaneous switching. This adaptive accuracy management effectively addresses data loading needs in different user interaction scenarios, balancing loading speed and accuracy. To ensure data continuity and consistency during layered loading, geometric interpolation technology is introduced. By creating smooth transitions between different LOD levels, it avoids "jumps" or unnatural transitions between low-precision and high-precision data. This not only improves the user experience but also ensures visual continuity of buildings and urban features when switching between different LOD levels. Furthermore, a caching-based preloading and unloading system ensures that the system can identify and unload unnecessary data when the user is browsing, reducing memory consumption and maintaining data continuity.

[0067] Finally, by introducing a dynamic data consistency verification and synchronization mechanism, the data consistency problem in multi-user collaboration and data source synchronization is effectively solved. By using a distributed consistency protocol and incremental update algorithm, the data at different LOD levels is kept consistent during updates, avoiding data conflicts or inconsistencies during the layered loading process, thereby further ensuring the stability of the system and the integrity of the data.

[0068] In summary, this invention balances loading speed and data accuracy while ensuring data consistency and continuity during the layered loading process, greatly improving the overall efficiency of the system and the user experience. Attached Figure Description

[0069] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used together with the embodiments of the invention to explain the invention and do not constitute a limitation thereof.

[0070] In the attached diagram:

[0071] Figure 1 This is a flowchart of the present invention;

[0072] Figure 2 This is a system structure diagram of the present invention. Detailed Implementation

[0073] The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of the present invention will now be described with reference to the accompanying drawings.

[0074] Example 1

[0075] like Figure 1 As shown, this invention discloses a lightweight method based on BIM and GIS, comprising:

[0076] Step 1: Spatially divide the BIM and GIS data and assign different LOD levels according to their complexity;

[0077] Step 2: Based on changes in the user's viewpoint, dynamically adjust the LOD level of the loaded data to ensure that low-precision data is loaded at long distances and high-precision data is loaded at close distances, thus achieving a balance between accuracy and loading speed;

[0078] Step 3: Create a smooth transition between different LOD levels to avoid visual breaks when switching data;

[0079] Step 4: Identify the user's browsing trajectory, preload data for areas the user may need to view, and unload unnecessary data promptly when the user's viewpoint changes;

[0080] Step 5: Use distributed consistency protocols and incremental updates to keep data consistent and synchronized across different LOD levels, avoiding multi-level data conflicts;

[0081] Step 6: By using global occlusion culling and viewpoint-based visibility judgment, combined with regional data layering, dynamically identify the visible area within the current viewpoint, and reduce rendering calculations for irrelevant areas based on caching mechanisms and data consistency models.

[0082] Specific step 1 includes:

[0083] The first step is to intelligently divide and hierarchically manage large-scale city-level BIM and GIS data. In this embodiment, an octree is used to divide the space into multiple refined grid units, and different LOD (Level of Detail) levels are assigned according to the complexity of the elements contained in each grid unit.

[0084] 1.1 Octree Method

[0085] Octree is a 3D spatial segmentation technique suitable for large-scale BIM and GIS datasets, especially city-level data. Octree divides space into eight equal smaller cubes, recursively subdividing the subspace until the data volume in each spatial region is sufficiently small. Each child node represents a cube region, storing BIM and GIS element information within that region and assigning different Level of Detail (LOD) levels. The LOD level is determined based on the node's granularity (segmentation depth) and the complexity of the elements contained in the region (such as the number of buildings, road density, etc.).

[0086] 1.2 Specific Implementation Steps

[0087] 1. Initialize the memory space and root node:

[0088] Let there be a three-dimensional spatial range S = [x min ,x max ]×[y min ,y max ]×[z min ,z max This represents the maximum spatial extent of the BIM and GIS dataset. The root node of the octree represents the entire spatial extent, i.e., the entire city or region. The data in this root node includes the set D = {d1, d2, ..., dn} of all BIM and GIS elements within the entire spatial extent. n}, where d i It represents a specific building or facility.

[0089] 2. Space segmentation:

[0090] The root node divides the space into 8 sub-regions, each representing a small cube C. i (i∈1,2,...,8). The side length of each small cube is... The side length of the root node, which is the size of each sub-cube, is...

[0091] 3. Node LOD allocation:

[0092] For each sub-cube C i Calculate the complexity of the BIM and GIS elements it contains. The complexity measure can be based on the number of elements or geometric complexity. For example, the complexity C can be calculated using the following formula: complexity (C i ):

[0093]

[0094] Where, f(d) j ) is element d j The complexity measure could be its geometric complexity, number of faces, or level of detail.

[0095] 4. Determine the LOD level:

[0096] Based on complexity C complexity (C i Each sub-cube is assigned a Level of Detail (LOD) level, and the selection rules for the LOD level are as follows:

[0097] For low-complexity areas (such as open areas or areas without buildings), assign a lower LOD (LOD0);

[0098] For areas with higher complexity (such as dense urban areas or areas containing complex buildings), a higher LOD (LOD2, LOD3, etc.) is assigned.

[0099] The specific LOD level selection rules can be based on the following formula:

[0100]

[0101] T1 and T2 are preset complexity thresholds, which can be adjusted according to actual needs.

[0102] 5. Recursive subdivision:

[0103] For each sub-cube C i Repeat the above segmentation and LOD allocation process. If the element complexity of a certain sub-cube is still high, continue to recursively segment the sub-region and assign it a higher precision LOD level. The recursion depth d is determined by the precision requirements of spatial segmentation and the limitations of computing resources.

[0104] 6. Construct the final data structure:

[0105] Through recursive subdivision, an octree data structure is ultimately obtained, where each node contains detailed information on all BIM and GIS elements within the spatial region, organized according to the Level of Detail (LOD) hierarchy. The LOD level of each node is determined by the complexity of the elements it contains, thus providing a basis for subsequent data loading and rendering.

[0106] Step 2 specifically includes:

[0107] In step 1, the BIM and GIS data were spatially partitioned using an octree method and different LOD levels were assigned. Step 2 relies on this spatial partitioning result to implement a dynamic LOD management and accuracy-adaptive algorithm. This algorithm dynamically selects and loads the appropriate LOD level based on the user's viewpoint position, zoom level, and viewing angle changes, thereby reducing unnecessary detail loading when viewing from a distance and providing more refined architectural and environmental information when viewing from close up.

[0108] 2.1 User line-of-sight and LOD switching

[0109] To achieve dynamic LOD switching, it is necessary to determine which level of LOD data should be loaded based on the user's relative position to the spatial data, changes in viewpoint, and zoom level. The accuracy requirements of the data are determined by the view distance (the distance from the viewpoint to the target object).

[0110] 1. View distance calculation: Set the user's viewpoint position P viewer =(x viewer ,y viewer ,z viewerThe centroid location P of the target area (e.g., a building or a specific grid cell) and the target region. target =(x target ,y target ,z target The user's line-of-sight distance D to the target area. vie2 It can be calculated using the Euclidean distance formula:

[0111]

[0112] This distance determines the LOD level to be loaded.

[0113] 2. LOD Switching Strategy: The LOD level is dynamically selected based on the view distance. The specific switching rules can be defined using the following formula:

[0114]

[0115] Among them, T3 and T4 are line-of-sight thresholds, used to control when to switch to low-precision or high-precision LOD. A larger line-of-sight D... view It is suitable for loading low-precision (LOD0) data, while a smaller line of sight is suitable for loading higher-precision (LOD2) data.

[0116] 2.2 Progressive Loading Strategy Based on Viewpoint Change

[0117] Besides viewing distance, changes in the user's perspective are also an important factor. For the same viewing distance, the user's perspective (such as the angle or direction of observation) will also affect the accuracy of loading. For example, when the user gradually zooms in or rotates the view, the system should gradually load more details to ensure the accuracy and smoothness of rendering.

[0118] 1. Dynamic management of perspective changes: Set the user's observation perspective as θ view This represents the relative angle between the user's viewpoint and a certain area in the spatial data. When the user's viewpoint changes, the system needs to adjust the loaded LOD to adapt to a more accurate geometry.

[0119] 2. Progressive Loading Strategy: When the user's perspective changes significantly, the precision of the loaded data needs to be gradually increased. The progressive loading process can be described by the following formula:

[0120]

[0121] Where, Δθ view It is the change in the user's perspective, Δθ threshold It is a set threshold. When the change in viewing angle exceeds a certain threshold, higher precision data is loaded. This formula enables the system to dynamically load more details as the user gradually approaches a certain viewing angle.

[0122] 3. Buffered Loading: To avoid noticeable lag during loading, a buffering mechanism is employed. Data from the next LOD level is preloaded when the user's view changes, and data areas that are no longer needed are promptly unloaded. Specifically, the size of the buffer can be controlled using the following formula:

[0123]

[0124] Among them, R max This is the maximum threshold for viewing distance. Using this formula, the system can reasonably control the size of the buffer to ensure that the system will not experience delays due to overloading data each time the viewing angle changes.

[0125] 2.3 Data Loading and Unloading Strategy

[0126] To ensure the system's efficiency, data loading should be intelligently scheduled based on factors such as viewing distance, changes in viewing angle, and user interaction history. During the loading process, the system's response speed and stability must be maintained.

[0127] 1. Loading scheduling based on view distance and perspective:

[0128] When a user approaches a certain area, the system dynamically adjusts the data loading level based on changes in their viewing distance and angle. Areas closer to the user are loaded with high precision (LOD2), while areas further away are loaded with low precision (LOD0).

[0129] When unloading data, the system needs to determine whether the current region's Level of Detail (LOD) is still suitable for rendering. If the view distance increases, lower-precision data is automatically unloaded to ensure efficient memory utilization.

[0130] 2. Data Loading Algorithm: A progressive loading algorithm is used to calculate the loading priority of each area based on the viewing distance and viewpoint. The formula for calculating the loading priority is as follows:

[0131]

[0132] Among them, P load Indicates loading priority, D view It is the line-of-sight distance between the user and the target area, Δθ view It is the change in perspective, Δθ threshold It is the maximum threshold for changes in viewing angle. Using this formula, the system can prioritize loading areas with smaller viewing distances or larger changes in viewing angle.

[0133] This step, through the calculation of user viewing distance and perspective changes and a progressive loading strategy, combined with the spatial partitioning in the first step and the LOD level allocation rules, achieves dynamic loading and precision adjustment of data, thereby balancing data precision and loading speed.

[0134] Specific step 3 includes:

[0135] In step 2, the LOD switching strategy has dynamically selected the appropriate LOD level, but during the switching process from low precision to high precision, there may be obvious visual inconsistencies (such as "seams" or jumps).

[0136] 1. Determine the LOD switching point:

[0137] Based on the logic of dynamic LOD switching in step 2, the current LOD level to which we need to switch is known. This is determined by the line-of-sight distance D. view and the change in perspective Δθ view The LOD level that should be displayed is calculated, and the difference in precision during switching may cause visual inconsistencies. Based on this, a smooth transition geometry is generated between low precision (such as LOD1) and high precision (such as LOD2).

[0138] LOD level difference formula:

[0139] ΔLOD = LOD new -LOD current

[0140] Among them, LOD new and LOD current This indicates the selected target LOD and the current rendering LOD at the current view distance. If ΔLOD > 1, a smooth transition is required.

[0141] 2. Interpolation:

[0142] Near the LOD transition point, there are two geometric surfaces: a low-precision LOD surface (e.g., LOD1) and a high-precision LOD surface (e.g., LOD2). A smooth transition surface S needs to be generated through interpolation. trans This transition surface is determined by control points (at several important locations between low and high precision).

[0143] Interpolation specifically includes interpolation based on a set of control points P0, P1, ..., P n Generate a smooth surface, the mathematical expression of which is:

[0144]

[0145] Where, N i (u) is the i-th basis function, u is the interpolation parameter (usually between 0 and 1), P i These are control points, representing the transition points between low-precision LOD and high-precision LOD, with basis functions N. i (u) Control the influence of each control point to ensure a smooth transition.

[0146] basis function Ni (u) is calculated using the following algorithm, which is recursive and ensures the smoothness and stability of the interpolation:

[0147] N0(u)=(1-u) 3 / 6

[0148] N1(u)=(3u 3 -6u 2 +4) / 6

[0149]

[0150] Control points P0, P1, ..., P n These are the key nodes between low-precision and high-precision geometry. A smooth transition is achieved through these control points, ultimately generating S... trans (u) refers to the transition surface between two LOD levels.

[0151] 4. Implement transition geometry:

[0152] During the dynamic switching of LOD, if ΔLOD > 1, the system will trigger interpolation to generate a smooth transition surface S. trans (u). This surface is rendered as a transitional phase for LOD switching to ensure a smooth visual transition.

[0153] 5. Smooth transition visual effect:

[0154] When the user's viewpoint changes, the system calculates whether a Level of Detail (LOD) switch needs to be triggered based on the current viewing distance and angle. If there are significant differences between LOD switch points, B-spline interpolation will create a smooth transition area to avoid "seams" or "jumps" between LOD levels.

[0155] In step 3, an interpolation algorithm is used to dynamically generate the transition surface S between low-precision and high-precision methods. trans (u) ensures a smooth transition during LOD switching, avoiding visual discontinuities or jumps. By dynamically adjusting control points, the system can automatically adjust the transition precision according to the current LOD switching requirements, ensuring a smooth and natural rendering effect.

[0156] The specific step 4 includes:

[0157] In step 3, a smooth LOD hierarchy transition was achieved through geometric interpolation technology, ensuring visual consistency and fluency between different LOD levels. In step 4, it is necessary to further improve the system's response speed, especially when loading large-scale city-level BIM and GIS data in layers, to avoid loading delays caused by the large amount of data.

[0158] 1. User behavior prediction and region preloading algorithm:

[0159] To achieve efficient preloading, it's first necessary to predict the user's browsing trajectory and viewpoint changes. By analyzing the user's historical interaction data, such as historical viewpoint position and zoom level, it's possible to estimate the area the user is likely to browse in the future. For example, based on the user's current viewpoint and direction of movement, it's possible to predict the area A the user will browse in the next few seconds. future .

[0160] Set the user's current viewpoint position to P current Furthermore, the user's browsing trajectory exhibits a certain directionality and speed. view So, within a certain time period, the user's future viewpoint position P future It can be estimated using the following formula:

[0161] P future =P current +v view ·Δt

[0162] Among them, v view The value represents the user's viewpoint movement speed, Δt represents the prediction time interval, and P is predicted. future It can predict the areas that users may need to view and preload relevant data for those areas.

[0163] 2. Caching mechanism for regional data:

[0164] In step 1, the BIM and GIS data have been spatially partitioned, and different LOD levels have been assigned to each region. Therefore, in step 4, based on the user's viewpoint prediction results, it is necessary to target the predicted region A. future Data is preloaded and multiple LOD levels of these regions are cached. The cache can be divided into two levels: short-term cache and long-term cache.

[0165] Short-term cache: Stores data about the area the user is about to browse, usually the area close to the user's viewpoint.

[0166] Long-term caching: Stores historically browsed area data so that it can be loaded directly when the user returns to that area, avoiding repeated loading.

[0167] Cache allocation formula:

[0168] Set region A near the current viewpoint near If caching is required, then the cache size R is... cache It can be represented as:

[0169]

[0170] Among them, Di L represents the data size of the i-th region. i This indicates the LOD level of the region. Cache priorities are usually sorted from high to low LOD level.

[0171] 3. Intelligent uninstallation and delayed uninstallation strategies:

[0172] When a user's viewpoint changes and they no longer focus on certain areas, it is necessary to unload data that is no longer needed in a timely manner to free up memory and optimize performance. To avoid frequent unloading and loading operations, a delayed unloading strategy can be adopted, that is, unloading data only when certain conditions are met, rather than unloading it immediately. Conditions may include: the data is no longer in the field of view, or the user has stopped interacting in that area.

[0173] Unloading decision formula:

[0174] Set the region data in the current cache to C. cache ={A1,A2,...,A n For each region A i It can be measured by its distance R from the current viewpoint. i To determine whether uninstallation is necessary.

[0175] 4. Memory pool management and resource optimization:

[0176] In the implementation of caching mechanisms, memory pool management plays a crucial role. By rationally scheduling cached data, memory waste and duplicate data loading can be avoided. The memory pool mechanism manages the memory of different cache areas, prioritizing the loading of data in areas that the current user may need and unloading data in areas that are no longer needed, thereby ensuring efficient utilization of system memory.

[0177] Memory pool management formula:

[0178] Set the system's available memory to M available The data size of each cache region is D. i The total cache memory size M cache for:

[0179]

[0180] Here, `loaded` represents the currently loaded cache region. To ensure system stability and responsiveness, it is necessary to ensure that M... cache ≤M available It also uses intelligent uninstallation strategies to promptly clean up unnecessary data.

[0181] 5. Multi-level caching and distributed data management:

[0182] In complex city-level BIM and GIS data scenarios, data may be distributed across multiple servers or computing nodes. Therefore, in addition to local caching, it is necessary to combine distributed storage and multi-level caching systems to improve data loading speed. Through distributed caching systems, data can be scheduled in real time based on the user's geographical location and behavior, thereby improving the efficiency of data access. Distributed cache management formula:

[0183] In a multi-node distributed caching system, each node N i There is a cache region R i The total cache can then be represented as:

[0184]

[0185] Where n is the number of nodes, and each node is dynamically scheduled according to the user's geographical location and data request to ensure the shortest data loading path.

[0186] In step 4, the preloading and intelligent unloading technology based on the caching mechanism, through user behavior prediction, regional preloading, intelligent unloading strategy and memory pool management, ensures that the system can efficiently utilize memory and storage resources, thereby speeding up data loading, reducing latency and improving overall performance. At the same time, through the distributed caching system, data can be dynamically scheduled among multiple computing nodes, further optimizing resource usage and ensuring the stable operation of the system.

[0187] Specifically, step 5 includes:

[0188] In step 4, the preloading and intelligent unloading technology based on the caching mechanism has divided the data to be loaded into different cache areas R. i Furthermore, memory pool management and delayed unloading strategies were implemented. Next, in step 5, it is necessary to ensure data consistency and synchronization, especially in a multi-user, multi-device environment. Layered data loading may encounter situations where different versions of data exist at different LOD levels. Therefore, a dynamic data consistency verification and synchronization mechanism needs to be introduced to ensure that all interactions between users and the system do not lead to data conflicts and inconsistencies.

[0189] 1. Design of a multi-level data synchronization mechanism:

[0190] In a multi-user and distributed environment, each cache region R i The data in the system will be dynamically loaded and updated according to its LOD level, user needs, and view changes. In order to ensure the synchronization of multiple data sources, the data first needs to be divided into multiple data blocks, and a consistency protocol is used to ensure the synchronization between various cache areas.

[0191] 2. Applications of distributed consensus protocols:

[0192] To ensure the cache area R i To ensure data consistency across multiple user devices, the Paxos protocol is used. The Paxos protocol avoids data conflicts by ensuring the consistency of each data block across multiple nodes. For example, when data is modified, the Raft protocol elects a leader node to be responsible for data synchronization, ensuring that all user devices can obtain the updated and synchronized data.

[0193] The Paxos protocol ensures that each node (in this case, a data block or cache region R) can guarantee this. i It can achieve consensus in a distributed system. When the data in a cache area is updated, the Paxos protocol will ensure that all nodes consistently accept the change.

[0194] 3. Incremental update mechanism:

[0195] To ensure that data updates do not cause performance degradation or inconsistency issues, this embodiment designs an incremental update algorithm that only updates data blocks that have changed. Furthermore, it ensures that during the tiered loading process, when the data content changes, incremental updates only involve the changed parts, without requiring a reload of the entire data area.

[0196] Set cache area R i The corresponding data block is When its LOD level or geometry changes, the incremental update mechanism will only update the changed parts (e.g., switching the LOD level from L1 to L2):

[0197]

[0198] This incremental update part It will be synchronized to all relevant nodes through a consistency protocol.

[0199] 4. Layered data consistency verification:

[0200] For data synchronization between different Levels of Detail (LOD), special attention must be paid to avoiding data inconsistencies during the update process. For example, when a user moves from a distant to a closer view, they may switch from LOD1 to LOD3. During this process, the data in LOD1 and LOD3 must remain consistent to ensure a seamless transition when the viewpoint changes, regardless of whether high-precision or low-precision data is loaded. The layer consistency verification formula is as follows:

[0201]

[0202] Among them, C sync(L1, L2) represents the consistency verification process performed between two LOD levels (L1 and L2). and These are the cache regions R under different LOD levels. i The data.

[0203] 5. Real-time data synchronization and conflict detection:

[0204] In a multi-user environment, multiple users may modify the same data simultaneously. To avoid data conflicts, a conflict detection mechanism is designed. When the system detects that two users have modified different versions of the same data block, the system will initiate a conflict resolution process to ensure data consistency. When a conflict occurs, the system will select an appropriate conflict resolution solution based on the consistency protocol (e.g., resolving conflicts through priority or timestamps).

[0205] In step 5, the Paxo protocol is used to ensure the consistency and synchronization of hierarchical data, an incremental update mechanism is used to optimize data update efficiency, and hierarchical consistency verification is used to ensure the consistency of data between different LODs. At the same time, a real-time conflict detection mechanism ensures data consistency in a multi-user environment and avoids potential data conflict problems during the hierarchical loading process.

[0206] Specific step 6 includes:

[0207] In step 5, the consistency of data at different LOD levels has been ensured through dynamic data consistency verification and synchronization mechanisms, and incremental update technology has been adopted to optimize data update efficiency. Next, in step 6, it is necessary to further optimize rendering performance, especially in large-scale city-level BIM+GIS data. How to avoid rendering unnecessary objects and areas is the key to improving system response speed and efficiency.

[0208] During the rendering process, especially with large-scale, highly complex data like BIM+GIS, many buildings and features are still calculated and rendered even when they are not visible from the user's perspective. This not only wastes computing resources but can also lead to system delays and negatively impact the user experience. Therefore, a more intelligent and efficient rendering optimization and occlusion culling scheme is needed, capable of dynamically determining which areas need to be rendered and which can be culled based on the user's real-time perspective, data loading status, and viewpoint prediction.

[0209] 1. Viewpoint prediction and intelligent occlusion culling

[0210] Based on the user's historical interactions and current perspective information, it's possible to predict the areas the user is most likely to view next, calculating in advance which areas will appear in the user's field of vision, thus eliminating areas that are currently invisible or unlikely to be viewed. In this way, unnecessary calculations can be reduced before the user even reaches the area, avoiding wasted computing resources.

[0211] Viewpoint prediction: Based on user interaction patterns (e.g., users typically tend to move in a certain direction) and combined with spatial distribution information (e.g., the arrangement of buildings and terrain), the system can intelligently predict the areas that users are likely to view next.

[0212] Intelligent occlusion culling: Combining viewpoint prediction, spatial data layering techniques (such as quadtrees or octrees) are used to identify which areas are completely occluded and which areas are visible from the current viewpoint. In this way, it is possible to determine which areas can be culled before the user's viewpoint reaches a certain area, thereby reducing invalid rendering.

[0213] 2. Multi-dimensional occlusion removal

[0214] Traditional occlusion culling algorithms mainly rely on view frustum to determine whether an object is in the user's field of view. However, in large-scale BIM+GIS data, in addition to view frustum and physical occlusion, other factors need to be considered, such as the distance between the object and the user and the object's LOD level.

[0215] Distance-based occlusion culling: If a region is too far from the user, even if it is not completely occluded by other objects, it can be culled because the user has difficulty seeing these distant regions. Through the spatial distance attenuation model, the relationship between viewing distance and occlusion can be quantified, and it can be determined whether the region needs to be rendered.

[0216] Occlusion culling based on data granularity: For low-precision data areas at the edge of the viewpoint, even if some areas are visible, unnecessary calculations can be avoided by reducing the rendering precision. In this case, the system will determine whether the data precision of the area is high enough to meet the rendering requirements. If not, the area will be culled.

[0217] 3. LOD rendering refinement and progressive loading

[0218] After determining the area to be rendered, and combining the LOD management strategy proposed in step 2, a progressive LOD loading method is adopted to smoothly load and render details. Through progressive loading, when the user views the building from a distance, the system only loads coarse, low-precision data. As the user's viewpoint moves closer, higher-precision detail data is gradually loaded, ensuring a smooth visual experience.

[0219] Progressive LOD loading: Gradually loads higher-precision detail information from lower-precision LOD, so that details gradually appear as the user's viewpoint changes, rather than changing instantly.

[0220] Detail level adjustment: When the user moves quickly, the system will automatically adjust the level of rendering detail to adapt to different perspectives and loading requirements, ensuring that the rendered details are always adapted to the current needs under different movement speeds and perspective changes.

[0221] 4. Dynamic batch processing and multi-threaded rendering

[0222] To further improve rendering performance, especially when processing large-scale urban data, dynamic batch processing and multi-threaded rendering techniques are introduced: objects in multiple visible areas are rendered in batches, reducing the number of rendering calls, especially for low-precision data or objects in distant areas, reducing the computational burden; in environments that support multi-core processing, multi-threading is used to process rendering tasks for different areas in parallel. This fully utilizes computing resources and improves rendering efficiency.

[0223] In step 6, invisible areas are culled in advance by predicting the user's viewpoint; multi-dimensional occlusion culling is used to more accurately determine the areas that need to be rendered under the influence of different factors; progressive LOD loading is used to smoothly increase details and improve the visual experience; at the same time, dynamic batch processing and multi-threaded rendering technology are used to further improve rendering performance.

[0224] Example 2

[0225] like Figure 2 As shown, this invention discloses a lightweight system based on BIM and GIS, comprising:

[0226] Spatial data partitioning and hierarchical management module: Spatially partitions BIM and GIS data and assigns different LOD levels according to complexity;

[0227] Dynamic LOD Management and Precision Adaptive Module: Based on changes in the user's viewpoint, the LOD level of the loaded data is dynamically adjusted to ensure that low-precision data is loaded at long distances and high-precision data is loaded at close distances, thus achieving a balance between accuracy and loading speed;

[0228] Smooth Transition Module: Creates smooth transitions between different LOD levels to avoid visual breaks when switching data;

[0229] Preloading and intelligent unloading module: Combining user interaction history, it preloads data that the user may need through prediction and memory pool mechanisms, and unloads it when it is no longer needed;

[0230] Dynamic data consistency verification and synchronization mechanism module: Through distributed consistency protocol and incremental update, data between different LOD levels is kept consistent and synchronized, avoiding multi-level data conflicts;

[0231] Rendering optimization and occlusion culling module: Through global occlusion culling and viewpoint-based visibility judgment, combined with regional data layering, it dynamically identifies the visible area within the current viewpoint, and reduces rendering calculations for irrelevant areas based on caching mechanisms and data consistency models.

[0232] The modules in Embodiment 2 are used to implement the functions in Embodiment 1. This embodiment can be implemented by a system including a processor and a memory. The memory stores computer program instructions, which, when executed by the processor, implement the lightweight method based on BIM and GIS according to Embodiment 1 of this application. The system also includes other components well known to those skilled in the art, such as a communication bus and a communication interface. Their settings and functions are known in the art and will not be described in detail here.

[0233] In this application, the aforementioned memory can be any tangible medium containing or storing a program that can be used or combined with an instruction execution system, system, or device. For example, a computer-readable storage medium can be any suitable magnetic or magneto-optical storage medium, such as Resistive Random Access Memory (RRAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Enhanced Dynamic Random Access Memory (EDRAM), High-Bandwidth Memory (HBM), Hybrid Memory Cube (HMC), etc., or any other medium that can be used to store required information and can be accessed by an application, module, or both. Any such computer storage medium can be part of a device or accessible to or connected to a device. Any application or module described in this application can be implemented using computer-readable / executable instructions that can be stored or otherwise retained by such a computer-readable medium.

[0234] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the claims of the present invention.

Claims

1. A lightweight method based on BIM and GIS, characterized in that, include: Spatially divide BIM and GIS data and assign different LOD levels according to complexity; Based on changes in the user's viewpoint, the LOD level of the loaded data is dynamically adjusted to ensure that low-precision data is loaded at long distances and high-precision data is loaded at close distances, thus achieving a balance between accuracy and loading speed. Create smooth transitions between different LOD levels to avoid visual discontinuities during data switching, including: At the LOD switching point, set a low-precision LOD surface and a high-precision LOD surface, and generate a smooth transition surface. The transition surface is determined by control points, based on a set of control points. Generate a smooth surface, represented as: in, It is the first basis functions These are interpolation parameters. These are control points, representing the transition points between low-precision LOD and high-precision LOD, and are basis functions. Control the influence of each control point to ensure a smooth transition; basis functions The following algorithm was used to obtain: Control Points These are the key nodes between low-precision and high-precision geometry. A smooth transition is achieved through these control points, ultimately generating... That is, the transition surface between two LOD levels; During the dynamic switching of LOD levels, if the LOD levels differ... ,in, and This indicates the selected target LOD and the current rendering LOD at the current view distance, triggering the generation of a smooth transition surface. ; Identify the user's browsing path, preload data for the areas the user needs to view, and unload data that is no longer needed when the user's viewpoint changes. By using distributed consistency protocols and incremental updates, data between different LOD levels is kept consistent and synchronized, avoiding multi-level data conflicts. By combining global occlusion culling and viewpoint-based visibility assessment with regionalized data layering, the visible area within the current viewpoint is dynamically identified, and rendering computation of irrelevant areas is reduced based on caching mechanisms and data consistency models.

2. The lightweight method based on BIM and GIS according to claim 1, characterized in that, The process of spatially segmenting BIM and GIS data and assigning different LOD levels according to complexity includes: The space is divided into eight equal small cubes, and the subspace is recursively subdivided until the amount of data in each spatial region is small enough. Each child node represents a cube region, stores the BIM and GIS element information within that region, and is assigned different LOD levels.

3. The lightweight method based on BIM and GIS according to claim 2, characterized in that, The method of dynamically adjusting the LOD level of loaded data based on changes in the user's viewpoint to ensure that low-precision data is loaded at long distances and high-precision data is loaded at close distances, achieving a balance between accuracy and loading speed, includes: The accuracy requirements of the data are determined by the line-of-sight distance. The calculation of the line-of-sight distance involves setting the user's viewpoint position and the centroid position of the target area. The line-of-sight distance from the user to the target area is obtained from the Euclidean distance. The LOD level is dynamically selected based on the view distance, and the switching rule is defined by the following formula: in, and It is the line-of-sight threshold, used to control when to switch to low-precision or high-precision LOD; Set the user's observation perspective as This represents the relative angle between the user's viewpoint and a certain area in the spatial data; as the user's viewpoint changes, progressive loading is performed, and the progressive loading process is described by the following formula: in, It is the change from the user's perspective. It is a set threshold; when the change in viewing angle exceeds the threshold, higher precision data is loaded. To avoid lag during loading, a buffering mechanism is used to preload data from the next LOD level when the user's view changes, and unload data areas that are no longer visible when they are no longer needed.

4. The lightweight method based on BIM and GIS according to claim 3, characterized in that, The process of identifying the user's browsing trajectory, preloading data for the areas the user needs to view, and unloading data that is no longer needed when the user's viewpoint changes includes: Based on the user's current viewpoint and direction of movement, predict the areas the user will browse in the near future. Set the user's current viewpoint position as Furthermore, the user's browsing trajectory exhibits a certain directionality and speed. So, within a certain time period, the user's future viewpoint position Estimate using the following formula: in, Indicates the speed at which the user's viewpoint moves. Indicates the time interval for prediction; Based on the user's viewpoint prediction results, for the predicted area Perform data preloading and cache multiple LOD levels for this region, including short-term and long-term caches; The short-term cache includes storing data about the areas the user is about to browse; the long-term cache includes storing data about previously browsed areas. Cache allocation includes: Set the area near the current viewpoint If caching is required, then the cache size... Represented as: in, Indicates the first Data size for each region Indicates the LOD level of the region; Set the current cached region data as For each region The distance between it and the current viewpoint determines whether it needs to be unloaded; Set available memory to The data size of each cache region is Then the total cache memory size for: in, This indicates the currently loaded cache area.

5. The lightweight method based on BIM and GIS according to claim 4, characterized in that, The method of maintaining data consistency and synchronization between different LOD levels through distributed consistency protocols and incremental updates, and avoiding multi-level data conflicts, includes: Set cache area The corresponding data block is When its LOD level changes, the incremental update mechanism only updates the changed parts. The updated portion is synchronized to all relevant nodes via a consistency protocol; For data synchronization between different LOD levels, perform layered consistency verification: in, This represents two LOD levels ( and The consistency verification process between them, and These are cache areas at different LOD levels. The data.

6. The lightweight method based on BIM and GIS according to claim 5, characterized in that, The process of dynamically identifying the visible region within the current viewpoint through global occlusion culling and viewpoint-based visibility assessment, combined with regionalized data layering, and reducing rendering computation for irrelevant regions based on caching mechanisms and data consistency models, includes: Based on the user's historical interactions and current perspective, predict the area the user is viewing and eliminate invisible areas in advance; By combining view distance, object occlusion, and LOD accuracy, the rendering area is accurately determined, and areas that are far from the user or do not require high-precision rendering are eliminated. After determining the area to be rendered, a progressive LOD loading method is used to smoothly load and render details.

7. A lightweight system based on BIM and GIS, characterized in that, include: Spatial data partitioning and hierarchical management module: Spatially partitions BIM and GIS data and assigns different LOD levels according to complexity; Dynamic LOD Management and Precision Adaptive Module: Based on changes in the user's viewpoint, the LOD level of the loaded data is dynamically adjusted to ensure that low-precision data is loaded at long distances and high-precision data is loaded at close distances, thus achieving a balance between accuracy and loading speed; Smooth Transition Module: Creates smooth transitions between different LOD levels to avoid visual discontinuities during data switching, including: At the LOD switching point, set a low-precision LOD surface and a high-precision LOD surface, and generate a smooth transition surface. The transition surface is determined by control points, based on a set of control points. Generate a smooth surface, represented as: in, It is the first basis functions These are interpolation parameters. These are control points, representing the transition points between low-precision LOD and high-precision LOD, and are basis functions. Control the influence of each control point to ensure a smooth transition; basis functions The following algorithm was used to obtain: Control Points These are the key nodes between low-precision and high-precision geometry. A smooth transition is achieved through these control points, ultimately generating... That is, the transition surface between two LOD levels; During the dynamic switching of LOD levels, if the LOD levels differ... ,in, and This indicates the selected target LOD and the current rendering LOD at the current view distance, triggering the generation of a smooth transition surface. ; Preloading and intelligent unloading module: Combining user interaction history, it preloads the data needed by the user through prediction and memory pool mechanism, and unloads it when it is no longer needed; Dynamic data consistency verification and synchronization mechanism module: Through distributed consistency protocol and incremental update, data between different LOD levels is kept consistent and synchronized, avoiding multi-level data conflicts; Rendering optimization and occlusion culling module: Through global occlusion culling and viewpoint-based visibility judgment, combined with regional data layering, it dynamically identifies the visible area within the current viewpoint, and reduces rendering calculations for irrelevant areas based on caching mechanisms and data consistency models.

Citation Information

Patent Citations

  • City-level BIM (Building Information Modeling) data lightweight method and system based on multistage shelling algorithm

    CN114419256A

  • Method for simulating large space through small-site XR

    CN118429581A