Three-dimensional model monitoring point elevation change monitoring method and system

Through a three-dimensional model monitoring point elevation change monitoring method, the tile boundary is calculated using the tile transformation matrix and boundary volume, combined with the Mole-Trubley algorithm and 3DTiles coordinate conversion, the problem of 3D model height measurement automation is solved, and efficient and accurate monitoring effect is achieved.

CN119618158AActive Publication Date: 2025-03-14SHENZHEN QIHANG TERRITORY TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411684228.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-12-20
Filing Date
2024-11-22
Publication Date
2025-03-14
Estimated Expiration
2044-11-22

AI Technical Summary

Technical Problem

The prior art is difficult to automate the height measurement of three-dimensional models, especially when triangulation is performed using Cesium.

Method used

Through a three-dimensional model monitoring point elevation change monitoring method, it includes inputting the latitude and longitude of the monitoring reference point, obtaining the latitude and longitude of the monitoring point, matching the same latitude and longitude and elevation of the elevation of the 0, and converting it into the EPSG4978 coordinate system. Then, the tile boundary is calculated based on the tile central transformation matrix and boundary volume, and the child nodes are traversed to find the smallest tile glb file where the monitoring point is located, convert the point into the vertex coordinates stored in glTF, and use the Moler-Trubley algorithm to find the intersection point between the ray and the triangle surface, and convert the intersection point into 3DTiles coordinates, and finally calculate the elevation change of the monitoring point.

Benefits of technology

It realizes efficient and accurate automatic monitoring of elevation changes of three-dimensional model monitoring points, and is suitable for elevation changes monitoring of large-scale 3D urban and environmental models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119618158A_ABST
    Figure CN119618158A_ABST
Patent Text Reader

Abstract

The invention relates to a three-dimensional model monitoring point elevation change monitoring method. The method comprises the following steps: inputting latitude and longitude and elevation of a monitoring reference point Z; acquiring longitude and latitude of a monitoring point P; matching a point P'which has the same longitude and latitude with the monitoring point P and has an elevation of 0, and converting the point P 'from the longitude and latitude coordinates to a point A of an EPSG4978 coordinate system; calculating a tile boundary according to the tile centralized transformation matrix and the boundary volume, and traversing child nodes to find a minimum tile glb file where the monitoring point P is located; converting the point A into a vertex coordinate VA stored by the glTF; intersection points of rays with VA as a starting point and # imgabs0 # as a direction vector and the glTF model are solved, and after one or more intersection points are obtained, the intersection point In (x, y, z) is converted into 3DTiles coordinates An (x, y, z); a point Aheight with the maximum Z-axis value of the An point is taken; the coordinate of the Arighest is converted from the 3DTiles coordinate to the latitude and longitude coordinate to obtain the coordinate P (lng, lat, h) of a monitoring P point; the lng and the lat are the longitude and the latitude of the corresponding monitoring P; and obtaining the elevation change of the monitoring point P based on the difference between the calculated elevation of the monitoring point P and the elevation of the reference point Z.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of three-dimensional model data processing, and in particular to a method and system for monitoring elevation changes of three-dimensional model monitoring points. Background Art

[0002] Currently, the height of a three-dimensional model is usually obtained by triangulation on the front end with the help of Cesium (Cesium is an open source JavaScript library for creating 3DGIS applications). Cesium is a cross-platform, cross-browser JavaScript library for displaying three-dimensional earth and maps.

[0003] Cesium's triangulation at the front end is not conducive to achieving automated height measurement. How to achieve automated height monitoring of three-dimensional models is a technical problem that technicians in this field need to solve. Summary of the invention

[0004] In order to at least partially solve the above technical problems, the present application provides a method and system for monitoring elevation changes of monitoring points in a three-dimensional model.

[0005] In a first aspect, a method for monitoring elevation changes of monitoring points in a three-dimensional model provided in the present application adopts the following technical solution.

[0006] A method for monitoring elevation changes of monitoring points of a three-dimensional model, comprising:

[0007] Input the latitude, longitude and elevation of the monitoring reference point Z; obtain the latitude and longitude of the monitoring point P;

[0008] Match point P′ with the same longitude and latitude as the monitoring point P and an elevation of 0 and convert P′ from longitude and latitude coordinates to point A in the EPSG4978 coordinate system;

