Method and device for performing three-dimensional rendering on large-scale DEM data, medium and program product

By converting DEM data into base raster data in the target geographic coordinate system and performing iterative resampling and tile-ization, the problems of memory overflow and low rendering efficiency of large-scale DEM data are solved, achieving efficient data access and rendering loading, and improving rendering performance and visualization effects.

CN121962380APending Publication Date: 2026-05-01SOUTH SURVEYING & MAPPING INSTR
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SOUTH SURVEYING & MAPPING INSTR
Filing Date
2025-12-31
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing technologies suffer from problems such as memory overflow, insufficient storage space, low efficiency in multi-resolution visualization, and exponential growth in computation time as the amount of data increases when loading and visualizing large-scale DEM data, making it difficult to meet the needs of interactive browsing.

Method used

By converting DEM data into basic raster data under the target geographic coordinate system, iteratively resampling and dividing it into tile data, and calculating the index set and loading priority based on rendering parameters, intelligent and dynamic data loading and rendering are achieved.

Benefits of technology

It improves data storage and processing efficiency, optimizes rendering performance, ensures high-quality visualization, and meets the needs of high precision and fast response.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121962380A_ABST
    Figure CN121962380A_ABST
Patent Text Reader

Abstract

The invention discloses a method and device for three-dimensional rendering of large DEM data, a medium and a program product, and the method comprises the steps: obtaining original DEM data, converting the original DEM data based on a preset target geographic coordinate system, and obtaining basic raster data; performing iterative resampling on the basic raster data based on a preset down-sampling strategy until raster data generated by resampling meets a preset minimum tile resolution threshold, and obtaining a plurality of layers of raster data; dividing each layer of raster data based on a preset tile size to generate tile data; storing the tile data and the corresponding metadata into a preset database; obtaining a rendering parameter, and calculating an index set and a loading priority of the to-be-loaded tile based on the rendering parameter; matching tile data from a preset database based on the index set, and performing gridding processing on the tile data to generate a terrain geometric object; and rendering the terrain geometric object based on a preset scene to complete visual display.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data rendering technology, and in particular to a method, apparatus, medium, and program product for three-dimensional rendering of large DEM data. Background Technology

[0002] Digital Earth technology integrates remote sensing imagery, geographic information, and 3D modeling to provide a unified spatial information platform for fields such as smart cities, environmental monitoring, land planning, and national defense. Among these, the Digital Elevation Model (DEM), as the fundamental data reflecting the distribution of surface elevation, plays a core role in terrain analysis, visual reconstruction, spatial decision support, and visualization. With the development of high-resolution remote sensing and aerial surveying technologies, DEM data has significantly improved in spatial resolution and accuracy, but this has also brought technical bottlenecks in the storage, transmission, and real-time rendering of massive amounts of data.

[0003] When loading and visualizing existing large-scale DEMs in digital earth platforms, the sheer volume of data frequently causes single-machine systems to experience memory overflows and insufficient storage space when processing high-precision DEM data covering global or large areas. Secondly, traditional data processing methods are inefficient in multi-resolution visualization and real-time rendering, failing to meet the demands of interactive browsing. Furthermore, existing technologies experience exponential increases in computation time for terrain analysis as the data volume grows, severely impacting user experience and system performance. Summary of the Invention

[0004] This invention provides a method, apparatus, medium, and program product for 3D rendering of large DEM data, so as to improve the rendering efficiency and smoothness of large DEM data in 3D.

[0005] To address the aforementioned technical problems, this invention provides a method for 3D rendering of large-scale DEM data, comprising: Obtain the raw DEM data, and transform the raw DEM data based on the preset target geographic coordinate system to obtain basic raster data; The base raster data is iteratively resampled based on a preset downsampling strategy until the resampled raster data meets the preset minimum tile resolution threshold, thus obtaining several layers of raster data. The grid data of each layer is divided based on the preset tile size to generate tile data; and the tile data and corresponding metadata are stored in a preset database. Obtain rendering parameters, and calculate the index set and loading priority of the tiles to be loaded based on the rendering parameters; Based on the index set, tile data is matched from the preset database, and the tile data is meshed to generate terrain geometry objects; The terrain geometry is rendered based on a preset scene to complete the visualization.

