Method for local updating of large scene real scene three-dimensional slice data

By generating pyramid structure slices and processing individual buildings using the quadtree algorithm, the problem of low update efficiency of large-scale real-world 3D slice data is solved, achieving efficient and detailed display of local updates.

CN115471617BActive Publication Date: 2026-05-12ZHEJIANG INST OF SURVEYING & MAPPING SCI & TECH
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHEJIANG INST OF SURVEYING & MAPPING SCI & TECH
Filing Date
2022-10-14
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing technologies suffer from time-consuming and labor-intensive global updates and slow data loading speeds due to overlapping display methods when updating large-scale real-world 3D oblique photography data.

Method used

The quadtree algorithm is used to generate pyramid structure slices. It is determined whether the updated data contains individual buildings. The slice data is then processed and replaced or overwritten to avoid global updates and repeated loading. Local updates are performed by flattening and converting the format to 3D Tiles format.

Benefits of technology

It achieves improved efficiency in partial updates, reduces the amount of service data, increases data loading speed and display effect, and balances the model's granularity with the amount of data requests.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115471617B_ABST
    Figure CN115471617B_ABST
Patent Text Reader

Abstract

The application discloses a kind of local update methods of large scene real scene three-dimensional slice data, comprising the following steps: obtaining service needing updating, service needing updating is generated pyramid structure slice using quadtree algorithm;Calculate the slice level that service needing updating needs to generate;Judge whether update data contains monomer building;If monomer building is not contained, replace the slice data of update to the corresponding row and column number folder in original service;If monomer building is contained, update monomer building and non-monolithic building slice respectively to the corresponding row and column number folder in original service.The local update method of large scene real scene three-dimensional slice data of the application only slices the updated elements in the scene, and fuses the scene service based on the slices, avoiding global update of large scene, while avoiding repeated loading of slices, reducing the amount of service data, and improving the efficiency of large scene element update and display effect.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for local updating of large-scale real-scene 3D tile data. Background Technology

[0002] Currently, large-scale real-scene 3D oblique photogrammetry data, due to its large volume and slow loading speed, is generally processed into 3D tiles for browsing and application. When local data changes, two methods are typically used for updating. The first is a global update method, which processes the original oblique photogrammetry data, integrates the updated elements, and then re-tiles the data globally to replace the original real-scene 3D tiles. A significant drawback of this method is that once any element in a large scene is updated, it requires re-tiling, which is time-consuming and labor-intensive, making it difficult to meet the needs of rapid data updates. The second method is an overlay display update method, which directly loads the updated element tiles onto existing tiles, thus overlaying the latest updated tiles on top of the original positions of the updated elements for display. The biggest drawback of this method is that repeatedly loading oblique photogrammetry tiles at the same location increases the amount of data served and affects the data loading speed. Summary of the Invention

[0003] This invention provides a method for local updating of large-scale real-scene 3D tile data to solve the aforementioned technical problems, specifically adopting the following technical solution:

[0004] A method for local updating of large-scale real-world 3D tile data includes the following steps:

[0005] (1) Obtain the services that need to be updated, which include pyramid structure slices generated using the quadtree algorithm;

[0006] (2) Calculate the slice level that needs to be generated for the services that need to be updated;

[0007] (3) Determine whether the updated data includes individual buildings;

[0008] (4) If it does not contain individual buildings, replace the updated slice data in the corresponding row and column number folder in the original service;

[0009] (5) If it contains individual buildings, the updated individual building and non-individual building slices will be overwritten into the corresponding row and column number folders in the original service.

[0010] As one possible implementation, step (1) involves obtaining the service that needs to be updated. The service that needs to be updated includes a pyramid structure slice generated using a quadtree algorithm. The steps are as follows:

[0011] (2.1) Determine whether the service to be updated uses the quadtree algorithm to generate a pyramid structure slice;

[0012] (2.2) If the service to be updated does not use the quadtree algorithm, then generate a pyramid structure slice based on the quadtree algorithm.

[0013] As one possible implementation, step (2) calculates the slice level that the service to be updated needs to generate, and the steps are as follows:

[0014] (3.1) Obtain the maximum row number and maximum column number of the original skewed data, i.e., rowMax and colMax;