[0009] Calculate the tile boundary according to the transformation matrix and boundary volume in the tile set, and traverse the child nodes to find the minimum tile glb file where the monitoring point P is located;

[0010] Convert point A to vertex coordinates V stored in glTF A ;

[0011] Traverse the mesh primitives in glTF to obtain the triangles of the triangulated network, using the Moller-Trouble ( -Trumbore) algorithm to find the triangle face where each triangle is located and the vertex coordinates V A is the starting point of the ray and The intersection point I of the ray with the direction vector n (x, y, z);

[0012] After obtaining one or more intersection points, use the glTF intersection In (x, y, z) is converted into 3D Tiles coordinates A n (x, y, z);

[0013] Take A n Point A with the largest Z-axis value highest ; A highest Convert the 3Dtiles coordinates to longitude and latitude coordinates to obtain the coordinates of the monitoring point P (lng, lat, h); lng, lat is divided into the longitude and latitude corresponding to the monitoring point P;

[0014] Based on the difference between the obtained elevation of the monitoring point P and the elevation of the reference point Z, the elevation change of the monitoring point P is obtained.

[0015] Optionally, the tile boundary is calculated according to the transformation matrix and the boundary volume in the tile set, and the child nodes are traversed to find the minimum tile glb file where the monitoring point P is located, including:

[0016] S201, obtaining one of the root nodes in the tile set;

[0017] S202, calculating the transformation matrix T;

[0018] S203, determine whether the monitoring point is within the definition range of the boundary volume; if not, execute S204; if yes, execute S205;

[0019] S204, perform breadth-first traversal and determine whether there are other nodes; if yes, return to S202; if no, return that the monitoring point is outside the model range;

[0020] S205, determine whether there is a child node; if yes, execute S2051; if not, execute S2052;

[0021] S2051, get the first child node and return to S202;

[0022] S2052, obtain a glb file or reference other tile sets;

[0023] S2053, determine whether the obtained file is a glb file; if so, obtain the minimum tile glb file; if not, return to S201 and obtain the root node of the referenced tile set.

[0024] Optionally, the formula for calculating the transformation matrix T is:

[0025] T(i,j)=T root ×…×T (i,j) ; Among them, T (i,j) is the transformation matrix of the node corresponding to the level and position in the tile set, i is the level index, j is the position index at the current level, and both i and j start at 0; T root(i=0, j=0) is the root node transformation matrix, and T(i, j) is the multiplication of the node transformation matrices of the shortest path from the root node to the desired child node.

[0026] Optionally, convert the point A(x,y,z) to the vertex coordinates V stored in glTF A ,include:

[0027] Find the node transformation matrix of glTF; where finding the node transformation matrix of glTF includes: finding the specified entry node from scene, finding the node contained in scenes, obtaining the matrix or T, R, S of the shortest path node and node.children from the root node to the child node, until the node type is mesh, and post-multiplying in the order from parent node to child node; M glTF =M root ×…×M (i,j) ;M (i,j) is the matrix transformation matrix or T×R×S;

[0028] Find the transformation matrix from glTF vertex coordinates to 3D Tiles coordinates: T glTF =T tile ×R x ×M glTF ; T tile The transformation matrix of the leaf nodes referenced by the glb type file is contained in 3DTiles; and,

[0029] Convert point A(x,y,z) to vertex coordinates V stored in glTF A (x',y',z');

[0030] Optionally, before inputting the longitude, latitude and elevation of the monitoring reference point Z, the method further includes: calibrating the longitude, latitude and elevation of the three-dimensional model.

[0031] Optionally, calibrate the latitude, longitude and elevation of the 3D model, including:

[0032] Select appropriate ground control points from the benchmark data as calibration points;

[0033] For each calibration point, calculate the deviation between the coordinates in the model and the actual geographic coordinates;

[0034] According to the calculated deviation value, at least one of translation, rotation and scaling operations is performed on the entire model to make the coordinates in the model close to the actual geographic coordinates;

[0035] Verify the calibration using additional ground control points that were not involved in the calibration process;

[0036] After the calibration is completed, the adjusted 3D model is saved.

[0037] In the second aspect, the present application provides a three-dimensional model monitoring point elevation change monitoring system that adopts the following technical solution.

[0038] A three-dimensional model monitoring point elevation change monitoring system, comprising:

[0039] The first processing module is used to: input the latitude, longitude and elevation of the monitoring reference point Z; obtain the latitude and longitude of the monitoring point P;

[0040] The second processing module is used to: match a point P' having the same longitude and latitude as the monitoring point P and an elevation of 0 and convert P' from longitude and latitude coordinates to a point A in the EPSG4978 coordinate system;

[0041] The third processing module is used to: calculate the tile boundary according to the tile concentration transformation matrix and the boundary volume, and traverse the child nodes to find the minimum tile glb file where the monitoring point P is located;

[0042] The fourth processing module is used to convert point A into vertex coordinates V stored in glTF A ;

[0043] The fifth processing module is used to traverse the mesh primitives in glTF to obtain each triangle of the triangulated network, using the Moeller-Trouble The algorithm finds the triangle face where each triangle is located and the vertex coordinates V A is the starting point of the ray and The intersection point I of the ray with the direction vector n (x,y,zz));

