Building measurement data sharing method based on cloud platform
By using a cloud-based building surveying data sharing method, which leverages point cloud density distribution and semantic fingerprinting technology, the problems of high latency and version confusion in traditional building surveying data sharing are solved, enabling efficient data fragmentation and storage and real-time collaborative operations.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUNAN HAND IN HAND INFORMATION TECH CO LTD
- Filing Date
- 2026-04-02
- Publication Date
- 2026-05-01
AI Technical Summary
Traditional building surveying data sharing methods rely on physical media transmission or full file transfer, resulting in high latency, wasted network resources, and version confusion, which cannot support collaborative scenarios with high real-time requirements and the refined management of complex building projects.
A cloud-based building measurement data sharing method achieves efficient fragmented storage and rapid indexing of massive measurement data by constructing a dynamic load balancing routing mechanism for point cloud density distribution. It utilizes component motion trajectories for spatial conflict detection and combines semantic fingerprinting technology that decouples shape and posture to complete the spatial pose reconstruction and incremental update of target components.
It achieves efficient fragmented storage and fast indexing of massive measurement data, reduces network bandwidth consumption, improves real-time performance and smoothness of interaction in multi-person concurrent collaborative environments, supports incremental updates, and improves the collaborative work efficiency of complex construction engineering projects.
Smart Images