[0006] This invention ensures data standardization and consistency by converting raw DEM data into basic raster data in the target geographic coordinate system. Then, based on a preset downsampling strategy, the basic raster data is iteratively resampled to gradually optimize its resolution, ensuring the data meets the minimum tile resolution threshold. This effectively reduces data redundancy and improves data storage and processing efficiency. Furthermore, each layer of raster data is divided based on a preset tile size, generating tile data. This tile data and its metadata are stored in a preset database, improving storage efficiency and providing a fast and accurate data access mechanism for subsequent rendering operations. After obtaining rendering parameters, the index set and loading priority of the tiles to be loaded are calculated based on these parameters, achieving an intelligent and dynamic data loading method that effectively reduces unnecessary tile loading and optimizes resource usage and rendering performance. Finally, by rendering terrain geometry objects based on preset scenes, high-quality visualization was achieved, ensuring the realism and accuracy of the rendering effect. Through hierarchical data processing and optimization, efficient data access and rendering loading were achieved during the rendering of large-scale DEM data, improving data processing efficiency and optimizing rendering performance. This ensured rendering effects at different resolutions and met the requirements for high precision and fast response.

[0007] Furthermore, the acquisition of raw DEM data, and the transformation of the raw DEM data based on a preset target geographic coordinate system to obtain basic raster data, includes: Obtain the original DEM data and its corresponding metadata, including the original coordinate reference system, pixel resolution, and vertical reference information; Based on the vertical reference information, the original DEM data is transformed from the original coordinate reference system to the preset target geographic coordinate system to generate basic raster data.

[0008] This invention effectively improves the accuracy and adaptability of data by acquiring the original DEM data and its metadata, and transforming it from the original coordinate reference system to the target geographic coordinate system based on vertical datum information. This ensures that the data used in subsequent resampling and rendering operations conforms to the requirements of the global standard geographic reference system, thereby providing a more accurate and unified basis for subsequent rendering processing, avoiding error accumulation caused by improper coordinate transformation, and improving the overall reliability and usability of the data.

[0009] Furthermore, the basic raster data is iteratively resampled based on a preset downsampling strategy until the resampled raster data meets a preset minimum tile resolution threshold, thereby obtaining several layers of raster data, including: Using the base raster data as the input data for the first resampling, the input data is iteratively resampled based on a preset downsampling strategy; In each iteration of resampling, four adjacent pixels in the input data are merged into one pixel to generate the target raster data for this iteration of resampling, and the resolution of the target raster data is calculated. If the resolution of the target raster data does not meet the preset minimum tile resolution threshold, the target raster data will be used as the input data for the next iteration of the resampling process. If the resolution of the target raster data meets the preset minimum tile resolution threshold, the iteration stops, and several layers of raster data are obtained; the several layers of raster data include the basic raster data and the target raster data generated during each iteration resampling process.

[0010] This invention iteratively resamples the base raster data until a minimum tile resolution threshold is reached. This allows for adjusting the raster data resolution according to different needs, achieving a balance between visual appeal and performance. By merging adjacent cells in each iteration and progressively optimizing the data resolution, it effectively reduces computational load while maintaining rendering quality during large-scale data processing. This dynamic data optimization facilitates the handling of larger datasets and improves the adaptability and flexibility of data processing.

[0011] Furthermore, after iteratively resampling the basic raster data based on a preset downsampling strategy until the resampled raster data meets a preset minimum tile resolution threshold, and obtaining several layers of raster data, the method further includes: The raster data of each layer is sorted in descending order based on the resolution of each layer to generate a raster data list. Using the basic raster data as the 0th layer, a raster pyramid structure is constructed based on the raster data list.

[0012] This invention, after obtaining several layers of raster data, sorts the raster data of each layer in descending order based on resolution, constructing a raster pyramid structure. This further optimizes the hierarchical storage and access of data. Through sorting, higher-resolution data layers are loaded first, ensuring that high-resolution data is rendered preferentially under different display requirements, thus improving rendering quality. Simultaneously, the pyramid structure enables efficient management of tile data of different resolutions, reducing the complexity of data access and improving the response speed of the rendering process.

[0013] Furthermore, the process of dividing the raster data of each layer based on a preset tile size to generate tile data, and storing the tile data and corresponding metadata in a preset database, includes: Based on a preset tile size, each layer of raster data is divided into several unit tiles, and a layer and position index are established for each unit tile to generate tile data. The tile data and corresponding metadata are compressed based on a preset compression algorithm to generate binary data, and the binary data is stored in a preset database.