[0015] (3.2) The original skew level N is calculated based on the quadtree partitioning principle, and the formula is as follows:

[0016] N=[log2(Max(rowMax,colMax))],

[0017] Where N is the slice level, Max() means to take the maximum value, and [] means to take the integer.

[0018] As one possible implementation, if step (4) does not include individual buildings, the updated slice data is replaced in the corresponding row and column number folder in the original service. The steps are as follows:

[0019] (4.1) Update the data slice;

[0020] (4.2) Replace the slice data with the corresponding row and column number folder in the original service.

[0021] As one possible implementation, if step (5) includes individual buildings, the updated individual building and non-individual building slices are respectively overwritten into the corresponding row and column number folders in the original service. The steps are as follows:

[0022] (5.1) Flatten the original oblique photography data of the inclined block where the individual building is located;

[0023] (5.2) Convert the flattened oblique photogrammetry data and individual building data into 3D Tiles format slice data;

[0024] (5.3) Calculate the row and column positions of individual buildings, i.e., row and col;

[0025] (5.4) Replace the non-single building 3D Tiles format slice data with the corresponding row and column number folders in the original service;

[0026] (5.5) Replace the 3D Tiles format slice data of individual buildings with the row and column number folder calculated in (5.3).

[0027] As one possible implementation method, step (5.1) involves flattening the original oblique photographic data of the inclined block where the individual building is located. The steps are as follows:

[0028] (6.1) Obtain the projection surface of a single building;

[0029] (6.2) Obtain the original oblique photography data of the oblique block where the individual building is located;

[0030] (6.3) Flatten the original oblique photography data of the inclined block where the individual building is located by using the data of the projection surface of the individual building.

[0031] As one possible implementation method, step (5.3) calculates the row and column positions of individual buildings, and the steps are as follows:

[0032] (7.1) Determine whether a single building spans an oblique photography frame;

[0033] (7.2) If a single building does not span multiple zones, the row and column number of the single building is the same as the zone number;

[0034] (7.3) If a single building spans multiple zones, it is necessary to search upwards level by level to find the row and column number that completely contains the single building. The row and column number at this level is the row and column number position of the single building.

[0035] As one possible implementation method, step (7.1) determines whether a single building spans an oblique photography frame, and the steps are as follows:

[0036] (8.1) Overlay and analyze the oblique photogrammetry images with the projection surfaces of individual buildings;

[0037] (8.2) If the projection plane of a single building does not intersect with the boundary of the oblique photogrammetry map, then the single building does not cross the zone; otherwise, the single building crosses the zone.

[0038] The advantage of this invention lies in the local update method for large-scale real-world 3D tile data, which only slices the updated elements in the scene and performs scene service fusion based on the slices, avoiding global updates of the large scene, avoiding repeated loading of slices, reducing the amount of service data, and improving the update efficiency and display effect of large-scale scene elements. Attached Figure Description

[0039] Figure 1 This is a flowchart of a method for local updating of large-scene real-world 3D tile data according to the present invention;

[0040] Figure 2 This is a flowchart illustrating the steps for calculating the row and column numbers of a single building spanning multiple regions according to the present invention. Detailed Implementation

[0041] The present invention will now be described in detail with reference to the accompanying drawings and specific embodiments.

[0042] like Figure 1 The method for local updating of large-scale real-scene 3D tile data includes the following steps:

[0043] Retrieve the services that need updating, which include pyramid structure slices generated using the quadtree algorithm.

[0044] After obtaining the service that needs to be updated, the system first determines whether the service uses a quadtree algorithm to generate a pyramid structure slice. If the service does not use a quadtree algorithm, then a pyramid structure slice is generated based on the quadtree algorithm.

[0045] The calculation requires the generated slice level for the services that need updating.

[0046] The specific method for calculating the slice level that the service needs to be updated is as follows:

[0047] Calculate the maximum row and column number of the original oblique photogrammetry data area, and denote it as (rowMax, colMax).

[0048] Calculate the slice grade using the following formula.

[0049] N=[log2(Max(rowMax,colMax))],

[0050] Where N is the slice level, Max() means taking the maximum value, and [] indicates the rounding operation.