[0044] The sixth processing module is used to: after obtaining one or more intersection points, convert the glTF intersection point I n (x, y, z) is converted into 3D Tiles coordinates A n (x,y,z);

[0045] The seventh processing module is used to: take A n Point A with the largest Z-axis value highest ; A highest Convert the 3Dtiles coordinates to longitude and latitude coordinates to obtain the coordinates of the monitoring point P (log, lat, h); lng, lat is divided into the longitude and latitude corresponding to the monitoring point P;

[0046] The eighth processing module is used to obtain the elevation change of the monitoring point P based on the difference between the elevation of the monitoring point P and the elevation of the reference point Z.

[0047] In a third aspect, the present application discloses an electronic device, comprising a memory and a processor, wherein the memory stores a computer program that is loaded by the processor and executes any of the above methods.

[0048] In a fourth aspect, the present application discloses a computer-readable storage medium storing a computer program that can be loaded by a processor and execute any of the above methods. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] Figure 1 It is a simplified structure of glTF;

[0050] Figure 2 It is a flow chart of a method for monitoring elevation changes of monitoring points in a three-dimensional model according to an embodiment of the present application;

[0051] Figure 3 This is a system block diagram of a method for monitoring elevation changes of monitoring points in a three-dimensional model according to an embodiment of the present application;

[0052] In the figure, 201 is a first processing module; 202 is a second processing module; 203 is a third processing module; 204 is a fourth processing module; 205 is a fifth processing module; 206 is a sixth processing module; 207 is a seventh processing module; and 208 is an eighth processing module. DETAILED DESCRIPTION

[0053] The following is combined with Figure 1-3 The present application is further described with specific embodiments:

[0054] First, some nouns appearing in this application are explained.

[0055] 3DTiles use a right-handed Cartesian coordinate system, with the z-axis defined as up in the local Cartesian coordinate system. The global coordinate system of a tileset is typically in the WGS84 Earth-centered, Earth-fixed (ECEF) reference frame (EPSG4978). All straight-line distances are in meters, and all angles are in radians.

[0056] boundingVolume: The bounding volume is used to define the spatial extents that contain tiles or tile content.

[0057] region: is used to define the bounding geographic region, whose latitude, longitude, and altitude coordinates are in the order [west,south,east,north,minHeight,maxHeight]. Latitude and longitude are in WGS84 datum defined in EPSG4979 and are in radians.

[0058] box: Used to define a oriented bounding box in a right-handed Cartesian coordinate system (x, y, z) with the z axis pointing upward. The first three elements define the x, y, and z values ​​of the center of the box, the next three elements define the x-axis direction and half-length, the next three elements define the y-axis direction and half-length, and the last three elements define the z-axis direction and half-length. The storage format is shown below boundingVolumn.box, which is a one-dimensional array in order from top to bottom and from left to right.

[0059]

[0060] sphere: Its format is [x,y,z,r] and is used to define a bounding sphere. (x,y,z) are the x, y and z values ​​of the center of the sphere in the Cartesian coordinate system, where the z axis is upward. The last element r defines the radius.

[0061] transform: is a 4×4 affine transformation matrix, stored in column-major order, with an optional transform attribute for each tile. This matrix is ​​used to transform the tile from its local coordinate system to the coordinate system of its parent tile, or in the case of the root tile, to the coordinate system of the tile set. See T for storage format. s , a one-dimensional array in order from top to bottom and from left to right.