[0014] This invention, while dividing raster data into tiles, compresses the tile data and its metadata to generate binary data, which is then stored in a database. This effectively saves storage space and improves data access efficiency. By compressing and optimizing the tile data, the demand for hardware resources is reduced, enabling more efficient data loading and transmission during large-scale data rendering. Furthermore, this optimization enhances the system's scalability, supporting the processing of larger datasets.

[0015] Furthermore, the step of obtaining rendering parameters and calculating the index set and loading priority of the tiles to be loaded based on the rendering parameters includes: Obtain rendering parameters, including camera position information, view frustum parameters, projection parameters, screen resolution, and screen space error threshold; Based on the camera location information, projection parameters and view frustum parameters, the view frustum is projected onto the target geographic coordinate system to determine the coverage area of ​​the view frustum on the ground and generate the view field boundary. The grid pyramid structure is traversed hierarchically. In each traversal, the tile index range corresponding to the grid data of the view boundary in that layer is calculated, and all tile data that are within the coverage area and match the screen resolution are taken as tiles to be loaded. An index set is generated based on the index information of the tiles to be loaded, and the loading priority of each tile to be loaded is calculated.

[0016] This invention acquires rendering parameters and calculates the priority of tile loading based on view frustum and position information, enabling it to intelligently and dynamically load the most suitable tile data according to the user's viewpoint and screen resolution. Through precise calculation of rendering parameters, it ensures that only tiles within the field of view are loaded, reducing unnecessary data loading and thus improving rendering efficiency. This method effectively avoids excessive resource waste while ensuring the real-time nature and accuracy of data during rendering, optimizing the rendering process and making it particularly suitable for large-scale 3D rendering scenarios.

[0017] In a second aspect, the present invention provides a communication device including a module for performing the method.

[0018] Thirdly, the present invention provides a communication device, including a processor and an interface circuit, wherein the interface circuit is used to receive signals from other communication devices and transmit them to the processor or to send signals from the processor to other communication devices, and the processor is used to implement the method through logic circuits or execution code instructions.

[0019] Fourthly, the present invention provides a computer-readable storage medium storing a computer program or instructions that, when executed by a communication device, implement the method described therein.

[0020] Fifthly, the present invention provides a computer program product, including a computer program or instructions, which, when executed by a communication device, implement the method described therein. Attached Figure Description

[0021] Figure 1 This is a flowchart illustrating a method for 3D rendering of large DEM data provided in an embodiment of the present invention. Detailed Implementation

[0022] The specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings and examples. The following examples are for illustrative purposes only and are not intended to limit the scope of the invention.

[0023] The terms "first" and "second," etc., in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such processes, methods, products, or apparatus.

[0024] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0025] Example 1 See Figure 1 , Figure 1This is a flowchart illustrating a method for 3D rendering of large DEM data according to an embodiment of the present invention. The method includes steps 101 to 105, as detailed below: Step 101: Obtain the raw DEM data and transform the raw DEM data based on the preset target geographic coordinate system to obtain basic raster data; In this embodiment, the step of acquiring the original DEM data and transforming the original DEM data based on a preset target geographic coordinate system to obtain basic raster data includes: Obtain the original DEM data and its corresponding metadata, including the original coordinate reference system, pixel resolution, and vertical reference information; Based on the vertical reference information, the original DEM data is transformed from the original coordinate reference system to the preset target geographic coordinate system to generate basic raster data.

[0026] In this embodiment, the original DEM data file and its metadata are acquired. The metadata includes the original coordinate reference system, pixel resolution, and vertical datum. Acquiring this metadata is a prerequisite for accurate spatial transformation. Subsequently, the system performs a coordinate system transformation based on the aforementioned metadata. Specifically, based on the vertical datum information, the elevation values ​​of the original DEM data are unified to the geodetic height system used by the target geographic coordinate system, such as the WGS84 ellipsoidal height, eliminating datum differences. Simultaneously, using spatial reference transformation, the planar coordinates of the data are transformed from the original coordinate reference system to a preset target geographic coordinate system consistent with the osgEarth rendering engine, such as the WGS84 geographic coordinate system, i.e., EPSG:4326. This process ensures that all subsequent data has a unified and accurate spatial positioning basis. The standardized data generated after this transformation is the base raster data.