[0051] Taking the Zhoushan city area as an example, the original oblique photogrammetry data for the Zhoushan city area uses the CGCS2000 reference ellipsoid and the Gaussian projection with a central meridian of 122.25° in a 3-degree zone. The center point coordinates are (480000, 3322000). The data is divided into blocks, with positive values ​​for east and north from the center point and negative values ​​for south and west. Each block is stored in a separate folder named after its row and column numbers. The largest row and column number in the data is (230, 248). First, Mmax is calculated.

[0052] Mmax = {|230|, |248|} = 248,

[0053] Then calculate the slice level N corresponding to this data.

[0054] N = [log2(248)] = 8

[0055] This indicates that the current slice level corresponding to the Zhoushan city area is level 8, and then the inverse quadtree algorithm is used to reconstruct slices from level 1 to level 7 at the top level.

[0056] Determine whether the update data in the service that needs to be updated includes individual buildings.

[0057] If it does not include individual buildings, proceed to the first processing step:

[0058] The updated data is sliced ​​directly. The updated sliced ​​data is then replaced in the corresponding row and column number folders in the original service.

[0059] If it includes individual buildings, then proceed to the second processing step:

[0060] Specifically, the original oblique photographic data of the inclined block containing the individual building is flattened. The specific method for flattening the original oblique photographic data of the inclined block containing the individual building is as follows: Obtain the projection surface of the individual building. Obtain the original oblique photographic data of the inclined block containing the individual building. Flatten the original oblique photographic data of the inclined block containing the individual building using the data from the projection surface of the individual building.

[0061] The flattened oblique photogrammetry data and individual building data were converted into 3D Tiles format slice data.

[0062] Calculate the row and column positions of individual buildings, i.e., row and col.

[0063] Replace the non-single building 3D Tiles format slice data with the corresponding row and column number folders in the original service.

[0064] Replace the 3D Tiles format slice data of individual buildings with the calculated corresponding row and column number folders.

[0065] After replacing the 3D Tiles format slice data with the corresponding row and column number folders in the original service, the second processing step also includes: performing overlay analysis on individual buildings to determine whether they cross regions.

[0066] Specifically, the method for determining whether a single building spans multiple regions through superposition analysis is as follows:

[0067] The oblique photographic frames are overlaid with the projection surface of individual buildings.

[0068] Determine whether the oblique photogrammetry sheet completely includes the projection surface of a single building.

[0069] If the oblique photogrammetry map completely encompasses the projection surface of a single building, then the single building does not cross zones.

[0070] If the oblique photogrammetry sheet does not completely encompass the projection surface of a single building, then the single building spans multiple zones.

[0071] Further, calculate the row and column number of the individual building.

[0072] The row and column numbers of individual buildings are calculated by overlaying the oblique photogrammetry sheet with the projection surface of the individual building.

[0073] If a single building does not span multiple zones, then it is entirely located within a certain zone, and the row and column number of that zone is the same as the row and column number of the single building.

[0074] If a single building spans multiple zones, it is necessary to calculate the tilted block that completely encompasses the projected surface of the single building, layer by layer upwards. The row and column number of this tilted block is the row and column number of the building itself. In other words, we need to find the row and column number that completely encompasses the single building, layer by layer upwards, and this row and column number is the row and column number position of the single building.

[0075] The calculation steps are attached. Figure 2 Assume that the maximum column number, minimum column number, maximum row number, and minimum row number of the area spanned by a single building are ColMax, ColMin, RowMax, and RowMin, respectively. The specific steps are as follows:

[0076] Recursively calculate the two sets of values ​​[ColMax / 2], [ColMin / 2], [RowMax / 2], and [RowMin / 2] until they are equal. The square brackets [] represent the floor function. Record the number of recursions i and j respectively.

[0077] Calculate m = Max(i,j) - Min(i,j), where Max represents taking the larger value and Min represents taking the smaller value. Then C = [ColMax / 2] m R = [RowMax / 2] m L = Nm, where N is the result calculated in step 3.2.

[0078] L, R, and C represent the level, row, and column number of a single building.

[0079] Replace the 3D Tiles format slice data of non-single buildings and single buildings in the corresponding level row and column number folder in the original service.

[0080] The service update is complete after following the steps above.