[0062]

[0063] content: can contain a boundingVolume of tilecontent, and a reference to one of the tile formats defined in tile formats (glb,b3dm,i3dm,pnts,cmpt), or a reference to another tileset JSON (tileset.json).

[0064] glTF uses a right-handed coordinate system. glTF defines +Y as up, +Z as forward, and -X as right; the front of a glTF resource faces +Z. All linear distances are in meters. All angles are in radians. Positive rotations are counterclockwise.

[0065] Reference Figure 1 Simplified structure for glTF.

[0066] scene: is the entry point for scene descriptions stored in glTF. It refers to the nodes that define the scene graph.

[0067] Node: is a node in the scene graph hierarchy. It can contain transformations (for example, rotation or translation), and it can refer to other (child) nodes. Additionally, it can refer to a mesh or camera instance "attached" to the node, or a skin that describes the deformation of a mesh.

[0068] Mesh: describes the geometric objects that appear in the scene. It refers to the accessor objects used to access the actual geometric data, and the material that defines the appearance of the object when rendered.

[0069] accessor: Serves as an abstract source of arbitrary data. It is used by mesh, skin, and animation and provides geometry data, skinning parameters, and time-dependent animation values. It refers to the bufferView, which is the part of the buffer that contains the actual raw binary data.

[0070] Node transformation

[0071] (1)matrix: is a 4×4 affine transformation matrix, stored in column-first order. Storage format see M s , a one-dimensional array in order from top to bottom and from left to right.

[0072]

[0073] (2) T, R, S attribute transformation: TRS attributes must be converted to matrices and post-multiplied in the order T×R×S; first scaling is applied to the vertices, then rotation, and then translation.

[0074] translation: contains only the translation in the x, y and z directions, represented by an array [x, y, z];

[0075] rotation: expressed as a quaternion [x, y, z, w], where the w component is the cosine of half the rotation angle;

[0076] scale: contains the scaling factors along the x, y, and z axes, expressed as an array [x, y, z];

[0077] The final transformation matrix is: (TRS is converted into a 4×4 affine transformation matrix)

[0078] M=T×R×S.

[0079] In order to convert glTF coordinates into 3D Tiles coordinates, the glTF coordinate axis y-up must be transformed to z-up. The storage format of the transformation matrix corresponding to the y-up transformation to the z-up transformation is shown in R s , stores the matrix in column-major order, as a one-dimensional array in top-to-bottom, left-to-right order.

[0080]

[0081] The present application discloses a method for monitoring elevation changes of monitoring points in a three-dimensional model, comprising the following steps:

[0082] Step 101: Input the latitude, longitude and elevation of the monitoring reference point Z; obtain the latitude and longitude of the monitoring point P.

[0083] Step 102: Match point P' with the same longitude and latitude as the monitoring point P and an elevation of 0, and convert P' from longitude and latitude coordinates to point A in the EPSG4978 coordinate system.

[0084] Step 103: Calculate the tile boundary according to the tile set transformation matrix and the boundary volume, and traverse the child nodes to find the minimum tile glb file where the monitoring point P is located.

[0085] Step 104: Convert point A to vertex coordinates V stored in glTF A .

[0086] Step 105: Traverse the mesh primitives in glTF to obtain the triangles of the triangulated network using the Moeller-Trouble The algorithm finds the triangle face where each triangle is located and the vertex coordinates V A is the starting point of the ray and The intersection point I of the ray with the direction vector n (x,y,z).

[0087] Step 106: After obtaining one or more intersection points, convert the glTF intersection point I n (x, y, z) is converted into 3D Tiles coordinates A n (x,y,z).

[0088] Step 107: Take A n Point A with the largest Z-axis value highest ; A highest The coordinates of the monitoring point P (lng, lat, h) are obtained by converting the 3D tiles coordinates to longitude and latitude coordinates; lnt, lat are divided into the longitude and latitude corresponding to the monitoring point P.

[0089] Step 108: Obtain the elevation change of the monitoring point P based on the difference between the elevation of the monitoring point P and the elevation of the reference point Z.

[0090] Specifically, by adopting the above method, efficient and accurate automatic monitoring of elevation changes of monitoring points in a three-dimensional model is achieved. The method is particularly suitable for monitoring elevation changes in large-scale 3D city and environmental models.

