A method and related equipment for updating city-level 3D data based on a digital twin visualization engine.
By using a lightweight digital twin visualization engine and cloud-native technology, the problems of complex 3D data update operations and inconsistent coordinate systems are solved, enabling fast and flexible 3D data updates and improving the efficiency and accuracy of data updates.
Patent Information
- Application Number
- CN202411652320.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-19
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2044-11-19
AI Technical Summary
Existing tools are complex to operate when updating 3D data, and cannot meet the needs of fast and efficient data updates, especially for operations such as cropping, erasing and replacing existing 3D data. Furthermore, it is difficult to ensure the consistency between different coordinate systems, resulting in low data update efficiency and poor accuracy.
A lightweight digital twin visualization engine is used to draw the update area, perform coordinate system conversion and geometric data processing, reorganize the node structure, and store and load data through the object repository, supporting cloud-native technology for fast and flexible local updates.
It achieves fast and flexible local updates on the three-dimensional baseplate, improves the efficiency and accuracy of data updates, simplifies the operation process, and meets the needs of rapid construction of digital twin applications.
Smart Images

Figure CN119597772B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to a method and related equipment for updating city-level 3D data based on a digital twin visualization engine. Background Technology
[0002] With the rapid development of digital twin technology, 3D city models have become an important foundation for supporting smart city management and planning. However, after the 3D data is generated, how to achieve rapid and efficient updating and maintenance of the 3D base model has become a pressing technical challenge.
[0003] The current mainstream 3D baseboard data format is 3DTiles. This format is highly efficient in loading and displaying, but its data processing and updating operations are complex, especially operations such as cropping, erasing, and replacing existing 3D data. Existing tools are mostly heavy-duty software, complex to operate, and not conducive to rapid and flexible management of urban 3D data, thus failing to meet the needs of rapid construction of digital twin applications. Summary of the Invention
[0004] To address the shortcomings of existing technologies, this invention provides a city-level 3D data update method and related equipment based on a digital twin visualization engine. It employs lightweight visualization tools and cloud-native technology to achieve rapid and flexible local updates on a 3D baseboard, meeting the need for rapid 3D data updates.
[0005] To achieve the above objectives and other advantages, the present invention employs the following technical solution:
[0006] In a first aspect, the present invention provides a city-level 3D data update method based on a digital twin visualization engine, comprising:
[0007] For a virtual 3D urban space, the 3D data area that needs to be updated is drawn using a digital twin visualization engine;
[0008] The three-dimensional data region is transformed between different coordinate systems to align the spatial positions of the three-dimensional tile data and the base plate data of the three-dimensional data region.
[0009] Geometric processing is performed on the nodes of the three-dimensional tile data to reconstruct the geometric data in the nodes;
[0010] In the specified LOD level, based on the update operation of the three-dimensional data region, data update processing is performed on all relevant nodes in the specified LOD level;
[0011] After completing the data update process at the specified LOD level, perform layer-by-layer analysis and full-range data updates for other LOD levels.
[0012] The updated 3D tile data is stored in an object repository and then loaded and applied.
[0013] According to the present invention, a city-level 3D data update method based on a digital twin visualization engine includes the step of drawing the 3D data area to be updated using a digital twin visualization engine for a virtual city 3D space, comprising:
[0014] The city's three-dimensional space is rendered using a digital twin visualization engine.
[0015] Based on user interaction, draw the boundaries of the areas that need to be updated in the rendered 3D scene;
[0016] Based on the region boundary, spatial range information matching the three-dimensional base plate is obtained to determine the three-dimensional data region, and the data within the three-dimensional data region is converted into spatial data that can be transformed by coordinates.
[0017] According to a city-level 3D data update method based on a digital twin visualization engine provided by the present invention, the step of converting the 3D data region between different coordinate systems to align the spatial positions of the 3D tile data and the base plate data of the 3D data region includes:
[0018] Identify the coordinate system used to construct the three-dimensional space of the city, and determine the type of coordinate system to be transformed;
[0019] Based on the coordinate system and the coordinate system type, determine the coordinate system conversion algorithm;
[0020] The coordinate system conversion algorithm is applied to the data in the three-dimensional data region that needs to be updated, and after the coordinate transformation is completed, coordinate consistency verification is performed.
[0021] According to a city-level 3D data update method based on a digital twin visualization engine provided by the present invention, the step of performing geometric processing on the nodes of the 3D tile data to reconstruct the geometric data in the nodes includes:
[0022] Obtain the vertices and related geometric data contained in the node;
[0023] For the vertex, vertex coordinate axis changing and vertex coordinate transformation are performed;
[0024] After completing the vertex coordinate transformation process, the inclusion of vertices and triangles is determined to obtain the corresponding inclusion determination results.
[0025] Based on the inclusion determination result, the geometric data in the node is reorganized.
[0026] According to the present invention, a city-level 3D data update method based on a digital twin visualization engine includes the step of updating data on all relevant nodes in a specified LOD level based on the update operation of the 3D data region, comprising:
[0027] Determine the specified LOD level;
[0028] Based on the update operation of the three-dimensional data region, the node tree structure of the specified LOD level is reconstructed, and the spatial relationship between nodes in the node tree structure is processed.
[0029] After the reconstruction of the node tree structure and the processing of spatial relationships are completed, the data is updated according to the update criteria.
[0030] According to the present invention, a city-level 3D data update method based on a digital twin visualization engine includes the following steps: after completing the data update process at the specified LOD level, performing layer-by-layer analysis and full-range data updates on other LOD levels.
[0031] Based on the LOD hierarchy relationship of the three-dimensional tile data, other LOD levels are obtained and the node tree structure of each LOD level is analyzed layer by layer;
[0032] Based on the node tree structure of each LOD level, the node tree relationships between the LOD levels are readjusted to ensure that the node trees between different LOD levels can maintain the correct parent-child relationships.
[0033] According to a method for updating city-level 3D data based on a digital twin visualization engine provided by the present invention, the step of storing the updated 3D tile data in an object repository and loading it for application includes:
[0034] Determine the object repository that needs to be stored;
[0035] Based on the object repository, the storage and transmission format of the 3D tile data is determined;
[0036] Configure access permissions for the object repository and upload the 3D tile data to the object repository;
[0037] The object repository generates a service address for the 3D tile data, and based on the service address, loads the updated 3D tile data into the digital twin application.
[0038] In a second aspect, the present invention provides an electronic device, the electronic device comprising:
[0039] One or more processors; and a memory storing computer program instructions that, when executed, cause the processors to perform the steps of the city-level 3D data update method based on any of the above-described digital twin visualization engines.
[0040] Thirdly, the present invention provides a computer-readable storage medium having a computer program / instructions stored thereon, wherein the computer program / instructions, when executed by a processor, implement the steps of the city-level 3D data update method based on a digital twin visualization engine as described above.
[0041] Fourthly, the present invention provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the city-level 3D data update method based on a digital twin visualization engine as described above.
[0042] This invention provides a city-level 3D data update method and related equipment based on a digital twin visualization engine. The method involves using a digital twin visualization engine to draw the 3D data area requiring update within a virtual city 3D space; transforming the 3D data area between different coordinate systems to align the spatial positions of the 3D tile data and the baseboard data; geometrically processing the nodes of the 3D tile data to reorganize the geometric data within the nodes; updating all relevant nodes in a specified Level of Dimension (LOD) based on the update operation of the 3D data area; after completing the data update at the specified LOD level, performing layer-by-layer analysis and full-range data updates at other LOD levels; and storing the updated 3D tile data in an object repository for application. This invention employs a lightweight digital twin visualization engine, enabling intuitive drawing of areas requiring data updates in a virtual city 3D space, and utilizes cloud-native technology to support the storage, processing, and distribution of updated 3D data. This achieves rapid and flexible local updates on a 3D baseboard. The method is easy to deploy and expand, meeting the need for rapid 3D data updates. Attached Figure Description
[0043] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other implementation methods can be obtained based on these drawings without creative effort.
[0044] Figure 1 This is a flowchart illustrating the city-level 3D data update method based on a digital twin visualization engine provided in an embodiment of the present invention.
[0045] Figure 2 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation
[0046] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described in detail below with reference to the accompanying drawings.
[0047] It should be noted that those skilled in the art will understand, explicitly and implicitly, that the embodiments described in this invention can be combined with other embodiments without conflict. Unless otherwise defined, the technical or scientific terms used in this invention should be understood in their ordinary sense by those skilled in the art. The terms "a," "an," "an," "the," etc., used in this invention do not indicate quantity limitation and can represent singular or plural. The terms "comprising," "including," "having," and any variations thereof used in this invention are intended to cover non-exclusive inclusion; the terms "first," "second," "third," etc., used in this invention are merely to distinguish similar objects and do not represent a specific ordering of objects.
[0048] 3DTiles is a grid-based, displayable large-scale 3D spatial data format. It is specifically designed for streaming and rendering massive amounts of 3D geospatial data. As an open standard for 3D geospatial data, 3DTiles is used to store and manage grid-based 3D model data. 3DTiles supports multiple levels of LOD (Level of Detail) and uses Tilesets to organize and manage data. 3DTiles consists of tileset.json (the entry file, recording the spatial logical relationships between tiles at each level, such as how tiles maintain continuity in space and how the LOD is organized) and tiles, which can be any of the following formats: .b3dm, .i3dm, .pnts, .vctr, and .cmpt. 3DTiles format 3D model data uses the glTF specification, inheriting its high rendering performance.
[0049] Digital twin visualization engine technology is an innovative approach that integrates digital twin and visualization technologies. This technology generates a virtual "twin" version of a physical system or object by integrating real-time data and advanced models. This virtual model not only reflects the real-time state of the actual physical system but also allows users to simulate, analyze, and predict within a virtual environment. Leveraging 3D graphics and interactive technologies, users can intuitively observe and understand complex physical systems, identify potential problems, and recognize optimization opportunities, thereby effectively improving system efficiency and performance. Digital twin visualization engine technology has demonstrated broad application potential in various fields such as manufacturing, aerospace, healthcare, and smart cities, providing strong support for optimizing design and operational processes and improving decision-making quality.
[0050] Object storage is a technology that processes, stores, and retrieves data on an object-by-object basis. Each object contains the data itself, metadata, and a globally unique identifier. Object repositories store data using a flat address space, eliminating the hierarchical directory structure of traditional file systems. Because each object has a globally unique identifier (such as an object ID), users or applications can quickly retrieve objects using this identifier. Therefore, object repositories are suitable for storing and managing large amounts of unstructured data (such as images, videos, audio, 3DTiles data, etc.), providing a flexible and scalable storage solution for cloud-native applications, and supporting rapid application deployment and expansion.
[0051] The applicant discovered that the 3DTiles format widely uses Level of Detail (LOD) technology to improve the efficiency of 3D data display. LOD technology effectively reduces the amount of data and computational complexity during rendering through node aggregation and triangular mesh compression, thereby improving display performance. However, this optimization method brings difficulties to updating 3D data, especially for 3D data update operations within a specific range (such as clipping, erasing, and replacement), which require delving into each LOD node and processing each triangular face individually. This not only increases the difficulty of operation but also significantly reduces the efficiency of data updates. Moreover, achieving consistency between these different coordinate systems during data updates is a technical challenge. Inconsistent coordinate systems can lead to misalignment and deformation during the update process, affecting the accuracy and usability of the data. Currently, most tools for processing 3D data are cumbersome and complex to operate. These tools typically require significant computing resources and storage space, making deployment difficult and operation cumbersome, hindering rapid and flexible urban 3D data management.
[0052] With the rapid development of digital twin technology, the requirements for the update frequency and accuracy of 3D data are becoming increasingly stringent. However, existing tools cannot meet this demand for rapid and efficient data updates. Therefore, this application provides a city-level 3D data update method and related equipment based on a digital twin visualization engine, aiming to improve the efficiency and accuracy of 3D data updates.
[0053] Reference Figure 1 As shown, this embodiment of the invention provides a city-level 3D data update method based on a digital twin visualization engine, including:
[0054] Step S1: For the virtual 3D city space, use a digital twin visualization engine to draw the 3D data areas that need to be updated.
[0055] In this embodiment, step S1 specifically includes:
[0056] Step S101: Render the three-dimensional scene of the city's three-dimensional space using a digital twin visualization engine;
[0057] Step S102: Based on the user's interactive operation, draw the boundary of the area that needs to be updated in the rendered 3D scene;
[0058] Step S103: Obtain spatial range information matching the three-dimensional base plate based on the region boundary to determine the three-dimensional data region, and convert the data within the three-dimensional data region into spatial data that can be transformed by coordinates.
[0059] Specifically, by employing advanced digital twin visualization engine technology, it can simulate and display the real three-dimensional environment of a city, including various elements such as buildings, roads, and vegetation. By rendering a realistic virtual environment, users can intuitively see the three-dimensional form of the city, enabling them to more accurately understand its three-dimensional structure and providing an intuitive visual reference for subsequent data update operations.
[0060] Users can use the interactive tools provided by the digital twin visualization engine to draw the boundaries of the areas that need to be updated in the rendered 3D scene. Users can precisely draw the 3D spatial range that needs updating—that is, the closed 3D data region—through clicks, drags, and other operations. Therefore, through interactive operations, users can more flexibly control the update range, ensuring that the update operation only applies to the specified area and avoids interference with other irrelevant data.
[0061] Based on the user-drawn area boundaries, the system automatically calculates the spatial range information that matches the 3D base plate. This information includes key parameters such as the coordinates and dimensions of the updated area. Then, the system converts the data within the 3D data area into spatial data that can undergo coordinate transformation, preparing for subsequent data update operations. This ensures that the updated data is consistent with the original data in position, avoiding data misalignment or loss.
[0062] Step S2: Transform the 3D data region between different coordinate systems to align the spatial positions of the 3D tile data and the base plate data in the 3D data region.
[0063] In this embodiment, step S2 specifically includes:
[0064] Step S201: Identify the coordinate system used to construct the three-dimensional space of the city and determine the type of coordinate system to be transformed;
[0065] Step S202: Determine the coordinate system conversion algorithm based on the coordinate system and coordinate system type;
[0066] Step S203: Apply the coordinate system transformation algorithm to the data in the 3D data area that needs to be updated, and after completing the coordinate transformation, perform coordinate consistency verification.
[0067] Specifically, constructing a virtual city's 3D space involves the coordinate systems used by digital twin visualization engines, GIS (Geographic Information System) systems, and 3D tile data (such as 3DTiles). For example, a digital twin engine may use an engine coordinate system, a GIS system may use a geographic planar coordinate system or a spherical coordinate system (such as the WGS84 coordinate system), and 3D tile data may use the ECEF coordinate system (Geocentric-fixed coordinate system).
[0068] After identifying the coordinate system type to be converted, select or design an appropriate coordinate system conversion algorithm. These algorithms are typically based on mathematical formulas and algorithmic models, capable of converting data from one coordinate system to another. For example, for the conversion between the WGS84 and ECEF coordinate systems, the WGS84 coordinate system uses latitude (Lat), longitude (Lon), and altitude (h) to represent the position of a point on the Earth's surface, while the ECEF coordinate system uses three-dimensional Cartesian coordinates (X, Y, Z) to describe a point at the Earth's center. Assuming 'a' is the Earth's semi-major axis (6,378,137.0 meters) and 'f' is the Earth's oblateness (1 / 298.257223563), we can calculate e², the square of the first eccentricity. The conversion process from the WGS84 to the ECEF coordinate system is as follows:
[0069] (1) Calculate the ellipse parameters:
[0070]
[0071] in, N is the radius of curvature, Lat is the latitude, a is the semi-major axis of the Earth, and e² is the square of the first eccentricity.
[0072] (2) Perform ECEF coordinate calculation:
[0073]
[0074] in, h "Lon" refers to altitude, while "Lon" refers to longitude.
[0075] The transformation process from the ECEF coordinate system back to the WGS84 coordinate system is as follows:
[0076] (1) Calculate longitude Lon:
[0077]
[0078] (2) Intermediate variables p :
[0079]
[0080] (3) Calculate the initial latitude θ (The exact solution can be obtained using Newton's iterative method):
[0081]
[0082] in, b For the Earth's minor semi-axis, .
[0083] (4) Calculate latitude (Lat) and altitude. h :
[0084]
[0085] in, It is the square of the second eccentricity.
[0086] After data transformation, coordinate consistency verification is required. This can be achieved by calculating statistical indicators such as the coordinate range, average, and standard deviation of the source and target data to determine coordinate consistency. Alternatively, the source and target data can be imported into GIS software or mapping tools for visualization and comparison. Coordinate consistency verification ensures that the transformed data is spatially consistent with the 3D baseboard data. These steps ensure precise alignment between the updated 3D data range and the spatial location of the baseboard data, meeting complex spatial coordinate transformation requirements and guaranteeing the accuracy of data updates.
[0087] Step S3: Perform geometric processing on the nodes of the 3D tile data to reconstruct the geometric data in the nodes.
[0088] In this embodiment, step S3 specifically includes:
[0089] Step S301: Obtain the vertices and related geometric data contained in the node;
[0090] Step S302: For vertices, perform vertex coordinate axis switching and vertex coordinate transformation.
[0091] Step S303: After completing the vertex coordinate transformation process, perform inclusion determination on vertices and triangles respectively to obtain the corresponding inclusion determination results;
[0092] Step S304: Based on the inclusion determination result, reorganize the geometric data in the node.
[0093] Specifically, each node in the 3D tile data is analyzed to extract the vertex information contained within the node, as well as the geometric data related to the vertex, such as coordinate values (X, Y, Z) and triangular face information formed by the vertex. Obtaining the vertex and related geometric data is the foundation for subsequent geometric processing.
[0094] Since different systems or standards may use different coordinate axis definitions, it is necessary to perform corresponding axis conversion processing on the vertex coordinates according to the coordinate axis definition of the target system. For example, geometric data in the 3DTiles format is stored in the glTF standard, with its coordinate axis being Y-up, while the GIS system standard uses the Z-up coordinate system. Therefore, it is necessary to convert the coordinate system of all vertices from Y-up to Z-up to ensure the consistency of coordinate axis definitions.
[0095] Vertex coordinates may be stored in different coordinate systems (such as ECEF coordinate system, WGS84 coordinate system, etc.). To facilitate geospatial analysis and visualization, 3D Cartesian coordinates need to be converted to more intuitive and easily understood geographic coordinates, thus requiring coordinate system conversion. For example, vertex coordinates in 3DTiles are stored in the ECEFF coordinate system and need to be converted to the WGS84 coordinate system or projected plane coordinate system to improve the efficiency of subsequent vertex and triangle containment determinations.
[0096] Spatial geometry algorithms (such as algorithms for determining whether a point is inside a polygon) are used to determine whether each vertex is located within a specified 3D data region, ensuring that only data within the specified range is updated. Vertex inclusion determination accurately identifies which vertices need to be updated or retained, providing a basis for subsequent data reorganization.
[0097] Then, spatial geometry algorithms (such as facet intersection algorithms) are used to determine whether a triangle intersects with or is completely contained within the update range. By determining the triangle's inclusion property, it can be identified which triangles need to be updated or replaced, ensuring that the updated 3D tile data accurately reflects changes in geospatial information.
[0098] For the selected vertices, their coordinates and related attribute information are preserved. For the selected triangles, their vertex indices and possible material, texture, and other attribute information are preserved. Based on the preserved results, the data structure in the node is reconstructed, including the vertex array, index array, material information, etc., to reorganize the geometric data in the node and prepare for subsequent update operations.
[0099] Step S4: In the specified LOD level, based on the update operation of the 3D data region, perform data update processing on all relevant nodes in the specified LOD level.
[0100] In this embodiment, step S4 specifically includes:
[0101] Step S401: Determine the specified LOD level;
[0102] Step S402: Based on the update operation of the three-dimensional data region, reconstruct the node tree structure of the specified LOD level, and process the spatial relationship between nodes in the node tree structure;
[0103] Step S403: After completing the reconstruction of the node tree structure and the processing of spatial relationships, update the data according to the update criteria.
[0104] Specifically, based on the user's update needs or application requirements, the LOD level that needs updating is determined. All relevant nodes and their attribute information within the specified LOD level are identified and extracted. Based on update operations on the 3D data region, such as data pruning, erasing, or replacement, the node tree structure of that LOD level is reconstructed. During reconstruction, the spatial relationships between nodes are simultaneously addressed to ensure spatial consistency and coherence of the updated data. Finally, according to user-defined update criteria or preset update rules, the data in the reconstructed node tree structure is updated to ensure all data conforms to the update criteria, resulting in updated data that meets the expected standards and quality requirements.
[0105] Step S5: After completing the data update process at the specified LOD level, perform layer-by-layer analysis and full-range data updates for other LOD levels.
[0106] In this embodiment, step S5 specifically includes:
[0107] Step S501: Based on the LOD hierarchy relationship of the 3D tile data, obtain other LOD levels and analyze the node tree structure of each LOD level layer by layer;
[0108] Step S502: Based on the node tree structure of each LOD level, readjust the node tree relationship between LOD levels to ensure that the node trees between different LOD levels can maintain the correct parent-child relationship.
[0109] Specifically, after completing the data update at the specified LOD level, other LOD levels are obtained based on the LOD level relationships of the 3D tile data. For each LOD level, the system analyzes its node tree structure layer by layer, including the number, type, attributes, and connection relationships between nodes. Based on this layer-by-layer analysis, the node tree relationship of that LOD level is reconstructed to ensure that the node trees of different LOD levels maintain the correct parent-child relationships. After reconstructing the node tree relationship, a full-range data update process is performed on all LOD levels. For the data update process at the specified LOD level in step S4, a full-range data update process is performed on all LOD levels to ensure that the updated data remains consistent with the data in other LOD levels in terms of precision, shape, and attributes. This achieves a full-range data update from high precision to low precision. In addition, after completing the full-range data update, it is also necessary to check whether the updated data meets the requirements for rendering performance, interactive operation, etc.
[0110] Step S6: Store the updated 3D tile data in the object repository and load and apply it.
[0111] In this embodiment, step S6 specifically includes:
[0112] Step S601: Determine the object repository to be stored;
[0113] Step S602: Based on the object repository, determine the storage and transmission format of the 3D tile data;
[0114] Step S603: Configure access permissions for the object repository and upload the 3D tile data to the object repository;
[0115] Step S604: The object repository generates a service address for the 3D tile data, and based on the service address, loads the updated 3D tile data into the digital twin application.
[0116] Specifically, based on the data storage strategy, data capacity requirements, and performance requirements, select a suitable object repository (such as OSS, COS, AWS S3, or an on-premises object storage solution). Configure access permissions for the object repository according to data security and access control requirements. Use an appropriate upload tool or API to upload the updated 3D tile data to the object repository. After the data is uploaded, the object repository generates a unique service address. The digital twin application can directly access and load the updated 3D tile data through this service address. This enables efficient management and distribution of urban 3D data, improving the interactivity and user experience of the digital twin application. Therefore, using an object repository for data storage and loading not only ensures data security and accessibility but also improves data loading efficiency and speed, providing strong support for the real-time updates and dynamic display of digital twin visualization applications.
[0117] In summary, this invention provides a city-level 3D data update method based on a digital twin visualization engine. The method involves: drawing the 3D data region requiring update in a virtual city 3D space using a digital twin visualization engine; transforming the 3D data region between different coordinate systems to align the spatial positions of the 3D tile data and the baseboard data; performing geometric processing on the nodes of the 3D tile data to reorganize the geometric data within the nodes; updating all relevant nodes in a specified LOD level based on the update operation of the 3D data region; performing layer-by-layer analysis and full-range data updates on other LOD levels after completing the data update at the specified LOD level; and storing the updated 3D tile data in an object repository and loading it for application. This invention employs a lightweight digital twin visualization engine, enabling intuitive drawing of the region requiring data update in a virtual city 3D space, and utilizes cloud-native technology to support the storage, processing, and distribution of updated 3D data. This achieves rapid and flexible local updates on the 3D baseboard. The method is easy to deploy and expand, meeting the need for rapid 3D data updates.
[0118] Those skilled in the art will understand that, in the above-described method of the specific implementation, the order in which each step is written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.
[0119] Furthermore, some embodiments of this application also provide an electronic device. The electronic device can be various forms of digital computer, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, etc. The electronic device can also be various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices.
[0120] The electronic device includes: one or more processors; and a memory storing computer program instructions, which, when executed, cause the processor to perform the steps of the city-level 3D data update method based on a digital twin visualization engine as provided in any one or more of the above embodiments. Figure 2 An exemplary structural diagram of the electronic device is disclosed. For example... Figure 2 As shown, the electronic device includes one or more processors 1101, a memory 1102, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components are interconnected via different buses and can be mounted on a common motherboard or otherwise as required. The processors can process instructions executed within the electronic device, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some other embodiments, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple electronic devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). The components, their connections and relationships, and their functions shown herein are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.
[0121] The electronic device may further include an input device 1103 and an output device 1104. The processor 1101, memory 1102, input device 1103, and output device 1104 may be connected via a bus or other means. Figure 2 Taking the example of a connection between China and Israel via a bus.
[0122] Input device 1103 can receive input numerical or character information, and generate key signal inputs related to user settings and function control of the electronic device, such as a touch screen, keypad, mouse, trackpad, touchpad, joystick, one or more mouse buttons, trackball, joystick, etc. Output device 1104 may include a display device, auxiliary lighting device (e.g., LED), and haptic feedback device (e.g., vibration motor). The display device may include, but is not limited to, a liquid crystal display (LCD), a light-emitting diode (LED) display, and a plasma display. In some embodiments, the display device may be a touch screen.
[0123] To provide interaction with the user, the electronic device can be a computer. The computer has: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0124] In this embodiment, a computer-readable medium stores a computer program / instructions, which, when executed by a processor, implement the steps of the city-level 3D data update method based on a digital twin visualization engine provided in any one or more of the above embodiments. This computer-readable medium may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into that device. The aforementioned computer-readable medium carries one or more computer-readable instructions.
[0125] The memory 1102 can serve as a non-transitory computer-readable storage medium, used to store non-transitory software programs, non-transitory computer-executable programs, and modules. The processor 1101 executes various functional applications and data processing of the server by running the non-transitory software programs, instructions, and modules stored in the memory 1102, thereby implementing the program instructions / modules corresponding to the methods provided in any one or more of the embodiments described above in this application.
[0126] The memory 1102 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the electronic device. Furthermore, the memory 1102 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 1102 may optionally include memory remotely located relative to the processor 1101, and these remote memories can be connected to the electronic device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0127] It should be noted that more specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0128] Computer-readable storage media include permanent and non-permanent, removable and non-removable media, which can store information by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only optical disc (CD-ROM), digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0129] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0130] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. For example, it can be implemented using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In some embodiments, the software program of this application can be executed by a processor to implement the steps or functions described above. Similarly, the software program of this application (including related data structures) can be stored in a computer-readable recording medium, such as RAM memory, magnetic or optical drives, floppy disks, or similar devices. Furthermore, some steps or functions of this application can be implemented in hardware, for example, as circuitry that works with a processor to perform the various steps or functions.
[0131] The computer program product provided in this application includes one or more computer programs / instructions. When executed by a processor, these computer programs / instructions generate, in whole or in part, the processes or functions described in this application. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0132] The flowcharts or block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-specific system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0133] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily made by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims, and the above embodiments should be regarded as exemplary and non-limiting.
Claims
1. A city-level 3D data update method based on a digital twin visualization engine, characterized in that, include: For a virtual 3D urban space, the 3D data area that needs to be updated is drawn using a digital twin visualization engine; The three-dimensional data region is transformed between different coordinate systems to align the spatial positions of the three-dimensional tile data and the base plate data of the three-dimensional data region. Geometric processing is performed on the nodes of the three-dimensional tile data to reconstruct the geometric data in the nodes; In the specified LOD level, based on the update operation of the three-dimensional data region, data update processing is performed on all relevant nodes in the specified LOD level; After completing the data update process at the specified LOD level, perform layer-by-layer analysis and full-range data updates for other LOD levels. The updated 3D tile data is stored in an object repository and then loaded and applied. The step of drawing the 3D data area that needs to be updated in the virtual 3D city space using a digital twin visualization engine includes: The city's three-dimensional space is rendered using a digital twin visualization engine. Based on user interaction, draw the boundaries of the areas that need to be updated in the rendered 3D scene; Based on the region boundary, spatial range information matching the three-dimensional base plate is obtained to determine the three-dimensional data region, and the data within the three-dimensional data region is converted into spatial data that can be transformed by coordinates to ensure that the updated data is consistent with the original data in position. The step of performing geometric processing on the nodes of the three-dimensional tile data to reconstruct the geometric data in the nodes includes: Obtain the vertices and related geometric data contained in the node; For the vertex, vertex coordinate axis changing and vertex coordinate transformation are performed; After completing the vertex coordinate transformation process, the inclusion of vertices and triangles is determined to obtain the corresponding inclusion determination results. Based on the inclusion determination result, the geometric data in the node is reorganized; For the selected vertices, their coordinates and related attribute information are retained; for the selected triangular faces, their vertex indices, materials, and texture information are retained; based on the retained results, the data structure in the nodes is reconstructed, including vertex arrays, index arrays, and material information, and the geometric data in the nodes is reorganized to ensure that the updated 3D tile data accurately reflects the changes in geospatial information.
2. The city-level 3D data update method based on a digital twin visualization engine according to claim 1, characterized in that, The step of converting the three-dimensional data region between different coordinate systems to align the spatial positions of the three-dimensional tile data and the base plate data of the three-dimensional data region includes: Identify the coordinate system used to construct the three-dimensional space of the city, and determine the type of coordinate system to be transformed; Based on the coordinate system and the coordinate system type, determine the coordinate system conversion algorithm; The coordinate system conversion algorithm is applied to the data in the three-dimensional data region that needs to be updated, and after the coordinate transformation is completed, coordinate consistency verification is performed.
3. The city-level 3D data update method based on a digital twin visualization engine according to claim 1, characterized in that, The step of updating data for all relevant nodes in the specified LOD level based on the update operation of the 3D data region includes: Determine the specified LOD level; Based on the update operation of the three-dimensional data region, the node tree structure of the specified LOD level is reconstructed, and the spatial relationship between nodes in the node tree structure is processed. After the reconstruction of the node tree structure and the processing of spatial relationships are completed, the data is updated according to the update criteria.
4. The city-level 3D data update method based on a digital twin visualization engine according to claim 1, characterized in that, The step of performing layer-by-layer analysis and full-range data updates on other LOD levels after completing the data update process at the specified LOD level includes: Based on the LOD hierarchy relationship of the three-dimensional tile data, other LOD levels are obtained and the node tree structure of each LOD level is analyzed layer by layer; Based on the node tree structure of each LOD level, the node tree relationships between the LOD levels are readjusted to ensure that the node trees between different LOD levels can maintain the correct parent-child relationships.
5. The city-level 3D data update method based on a digital twin visualization engine according to claim 1, characterized in that, The step of storing the updated 3D tile data in an object repository and loading it into the application includes: Determine the object repository that needs to be stored; Based on the object repository, the storage and transmission format of the 3D tile data is determined; Configure access permissions for the object repository and upload the 3D tile data to the object repository; The object repository generates a service address for the 3D tile data, and based on the service address, loads the updated 3D tile data into the digital twin application.
6. An electronic device, characterized in that, The electronic device includes: One or more processors; and a memory storing computer program instructions, which, when executed, cause the processors to perform the steps of the city-level 3D data update method based on a digital twin visualization engine as described in any one of claims 1-5.
7. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the city-level 3D data update method based on a digital twin visualization engine as described in any one of claims 1-5.
8. A computer program product comprising a computer program / instructions, characterized in that, When executed by a processor, the computer program / instructions implement the steps of the city-level 3D data update method based on a digital twin visualization engine as described in any one of claims 1-5.
Citation Information
Patent Citations
Three-dimensional model merging processing method and device and medium
CN115294312A
Three-dimensional visualization engine system based on digital twin engine and OGC standard
CN117218306A
Railway scene assembly-oriented digital twin model processing method and related equipment
CN117408034A