[0081] This application's method for local updating of large-scene real-world 3D tile data, compared to the global update method, adopts a local update approach for large-scene 3D tile data. It only slices the elements to be updated within the scene and performs scene service fusion based on these slices, avoiding global updates of the entire large scene and improving the efficiency of large-scene element updates. Compared to the overlapping display update method, this approach uses the original oblique photogrammetry data for lower-level tiles and replaces the original data with updated data for higher-level tiles. This scheme achieves a balance between model detail and data request volume, resulting in a fused model that requests less data, is faster, has a more detailed model, and has higher rendering efficiency.

[0082] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the above embodiments do not limit the present invention in any way, and all technical solutions obtained by equivalent substitution or equivalent transformation fall within the protection scope of the present invention.

Claims

1. A method for local updating of large-scale real-scene 3D tile data, characterized in that, Includes the following steps: (1) Obtain the services that need to be updated, which include the pyramid structure slices generated using the quadtree algorithm; (2) Calculate the slice level that needs to be generated for the services that need to be updated; (3) Determine whether the updated data includes individual buildings; (4) If it does not contain individual buildings, replace the updated slice data in the corresponding row and column number folder in the original service; (5) If it includes individual buildings, the updated individual building and non-individual building slices will be overwritten into the corresponding row and column number folders in the original service; Step (5) If it includes individual buildings, the updated individual building and non-individual building slices are overwritten into the corresponding row and column number folders in the original service, respectively. The steps are as follows: (5.1) Flatten the original oblique photographic data of the inclined block where the individual building is located; (5.2) Convert the flattened oblique photogrammetry data and individual building data into 3D Tiles format slice data; (5.3) Calculate the row and column positions of individual buildings; (5.4) Replace the non-single building 3D Tiles format slice data with the corresponding row and column number folders in the original service; (5.5) Replace the 3D Tiles format slice data of individual buildings with the row and column number folder calculated in (5.3); Step (5.3) calculates the row and column positions of individual buildings, and the steps are as follows: (7.1) Determine whether a single building spans an oblique photographic frame; (7.2) If a single building does not span multiple zones, the row and column number of the single building is the zone number; (7.3) If a single building spans multiple zones, it is necessary to search upwards level by level to find the row and column number that completely contains the single building. The row and column number at this level is the row and column number position of the single building.

2. The method for local updating of large-scene real-world 3D tile data according to claim 1, characterized in that, Step (1) Obtain the services that need to be updated. The services that need to be updated include pyramid structure slices generated using the quadtree algorithm. The steps are as follows: (2.1) Determine whether the service to be updated uses the quadtree algorithm to generate a pyramid structure slice; (2.2) If the service to be updated does not use the quadtree algorithm, then generate a pyramid structure slice based on the quadtree algorithm.

3. The method for local updating of large-scene real-world 3D tile data according to claim 1, characterized in that, Step (2) calculates the slice level that the service to be updated needs to generate, and the steps are as follows: (3.1) Obtain the maximum row number and maximum column number of the original skewed data; (3.2) Calculate the level N of the original skew based on the quadtree partitioning principle.

4. The method for local updating of large-scene real-world 3D tile data according to claim 1, characterized in that, If step (4) does not contain individual buildings, replace the updated slice data in the corresponding row and column number folder in the original service. The steps are as follows: (4.1) Update the data slice; (4.2) Replace the sliced ​​data in the corresponding row and column number folder in the original service.

5. The method for local updating of large-scene real-world 3D tile data according to claim 1, characterized in that, Step (5.1) involves flattening the original oblique photographic data of the inclined block where the individual building is located. The steps are as follows: (6.1) Obtain the projection surface of a single building; (6.2) Obtain the original oblique photographic data of the oblique block where the individual building is located; (6.3) Flatten the original oblique photography data of the inclined block where the individual building is located by using the data of the projection surface of the individual building.

6. The method for local updating of large-scene real-world 3D tile data according to claim 5, characterized in that, Step (7.1) determines whether a single building spans an oblique photography frame, and the steps are as follows: (8.1) Overlay and analyze the oblique photogrammetry images with the projection surfaces of individual buildings; (8.2) If the projection plane of a single building does not intersect with the boundary of the oblique photogrammetry map, then the single building does not cross the zone; otherwise, the single building crosses the zone.