[0027] This invention effectively improves the accuracy and adaptability of data by acquiring the original DEM data and its metadata, and transforming it from the original coordinate reference system to the target geographic coordinate system based on vertical datum information. This ensures that the data used in subsequent resampling and rendering operations conforms to the requirements of the global standard geographic reference system, thereby providing a more accurate and unified basis for subsequent rendering processing, avoiding error accumulation caused by improper coordinate transformation, and improving the overall reliability and usability of the data.

[0028] Step 102: Iteratively resample the basic raster data based on a preset downsampling strategy until the resampled raster data meets the preset minimum tile resolution threshold, thereby obtaining several layers of raster data. In this embodiment, the basic raster data is iteratively resampled based on a preset downsampling strategy until the resampled raster data meets a preset minimum tile resolution threshold, thereby obtaining several layers of raster data, including: Using the base raster data as the input data for the first resampling, the input data is iteratively resampled based on a preset downsampling strategy; In each iteration of resampling, four adjacent pixels in the input data are merged into one pixel to generate the target raster data for this iteration of resampling, and the resolution of the target raster data is calculated. If the resolution of the target raster data does not meet the preset minimum tile resolution threshold, the target raster data will be used as the input data for the next iteration of the resampling process. If the resolution of the target raster data meets the preset minimum tile resolution threshold, the iteration stops, and several layers of raster data are obtained; the several layers of raster data include the basic raster data and the target raster data generated during each iteration resampling process.

[0029] In this embodiment, in each iteration, the current input raster data is resampled according to a preset downsampling strategy. Specifically, four adjacent pixels (2x2) in the input data are typically grouped into a single unit (2x2) and merged to generate a new pixel, thus creating a new raster layer with half the resolution and a quarter of the data volume. This newly generated layer is the target raster data for this iteration and will serve as the next level of data in the pyramid model.

[0030] In this embodiment, bilinear interpolation is preferentially used for resampling. This method determines the value of the new pixel by calculating the weighted average of the elevation values ​​of the original four pixels. It can generate a low-resolution terrain representation with smooth terrain transitions and a natural visual effect, effectively avoiding the stair-step artifacts that may be caused by the nearest neighbor method, while achieving the best balance between computational complexity and result quality. After completing one resampling, the system calculates the spatial resolution of the newly generated target raster data.

[0031] In this embodiment, a key minimum tile resolution threshold is preset. This threshold is closely related to the rendering characteristics of the target visualization platform osgEarth, and is typically set to the ground resolution corresponding to a single tile covering 256 by 256 pixels. If the resolution of the current target raster data has not yet reached this threshold, it indicates that its data granularity is still too fine. This layer of data will be automatically set as the input data for the next iteration of resampling, and the downsampling process will be repeated cyclically.

[0032] The above iterative process will continue until the resolution of the target raster data generated in a certain step is equal to or greater than the preset minimum tile resolution threshold. At this point, the iteration will automatically terminate. Through this series of continuous and regular resampling iterations, several layers of raster data with different resolutions are finally obtained.

[0033] This invention iteratively resamples the base raster data until a minimum tile resolution threshold is reached. This allows for adjusting the raster data resolution according to different needs, achieving a balance between visual appeal and performance. By merging adjacent cells in each iteration and progressively optimizing the data resolution, it effectively reduces computational load while maintaining rendering quality during large-scale data processing. This dynamic data optimization facilitates the handling of larger datasets and improves the adaptability and flexibility of data processing.

[0034] In this embodiment, after iteratively resampling the basic raster data based on a preset downsampling strategy until the resampled raster data meets a preset minimum tile resolution threshold to obtain several layers of raster data, the method further includes: The raster data of each layer is sorted in descending order based on the resolution of each layer to generate a raster data list. Using the basic raster data as the 0th layer, a raster pyramid structure is constructed based on the raster data list.

[0035] In this embodiment, after obtaining multi-layer raster data through iterative resampling, this data needs to be systematically organized to construct a logically clear and easily indexable raster pyramid data structure. Specifically, the spatial resolution attribute of each layer of raster data is obtained, i.e., the actual ground size represented by a single pixel. Subsequently, all layers are sorted in descending order according to their resolution values. The data layer with the highest resolution is placed at the beginning of the sequence, and the layer with the lowest resolution is placed at the end of the sequence, generating an ordered list of raster data. This list logically and intuitively reflects the hierarchical relationship from the finest to the coarsest level of detail.