Figure CN121967486A_ABST
Abstract
Description
Cloud-based building surveying data sharing method Technical Field
[0001] This invention relates to the field of data sharing and collaboration technology, and in particular to a method for sharing building measurement data based on a cloud platform. Background Technology
[0002] The field of data sharing and collaboration technology mainly involves using distributed network architecture and data transmission protocols to achieve interactive synchronization and logical consistency maintenance of information between multiple nodes. Its core aspects include concurrent access control mechanisms, multi-version conflict detection, and standardization of data interfaces between heterogeneous systems. By establishing a stable communication link between the server and the client, users located in different geographical locations can read, edit, and distribute data from the same data source, thereby supporting cross-departmental business collaboration processes. Among them, the traditional method of building surveying data sharing refers to the technical aspects of multi-party interaction of total station coordinate point data, LiDAR point cloud files, and CAD drawings generated from surveying and mapping collected on-site. The usual approach is for surveyors to export the raw observation data collected in the field to physical storage media such as mobile hard drives or USB flash drives, and then manually transfer it to the office processing personnel. Alternatively, the surveying data can be packaged and compressed and sent as attachments to the email addresses of the design and construction parties using an email system. By setting up a file transfer protocol FTP server in a local area network environment, the surveyor uploads the data to a designated directory, and other relevant personnel log in to the server by entering the network address to download the corresponding surveying result files.
[0003] Traditional building surveying data sharing relies on physical media transmission or full file transfer protocols. This offline file-based operation mode lacks fine-grained management capabilities for massive point cloud data, often resulting in severe high data transmission latency issues when facing collaborative scenarios with high real-time requirements. Furthermore, due to the lack of a real-time conflict detection mechanism for concurrent operations by multiple parties, version confusion and overwrite errors are easily caused when multiple parties asynchronously edit the same engineering model. Frequent full data downloads and uploads not only cause a huge waste of network bandwidth resources but also fail to support incremental updates and status synchronization for specific components, severely restricting the efficiency of refined management and the speed of multi-department collaborative response in complex building engineering projects. Summary of the Invention
[0004] The purpose of this invention is to address the shortcomings of existing technologies by proposing a cloud-based method for sharing building measurement data.
[0005] To achieve the above objectives, the present invention adopts the following technical solution: a cloud-based method for sharing building surveying data, comprising the following steps: S1: acquiring building surveying point cloud data, calculating spatial mapping indices, counting the number of spatial mapping indices within a unit interval and constructing a data density distribution map, accumulating data along the sequence direction and determining the segmentation boundary position, and generating a data routing table containing index ranges and storage addresses; S2: calling the data routing table, loading a 3D model, monitoring component editing instructions, analyzing the displacement vectors in the component editing instructions, calculating the geometric occupied space along the motion path in conjunction with the geometric contour, and constructing a geometric scan object covering the entire motion trajectory space; S3: receiving the geometric scan object, obtaining an active locked space list, and calculating... S4: Based on the intersection region with the active locked space list, determine the occupancy status and generate a locked status marker; S5: Based on the locked status marker, update the component position, calculate the geometric center point and construct a local reference coordinate system, transform the vertex coordinates to the local reference coordinate system and generate a shape semantic fingerprint, calculate the rigid transformation parameters and generate an attitude semantic fingerprint, and integrate them into a semantic fingerprint dataset; S6: Receive the semantic fingerprint dataset, compare the received fingerprint with the original component fingerprint stored in the database, analyze the consistency status of shape features and attitude features, determine the data change type, filter cases where shape semantic fingerprints match and attitude semantic fingerprints differ, extract the rigid transformation parameters to update the target component's rigid transformation matrix, and output an incremental update data packet.
[0006] As a further aspect of the present invention, the data routing table includes a sharding start Hilbert index value, a sharding end Hilbert index value, and a physical storage node mapping address; the geometric scan volume object includes component motion path vector data, component convex hull geometric feature parameters, and scan volume three-dimensional boundary coordinates; the locking status marker includes a mutual exclusion permission access identifier, a spatial conflict area location code, and a locking lease time stamp; the semantic fingerprint dataset includes a shape semantic fingerprint encoding sequence, an attitude semantic fingerprint encoding sequence, and a local coordinate system origin parameter; and the incremental update data packet specifically includes a target component unique identifier, rigid transformation matrix element values, and a data version verification sequence number.
[0007] As a further embodiment of the present invention, the steps for obtaining the data routing table are as follows: S101: Obtain building survey point cloud data, perform a recursive partitioning operation of the three-dimensional spatial grid on the building survey point cloud data, and convert the three-dimensional coordinate encoding into one-dimensional values according to the continuous traversal trajectory that maintains the spatial neighborhood adjacency, and establish a spatial mapping index sequence; S102: Call the spatial mapping index sequence, count the number of indexes within a unit value interval, obtain the point cloud density value of the unit interval, calculate the cumulative load weighted evaluation index, analyze the data distribution status, and construct a data density cumulative distribution map; S103: Based on the data density cumulative distribution map, compare the cumulative load weighted evaluation index with the fragmentation capacity threshold, determine the data fragmentation boundary position, and generate a data routing table containing the index range and storage address.
[0008] As a further aspect of the present invention, the process of comparing the cumulative load weighted evaluation index with the fragment capacity threshold to determine the data fragment boundary position specifically includes: calling the underlying driver interface of the graphics processing unit to read the dynamic available space data of the video memory, simultaneously obtaining the real-time bandwidth limit data of the data transmission channel through the network monitoring interface, accessing the device stress test log in the storage space, extracting the average frame rate fluctuation variance value from the device stress test log, performing normalization processing on the average frame rate fluctuation variance value, calculating the difference between the preset unit value benchmark and the normalized average frame rate fluctuation variance value, and generating a load safety buffer coefficient; calculating the theoretical maximum load value allowed for a single data loading based on the dynamic available space data of the video memory and the real-time bandwidth limit data, performing a multiplication operation on the theoretical maximum load value and the load safety buffer coefficient to generate the fragment capacity threshold; initializing the cumulative benchmark parameter to zero, and according to the space mapping index... Following the ascending index order of the sequence, the cumulative load weighted evaluation index corresponding to each unit interval in the cumulative data density distribution map is traversed sequentially. During the traversal, the numerical difference between the cumulative load weighted evaluation index of the current unit interval and the cumulative benchmark parameter is calculated in real time. This numerical difference is defined as the current shard temporary storage load value, and the current shard temporary storage load value is compared with the shard capacity threshold. When the current shard temporary storage load value is less than the shard capacity threshold, the current unit interval is determined to belong to the data shard currently being constructed, and the traversal operation continues. When the current shard temporary storage load value is greater than or equal to the shard capacity threshold, the sequence position of the current unit interval is determined as the boundary position of the data shard. The index value of the current unit interval is recorded as the termination index of the current data shard. The cumulative benchmark parameter is updated to the cumulative load weighted evaluation index of the current unit interval, and the process of determining the boundary of the next data shard is initiated.
[0009] As a further embodiment of the present invention, the steps for obtaining the geometric scan volume object are as follows: S201: Call the data routing table, read and load the three-dimensional model data, monitor the component editing instructions for the internal components of the model in real time, parse the instruction data stream, extract the starting coordinate three-dimensional point and ending coordinate three-dimensional point of the component movement, calculate the direction component and distance modulus through vector difference operation, and generate the motion displacement vector; S202: Based on the motion displacement vector, index the mesh vertex data of the controlled component and extract the external edge features to obtain the geometric contour information, use the geometric contour information as the reference section to perform spatial sweep calculation along the trajectory direction indicated by the motion displacement vector, solve the boundary coordinates of the three-dimensional volume region swept by the contour vertex on the sweep path, and generate the path space bounding volume; S203: Based on the path space bounding volume, perform closure detection and normal unification reconstruction on the triangular mesh of the bounding volume surface, remove internal redundant patches, construct a geometrically topologically closed continuous manifold structure, map the manifold structure to the global coordinate system of the three-dimensional scene and lock the occupied spatial voxel index range, and establish the geometric scan volume object.
[0010] As a further embodiment of the present invention, the step of obtaining the lock status flag is specifically as follows: S301: Receive the geometric scan object, access the concurrent control database of the collaborative server, obtain a list of active locked spaces recording each currently occupied area, perform an intersection volume integral operation on the geometric scan object and each locked space in the list, and obtain spatial intersection area information; S302: Call the spatial intersection area information, analyze whether there is an occupation conflict in the currently requested area, determine the conflict state and map it into a numerical logic level signal, and generate a space occupation state determination value; S303: Based on the space occupation state determination value, adjust the current component editing permission, including performing a mutex lock write operation and locking the resource when in a non-conflict state, rejecting the request and maintaining the original locking information when in a conflict state, and outputting a lock status flag.
[0011] As a further aspect of the present invention, the steps for obtaining the semantic fingerprint dataset are as follows: S401: Based on the locked state marker, perform a position coordinate update operation on the components in the 3D model, calculate the geometric center point of the components using the updated coordinate data, construct a local reference coordinate system with the geometric center point as the origin and in combination with the principal axis direction of the components, and generate a local reference coordinate system transformation matrix; S402: Call the local reference coordinate system transformation matrix to map the vertex data of the components in the global coordinate system to the local reference coordinate system, obtain the relative coordinate set, and calculate the shape semantic fingerprint; S403: Based on the shape semantic fingerprint, calculate the rotation matrix and translation vector of the local reference coordinate system relative to the global coordinate system, obtain the attitude semantic fingerprint, and perform data association and structured encapsulation of the attitude semantic fingerprint and the shape semantic fingerprint to generate a semantic fingerprint dataset containing component shape and spatial attitude information.
[0012] As a further aspect of the present invention, the incremental update data packet acquisition step is specifically as follows: S501: Receive the semantic fingerprint dataset, access the server-side basic database, retrieve the original component fingerprint record corresponding to the current component, compare the shape semantic fingerprints of the old and new sets of data, and generate a feature consistency state dataset; S502: Call the feature consistency state dataset, traverse the feature difference values of each component in the set, filter the cases where the shape semantic fingerprints match and the pose semantic fingerprints differ, and generate a rigid transformation change index list; S503: Based on the rigid transformation change index list, lock the target component to be updated, extract the rigid transformation parameters to update the rigid transformation matrix of the target component, encapsulate the updated matrix data and the component identifier, and generate an incremental update data packet.
[0013] Compared with existing technologies, the advantages and positive effects of this invention are as follows: In this invention, by constructing a dynamic load balancing routing mechanism based on point cloud density distribution, efficient fragmented storage and fast indexing of massive measurement data are achieved. Spatial conflict detection is performed using component motion trajectories. Operation permissions are determined and logical mutual exclusion is avoided in a multi-person concurrent collaborative environment. Combined with semantic fingerprint technology that decouples shape and posture, complex 3D component comparison is transformed into lightweight feature value calculation, completing the spatial pose reconstruction of the target component, reducing network bandwidth consumption to achieve incremental updates, and improving the real-time performance and smoothness of collaborative operations. Attached Figure Description
[0014] Figure 1 is a schematic diagram of the main steps of the present invention; Figure 2 is a flowchart of the data routing table acquisition of the present invention; Figure 3 is a flowchart of the geometric scan volume object acquisition of the present invention; Figure 4 is a flowchart of the lock status marker acquisition of the present invention; Figure 5 is a flowchart of the semantic fingerprint dataset acquisition of the present invention; Figure 6 is a flowchart of the incremental update data packet acquisition of the present invention. Detailed Implementation
[0015] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0016] In the description of this invention, it should be understood that the terms "length," "width," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicating orientation or positional relationships, are based on the orientation or positional relationships shown in the accompanying drawings and are only for the convenience of describing the invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the invention. Furthermore, in the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.
[0017] Please refer to Figure 1. This invention provides a technical solution: a method for sharing building survey data based on a cloud platform, comprising the following steps: S1: Acquire building survey point cloud data, calculate spatial mapping indexes, count the number of spatial mapping indexes within a unit interval and construct a data density distribution map, accumulate data along the sequence direction and determine the segmentation boundary position, and generate a data routing table containing index ranges and storage addresses; S2: Call the data routing table, load the 3D model, monitor component editing instructions, analyze the displacement vectors in the component editing instructions, calculate the geometric occupied space along the motion path in combination with the geometric contour, and construct a geometric scan object covering the entire motion trajectory space; S3: Receive the geometric scan object, obtain the active locked space list, and calculate the... S4: Based on the intersection of the active locked space list, determine the occupancy status and generate a locked status marker; S5: Based on the locked status marker, update the component position, calculate the geometric center point and construct a local reference coordinate system, transform the vertex coordinates to the local reference coordinate system and generate a shape semantic fingerprint, calculate the rigid transformation parameters and generate an attitude semantic fingerprint, and integrate them into a semantic fingerprint dataset; S6: Receive the semantic fingerprint dataset, compare the received fingerprint with the original component fingerprint stored in the database, analyze the consistency status of shape features and attitude features, determine the data change type, filter cases where shape semantic fingerprints match and attitude semantic fingerprints differ, extract the rigid transformation parameters to update the rigid transformation matrix of the target component, and output an incremental update data packet.
[0018] The data routing table includes the starting Hilbert index value of the fragment, the ending Hilbert index value of the fragment, and the physical storage node mapping address. The geometric scan volume object includes component motion path vector data, component convex hull geometric feature parameters, and scan volume 3D boundary coordinates. The lock status marker includes mutual exclusion access identifier, spatial conflict area location code, and lock lease period timestamp. The semantic fingerprint dataset includes shape semantic fingerprint encoding sequence, attitude semantic fingerprint encoding sequence, and local coordinate system origin parameter. The incremental update data packet specifically includes the target component unique identifier, rigid transformation matrix element values, and data version verification sequence number.
[0019] Please refer to Figure 2. The specific steps for obtaining the data routing table are as follows: S101: Obtain building survey point cloud data, perform a recursive partitioning operation of the three-dimensional spatial mesh on the building survey point cloud data, and convert the three-dimensional coordinates into one-dimensional values according to the continuous traversal trajectory that maintains the spatial adjacency, and establish a spatial mapping index sequence; Obtain building survey point cloud data, call the octree spatial segmentation logic to perform recursive partitioning on the original point cloud data, set the physical size side length of the basic voxel to 0.5 meters, divide the three-dimensional bounding box covering the entire building scene into non-overlapping voxel units, traverse the point cloud coordinates in each voxel unit and extract the geometric center, and based on the mathematical construction rules of Hilbert space filling curve, determine the three-dimensional geometric center coordinates of the voxel unit. The mapping is performed using one-dimensional integer index values. This mapping process strictly follows the recursive traversal order of the Hilbert curve to maintain the local correlation of the spatial neighborhood. The generated index sequence covers all valid voxel identifiers from the origin to the maximum bounding range. For each generated index value, a hash mapping relationship is established between its storage address in memory and the original point cloud data block. All encoded indexes are sorted in ascending order of numerical value. Empty index entries that do not contain actual point cloud data are removed, and only the index sequence corresponding to valid data is retained, forming a set of mapping indexes with continuous spatial topology. This provides a traversal basis based on a one-dimensional linear sequence for subsequent data density statistics and piecewise load calculation, thus establishing a spatial mapping index sequence.
[0020] S102: Call the spatial mapping index sequence, count the number of indices within a unit value interval, and obtain the point cloud density value within the unit interval using the formula: ; Calculate the cumulative load weighted evaluation index, analyze the data distribution, and construct a cumulative data density distribution map; among which, This represents the cumulative load-weighted evaluation index, calculated by summing the load values of all units within the current shard sequence. This represents the index of the current traversed unit interval, used as a loop variable to locate the specific data unit. Represents the current accumulated total number of intervals, indicating the current cell position where the summation operation ends. Representing the The normalized point cloud density values of each unit interval are obtained by statistical analysis of the first unit interval. The actual number of point clouds within each interval is obtained by dividing by the global maximum number of point clouds in each interval. This represents the preset density smoothing bias coefficient, which is pre-set based on the system's tolerance for low-density noise. The capacity reference normalization factor is used as a dimensionless baseline denominator to adjust the weight of the density term. This represents a spatial discontinuity adjustment factor, used to balance the dimensional differences between density load and spatial span load. Representing the The center index value of the nth unit interval is obtained by acquiring the nth unit interval. The mapping coordinates of each interval onto the Hilbert curve are obtained. Representing the The center index value of each unit interval refers to the mapped coordinates of the preceding unit of the currently traversed unit. The index representing the previous index is used to indicate the previous position in the sequence, and when... hour, The initial index baseline value is set, typically 0, to establish the calculation origin. The spatial mapping index sequence is invoked, setting the unit value interval length step to 100 index units. The entire index sequence is traversed, and the number of valid indices falling within each unit step is counted. This number is divided by the number of indices in the largest unit interval across the entire scene to obtain the normalized point cloud density value. Call the formula The cumulative load weighted evaluation index is calculated in the formula. Used as a loop variable to iterate through all intervals within the current slice, Part 1 The computational pressure generated by quantifying data density using quadratic structure, where This is the density smoothing bias coefficient, set to 0.05. It is determined by statistically analyzing the average density percentage of background noise points and using this value as the background noise filtering threshold to suppress weight interference in low-density areas. This is a capacity reference normalization factor, set to 10.0. It is based on the ratio of the ideal throughput of a single rendering batch to the average density per unit interval, used to map density values to standardized load dimensions. (Part Two) Used to quantify the addressing pressure generated by space jumps. This is a spatial discontinuity adjustment factor, set to 2.5. It is based on the ratio of hard drive random access time to sequential read time, and amplifies the load weight at points of spatial discontinuity. and The difference reflects the span of the physical space. The arithmetic square root operation performs nonlinear compression on the span value to simulate the attenuation characteristics of addressing delay; Table 1 shows an example data table for calculating the cumulative load weighted evaluation index: Table 1 lists examples of calculations for the first three terms of the sequence. hour, , Initially set to 0, the first load is calculated as follows: ,when hour, With a small spatial span, the second load term decreases significantly, and the cumulative value increases slowly. hour, The sudden increase in spatial span led to The value of the item rose sharply to 53.03, making The calculation results show that there is a huge spatial break in the current sequence at the third interval. Based on the steep increase of this value, the system identifies the non-uniformity of the data distribution, analyzes the data distribution status, and constructs a data density cumulative distribution map.
[0021] S103: Based on the cumulative data density distribution map, the cumulative load weighted evaluation index is compared with the fragment capacity threshold to determine the data fragment boundary position and generate a data routing table containing the index range and storage address; based on the cumulative data density distribution map, the underlying driver interface of the graphics processing unit is called to read the dynamic available space data of the video memory, for example, obtaining a value of 8192MB; simultaneously, the real-time bandwidth limit data of the data transmission channel is obtained through the network monitoring interface, for example, a monitoring value of 100MB / s; the device stress test log in the storage space is accessed to extract the average frame rate fluctuation variance value during the rendering process of the most recent 1000 frames, for example, an extraction value of 0.04, and the average frame rate... The fluctuation variance value is normalized to 0.2. The difference between the preset unit value benchmark of 1.0 and this normalized value is calculated to obtain 0.8, which is used as the load safety buffer coefficient. Based on the available memory space and bandwidth limitations, the theoretical maximum load value for a single load is calculated. For example, combined with the texture compression rate, the theoretical maximum number of points is calculated to be 5 million, corresponding to a load dimension of 10,000. This theoretical value is multiplied by the load safety buffer coefficient of 0.8 to generate a fragment capacity threshold of 8,000. The cumulative benchmark parameter is initialized to zero. Following the ascending index order of the spatial mapping index sequence, the cumulative load weighted evaluation index corresponding to each unit interval in the distribution map is traversed sequentially, and the current load weighted evaluation index is calculated in real time. The difference between the current value and the cumulative baseline parameter is used as the current fragment temporary load value. For example, when traversing to the th fragment... When there are intervals The value is 7500. Since the temporary load value is less than 8000, it is determined to belong to the current partition. When traversing to the [number]th [part / part]... When there are intervals When the value reaches 8200, the difference exceeds the threshold, and the first [value] is immediately determined. Each interval serves as the partition boundary. The index range is recorded and a storage address is generated. The cumulative baseline parameter is updated to 7500. The next round of partitioning is performed on the subsequent data to generate a data routing table containing the index range and storage address.
[0022] Please refer to Figure 3. The specific steps for obtaining the geometric scan object are as follows: S201: Call the data routing table, read and load the 3D model data, monitor the component editing instructions for the internal components of the model in real time, parse the instruction data stream, extract the starting and ending 3D coordinate points of the component movement, calculate the direction component and distance modulus through vector difference operation, and generate the motion displacement vector; call the data routing table, read and load the 3D model data according to the index address, listen for and capture the movement, rotation or scaling operation instructions initiated by the user terminal for the internal components of the model in real time in the collaborative editing environment, parse the opcode field and operand field in the instruction binary data stream, and extract the centroid coordinate 3D point of the component movement at the start time. The three-dimensional coordinates of the target point at the termination time Perform component-wise vector difference operations on the termination coordinates and the starting coordinates to calculate the displacement vector. The X, Y, and Z components of the vector are extracted as direction indicators, and the Euclidean norm of the vector is calculated as the displacement magnitude. For example, for the starting point... To the end point The movement generates a vector. With a length of 11.18, this vector accurately describes the linear transformation trend of the component in the three-dimensional scene, generating a motion displacement vector.
[0023] S202: Based on the motion displacement vector, index the mesh vertex data of the controlled component and extract external edge features to obtain geometric contour information. Use the geometric contour information as a reference section to perform spatial sweep calculations along the trajectory direction indicated by the motion displacement vector, solve for the boundary coordinates of the three-dimensional volume region swept by the contour vertices on the sweep path, and generate the path spatial bounding volume. Based on the motion displacement vector, use the unique identifier of the component to index the mesh vertex data, traverse all vertex coordinates and perform extreme value filtering to obtain the maximum circumscribed contour point set of the component in the local coordinate system. Connect this point set to form a closed polygonal reference section. Then, use the reference section along the trajectory direction indicated by the motion displacement vector... The spatial stretching and sweeping operation is performed along the trajectory direction. For each discrete time step on the trajectory path, the vertex coordinates of the reference section are copied and translated according to the displacement increment. The corresponding vertices of adjacent time steps are connected to generate the side mesh. The external boundary coordinates of all three-dimensional volume regions swept by the contour vertices on the sweeping path are solved. For example, a cylinder with a base radius of 1 meter is swept 5 meters along the Z-axis to generate a new cylindrical bounding box with a height of 5 meters. This bounding box is mathematically defined by the Minkowski sum of the reference section and the sweeping path, which precisely defines the set of all spatial positions that the component may touch during the entire motion, generating the path spatial bounding volume.
[0024] S203: Based on the path space bounding volume, perform closure detection and normal unification reconstruction on the triangular mesh of the bounding volume surface, remove redundant internal faces, construct a geometrically topologically closed continuous manifold structure, map the manifold structure to the global coordinate system of the 3D scene and lock the occupied spatial voxel index range, and establish a geometric scan volume object; based on the path space bounding volume, perform manifolding processing on the triangular mesh of the bounding volume surface, detect and repair non-manifold edges and holes in the mesh, unify the normal direction of all faces to point outwards from the volume, remove redundant faces generated by sweep overlap inside the bounding volume, ensure the closure of the geometric topology structure, map the manifold structure from the local coordinate system to the global coordinate system of the 3D scene through the world transformation matrix, use spatial voxelization technology to discretize the continuous geometric bounding volume into a 3D mesh index set, lock all voxel index ranges actually occupied by the geometry in global space, for example, map the cylinder generated by the above sweep to the world coordinate system. Location, and mark its coverage. Individual element units are in an occupied state; a geometric scan volume object is created.
[0025] Please refer to Figure 4. The specific steps for obtaining the locked status marker are as follows: S301: Receive the geometric scan object, access the concurrent control database of the collaborative server, obtain the list of active locked spaces recording each currently occupied area, perform the intersection volume integration operation on the geometric scan object and each locked space in the list, and obtain the spatial intersection area information; Receive the geometric scan object, access the memory database of the collaborative server through the low-latency RPC protocol, query all component records in the "locked" or "editing" state under the current timestamp, extract the spatial bounding box information corresponding to these components, construct the active locked space list, apply the AABB (axis-aligned bounding box) initial screening and OBB (direction bounding box) fine intersection detection algorithm in computational geometry, perform Boolean intersection operation on the geometric scan object and each locked space in the list, and use the Monte Carlo integration method to estimate the volume value of the overlapping part. If the spatial geometry of the two has shared voxel elements in the three-dimensional coordinate system, the integration result is positive; otherwise, it is zero. For example, if a 0.5 cubic meter overlap area is detected between the current scan object and the wall component with ID 99, obtain the spatial intersection area information.
[0026] S302: Call the spatial intersection area information, analyze whether there is an occupation conflict in the currently requested area, determine the conflict status and map it to a numerical logic level signal, and generate a space occupancy status judgment value; call the spatial intersection area information, set the minimum collision tolerance threshold to 0.001 cubic meters. This threshold is set according to the building construction precision specifications and is used to ignore the slight overlap caused by calculation errors. Read the overlap volume value calculated by the intersection operation and compare it with the tolerance threshold. If the overlap volume is less than the threshold, it is determined to be in a "non-conflict" state, and the judgment result is mapped to a logic level "0" or a Boolean value False. If the overlap volume is greater than or equal to the threshold, it is determined to be in a "conflict" state, and the judgment result is mapped to a logic level "1" or a Boolean value True. This numerical signal directly represents whether the current editing operation violates the space exclusivity principle and generates a space occupancy status judgment value.
[0027] S303: Based on the space occupancy status judgment value, adjust the current component editing permissions. In non-conflict states, execute a mutex lock write operation and lock the resource. In conflict states, reject the request and retain the original locking information, and output a lock status flag. Based on the space occupancy status judgment value, execute conditional branch processing logic. When the judgment value is "0", the system sends a write lock request to the server, writes the current component ID and the spatial range of the geometric scan object into the concurrency control table, marks the status as "Locked", and grants the client editing permissions. When the judgment value is "1", the system intercepts the current component editing command, triggers the exception handling mechanism, retains the original locking information, and returns a rejection receipt containing the conflicting component ID to the client. The final determined permission result is encoded as a status code (e.g., 200 indicates successful locking, 409 indicates conflict), and the lock status flag is output.
[0028] Please refer to Figure 5. The specific steps for obtaining the semantic fingerprint dataset are as follows: S401: Based on the locked state flag, perform position coordinate update operations on the components in the 3D model, calculate the geometric center point of the components using the updated coordinate data, construct a local reference coordinate system with the geometric center point as the origin and combined with the principal axis direction of the components, and generate a local reference coordinate system transformation matrix; after confirming that the update state is allowed based on the locked state flag, read the latest world coordinate data of the components, perform an arithmetic mean operation on the X, Y, and Z coordinates of all vertices of the components, and calculate the geometric center point of the components. Using the geometric center point as the origin, the covariance matrix of the vertex distribution is calculated by principal component analysis (PCA). The eigenvectors of this matrix are then used as the three principal axes of the local coordinate system. An orthogonal local reference coordinate system transformation matrix is constructed, which contains rotation and translation components to describe the orientation and position of the component itself, thus generating the local reference coordinate system transformation matrix.
[0029] S402: Call the local reference coordinate system transformation matrix to map the vertex data of the component in the global coordinate system to the local reference coordinate system, and obtain the relative coordinate set using the formula: ; Calculate shape semantic fingerprint; where, The shape semantic fingerprint is obtained by summing the weighted geometric eigenvalues of all discrete vertices on the surface of the component. This represents the index of the vertex sequence currently being traversed, and is used as a loop variable to locate specific geometric points in the mesh. The total number of vertices representing a component is obtained by counting all valid nodes in the 3D mesh model. Representing the The normalized associated area weight of each vertex is obtained by calculating the sum of the areas of the surrounding ring of neighboring triangles and dividing by the total surface area of the components. Representing the The normalized relative distance factor of each vertex is obtained by calculating the Euclidean distance between that vertex and the geometric center and dividing it by the maximum diagonal length of the component's bounding box. This represents a preset structural smoothing adjustment constant, pre-set based on noise sensitivity requirements, used to prevent the denominator from being zero and to adjust the filtering strength. Representing the The normalized surface geometric curvature value of each vertex is obtained by calculating the average curvature or Gaussian curvature of that vertex and mapping it to a dimensionless interval of 0 to 1; the local reference coordinate system transformation matrix is called, and the vertex coordinates of the component in the global coordinate system are multiplied by the inverse of the matrix, mapped to the local reference coordinate system to obtain the relative coordinate set, and the formula is called. Calculate the shape semantic fingerprint by selecting three representative feature points on the component surface: the center point (flat), the edge corner points (medium distance and curvature), and the noise point (high curvature). Set a structural smoothing adjustment constant. The value is 0.15. First, the center point of the surface is calculated, and its normalized associated area weight is determined. Normalized relative distance factor Surface geometric curvature molecule is The denominator is Single-point contribution value Next, calculate the edge corner points. , , molecule is The denominator is Single-point contribution value Finally, the noise level is calculated. , , molecule is The denominator is Single-point contribution value Table 2. Examples of shape semantic fingerprint calculation parameters: As shown in Table 2, through comparative analysis of numerical examples, it was found that although the distance factor of the noise points is relatively high, due to the high curvature... This leads to a significant increase in the denominator, making the final contribution value of the noise point much lower than that of the center point of the surface. This verifies the formula's ability to suppress geometric noise. By traversing all vertices of the mesh and accumulating the above single-point calculation results, the final aggregated scalar value is obtained, and the shape semantic fingerprint is calculated.
[0030] S403: Based on shape semantic fingerprints, calculate the rotation matrix and translation vector of the local reference coordinate system relative to the global coordinate system to obtain the attitude semantic fingerprint. Associate and encapsulate the attitude semantic fingerprint with the shape semantic fingerprint to generate a semantic fingerprint dataset containing component morphology and spatial attitude information. After completing the intrinsic description of the component morphology based on the shape semantic fingerprint, extract the transformation relationship between the local reference coordinate system and the global coordinate system, and convert the 3x3 rotation matrix into a quaternion representation. To avoid gimbal deadlock and compress data volume, translation vectors are extracted. The quaternion and translation vector are combined into a seven-dimensional vector as a pose semantic fingerprint. This fingerprint accurately records the specific placement and orientation of the component in three-dimensional space. The calculated scalar form shape semantic fingerprint is then used to... Associate key-value pairs with the pose semantic fingerprint in vector form, package them into a structured JSON or binary data packet, such as {ID:1001,Shape:12.45,Pose:[0.7,0,0,0.7,10,5,0]}, and generate a semantic fingerprint dataset containing component shape and spatial pose information.
[0031] Please refer to Figure 6. The specific steps for obtaining the incremental update data package are as follows: S501: Receive the semantic fingerprint dataset, access the server-side basic database, retrieve the original component fingerprint record corresponding to the current component, compare the shape semantic fingerprints of the old and new sets of data, and generate a feature consistency state dataset; Receive the semantic fingerprint dataset, parse the unique component identifier contained therein, quickly locate the previous version's original component fingerprint record stored in the server-side basic database using a hash index, and extract the shape fingerprint values of the old and new sets of data respectively. With attitude fingerprint vector Calculate the absolute value of the algebraic difference of the shape fingerprint. Calculate the geodesic distance or Euclidean distance of the attitude fingerprint vector in the Lie group space. These two difference indicators are serialized and arranged according to component ID. For example, for component A, the shape difference is calculated to be 0.00 and the posture difference is 5.21. For component B, the shape difference is 0.85 and the posture difference is 0.00. These values quantify the specific degree of change of each component since the last synchronization and generate a feature consistency state dataset.
[0032] S502: Call the feature consistency state dataset, iterate through the feature difference values of each component in the set, filter for cases where shape semantic fingerprints match and attitude semantic fingerprints differ, and generate a rigid transformation change index list; call the feature consistency state dataset, set the shape invariance tolerance threshold to 0.001 (to tolerate small errors caused by floating-point calculations), set the attitude change threshold to 0.01 (to ignore small vibration displacements), iterate through each record in the dataset, execute logical judgment logic, if a component's... and If the component undergoes "rigid motion," it is determined that the component has only moved or rotated without changing its geometry. If the value is below the threshold, it is determined as "geometric deformation"; if both are below the threshold, it is determined as "unchanged".
[0033] Table 3. Examples of Feature Consistency Judgment and Change Screening: As shown in Table 3, the system automatically filters out a list of component IDs that meet the rigid motion conditions. For example, it filters out components with IDs 102 and 105. These components do not need to transmit geometric mesh data, but only need to update the matrix, thereby greatly reducing the amount of data and generating a rigid transformation change index list.
[0034] S503: Based on the rigid transformation change index list, the target component to be updated is located, the rigid transformation parameters are extracted to update the rigid transformation matrix of the target component, and the updated matrix data and component identifier are encapsulated to generate an incremental update data package; Based on the rigid transformation change index list, the target component to be updated is located, the latest pose fingerprint of the component is parsed from the semantic fingerprint dataset, the quaternions and translation vectors are extracted, and it is inversely reconstructed into a standard 4x4 rigid transformation matrix. This matrix contains only 16 floating-point numbers and is only 64 bytes in size. Compared with the mesh data containing thousands of vertices, the data volume is compressed by several orders of magnitude. The matrix data and the component's UUID are encapsulated to build a lightweight update instruction package, which is sent to all collaborative clients over the network. After receiving it, the client directly applies the matrix to refresh the rendering state of the corresponding component, thereby achieving millisecond-level scene synchronization without transferring large files and generating an incremental update data package.
[0035] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments that can be applied to other fields. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A method for sharing building surveying data based on a cloud platform, characterized in that, Includes the following steps: S1: Acquire building measurement point cloud data, calculate spatial mapping index, count the number of spatial mapping indexes within a unit interval and construct a data density distribution map, accumulate data along the sequence direction and determine the segment boundary position, and generate a data routing table containing index range and storage address; S2: Call the data routing table, load the 3D model, monitor component editing instructions, analyze the displacement vector in the component editing instructions, combine the geometric contour to calculate the geometric occupied space along the motion path, and construct a geometric scan object covering the entire motion trajectory space; S3: Receive the geometric scan volume object, obtain the active locked space list, calculate the intersection area with the active locked space list, determine the occupancy status based on the intersection area, and generate a locked status marker; S4: Based on the locked state marker, update the component position, calculate the geometric center point and construct a local reference coordinate system, transform the vertex coordinates to the local reference coordinate system and generate a shape semantic fingerprint, calculate the rigid transformation parameters and generate an attitude semantic fingerprint, and integrate them into a semantic fingerprint dataset; S5: Receive the semantic fingerprint dataset, compare the received fingerprint with the original component fingerprint stored in the database, analyze the consistency status of shape features and attitude features, determine the data change type, filter cases where shape semantic fingerprints match and attitude semantic fingerprints differ, extract the rigid transformation parameters to update the rigid transformation matrix of the target component, and output an incremental update data packet.
2. The cloud-based building surveying data sharing method according to claim 1, characterized in that, The data routing table includes the starting Hilbert index value of the sharding, the ending Hilbert index value of the sharding, and the physical storage node mapping address. The geometric scan volume object includes component motion path vector data, component convex hull geometric feature parameters, and scan volume three-dimensional boundary coordinates. The locking status marker includes a mutual exclusion permission access identifier, a spatial conflict area location code, and a locking lease time stamp. The semantic fingerprint dataset includes a shape semantic fingerprint encoding sequence, an attitude semantic fingerprint encoding sequence, and local coordinate system origin parameters. The incremental update data packet specifically includes a unique identifier for the target component, rigid transformation matrix element values, and a data version verification sequence number.
3. The method for sharing building survey data based on a cloud platform according to claim 1, characterized in that, The specific steps for obtaining the data routing table are as follows: S101: Obtain building survey point cloud data, perform a recursive partitioning operation of the three-dimensional spatial grid on the building survey point cloud data, and convert the three-dimensional coordinate encoding into one-dimensional values according to the continuous traversal trajectory that maintains the spatial adjacency, and establish a spatial mapping index sequence; S102: Call the spatial mapping index sequence, count the number of indices within a unit value interval, obtain the point cloud density value of the unit interval, and use the formula: ; Calculate the cumulative load weighted evaluation index, analyze the data distribution, and construct a cumulative data density distribution map; among which, Represents the cumulative load weighted evaluation index. This represents the index of the current traversed interval. This represents the current cumulative total number of intervals. Representing the Normalized point cloud density values for each unit interval. This represents the preset density smoothing bias coefficient. Representative capacity reference normalization factor, Represents a spatial discontinuity adjustment factor. Representing the The center index value of each unit interval, Representing the The center index value of each unit interval, The index of the previous sequence number represents the current sequence number; S103: Based on the data density cumulative distribution map, the cumulative load weighted evaluation index is compared with the fragment capacity threshold to determine the data fragment boundary position and generate a data routing table containing the index range and storage address.
4. The cloud-based building surveying data sharing method according to claim 3, characterized in that, The process of comparing the cumulative load weighted evaluation index with the fragment capacity threshold to determine the data fragment boundary position is as follows: calling the underlying driver interface of the graphics processing unit to read the dynamic available space data of the video memory, synchronously obtaining the real-time bandwidth limit data of the data transmission channel through the network monitoring interface, accessing the device stress test log in the storage space, extracting the average frame rate fluctuation variance value in the device stress test log, performing normalization processing on the average frame rate fluctuation variance value, calculating the difference between the preset unit value benchmark and the normalized average frame rate fluctuation variance value, and generating a load safety buffer coefficient; Based on the dynamic available memory space data and the real-time bandwidth limit data, calculate the theoretical maximum load value allowed for a single data loading, and multiply the theoretical maximum load value with the load safety buffer coefficient to generate the fragment capacity threshold. The cumulative baseline parameter is initialized to zero. Following the ascending index order of the spatial mapping index sequence, the cumulative load weighted evaluation index corresponding to each unit interval in the data density cumulative distribution map is traversed sequentially. During the traversal, the numerical difference between the cumulative load weighted evaluation index of the current unit interval and the cumulative baseline parameter is calculated in real time. This numerical difference is defined as the current shard temporary storage load value, and the current shard temporary storage load value is compared with the shard capacity threshold. When the current shard temporary storage load value is less than the shard capacity threshold, the current unit interval is determined to belong to the currently constructed data shard, and the traversal operation continues. When the current shard temporary storage load value is greater than or equal to the shard capacity threshold, the sequence position of the current unit interval is determined as the data shard boundary position. The index value of the current unit interval is recorded as the termination index of the current data shard. The cumulative baseline parameter is updated to the cumulative load weighted evaluation index of the current unit interval, and the process for determining the boundary of the next data shard begins.
5. The cloud-based building surveying data sharing method according to claim 3, characterized in that, The specific steps for obtaining the geometric scan volume object are as follows: S201: Call the data routing table, read and load the three-dimensional model data, monitor the component editing instructions for the internal components of the model in real time, parse the instruction data stream, extract the starting coordinate three-dimensional point and ending coordinate three-dimensional point of the component movement, calculate the direction component and distance modulus through vector difference operation, and generate the motion displacement vector; S202: Based on the motion displacement vector, index the mesh vertex data of the controlled component and extract the external edge features to obtain the geometric contour information. Use the geometric contour information as the reference section to perform spatial sweep calculation along the trajectory direction indicated by the motion displacement vector, solve the boundary coordinates of the three-dimensional volume region swept by the contour vertex on the sweep path, and generate the path space bounding volume; S203: Based on the path space bounding volume, perform closure detection and normal unification reconstruction on the triangular mesh of the bounding volume surface, remove internal redundant patches, construct a geometrically topologically closed continuous manifold structure, map the manifold structure to the global coordinate system of the three-dimensional scene and lock the occupied spatial voxel index range, and establish the geometric scan volume object.
6. The method for sharing building surveying data based on a cloud platform according to claim 5, characterized in that, The steps for obtaining the lock status flag are as follows: S301: Receive the geometric scan object, access the concurrent control database of the collaborative server, obtain a list of active locked spaces recording each currently occupied area, perform an intersection volume integral operation on the geometric scan object and each locked space in the list, and obtain spatial intersection area information; S302: Call the spatial intersection area information, analyze whether there is an occupation conflict in the currently requested area, determine the conflict state and map it into a numerical logic level signal, and generate a space occupation state determination value; S303: Based on the space occupation state determination value, adjust the current component editing permissions, including performing a mutex lock write operation and locking the resource when there is no conflict, rejecting the request and maintaining the original locking information when there is a conflict, and outputting the lock status flag.
7. The cloud-based building surveying data sharing method according to claim 6, characterized in that, The steps for obtaining the semantic fingerprint dataset are as follows: S401: Based on the locked state marker, perform a position coordinate update operation on the components in the 3D model, calculate the geometric center point of the components using the updated coordinate data, construct a local reference coordinate system with the geometric center point as the origin and the main axis direction of the components, and generate a local reference coordinate system transformation matrix; S402: Call the local reference coordinate system transformation matrix to map the vertex data of the components in the global coordinate system to the local reference coordinate system, obtain the relative coordinate set, and calculate the shape semantic fingerprint; S403: Based on the shape semantic fingerprint, calculate the rotation matrix and translation vector of the local reference coordinate system relative to the global coordinate system, obtain the attitude semantic fingerprint, and perform data association and structured encapsulation of the attitude semantic fingerprint and the shape semantic fingerprint to generate a semantic fingerprint dataset containing component shape and spatial attitude information.
8. The cloud-based building surveying data sharing method according to claim 7, characterized in that, The specific steps for obtaining the incremental update data packet are as follows: S501: Receive the semantic fingerprint dataset, access the server's basic database, retrieve the original component fingerprint record corresponding to the current component, compare the shape semantic fingerprints of the old and new sets of data, and generate a feature consistency state dataset; S502: Call the feature consistency state dataset, traverse the feature difference values of each component in the set, filter out cases where the shape semantic fingerprints match and the pose semantic fingerprints differ, and generate a rigid transformation change index list; S503: Based on the rigid transformation change index list, lock the target component to be updated, extract the rigid transformation parameters to update the rigid transformation matrix of the target component, encapsulate the updated matrix data and component identifier, and generate an incremental update data packet.
Citation Information
Patent Citations
Remote cooperation method based on polymorphic large model and related equipment
CN120469565A
Three-dimensional mapping using disparate visual datasets
US20250173969A1