Three-dimensional model modeling method for three-dimensional large map scene
By using UTM coordinate segmentation and offset calculation, independent scene block files are generated, which solves the problems of data redundancy and calculation errors in 3D large map scenes, realizes efficient 3D model modeling and data compression, and enhances calculation flexibility and accuracy.
Patent Information
- Application Number
- CN202510679699.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-26
- Publication Date
- 2025-12-09
AI Technical Summary
Existing technologies in 3D large map scenarios suffer from problems such as redundant data formats, coordinate systems unsuitable for computer storage, complex spatial division, LOD hierarchical requirements, and insufficient data compression, resulting in large calculation errors, large data volumes, and poor calculation flexibility.
The map model is segmented using UTM coordinates to determine the origin and offset of each segmented region, generating independent scene segment files. The geometric information of each segmented region is then acquired using a 3D camera and merged into a 3D model of the large map scene. A combination of low-precision offsets and absolute coordinates is used to reduce data storage and network bandwidth consumption.
It solves the problem of object position deviation caused by numerical accuracy errors in large terrain scenes, reduces the amount of data, enhances the flexibility and efficiency of calculation, and supports high-precision 3D model display.
Smart Images

Figure CN121095474A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a three-dimensional data processing method, in particular to a three-dimensional modeling method of a three-dimensional geographic map scene. BACKGROUND
[0002] Digital twinning is a simulation process that fully utilizes physical models, sensors, operation history and other data, integrates multi-disciplinary, multi-physical quantity, multi-scale and multi-probability, and completes mapping in a virtual space, thereby reflecting the whole life cycle process of the corresponding entity equipment. At present, digital twinning technology has been widely applied in power supply systems, medical systems, production and manufacturing systems and engineering construction fields. With the wide popularity of digital acquisition equipment, the application range of digital twinning technology is continuously expanding, and it has been successfully applied to large-scale scenes with a span of hundreds of kilometers.
[0003] In the power supply system, digital inspection of the transmission line is one of the typical applications of digital twinning technology. Under this background, it is particularly necessary to effectively organize the GIS (Geographic Information System) earth big data scene to improve the processing efficiency. In the large terrain scene, there are the following problems in the data processing process of the three-dimensional model.(1) Data format problem: there are currently data formats for displaying three-dimensional models on GIS maps, such as the 3DTiles data format of Cesium. However, this format has the problem of data storage redundancy, and does not support complex models; (2) Coordinate system limitation: in order to solve the precision and positioning problem in earth addressing and positioning, people have developed various coordinate systems, and UTM (Universal Transverse Mercator Grid System) is one of the widely used map projection systems, which realizes accurate projection by dividing the earth's surface into multiple regular regions. However, these coordinate systems are not suitable for direct use in computer block storage of models on earth coordinates; (3) Disadvantages of space division: currently, people often use methods such as grid, quadtree or octree to divide the space of three-dimensional models, which can ensure that each spatial region does not overlap, but for objects that span multiple division spaces, additional special processing is required. In addition, for the model of the block region, additional data files need to be loaded; (4) LOD grading requirement: in order to solve the problem of limited computing and storage resources, it is usually necessary to implement LOD (Level of Detail) grading processing of data, that is, different levels of detail of data are prepared for different distances or zoom levels; (5) Data compression is necessary: in order to maximize the use of local storage space and network bandwidth, under the premise of meeting the data precision requirements, it is necessary to efficiently compress the original data.
[0004] Therefore, it is urgent to develop a data processing method which can be used for addressing and model storage of earth coordinates to solve the above problems. SUMMARY
[0005] The present application is to avoid the deficiencies in the prior art, and provides a three-dimensional model modeling method for a three-dimensional map scene, so as to reduce data volume, enhance the flexibility of calculation, and solve the problem of large error in long-distance calculation of a large scene.
[0006] The present application is to avoid the deficiencies in the prior art, and provides a three-dimensional model modeling method for a three-dimensional map scene, so as to reduce data volume, enhance the flexibility of calculation, and solve the problem of large error in long-distance calculation of a large scene.
[0007] The three-dimensional model modeling method for a three-dimensional map scene provided by the present application comprises:
[0008] Step 1: map model acquisition step; acquiring a map model with UTM coordinates in a large map scene;
[0009] Step 2: map model segmentation step; segmenting the map model, and segmenting the map model into one or more block regions A according to area;
[0010] Step 3: origin point confirmation step of block region; in each block region A, obtaining the overall center point Ca of all objects in the block region A; determining the nearest object Ob closest to the overall center point Ca, and taking the center point C of the nearest object Ob as the origin point O of the block region A; Ob Step 3: origin point confirmation step of block region; in each block region A, obtaining the overall center point Ca of all objects in the block region A; determining the nearest object Ob closest to the overall center point Ca, and taking the center point C of the nearest object Ob as the origin point O of the block region A;
[0011] Step 4: offset calculation step; calculating the offset D of the center point of all objects in the block region A except the nearest object Ob relative to the origin point O;
[0012] Step 5: independent scene block file establishment step; saving the geometric information in all block regions A as independent scene block files of the block regions;
[0013] Step 6: three-dimensional model modeling step of block region; acquiring the geometric information of all block regions A in the map model by using a three-dimensional camera one by one, and generating a partition three-dimensional model of each block region A according to the geometric information of each block region A;
[0014] Step 7: three-dimensional model modeling step of a large map scene; merging the partition three-dimensional model of each block region of all block regions of the map model into a whole three-dimensional model of the large map scene.
[0015] The three-dimensional model modeling method for a three-dimensional map scene provided by the present application also has the following structural characteristics:
[0016] Further, in step 2, in the process of map model segmentation, the height information is ignored and the division is continued in the direction of the longest axis.
[0017] Further, in step 3, the UTM coordinates of the center point C of each object in a sub-block region are calculated, and the UTM coordinates of the center point C of all objects are weighted to obtain the UTM coordinates of the overall center point Ca of all objects.
[0018] Further, in step 4, the calculation formula of the offset D is as follows:
[0019] D=(P x -Q x ) 2 +(P y -Q y ) 2 +(P z -Q z ) 2 (1)
[0020] In formula (1), P x represents the x coordinate of point P, P y represents the y coordinate of point P, and P z represents the z coordinate of point P; Q x represents the x coordinate of point Q, Q y represents the y coordinate of point Q, and Q z represents the z coordinate of point Q.
[0021] Further, 5, the three-dimensional model modeling method of a three-dimensional large map scene according to claim 1, characterized in that, in step 5, the geometric information includes the origin point O of each sub-block region and the offset D of the center point of all objects relative to the origin point O.
[0022] Further, in step 5, the geometric information of the origin point O of each sub-block region is the UTM coordinates of the origin point O.
[0023] Further, in step 6, in the process of three-dimensional camera acquiring the geometric information of all sub-block regions A one by one, when the three-dimensional camera moves and crosses different sub-block regions A, the geometric information of the current sub-block region A where the three-dimensional camera is located is regenerated.
[0024] The application discloses an electronic device, comprising at least one processor and a memory connected with the at least one processor; characterized in that the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the three-dimensional model modeling method of a three-dimensional large map scene.
[0025] The application discloses a non-transient computer readable storage medium storing computer instructions, characterized in that the computer instructions are used for enabling the computer to execute the three-dimensional model modeling method of the three-dimensional large map scene.
[0026] The application discloses a computer program product comprising a computer program, characterized in that the computer program realizes the three-dimensional model modeling method of the three-dimensional large map scene when executed by a processor.
[0027] Compared with the prior art, the application has the beneficial effects that:
[0028] The application discloses a three-dimensional model modeling method of a three-dimensional large map scene, comprising the following steps: collecting a map model with UTM coordinates in a large map scene; dividing the map model, and dividing the map model into one or more sub-block regions A according to areas; obtaining an overall center point Ca of all objects in each sub-block region; determining an object Ob closest to the overall center point Ca, and taking a center point C of the object Ob as an origin O; calculating an offset amount D of a center point of each object of all objects in the sub-block region except the object Ob relative to the origin O; saving the origin O of each sub-block region A, the offset amount D of the center point of all objects relative to the origin O as geometric information files of the sub-block region; acquiring image data of all sub-block regions A one by one by using a three-dimensional camera, and generating a three-dimensional model of each sub-block region A according to the image data; and merging the three-dimensional model of each sub-block region A of all sub-block regions A into a three-dimensional model of the large map scene. Ob The three-dimensional model modeling method of the three-dimensional large map scene has the advantages of being capable of solving the problem that object positions deviate due to numerical value precision errors in a large terrain scene, reducing data amount, enhancing the flexibility of calculation and the like.
[0029] The three-dimensional model modeling method of the three-dimensional large map scene has the advantages of being capable of solving the problem that object positions deviate due to numerical value precision errors in a large terrain scene, reducing data amount, enhancing the flexibility of calculation and the like. BRIEF DESCRIPTION OF DRAWINGS
[0030] Figure 1 It is a flow chart of the three-dimensional model modeling method of the three-dimensional large map scene.
[0031] Figure 2 It is a schematic diagram of the division of multiple sub-block regions A according to the longest axis center line in an embodiment of the three-dimensional model modeling method of the three-dimensional large map scene.
[0032] Figure 3 It is a schematic diagram of the position relationship of the multiple sub-block regions A of the three-dimensional model modeling method of the three-dimensional large map scene.
[0033] Figure 4A schematic diagram of a center point of a single sub-block region A of a three-dimensional model modeling method of a three-dimensional large map scene of the present application.
[0034] Figure 5 A schematic diagram of the calculation of the overall center point Ca of a sub-block region A of a three-dimensional model modeling method of a three-dimensional large map scene of the present application.
[0035] Figure 6 A schematic diagram of an enclosing frame in a sub-block region A of a three-dimensional model modeling method of a three-dimensional large map scene of the present application.
[0036] Figure 7 A schematic diagram of the first case of three-dimensional camera movement of a three-dimensional model modeling method of a three-dimensional large map scene of the present application.
[0037] Figure 8 A schematic diagram of the second case of three-dimensional camera movement of a three-dimensional model modeling method of a three-dimensional large map scene of the present application.
[0038] Figure 9 A schematic diagram of the calculation of the origin of a temporary partition of a three-dimensional model modeling method of a three-dimensional large map scene of the present application.
[0039] Figure 10 A schematic diagram of the merging of different sub-block regions of a three-dimensional model modeling method of a three-dimensional large map scene of the present application.
[0040] Figure 11 Comparison of the processing results of the method of the present application and the prior art.
[0041] The present application is further described below through specific embodiments and in conjunction with the accompanying drawings. DETAILED DESCRIPTION
[0042] Reference is made to Figures 1-11 A three-dimensional model modeling method of a three-dimensional large map scene of the present application, comprising:
[0043] Step 1: map model collection step; collecting a map model with UTM coordinates in a large map scene;
[0044] The map model includes all objects in the large map scene, the UTM coordinates of all vertices of each object, and other relevant information or data for the subsequent cutting, origin calculation, and offset calculation processes; the UTM coordinates of adjacent points in the calculation process are obtained by interpolating the UTM coordinates of the vertices;
[0045] Step 2: map model cutting step; cutting the map model, and cutting the map model into one or more sub-block regions A according to area;
[0046] like Figure 2 For example, in a specific implementation, there is a long and narrow map model. If the desired minimum area is 4 square kilometers, then the longest axis is always used ( Figure 2 The centerline of the longest axis in the horizontal direction ( Figure 2 The map model is divided into n square regions A by the vertical centerline (in the image). Each square region smaller than 4 square kilometers is a sub-region A. Assume the map model is divided into n sub-regions A according to their area, where the i-th sub-region is Ai. i Where 1 ≤ i ≤ n; and n is the total number of tile regions in the current map model. For example... Figure 3 When dividing the data, try to place all adjacent objects into one block region A. When objects are densely distributed, adjacent block regions A may overlap.
[0047] Step 3: Origin point confirmation step for segmented regions; In each segmented region A, obtain the overall center point Ca of all objects in segmented region A; Determine the nearest object Ob that is closest to the overall center point Ca, and set the center point C of the nearest object Ob as the origin point. Ob O serves as the origin of this segmented region A;
[0048] like Figures 3-5 As shown, the overall center point Ca in this invention is a calculated virtual point, which is the weighted average of the UTM coordinates of the center points of all objects in the current segmented region A. That is, the UTM coordinates of the overall center point Ca are the sum of the center point coordinates (x, y, z) of all objects in the segmented region A, divided by the number of objects n, such as... Figure 5 .
[0049] In segmented region A, when determining the nearest object Ob to the overall center point Ca, whether the overall center point Ca is contained within an object (i.e., the overall center point Ca falls within the outline of an object) is irrelevant. Only the distance from the overall center point Ca to the center point of every object in segmented region A is considered (the goal is to minimize the coordinate difference between all objects in segmented region A and the overall center point Ca). In special cases, if the overall center point Ca is equidistant from the center points of two objects in segmented region A, the nearest object Ob to the overall center point Ca is determined according to the following principles.
[0050] (1) Principle 1: Select the object in block A that is closest to the center of the entire map model;
[0051] (2) Principle 2: Select the object with the smallest volume within the partitioned region A;
[0052] (3) Principle three: select the object with less vertex in the sub-block region A; for example, for polygonal object, in the triangular pyramid (4 vertex) and the four-prism (8 vertex), prefer to select the object in the triangular pyramid;
[0053] (4) Principle four: when the above three conditions cannot determine the nearest object Ob closest to the overall center point Ca, then select the object with the center point closest to the overall center point Ca in the sub-block region A as the nearest object Ob closest to the overall center point Ca; that is, the center point of which object is closest to the overall center point Ca, then use the center point of that object. Because the overall center point Ca is a virtual point, there is no UTM coordinate, the overall center point Ca is calculated through each object center point in the sub-block region A; while each object center point is also virtual, but each vertex of all objects in the map model has a UTM coordinate, and the UTM coordinate error of the object center point interpolated in the object should be smaller, that is, each object center point is calculated according to the UTM coordinate of each vertex of the object, and is a direct result of UTM coordinate calculation. And the overall center point Ca is calculated according to each object center point, which is an indirect result of UTM coordinate calculation.
[0054] Step 4: offset calculation step; calculate the offset D of the center point of all objects in the sub-block region A except the nearest object Ob relative to the origin O;
[0055] Step 5: independent scene sub-block file establishment step; save the geometric information of all sub-block regions A as independent scene sub-block files of the sub-block region;
[0056] The data of the independent scene sub-block file includes geometric information such as the origin O and the offset D; the UTM coordinate of the O point and the offset of other points relative to the O point, the unit of the offset is meter. The object vertex coordinate in the sub-block region A is represented and saved by the offset relative to the origin O (only the O point is absolute coordinate); using the offset representation method, smaller data can be used, which is convenient for data compression, because absolute coordinate needs to store larger numbers. In a small range, low-precision data offset can be used.
[0057] The geometric information of each sub-block region A is saved to a single independent scene sub-block file, and the UTM coordinates of the origin O of the sub-block region A and the offset D of the center point of each object in the sub-block region A relative to the origin O are recorded in the independent scene sub-block file. By extracting the geometric information of each sub-block region in this way, the data can be compressed to maximize the saving of local storage space and network bandwidth consumption when transmitting data. By using the low-precision offset method, the present application can save 50% of the storage space compared with the prior art, although the position accuracy of the vertex is reduced. When the bounding box of the sub-block region A is small, the relative offset value D can be saved in a low-precision numerical value. In the present application, the high-precision uses float32 floating point type, and the low-precision refers to float16 floating point type. The three-dimensional bounding box of the sub-block region A, i.e. the three-dimensional box that encloses the sub-block region A, is preferably a quadrangular prism, as shown in Figure 6 . Figure 6 In the present application, the vertices of all objects in the sub-block region A can form an AABB quadrangular prism bounding box, and the length, width and height of the quadrangular prism are controlled to the minimum size and contain all object vertices. In the specific implementation, the object vertices can be on the outer surface of the quadrangular prism, but cannot be outside the outer surface of the quadrangular prism; that is, the AABB bounding box is the outermost bounding box of the object vertices, and the position of the vertex must be contained in or inside the bounding box. In the present application, when the quadrangular prism bounding box is used, the offset value is saved in the low-precision float16 floating point type data, and the UTM coordinates of the origin O are saved in the high-precision float32 floating point type, which can reduce the storage space. At the same time, since the coordinates of the origin O are high-precision data, the smaller the distance range is, the smaller the accuracy error will be.
[0058] Step 6: sub-block region three-dimensional model modeling step; the geometric information of all sub-block regions A in the map model is obtained one by one by using a three-dimensional camera, and the sub-block region three-dimensional model of each sub-block region A is generated according to the geometric information of each sub-block region A;
[0059] In the present application, the three-dimensional camera is a scanning device with a camera and a laser radar. With this device, the influence of the surrounding objects and three-dimensional points can be scanned at the same time, and the three-dimensional points have UTM coordinates. The geometric information includes the UTM coordinates of the O point and the offset of other points relative to the O point, and the unit of the offset is meter.
[0060] Step 7: large map scene three-dimensional model modeling step; the sub-block region three-dimensional model of each sub-block region of all sub-block regions of the map model is combined into a whole three-dimensional model of the large map scene.
[0061] In the present application, the merging process of the whole three-dimensional model of the large map scene is to merge all points in the original multiple sub-blocks into a set, which is regarded as a whole, without considering the removal of duplicate points. In the segmentation process, the longest horizontal axis in the set is divided each time, without considering the vertical axis. When the divided axis is less than a certain threshold value, or the number of points in the sub-block is less than a certain number, the segmentation is stopped.
[0062] As Figure 1 The three-dimensional model modeling method of a three-dimensional large map scene of the present application collects a map model with UTM coordinates, divides the map model into multiple sub-block areas A according to the minimum area; obtains the overall center point Ca of all objects in the sub-block area; determines the nearest object Ob closest to the overall center point Ca, and takes the center point C Ob of the nearest object Ob as the origin O; calculates the offset D of the center point of each object relative to the origin O; saves the origin O and all offset D of each sub-block area as an independent scene sub-block file of the sub-block area; obtains the image data of all sub-block areas A one by one, and generates a three-dimensional model of each sub-block area A; and merges the three-dimensional model of each sub-block area A of all sub-block areas A into a three-dimensional model of a large map scene, solving the problem of deviation of object position caused by numerical accuracy error in a large terrain scene, and also solving the problems of dynamic data blocking and distance loading.
[0063] In specific implementation, in step 2, the process of dividing the map model ignores the height information and continuously divides in the direction of the longest axis.
[0064] As Figure 2 Without considering the model height information, the collected map model with UTM coordinates is continuously divided in the direction of the longest axis until it is divided into several sub-block areas with the minimum area, and the sub-block areas are allowed to overlap. In the present application, the minimum area Smin is the area preset before division; in specific implementation, the minimum area Smin needs to be determined more reasonably according to the entire area size of the map model and the object sparsity in the entire map model (rare map surface with objects and vertices are also less). Generally, the default value of the minimum area Smin is set to 2km*2km, i.e., the default value is 4 square kilometers.
[0065] In specific implementation, in step 3, the UTM coordinates of the center point C of each object in a sub-block area are calculated, and the UTM coordinates of the center point C of all objects are calculated by weighting.
[0066] As Figure 3 and Figure 5, for each of the divided block regions A, the center point C of the object Ob closest to the overall center point Ca of all objects in the block region A is selected Ob as the origin O. The UTM coordinates of the overall center point Ca of the block region A are calculated as follows: Figure 5 For example, the block region A includes three objects Ob1, Ob2 and Ob3; the center point C1(x1, y1, z1) of Ob1, the center point C2(x2, y2, z2) of Ob2, and the center point C3(x3, y3, z3) of Ob3. The UTM coordinates (xa, ya, za) of the overall center point Ca of the block region A are calculated as follows:
[0067] xa = (x1 + x2 + x3) / 3, ya = (y1 + y2 + y3) / 3, za = (z1 + z2 + z3) / 3.
[0068] That is, the overall center point Ca of the block region A is the weighted average center of the center points of all objects in each block region A.
[0069] If there is no geometric object in a block region A, the independent scene block file corresponding to the block region is not generated. When the software program of the method of the present application is running, a block region A is dynamically calculated for spatial calculation. When the current block region A is about to be left and there is no adjacent block region A, a new block region A is recalculated. After the current camera enters the new block region A for a certain time, the previously unused block region A is destroyed. The origin O of the block region A uses UTM coordinates, and the relative position marker of the three-dimensional camera. The position of the three-dimensional camera is the relative position of the origin coordinate O of the region A. The three-dimensional camera uses relative positions. When the three-dimensional camera is about to leave a certain region A, a next temporary region needs to be generated at the next position of the three-dimensional camera (the position is outside the region A).
[0070] In specific implementation, the calculation formula of the offset D in step 4 is as follows:
[0071] D = (P x -Q x ) 2 +(P y -Q y ) 2 +(P z -Q z ) 2 (1)
[0072] In formula (1), P x represents the x coordinate of point P, P y represents the y coordinate of point P, and P z represents the z coordinate of point P; Qx Let Q represent the x-coordinate of point Q. y Q represents the y-coordinate of point Q. z This represents the z-coordinate of point Q.
[0073] P and Q represent the two points from which the offset D needs to be calculated. For ease of calculation, the square root is not used; instead, the offset D is the square of the Euclidean distance between the two points.
[0074] In specific implementation, 5. The three-dimensional modeling method for a three-dimensional large map scene according to claim 1 is characterized in that, in step 5, the geometric information includes the origin O of each block region and the offset D of the center point of all objects relative to the origin O.
[0075] In specific implementation, in step 5, the geometric information of the origin O of each segmented region is the UTM coordinate of the origin O.
[0076] In specific implementation, during step 6, as the 3D camera acquires the geometric information of all block regions A one by one, when the 3D camera moves and crosses different block regions A, the geometric information of the current block region A where the 3D camera is located is regenerated.
[0077] The geometric information of the current segmented region includes the UTM coordinates of the origin O of segmented region A in the independent scene segmented file and all offsets D.
[0078] The process of moving a 3D camera includes the following two scenarios.
[0079] Scenario 1: When exiting a certain segmented region A i Then, they proceeded to the next segmented area, A. i+1 Or A i-1 .like Figure 7 As shown, when the 3D camera moves from... Figure 7 When block region A2 moves to block region A1, there is an intersection region between block region A2 and block region A1 (A1∩A2).
[0080] 1. When the 3D camera is in block region A2 but has not yet entered block region A1, the origin O2 of block region A2 is used to calculate the offset D; when the 3D camera enters the intersection region (A1∩A2), the origin O2 of block region A2 is still used to calculate the offset D.
[0081] 2. Observe the object in block region A1 within block region A2. First, uniformly calculate the offset DA1 from the center point of object Ob in block region A1 to the origin O1 of block region A1. Add the distance |A1-A2| from O1 of block region A1 to the origin O2 of block region A2 as the accumulated offset to find the offset DA of the object in block region A1 within block region A2. 21 , that is: DA 21 =DA1+|A1-A2|; where |A1-A2| is the distance from the origin O2 of the block region A2 to the origin O1 of the block region A1.
[0082] 3. After the 3D camera moves from block region A2 into block region A1 and completely leaves block region A2 and the intersection region (A1∩A2), the offset D is calculated using the origin O1 of block region A1, as follows: Figure 7 As shown.
[0083] The second scenario: when the 3D camera leaves the segmented region A. i After that, there is no next subdivision area A nearby. i+1 ,like Figure 8 As shown. When the map area of the map model is large and the objects within it are relatively sparse, the buildings that constitute objects may be scattered, and there may be empty areas without any objects or buildings between some segmented regions A. These empty areas are not within any segmented region A, meaning there are a large number of empty areas not within any segmented region A. At this time, the 3D camera leaves segmented region A. i At that time, there was no nearby area A. i Very close segmented region A i+1 Or A i-1 This means that when the 3D camera enters an unpartitioned empty area, a temporary partition is generated for the 3D camera, and the overall center point of this temporary partition is determined as its origin Ote; the origin Ote of the temporary partition is the geometric center of the temporary partition; for example... Figure 8 The temporary partition is a square, and the intersection of its diagonals is the geometric center, i.e., its origin Ote. Since there are no objects in this temporary partition, the coordinates of the origin Ote and the UTM coordinates of the temporary partition are calculated by interpolation using the coordinates of the origin O of the nearest block region A. Figure 8 The origin coordinates (x) of the temporary partition. Ote y Ote , z Ote The coordinates (x, y) are based on the UTM coordinates (x, y) of the origin O1 of the partitioned region A1. O1 y O1 , z O1 ), the UTM coordinates (x) of the origin O2 of the partitioned region A2 O2, y O2 , z O2 ) and the UTM coordinates (x O3 , y O3 , z O3 ) of the origin O3 of the sub-region A3 are interpolated. The interpolation method of the present application is the common triangular barycentric calculation method in the prior art.
[0084] As Figure 9 in the above, when the three-dimensional camera moves from the sub-region A2 to the sub-region A1:
[0085] 1. In the sub-region A2, the coordinates of the three-dimensional camera are the offset D O2 relative to the origin O2.
[0086] 2. After the three-dimensional camera enters the sub-region A1 from the sub-region A2, the coordinates are expressed by the offset D O2 and the offset D O1O2 of the origin O1 relative to the origin O2.
[0087] In the map model of the ground map scene obtained in step 1, the absolute world coordinates are used; the UTM coordinates of the vertices of all objects are double data types. In the present application, the relative coordinates are used to replace the absolute coordinates for data compression. The relative coordinates are expressed by the relative offset D based on a certain point. If the distance between two objects is relatively small, the error will not increase much even if a lower precision data type (such as float data type) is used.
[0088] Here is the process of replacing the absolute coordinates with the relative coordinates. Assuming that the current position of the camera is in the sub-region A2 as Figure 10 shown in the figure, the coordinates of all objects in the current sub-regions A1, A2 and A3 are calculated by the relative offset of the overall center point of the sub-region A2. The vector from the origin O2 of the sub-region A2 to the center point C Ob of an object Ob in the sub-region A1 is equal to the vector from the origin O1 of the sub-region A1 to the center point of the object Ob in the sub-region A1 plus the vector from the origin O2 of the sub-region A2 to the origin O1 of the sub-region A1. The relationship of the three vectors is shown by the three arrows constituting a triangle as Figure 10 shown in the figure. The arrow connected with the camera indicates the shooting direction or the line of sight of the camera.
[0089] The application discloses an electronic device, comprising at least one processor and a memory connected with the at least one processor; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the three-dimensional model modeling method of the three-dimensional large map scene.
[0090] The application discloses a non-transient computer readable storage medium storing computer instructions, and the computer instructions are used for enabling the computer to execute the three-dimensional model modeling method of the three-dimensional large map scene.
[0091] The application discloses a computer program product, comprising a computer program; the computer program realizes the three-dimensional model modeling method of the three-dimensional large map scene when being executed by a processor.
[0092] In the application, when the three-dimensional model of each sub-block region A of all sub-block regions of a map model is combined into the overall three-dimensional model of a large map scene, the independent scene sub-block files of all sub-block regions A need to be combined to generate an overall scene sub-block file.
[0093] After the independent scene sub-block files of all sub-block regions A are generated, a three-dimensional model simplification algorithm is used to generate an LOD model file corresponding to the independent scene sub-block file of the sub-block region A, so as to improve the loading efficiency and the calculation efficiency. The LOD technology creates multiple models with different levels of details for each object, that is, LOD levels. In one embodiment of the application, LOD0 represents the highest detail model, and contains all details and fine features, and LOD1, LOD2 and the like have relatively low levels of details.
[0094] As shown in FIG. 1, Figure 10 When the distance from the ground is far, in order to obtain larger scale simplified contour information, the sub-block regions of the three-dimensional model are further simplified and combined on the basis of the most simplified LOD model, with the number of vertices of the three-dimensional model and the distance as double scales, so as to be used as the geometric contour of the GIS map base map building. Figure 10 As shown in FIG. 2, Figure 10 As shown in FIG. 3,
[0095] Figure 11The upper middle part of figure A is the processing situation in the prior art without using the present application, the situation of calculating three-dimensional object data in a three-dimensional map scene using the same anchor point. It can be seen that when the blue object is outside the distance of 10KM, there is a significant error between its position and the correct position (red square), and the deviation of the object position is particularly obvious.
[0096] Figure 11 The lower middle part of figure B is the processing situation after using the present application, the error of the blue object and the correct position (red square) is very small, so the error is obviously reduced after using the method of the present application.
[0097] The three-dimensional model modeling method of a three-dimensional map scene of the present application uses a dynamic calculation method based on the UTM coordinate area sliding window method, effectively solving the problem of large error in long-distance calculation in a large scene. In addition, by saving the absolute coordinates and the relative offset of the vertex in the file data, the data amount is reduced, and the flexibility of calculation is enhanced, and the calculation is always based on the relative anchor point for calculation and accumulation.
[0098] The three-dimensional model modeling method of a three-dimensional map scene of the present application not only supports the GIS-based earth display model, but also is compatible with high-precision models, providing another feasible solution for the application of digital native technology in a large scene.
[0099] For those skilled in the art, it is obvious that the present application is not limited to the details of the above exemplary embodiments, and the present application can be implemented in other specific forms without departing from the spirit or essential characteristics of the present application. Therefore, the embodiments should be regarded as exemplary and non-limiting, the scope of the present application is defined by the appended claims rather than the above description, and it is intended to include all changes falling within the meaning and scope of the equivalent elements of the claims. Any reference signs in the claims should not be regarded as limiting the claims involved.
[0100] In addition, it should be understood that although the present specification is described in terms of embodiments, each embodiment does not contain only one independent technical solution, and the description manner of the specification is only for clarity, and those skilled in the art should regard the specification as a whole, and the technical solutions in each embodiment can also be properly combined to form other embodiments that those skilled in the art can understand.
Claims
1. A method for modeling a 3D model of a 3D large map scene, characterized in that, include: Step 1: Map Model Acquisition Steps; Acquire a map model with UTM coordinates from a large map scene; Step 2: Map model segmentation step; The map model is segmented into one or more block regions A according to their area; Step 3: Origin point confirmation step for segmented regions; In each segmented region A, obtain the overall center point Ca of all objects in segmented region A; Determine the nearest object Ob that is closest to the overall center point Ca, and set the center point C of the nearest object Ob as the origin point. Ob O serves as the origin of this segmented region A; Step 4: Offset calculation steps; Calculate the offset D of the center point of all objects in the segmented region A, except for the nearest object Ob, relative to the origin O; Step 5: Creating Independent Scene Block Files; Save the geometric information of all block regions A as independent scene block files for each block region; Step 6: 3D modeling of segmented regions; Using a 3D camera, acquire the geometric information of all segmented regions A in the map model one by one, and generate a 3D model of each segmented region A based on the geometric information of each segmented region A. Step 7: Modeling steps for the 3D model of the large map scene; merge the 3D models of each segment of the map model into the overall 3D model of the large map scene.
2. The method for modeling a 3D model of a 3D large map scene according to claim 1, characterized in that, In step 2, during the map model segmentation process, height information is ignored and the segmentation continues along the direction of the longest axis.
3. The method for modeling a 3D model of a 3D large map scene according to claim 1, characterized in that, In step 3, the UTM coordinates of the center point C of each object in a segmented region are calculated, and the UTM coordinates of the center points C of all objects are weighted to obtain the UTM coordinates of the overall center point Ca of all objects.
4. The method for modeling a 3D model of a 3D large map scene according to claim 1, characterized in that, In step 4, the formula for calculating the offset D is shown in the following formula (1): (1) In formula (1), P x Let P represent the x-coordinate of point P. y Let P represent the y-coordinate of point P. z Q represents the z-coordinate of point P; x Let Q represent the x-coordinate of point Q. y Let Q represent the y-coordinate of point Q. z This represents the z-coordinate of point Q.
5. The method for modeling a 3D model of a 3D large map scene according to claim 1, characterized in that, In step 5, the geometric information includes the origin O of each segmented region and the offset D of the center point of all objects relative to the origin O.
6. The method for modeling a 3D model of a 3D large map scene according to claim 5, characterized in that, In step 5, the geometric information of the origin O of each segmented region is the UTM coordinate of the origin O.
7. The method for modeling a 3D model of a 3D large map scene according to claim 1, characterized in that, In step 6, as the 3D camera acquires the geometric information of all block regions A one by one, when the 3D camera moves and crosses different block regions A, the geometric information of the current block region A where the 3D camera is located is regenerated.
8. An electronic device comprising at least one processor and a memory communicatively connected to said at least one processor; characterized in that, The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the three-dimensional modeling method for a three-dimensional large map scene according to any one of claims 1-7.
9. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to execute the three-dimensional modeling method for a three-dimensional large map scene according to any one of claims 1-7.
10. A computer program product comprising a computer program; characterized in that, When the computer program is executed by the processor, it implements the three-dimensional modeling method for a three-dimensional large map scene according to any one of claims 1-7.