[0036] In this embodiment, based on the generated ordered list, the basic raster data is defined as the zeroth layer, or L0 layer, of this pyramid structure. This layer has the highest spatial resolution and the largest data volume, representing the most complete detailed information of the terrain. The next highest resolution layer following in the ordered list is defined as the first layer, L1, and so on, until the top layer data with the lowest resolution in the list. Through this definition and mapping, the previously generated ordered raster data list is systematically organized into a hierarchical multi-level pyramid model. The constructed raster pyramid structure has clear mathematical and logical characteristics. Ideally, the number of rows and columns of data in each layer is half that of the adjacent layer above, its spatial resolution is twice that of the layer above, and the total data volume is reduced to one-quarter of the layer above. This strict pyramid hierarchy is the core of achieving efficient multi-scale visualization. In the subsequent tile generation and dynamic scheduling process, this pyramid structure provides the osgEarth rendering engine with a precise hierarchical index. The engine can quickly map and locate the corresponding detailed data layer in the pyramid according to the current view scale, thereby achieving a seamless and continuous browsing experience from global overview to local details.

[0037] This invention, after obtaining several layers of raster data, sorts the raster data of each layer in descending order based on resolution, constructing a raster pyramid structure. This further optimizes the hierarchical storage and access of data. Through sorting, higher-resolution data layers are loaded first, ensuring that high-resolution data is rendered preferentially under different display requirements, thus improving rendering quality. Simultaneously, the pyramid structure enables efficient management of tile data of different resolutions, reducing the complexity of data access and improving the response speed of the rendering process.

[0038] Step 103: Divide the grid data of each layer based on the preset tile size to generate tile data; and store the tile data and corresponding metadata into a preset database; In this embodiment, the process of dividing the raster data of each layer based on a preset tile size to generate tile data, and storing the tile data and corresponding metadata in a preset database, includes: Based on a preset tile size, each layer of raster data is divided into several unit tiles, and a layer and position index are established for each unit tile to generate tile data. The tile data and corresponding metadata are compressed based on a preset compression algorithm to generate binary data, and the binary data is stored in a preset database.

[0039] In this embodiment, after the grid pyramid is constructed, the continuous grid data of each layer is transformed into discretized, independently schedulable tile data units and stored efficiently.

[0040] In this embodiment, the regular division of each layer of raster data in the pyramid is based on a preset tile size, typically set to 256 pixels by 256 pixels, cutting each complete raster data matrix into several regular unit tiles. During the cutting process, the system creates a unique layer and position index for each generated unit tile. This index typically adopts a three-level encoding form (L, X, Y), which is composed of the pyramid layer L, the column number X, and the row number Y within that layer, thereby converting the original raster data layer into a series of tile data with clear spatial ranges and index identifiers.

[0041] In this embodiment, to optimize storage space and improve input / output efficiency, the system compresses the tile data and its metadata before storage. The metadata includes key descriptive information such as the geographic spatial extent of each tile, minimum and maximum elevation values, and data format version. Based on a preset compression algorithm, such as the lossless Deflate algorithm or the LZW algorithm specifically designed for raster data, the system compresses the tile data and its associated metadata together to generate compact binary data blocks. Lossless compression significantly reduces disk storage space usage without losing any terrain information.

[0042] In this embodiment, the compressed binary data blocks are finally stored in a pre-defined database. The lightweight relational database SQLite is preferably used for storage. The database table structure is specially designed, using a composite index of tile level, column number, and row number as the primary key, and storing the binary stream containing tile content and metadata as the values ​​of the corresponding fields. This storage model integrates massive amounts of tile data into a single file, facilitating management and migration. Simultaneously, the database's indexing mechanism enables the system to quickly retrieve and read the corresponding tile data blocks with near-constant time complexity based on real-time level, row, and column requests from the rendering engine. This provides a high-speed data supply channel for subsequent real-time decompression, triangulation construction, and rendering, effectively supporting smooth browsing of large-scale terrain data.

[0043] This invention, while dividing raster data into tiles, compresses the tile data and its metadata to generate binary data, which is then stored in a database. This effectively saves storage space and improves data access efficiency. By compressing and optimizing the tile data, the demand for hardware resources is reduced, enabling more efficient data loading and transmission during large-scale data rendering. Furthermore, this optimization enhances the system's scalability, supporting the processing of larger datasets.