[0091] As a specific implementation method of a three-dimensional model monitoring point elevation change monitoring method, the tile boundary is calculated according to the tile centralized transformation matrix and the boundary volume, and the child nodes are traversed to find the minimum tile glb file where the monitoring point P is located, including:

[0092] S201, obtaining one of the root nodes in the tile set;

[0093] S202, calculating the transformation matrix T;

[0094] S203, determine whether the monitoring point is within the definition range of the boundary volume; if not, execute S204; if yes, execute S205;

[0095] S204, perform breadth-first traversal and determine whether there are other nodes; if yes, return to S202; if no, return that the monitoring point is outside the model range;

[0096] S205, determine whether there is a child node; if yes, execute S2051; if not, execute S2052;

[0097] S2051, get the first element of the child node and return to S202;

[0098] S2052, obtain a glb file or reference other tile sets;

[0099] S2053, determine whether the obtained file is a glb file; if so, obtain the minimum tile glb file; if not, return to S201 and obtain the root node of the referenced tile set.

[0100] As a specific implementation method of a method for monitoring elevation changes of monitoring points in a three-dimensional model, the formula for calculating the transformation matrix T is:

[0101] T(i,j)=T root ×…×T (i,j) ; Among them, T ( i,j ) is the transformation matrix of the node corresponding to the level and position in the tile set, i is the level index, j is the position index at the current level, and both i and j start at 0; T root (i=0, j=0) is the root node transformation matrix, and T(i, j) is the multiplication of the node transformation matrices of the shortest path from the root node to the desired child node.

[0102] As a specific implementation method of a 3D model monitoring point elevation change monitoring method, point A is converted into vertex coordinates V stored in glTF. A ,include:

[0103] Find the node transformation matrix of glTF; where finding the node transformation matrix of glTF includes: finding the specified entry node from scene, finding the node contained in scenes, obtaining the matrix or T, R, S of the shortest path node and node.children from the root node to the child node, until the node type is mesh, and post-multiplying in the order from parent node to child node; M glTF =M root ×…×M (i,j) ;M (i,j) is the matrix transformation matrix or T×R×S;

[0104] Find the transformation matrix from glTF vertex coordinates to 3D Tiles coordinates: T glTF =T tile ×R x ×M glTF ; T tile The transformation matrix of the leaf nodes referenced by the glb type file is contained in 3DTiles; and,