[0044] Step 104: Obtain rendering parameters, and calculate the index set and loading priority of the tiles to be loaded based on the rendering parameters; In this embodiment, obtaining rendering parameters and calculating the index set and loading priority of the tiles to be loaded based on the rendering parameters includes: Obtain rendering parameters, including camera position information, view frustum parameters, projection parameters, screen resolution, and screen space error threshold; Based on the camera location information, projection parameters and view frustum parameters, the view frustum is projected onto the target geographic coordinate system to determine the coverage area of ​​the view frustum on the ground and generate the view field boundary. The grid pyramid structure is traversed hierarchically. In each traversal, the tile index range corresponding to the grid data of the view boundary in that layer is calculated, and all tile data that are within the coverage area and match the screen resolution are taken as tiles to be loaded. An index set is generated based on the index information of the tiles to be loaded, and the loading priority of each tile to be loaded is calculated.

[0045] In this embodiment, during the runtime phase, efficient data loading is achieved through a dynamic scheduling mechanism. First, rendering parameters are acquired. These rendering parameters are provided in real-time by the graphics rendering engine, namely the osgEarth rendering engine. Key parameters include: position information, i.e., the spatial coordinates and viewing direction of the virtual camera in the three-dimensional world space; view frustum parameters, which define the camera's field of view, including the near clipping plane, far clipping plane, and vertical and horizontal view angles; screen resolution, referring to the pixel size of the current display window; and screen space error threshold, which is a preset key parameter that controls the accuracy of terrain detail level switching, determining the allowable pixel error for terrain simplification.

[0046] In this embodiment, after acquiring the parameters, the view frustum in 3D space is projected onto the Earth's surface defined by the target geographic coordinate system. This calculation determines the actually visible surface area from the current camera's perspective by intersecting the eight corner rays of the view frustum with the digital elevation model of the Earth's surface. This area is defined by a 2D polygon, called the view boundary. The view boundary serves as the spatial basis for subsequent tile selection, precisely describing the geographic range that needs to be rendered. Next, the pre-constructed raster pyramid structure is traversed hierarchically. The traversal order typically starts from the top layer of the pyramid with the lowest resolution. While traversing each layer, the system calculates the range of tile row and column numbers covered by the view boundary based on the tile partitioning scheme of the current layer. All tiles within this range are initially selected as candidates. The system further calculates the level of detail that these candidate tiles can achieve when projected onto the screen and compares it with a screen spatial error threshold. If the detail provided by the tiles in the current layer is insufficient to meet the error threshold requirement, it means that more refined data is needed, and the system continues to traverse and select the next layer of the pyramid; if the requirement is met, the traversal to more refined layers stops. In this way, the system dynamically determines a set of tile indices for the current view that covers the field of view and matches the screen resolution in terms of detail, effectively avoiding the loading of unnecessary data.

[0047] In this embodiment, after determining the set of tiles to be loaded, a loading priority is calculated for each tile in the set. Priority calculation is typically based on factors such as the distance between the tile's center and the camera position, and whether the tile is located in the center of the field of view. Tiles closer to the camera and closer to the center of the screen receive a higher loading priority. This priority queue guides subsequent asynchronous data loading threads, ensuring that the terrain areas most likely to be immediately observed by the user are processed and rendered first, thereby maximizing the smoothness and responsiveness of the visual experience.

[0048] This invention acquires rendering parameters and calculates the priority of tile loading based on view frustum and position information, enabling it to intelligently and dynamically load the most suitable tile data according to the user's viewpoint and screen resolution. Through precise calculation of rendering parameters, it ensures that only tiles within the field of view are loaded, reducing unnecessary data loading and thus improving rendering efficiency. This method effectively avoids excessive resource waste while ensuring the real-time nature and accuracy of data during rendering, optimizing the rendering process and making it particularly suitable for large-scale 3D rendering scenarios.

[0049] Step 105: Match tile data from the preset database based on the index set, perform gridding on the tile data to generate terrain geometry objects, and render the terrain geometry objects based on the preset scene to complete the visualization display.

[0050] In this embodiment, tile data matching and retrieval are performed based on the index set. Specifically, the calculated tile index set is used as the query condition, and data requests are sent concurrently to a preset SQLite database. The database engine utilizes a composite primary key index built with hierarchy, row number, and column number to retrieve the corresponding binary data records with extremely high efficiency. The retrieved binary data stream is then sent to the decompression module, where it is decompressed in real time using the compression algorithm corresponding to the storage, such as the Deflate algorithm, to restore the original tile elevation raster data and its metadata. This data retrieval and decompression process is typically executed by a separate I / O thread or thread pool to avoid blocking the real-time graphics rendering thread.

[0051] In this embodiment, after acquiring the original tile elevation data, the system immediately performs meshing processing to generate terrain geometry objects. This is a crucial step in converting two-dimensional digital elevation information into a three-dimensional graphic mesh.

[0052] In this embodiment, the triangulation algorithm from the CGAL computational geometry algorithm library is used as the core processor. The elevation value and planar coordinates of each pixel within the tile data are converted into a 3D point set. Subsequently, CGAL's constrained Delaunay triangulation algorithm runs on this point set, generating an irregular triangular mesh model composed of triangles that accurately fits the terrain undulations of the tile. This triangular mesh model achieves an efficient geometric representation of the terrain surface while preserving terrain features. The generated triangular mesh is then converted into an internal geometric data structure that the osgEarth rendering engine can directly recognize and manage, namely a terrain geometry object. This object contains complete rendering information such as vertices, normals, texture coordinates, and triangle indices.

[0053] Finally, the system integrates this terrain geometry into a pre-defined 3D scene for rendering, completing the visualization. The osgEarth rendering engine receives the generated terrain geometry and places it under the corresponding spatial node in the scene graph. The engine's graphics pipeline automatically performs a series of rendering operations for these geometry objects, including calculating shading based on the lighting model, applying possible surface textures, performing frustum clipping, and selecting levels of detail. After rasterization by the graphics processor, a continuous, realistic, and real-time interactive 3D terrain landscape is finally formed on the display device. Through this end-to-end pipeline from data retrieval and geometry reconstruction to real-time rendering, a smooth visualization of ultra-large-scale digital elevation model data is achieved.

[0054] The present invention provides a communication device, including a module for performing the method.

[0055] The present invention provides a communication device, including a processor and an interface circuit. The interface circuit is used to receive signals from other communication devices and transmit them to the processor, or to send signals from the processor to other communication devices. The processor is used to implement the method through logic circuits or execution code instructions.

[0056] The present invention provides a computer program product, including a computer program or instructions, which, when executed by a communication device, implement the method described therein.

[0057] In this embodiment of the invention, a processing device is also provided, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor. When the processor executes the computer program, it implements the above-described method for 3D rendering of large DEM data.

[0058] In this embodiment of the invention, a computer-readable storage medium is also provided, which includes a stored computer program, wherein the computer program controls the device where the computer-readable storage medium is located to execute the above-described method for 3D rendering of large DEM data when it is running.

[0059] For example, a computer program can be divided into one or more modules, one or more of which are stored in memory and executed by a processor to perform the present invention. The one or more modules can be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in a processing device.

[0060] The processing device can be a desktop computer, laptop, handheld computer, or cloud server, etc. The processing device may include, but is not limited to, a processor, memory, and a display. Those skilled in the art will understand that the above components are merely examples of the processing device and do not constitute a limitation on the processing device. It may include more or fewer components than the specified components, or a combination of certain components, or different components. For example, the processing device may also include input / output devices, network access devices, buses, etc.

[0061] The processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor. The processor is the control center of the processing device, connecting all parts of the processing device through various interfaces and lines.

[0062] Memory can be used to store computer programs and / or modules. The processor performs various functions of the processing device by running or executing the computer programs and / or modules stored in the memory, and by accessing data stored in the memory. Memory can mainly include a program storage area and a data storage area. The program storage area can store the operating system, at least one application program required for a function (such as sound playback, text conversion, etc.), etc.; the data storage area can store data created based on the use of the mobile phone (such as audio data, text message data, etc.). In addition, memory can include high-speed random access memory, and can also include non-volatile memory, such as hard disks, RAM, plug-in hard disks, smart media cards (SMC), secure digital cards (SD cards), flash cards, at least one disk storage device, flash memory device, or other volatile solid-state storage devices.

[0063] The module for 3D rendering of large DEM data, if implemented as a software functional unit and sold or used as an independent product, can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the above embodiments of the present invention can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. Those skilled in the art can understand and implement this without any inventive effort.

[0064] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. In particular, it should be noted that any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention for those skilled in the art.