[0105] Convert point A(x,y,z) to vertex coordinates V stored in glTF A (x',y',z');

[0106] As one implementation of a method for monitoring elevation changes of monitoring points in a three-dimensional model, before inputting the longitude, latitude and elevation of the monitoring reference point Z, the method further includes: calibrating the longitude, latitude and elevation of the three-dimensional model.

[0107] As one implementation method of a method for monitoring elevation changes of monitoring points in a three-dimensional model, the longitude, latitude and elevation of the three-dimensional model are calibrated, including:

[0108] Select appropriate ground control points from the benchmark data as calibration points;

[0109] For each calibration point, calculate the deviation between the coordinates in the model and the actual geographic coordinates;

[0110] According to the calculated deviation value, at least one of translation, rotation and scaling operations is performed on the entire model to make the coordinates in the model close to the actual geographic coordinates;

[0111] Verify the calibration using additional ground control points that were not involved in the calibration process;

[0112] After the calibration is completed, the adjusted 3D model is saved.

[0113] This application also provides a three-dimensional model monitoring point elevation change monitoring system, including:

[0114] The first processing module 201 is used to: input the latitude, longitude and elevation of the monitoring reference point Z; obtain the latitude and longitude of the monitoring point P;

[0115] The second processing module 202 is used to: match a point P′ with the same longitude and latitude as the monitoring point P and an elevation of 0 and convert P′ from longitude and latitude coordinates to a point A in the EPSG4978 coordinate system;

[0116] The third processing module 203 is used to calculate the tile boundary according to the tile concentration transformation matrix and the boundary volume, and traverse the child nodes to find the minimum tile g lb file where the monitoring point P is located;

[0117] The fourth processing module 204 is used to convert point A into vertex coordinates V stored in glTF A ;

[0118] The fifth processing module 205 is used to: traverse the mesh primitives in glTF to obtain each triangle of the triangulated network, and use the Mohler-Trouble ( -Trumbore) algorithm to find the triangle face where each triangle is located and the vertex coordinates V A is the starting point of the ray and The intersection point I of the ray with the direction vector n (x, y, z);

[0119] The sixth processing module 206 is used to: after obtaining one or more intersection points, convert the glTF intersection point I n (x, y, z) is converted into 3D Tiles coordinates A n (x, y, z);

[0120] The seventh processing module 207 is used to: take A n Point A with the largest Z-axis value highest ; A highest Convert the 3Dtiles coordinates to longitude and latitude coordinates to obtain the coordinates of the monitoring point P (lng, lat, h); lng, lat is divided into the longitude and latitude corresponding to the monitoring point P;

[0121] The eighth processing module 208 is used to obtain the elevation change of the monitoring point P based on the difference between the elevation of the monitoring point P and the elevation of the reference point Z.

[0122] The embodiment of the present application also discloses an electronic device.

[0123] Specifically, the device includes a memory and a processor, and the memory stores a computer program that can be loaded by the processor and execute any of the above-mentioned three-dimensional model monitoring point elevation change monitoring methods.

[0124] The embodiment of the present application also discloses a computer-readable storage medium. Specifically, the computer-readable storage medium stores a computer program that can be loaded by a processor and execute any of the above-mentioned three-dimensional model monitoring point elevation change monitoring methods, and the computer-readable storage medium includes, for example: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program codes.

[0125] It should be noted that the above embodiments are only used to illustrate the present application and are not intended to limit the technical solutions described in the present application. Although the present application has been described in detail in this specification with reference to the above embodiments, a person of ordinary skill in the art should understand that a person of ordinary skill in the art can still modify or make equivalent substitutions to the present application, and all technical solutions and improvements thereof that do not depart from the spirit and scope of the present application should be included in the scope of the claims of the present application.

Claims

1. A method for monitoring elevation changes of monitoring points in a three-dimensional model, characterized in that: include: Enter the latitude, longitude and elevation of the monitoring benchmark point Z; Get the longitude and latitude of monitoring point P; Match point P' with the same longitude and latitude as the monitoring point P and an elevation of 0 and convert point P' from longitude and latitude coordinates to point A in the EPSG4978 coordinate system; Calculate the tile boundary according to the tile set transformation matrix and boundary volume, and traverse the child nodes to find the minimum tile glb file where the monitoring point P is located; Convert point A to vertex coordinates V stored in glTF A ; Traverse the mesh primitives in glTF to get the triangles of the triangulated network, using Moeller-Trouble The algorithm finds the triangle face where each triangle is located and the vertex coordinates V A is the starting point of the ray and The intersection point I of the ray with the direction vector n (x, y, z); After obtaining one or more intersection points, use the glTF intersection I n (x, y, z) is converted into 3D Tiles coordinates A n (x,y,z); Take A n Point A with the largest Z-axis value highest ; A highest Convert the 3Dtiles coordinates to longitude and latitude coordinates to obtain the coordinates of the monitoring point P (lng, lat, h); lng, lat is divided into the longitude and latitude corresponding to the monitoring point P; Based on the difference between the obtained elevation of the monitoring point P and the elevation of the reference point Z, the elevation change of the monitoring point P is obtained.

2. A method for monitoring elevation changes of monitoring points in a three-dimensional model according to claim 1, characterized in that: Calculate the tile boundary according to the tile set transformation matrix and boundary volume, traverse the child nodes to find the minimum tile glb file where the monitoring point P is located, including: S201, obtaining one of the root nodes in the tile set; S202, calculating the transformation matrix T; S203, determine whether the monitoring point is within the definition range of the boundary volume; if not, execute S204; if yes, execute S205; S204, perform breadth-first traversal and determine whether there are other nodes; if yes, return to S202; if no, return that the monitoring point is outside the model range; S205, determine whether there is a child node; if yes, execute S2051; if not, execute S2052; S2051, get the first child node and return to S202; S2052, obtain a glb file or reference other tile sets; S2053, determine whether the obtained file is a glb file; if so, obtain the minimum tile glb file; if not, return to S201 and obtain the root node of the referenced tile set.

3. A method for monitoring elevation changes of monitoring points in a three-dimensional model according to claim 2, characterized in that: The formula for calculating the transformation matrix T is: T(i,j)=T root ×…×T (i,j) ; Among them, T (i,j) is the transformation matrix of the node corresponding to the level and position in the tile set, i is the level index, j is the position index at the current level, and both i and j start at 0; T root (i=0, j=0) is the root node transformation matrix, and T(i, j) is the multiplication of the node transformation matrices of the shortest path from the root node to the desired child node.

4. A method for monitoring elevation changes of monitoring points in a three-dimensional model according to claim 3, characterized in that: Convert point A to vertex coordinates V stored in glTF A ,include: Find the node transformation matrix of glTF; where finding the node transformation matrix of glTF includes: finding the specified entry node from scene, finding the node contained in scenes, obtaining the matrix or T, R, S of the shortest path node and node.children from the root node to the child node, until the node type is mesh, and post-multiplying in the order from parent node to child node; M glTF =M root ×…×M (i,j) ;M (i,j) is the matrix transformation matrix or T×R×S; Find the transformation matrix from glTF vertex coordinates to 3D Tiles coordinates: T glTF =T tile ×R x ×M glTF ; T tile The transformation matrix of the leaf nodes referenced by the glb type file is contained in 3DTiles; and, Convert point A(x,y,z) to vertex coordinates V stored in glTF A (x',y',z'); 5. A method for monitoring elevation changes of monitoring points in a three-dimensional model according to claim 4, characterized in that: Before inputting the longitude, latitude and elevation of the monitoring reference point Z, the method further comprises: calibrating the longitude, latitude and elevation of the three-dimensional model.

6. A method for monitoring elevation changes of monitoring points in a three-dimensional model according to claim 5, characterized in that: Calibrate the latitude, longitude and elevation of the 3D model, including: Select appropriate ground control points from the benchmark data as calibration points; For each calibration point, calculate the deviation between the coordinates in the model and the actual geographic coordinates; According to the calculated deviation value, at least one of translation, rotation and scaling operations is performed on the entire model to make the coordinates in the model close to the actual geographic coordinates; Verify the calibration using additional ground control points that were not involved in the calibration process; After the calibration is completed, the adjusted 3D model is saved.

7. A three-dimensional model monitoring point elevation change monitoring system, characterized in that: include: The first processing module is used to: input the latitude, longitude and elevation of the monitoring reference point Z; Get the longitude and latitude of monitoring point P; The second processing module is used to: match a point P' having the same longitude and latitude as the monitoring point P and an elevation of 0 and convert P' from longitude and latitude coordinates to a point A in the EPSG4978 coordinate system; The third processing module is used to: calculate the tile boundary according to the tile concentration transformation matrix and the boundary volume, and traverse the child nodes to find the minimum tile glb file where the monitoring point P is located; The fourth processing module is used to convert point A into vertex coordinates V stored in glTF A ; The fifth processing module is used to traverse the mesh primitives in glTF to obtain each triangle of the triangulated network, using the Moeller-Trouble The algorithm finds the triangle face where each triangle is located and the vertex coordinates V A is the starting point of the ray and The intersection point I of the ray with the direction vector n (x, y, z); The sixth processing module is used to: after obtaining one or more intersection points, convert the glTF intersection point I n (x, y, z) is converted into 3D Tiles coordinates A n (x,y,z); The seventh processing module is used to: take A n Point A with the largest Z-axis value highest ; A highest Convert the 3Dtiles coordinates to longitude and latitude coordinates to obtain the coordinates of the monitoring point P (lng, lat, h); lng, lat is divided into the longitude and latitude corresponding to the monitoring point P; The eighth processing module is used to obtain the elevation change of the monitoring point P based on the difference between the elevation of the monitoring point P and the elevation of the reference point Z.

8. An electronic device, characterized in that: The method comprises a memory and a processor, wherein the memory stores a computer program according to any one of the methods of claims 1 to 6 which is loaded and executed by the processor.

9. A computer-readable storage medium, characterized in that: A computer program is stored which can be loaded by a processor and execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Settlement point building construction progress monitoring method, device and equipment and storage medium

    CN112037327A

  • Electric power overhead line sag point elevation monitoring method, equipment and medium

    CN113959402A

  • Methods and systems for generating a terrain elevation map in a cartesian format

    US20050131630A1

  • Illustrating elevations associated with a mine worksite

    US20150347637A1