Claims

1. A method for 3D rendering of large DEM data, characterized in that, include: Obtain the raw DEM data, and transform the raw DEM data based on the preset target geographic coordinate system to obtain basic raster data; The base raster data is iteratively resampled based on a preset downsampling strategy until the resampled raster data meets the preset minimum tile resolution threshold, thus obtaining several layers of raster data. The grid data of each layer is divided based on the preset tile size to generate tile data; The tile data and corresponding metadata are then stored in a preset database. Obtain rendering parameters, and calculate the index set and loading priority of the tiles to be loaded based on the rendering parameters; Based on the index set, tile data is matched from the preset database, and the tile data is processed into a grid to generate a terrain geometry object; The terrain geometry is rendered based on a preset scene to complete the visualization.

2. The method for 3D rendering of large DEM data as described in claim 1, characterized in that, The process of acquiring raw DEM data, which involves transforming the raw DEM data based on a preset target geographic coordinate system to obtain basic raster data, includes: Obtain the original DEM data and its corresponding metadata, including the original coordinate reference system, pixel resolution, and vertical reference information; Based on the vertical reference information, the original DEM data is transformed from the original coordinate reference system to the preset target geographic coordinate system to generate basic raster data.

3. The method for 3D rendering of large DEM data as described in claim 2, characterized in that, The basic raster data is iteratively resampled based on a preset downsampling strategy until the resampled raster data meets a preset minimum tile resolution threshold, resulting in several layers of raster data, including: Using the base raster data as the input data for the first resampling, the input data is iteratively resampled based on a preset downsampling strategy; In each iteration of resampling, four adjacent pixels in the input data are merged into one pixel to generate the target raster data for this iteration of resampling, and the resolution of the target raster data is calculated. If the resolution of the target raster data does not meet the preset minimum tile resolution threshold, the target raster data will be used as the input data for the next iteration of the resampling process. If the resolution of the target raster data meets the preset minimum tile resolution threshold, the iteration stops, and several layers of raster data are obtained; the several layers of raster data include the basic raster data and the target raster data generated during each iteration resampling process.

4. The method for 3D rendering of large DEM data as described in claim 3, characterized in that, After iteratively resampling the base raster data based on a preset downsampling strategy until the resampled raster data meets a preset minimum tile resolution threshold, and obtaining several layers of raster data, the method further includes: The raster data of each layer is sorted in descending order based on the resolution of each layer to generate a raster data list. Using the basic raster data as the 0th layer, a raster pyramid structure is constructed based on the raster data list.

5. The method for 3D rendering of large DEM data as described in claim 4, characterized in that, The grid data of each layer is divided based on the preset tile size to generate tile data; The tile data and corresponding metadata are stored in a preset database, including: Based on a preset tile size, each layer of raster data is divided into several unit tiles, and a layer and position index are established for each unit tile to generate tile data. The tile data and corresponding metadata are compressed based on a preset compression algorithm to generate binary data, and the binary data is stored in a preset database.

6. The method for 3D rendering of large DEM data as described in claim 5, characterized in that, The process of obtaining rendering parameters and calculating the index set and loading priority of the tiles to be loaded based on the rendering parameters includes: Obtain rendering parameters, including camera position information, view frustum parameters, projection parameters, screen resolution, and screen space error threshold; Based on the camera location information, projection parameters and view frustum parameters, the view frustum is projected onto the target geographic coordinate system to determine the coverage area of ​​the view frustum on the ground and generate the view field boundary. The grid pyramid structure is traversed hierarchically. In each traversal, the tile index range corresponding to the grid data of the view boundary in that layer is calculated, and all tile data that are within the coverage area and match the screen resolution are taken as tiles to be loaded. An index set is generated based on the index information of the tiles to be loaded, and the loading priority of each tile to be loaded is calculated.

7. A communication device, characterized in that, Includes a module for performing the method as described in any one of claims 1 to 6.

8. A communication device, characterized in that, The device includes a processor and an interface circuit, wherein the interface circuit is used to receive signals from other communication devices and transmit them to the processor or to send signals from the processor to other communication devices, and the processor is used to implement the method as described in any one of claims 1 to 6 through logic circuits or execution code instructions.

9. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, which, when executed by a communication device, implement the method as described in any one of claims 1 to 6.

10. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by the communication device, the method as described in any one of claims 1 to 6 is implemented.