Electronic chart non-inductive dynamic loading method

By using R-tree indexing and a multi-threaded rendering architecture, combined with a landmark classification strategy and an adaptive degradation mechanism, the problem of unsmooth data loading in electronic chart display was solved, achieving efficient and stable chart display results.

CN122285108APending Publication Date: 2026-06-26THE CHINESE PEOPLES LIBERATION ARMY 92859 TROOPS
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
THE CHINESE PEOPLES LIBERATION ARMY 92859 TROOPS
Filing Date
2026-03-17
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Traditional electronic chart display technology suffers from problems such as unsmooth data loading, rendering blockage, and system performance degradation when processing large-scale, multi-level detailed chart data. In particular, it is difficult to achieve efficient data retrieval, rendering scheduling, and resource management when the viewport is rapidly zoomed or panned, resulting in a poor user experience.

Method used

We employ an R-tree spatial index structure for fast object retrieval, combined with an object hierarchical rendering strategy and a multi-threaded rendering architecture. Through progressive rendering and a system adaptive degradation mechanism, we achieve efficient data loading and stable display.

Benefits of technology

It achieves smooth loading and stable operation of electronic nautical chart data, ensures the priority presentation of key information, improves rendering efficiency and system stability, and enhances user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122285108A_ABST
    Figure CN122285108A_ABST
Patent Text Reader

Abstract

This invention relates to a seamless dynamic loading method for electronic nautical charts, belonging to the field of electronic nautical chart display technology. During system initialization, an R-tree spatial index is constructed to quickly retrieve and filter the set of objects to be displayed based on the current viewport range and scale. The objects are divided into base layers and enhancement layers, assigned different rendering priorities, and spatially sorted to generate an ordered list of objects to be rendered. A thread pool with four worker threads is created, and the rendering process is decomposed into three stages: geometry processing, symbolization, and image synthesis, which are executed in parallel. A display list caching and double-buffering mechanism are employed to ensure smooth playback. Frame rate and memory usage are monitored in real time, and two levels of anomaly thresholds are established to dynamically trigger a degradation strategy from pausing enhancement layers to simplifying base layers, and automatic rollback occurs after resource recovery. This invention effectively solves the problems of lag and memory efficiency when loading massive vector data, significantly improving the smoothness and stability of electronic nautical chart display.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of electronic chart display technology, and in particular to a method for seamless dynamic loading of electronic charts. Background Technology

[0002] With the increasing application of Electronic Chart Display and Information Systems (ECDIS) in maritime navigation, channel planning, and maritime monitoring, users have placed higher demands on the real-time performance, smoothness, and system stability of chart data loading. Traditional dynamic loading methods for vector electronic charts often face the following technical bottlenecks when processing large-scale, multi-level detail chart data: data organization methods based on fixed map sheets or pre-tiled slices struggle to support viewport-driven fine-grained data retrieval, leading to frequent loading of invalid data and rendering blockages and display lag during rapid viewport zooming or panning; furthermore, the lack of intelligent management of memory resources and automatic recovery mechanisms for abnormal situations makes the system prone to performance degradation or even crashes during long-term operation or when processing complex chart scenarios.

[0003] While some studies have attempted to improve retrieval efficiency using spatial indexing techniques or accelerate rendering by introducing multi-threading, most solutions struggle to achieve coordinated optimization among data retrieval, rendering scheduling, and resource management. Especially in dynamic scenarios with continuously changing viewports, existing methods still fall short in ensuring priority rendering of high-priority objects, efficient multi-level cache hits, and seamless system anomaly recovery, making it difficult to achieve the goal of a seamless dynamic loading experience. Therefore, there is an urgent need for a comprehensive technical solution integrating efficient spatial retrieval, progressive rendering, memory management, and system self-recovery to achieve smooth, stable, and efficient dynamic loading and presentation of electronic nautical chart data. Summary of the Invention

[0004] The purpose of this invention is to overcome the shortcomings of the prior art and propose a seamless dynamic loading method for electronic nautical charts. By constructing an efficient object fast retrieval, a progressive rendering pipeline, intelligent memory scheduling, and a system stability assurance system, the smooth loading and stable operation of electronic nautical chart data are achieved.

[0005] The technical problem solved by this invention is achieved through the following technical solution: A method for seamless dynamic loading of electronic nautical charts includes the following steps: Step 1: Quickly retrieve and filter object data based on the current viewport; Step 2: Prioritize the selected objects by importance and generate a rendering list; Step 3: Based on the rendering list, and using a multi-threading and caching strategy, perform progressive rendering of the objects; Step 4: Implement system status monitoring and adaptive degradation handling in case of abnormal situations for the rendering process.

[0006] Furthermore, the specific method of step 1 includes the following steps: Step 1.1: During system initialization, traverse all object data and insert the smallest bounding rectangle of each object as a spatial object into the R-tree spatial index structure; Step 1.2: Receive the spatial range parameters and display scale parameters of the current viewport; Step 1.3: Use the R-tree index to perform a spatial query to quickly retrieve the set of all candidate objects (CandidateObjects) that intersect with the current viewport range; Step 1.4: Traverse the candidate object set CandidateObjects, compare the preset suitable display scale range of each object with the current viewport scale, remove objects that do not meet the display level requirements, and generate a preliminary filtered object set FilteredObjects.

[0007] Furthermore, the specific method of step 2 includes the following steps: Step 2.1: Establish an object classification database and define a base layer (BaseLayer) and an enhanced layer (EnhancedLayer); objects in the base layer have a higher display priority than objects in the enhanced layer. Step 2.2: The preliminary set of filtered objects generated in Step 1, FilteredObjects, is classified according to its layer type. Basic layer objects are given high rendering priority, while enhanced layer objects are given low rendering priority. Step 2.3: Within the same priority level, perform a secondary sorting based on the spatial proximity of the objects; Step 2.4: Output an ordered list of objects to be rendered, RenderList, sorted by rendering priority and spatial location.

[0008] Furthermore, the specific method of step 3 includes the following steps: Step 3.1: Create a rendering thread pool containing multiple worker threads, with each thread bound to an independent graphics drawing context; Step 3.2: Decompose the rendering process into three stages: geometry processing, symbolization, and image compositing, and assign them to different worker threads for parallel execution; Step 3.3: The main rendering thread dynamically allocates rendering tasks to the task queue according to the ordered list of objects to be rendered (RenderList), ensuring that high-priority objects are processed first. Step 3.4: Adopt a display list caching strategy to compile and cache the display list (DisplayList) for static objects, and establish a difference detection mechanism for dynamic objects to achieve incremental updates; Step 3.5: Use a double buffering mechanism for screen rendering. After all objects in a frame are rendered in the back buffer, the front and back buffers are swapped by the vertical synchronization signal to eliminate screen tearing.

[0009] Furthermore, the specific method of step 4 includes the following steps: Step 4.1: Monitor the status of the object loading thread, memory usage, and rendering frame rate in real time; Step 4.2: When system resources are detected to be scarce or the rendering frame rate is lower than the preset threshold, a graded response mechanism is activated according to the severity of the anomaly. Step 4.3, Level 1 Response: Pause the loading and rendering of enhanced layer objects, ensuring only the display of the basic layer; Step 4.4, Secondary Response: Based on the primary response, further reduce the level of detail of the objects in the base layer and use simplified geometric representation for rendering; Step 4.5: Once the system monitoring indicators return to normal, gradually restore the downgraded functions and record the exception handling log for system analysis and optimization.

[0010] The advantages and positive effects of this invention are: 1. This invention achieves rapid spatial retrieval and precise filtering of electronic nautical chart landmark data by constructing an R-tree spatial index structure and combining it with a scale-based dynamic filtering mechanism. This reduces query time complexity and effectively controls the amount of data rendered per frame from the source, laying an efficient data processing foundation for seamless dynamic loading.

[0011] 2. This invention adopts a landmark hierarchy strategy based on navigation importance, which divides landmarks into a base layer and an enhancement layer and assigns them differentiated rendering priorities. Combined with the Z-order curve sorting optimization based on spatial proximity, it not only ensures the priority presentation of key navigation information, but also significantly improves the rendering cache hit rate through the principle of spatial locality, thereby achieving overall optimization of rendering efficiency.

[0012] 3. This invention constructs a complete technical chain of multi-threaded parallel rendering architecture and intelligent resource management system. Through the professional division of labor of four threads, the dual buffer synchronization mechanism of display list cache pool, and system status monitoring and adaptive degradation strategy, the robustness and stability of the system in resource-constrained environment are significantly improved while ensuring rendering quality and visual continuity. Attached Figure Description

[0013] Figure 1 This is a schematic diagram of the overall system of the electronic chart non-sensory dynamic loading method of the present invention; Figure 2 This is a flowchart of the rapid retrieval, importance classification, and rendering list generation technology in this invention; Figure 3 This is a flowchart of the progressive rendering of objects using multi-threading and caching strategies in this invention; Figure 4 This is a flowchart of the status monitoring and abnormal situation handling technology in this invention. Detailed Implementation

[0014] The present invention will be further described in detail below with reference to the accompanying drawings.

[0015] A method for seamless dynamic loading of electronic nautical charts, such as Figure 1 As shown, it includes the following steps: Step 1: Quickly retrieve and filter object data based on the current viewport.

[0016] This step is fundamental to achieving seamless loading. Its core lies in utilizing efficient spatial indexing to quickly locate the object to be displayed from massive amounts of data, such as... Figure 2 As shown, the specific method is as follows: (1) During system initialization, all object data in the electronic chart database are traversed. The minimum bounding rectangle (MBR) of each object is used as a spatial object and inserted into the R-tree spatial index structure.

[0017] (2) At the beginning of each rendering frame, the main thread of the graphical user interface (GUI) passes the spatial extent parameter ViewportRect (in geographic coordinates) and the display scale parameter CurrentScale of the current viewport to the data retrieval module.

[0018] (3) The data retrieval module calls the spatial query interface of the R-tree index, with the input parameter being ViewportRect, to quickly retrieve the set of candidate objects (CandidateObjects) that intersect with the viewport range. The time complexity of this query process is O(logn), ensuring retrieval efficiency.

[0019] (4) Iterate through the CandidateObjects collection. For each object, read its preset suitable display scale range [MinScale, MaxScale]. The system performs scale matching judgment: if CurrentScale is not within the range of [MinScale, MaxScale], then remove this object from the collection. After this round of filtering, a preliminary set of filtered objects, FilteredObjects, is generated, which effectively reduces the amount of data processed in subsequent steps.

[0020] Step 2: Classify the importance of the filtered objects and generate a rendering list.

[0021] This step aims to determine the drawing order of the objects, ensuring that key information is presented first. The specific method is as follows: (1) The system has a pre-built object classification database. Key navigation elements such as coastlines, depth points, and contour lines are classified into base layers and given high rendering priority; auxiliary information such as buildings, navigation marks, and text annotations are classified into enhanced layers and given low rendering priority.

[0022] (2) The FilteredObjects collection generated in step 1 is classified according to its layer type. The system creates two ordered lists: HighPriorityList (used to store BaseLayer objects) and LowPriorityList (used to store EnhancedLayer objects).

[0023] (3) Within the same priority list, perform a secondary sorting based on the spatial proximity between objects. Calculate the representative center point of each object: for point objects, use their coordinates directly; for line and area objects, calculate their minimum bounding rectangle and take the center point. Use a space filling curve (such as a Z-order curve) to sort the coordinates of the center points of the objects, so that objects with similar spatial positions are adjacent in the list, thereby optimizing the cache hit rate during rendering.

[0024] (4) Merge HighPriorityList and LowPriorityList sequentially to output an ordered list of objects to be rendered (RenderList) sorted by rendering priority and spatial location, and send it to the rendering module.

[0025] Step 3: Perform progressive rendering of objects based on multi-threading and caching strategies.

[0026] like Figure 3 As shown, this step improves rendering efficiency and ensures visual continuity through parallel computing and cache reuse. The specific method is as follows: (1) When the system starts, a rendering thread pool containing 4 worker threads is created. Each thread is bound to an independent OpenGL graphics context and shares read-only resources such as textures.

[0027] (2) Decompose the rendering pipeline into three parallel stages: The GeometryStage (executed by thread 1) is responsible for coordinate transformation, simplification, and construction of vertex buffer objects for the object's geometric data.

[0028] The Symbolization Stage (executed in parallel by threads 2 and 3) is responsible for the symbol rendering of objects (such as drawing icons and line types) and the generation and layout of text annotations.

[0029] The image compositing stage (executed by thread 4) is responsible for compositing the results of the preceding stages into the final scene image.

[0030] (3) The main rendering thread traverses the ordered list of objects to be rendered (RenderList) obtained in step 2 and dispatches the rendering tasks corresponding to each object to the global task queue. The task scheduler ensures that high-priority objects are processed first. Each worker thread obtains a task from the task queue and executes it, thus achieving load balancing.

[0031] (4) The system maintains a display list cache pool, which is managed using an eviction and update strategy, with a maximum capacity of 1000 display lists. For static objects, the compiled display list is cached to avoid repeated compilation. For dynamic objects, a difference detection mechanism is established, and only the parts whose position and state have changed are redrawn, i.e., incrementally updated.

[0032] (5) The screen is drawn using a double buffering mechanism. After all objects are rendered in the back buffer, they wait for the current display refresh cycle to end. During the screen refresh interval, the front and back buffers are swapped, which effectively eliminates screen tearing and achieves a smooth visual transition.

[0033] Step 4: Implement system status monitoring and adaptive degradation handling in abnormal situations.

[0034] like Figure 4 As shown, this step ensures system stability and guarantees the availability of core functions when resources are limited. The specific method is as follows: (1) The system has a built-in status monitoring subsystem that periodically (e.g., every 2 seconds) collects key operating indicators, including: the active status of the object loading thread, system memory usage, and rendering frame rate. The monitoring data is stored in a fixed-length circular queue and its moving average is calculated.

[0035] (2) Establish two levels of anomaly detection thresholds. When anomaly detection finds that FrameRate is below 45 frames / second or MemoryUsage exceeds 80% for 3 consecutive cycles, a mild degradation is triggered. When anomaly detection finds that FrameRate is below 30 frames / second or MemoryUsage exceeds 90% for 2 consecutive cycles, a severe degradation is triggered.

[0036] (3) When a minor degradation is triggered, the system automatically pauses the loading and rendering of EnhancedLayer objects and concentrates resources to ensure the smooth display of BaseLayer.

[0037] (4) When a severe degradation is triggered, the system further reduces the Level of Detail (LOD) of the BaseLayer object on the basis of the mild degradation. For example, it uses simpler symbols instead of complex symbols to significantly reduce the rendering load.

[0038] (5) When monitoring indicators show that system resource utilization, such as MemoryUsage, drops below 70%, and FrameRate rises above 50 frames / second, and the system returns to normal and stabilizes for a period of time (e.g., 10 seconds), the system gradually restores the degraded functions, first restoring the complete details of the BaseLayer, and then restoring the display of the EnhancedLayer. Key events and performance data throughout the entire degrade and recovery process are recorded in the anomaly handling log for subsequent system optimization and problem diagnosis.

[0039] It should be emphasized that the embodiments described in this invention are illustrative rather than limiting. Therefore, this invention includes, but is not limited to, the embodiments described in the specific implementation. Any other implementations derived by those skilled in the art based on the technical solutions of this invention are also within the scope of protection of this invention.

Claims

1. A method for seamless dynamic loading of electronic nautical charts, characterized in that, Includes the following steps: Step 1: Quickly retrieve and filter object data based on the current viewport; Step 2: Prioritize the selected objects by importance and generate a rendering list; Step 3: Based on the rendering list, and using a multi-threading and caching strategy, perform progressive rendering of the objects; Step 4: Implement system status monitoring and adaptive degradation handling in case of abnormal situations for the rendering process.

2. The method for seamless dynamic loading of electronic nautical charts according to claim 1, characterized in that: The specific method of step 1 includes the following steps: Step 1.1: During system initialization, traverse all object data and insert the smallest bounding rectangle of each object as a spatial object into the R-tree spatial index structure; Step 1.2: Receive the spatial range parameters and display scale parameters of the current viewport; Step 1.3: Use the R-tree index to perform a spatial query to quickly retrieve the set of all candidate objects (CandidateObjects) that intersect with the current viewport range; Step 1.4: Traverse the candidate object set CandidateObjects, compare the preset suitable display scale range of each object with the current viewport scale, remove objects that do not meet the display level requirements, and generate a preliminary filtered object set FilteredObjects.

3. The method for seamless dynamic loading of electronic nautical charts according to claim 1, characterized in that: The specific method for step 2 includes the following steps: Step 2.1: Establish an object classification database and define a base layer (BaseLayer) and an enhanced layer (EnhancedLayer); objects in the base layer have a higher display priority than objects in the enhanced layer. Step 2.2: The preliminary set of filtered objects generated in Step 1, FilteredObjects, is classified according to its layer type. Basic layer objects are given high rendering priority, while enhanced layer objects are given low rendering priority. Step 2.3: Within the same priority level, perform a secondary sorting based on the spatial proximity of the objects; Step 2.4: Output an ordered list of objects to be rendered, RenderList, sorted by rendering priority and spatial location.

4. The method for seamless dynamic loading of electronic nautical charts according to claim 1, characterized in that: The specific method of step 3 includes the following steps: Step 3.1: Create a rendering thread pool containing multiple worker threads, with each thread bound to an independent graphics drawing context; Step 3.2: Decompose the rendering process into three stages: geometry processing, symbolization, and image compositing, and assign them to different worker threads for parallel execution; Step 3.3: The main rendering thread dynamically allocates rendering tasks to the task queue according to the ordered list of objects to be rendered (RenderList), ensuring that high-priority objects are processed first. Step 3.4: Adopt a display list caching strategy to compile and cache the display list (DisplayList) for static objects, and establish a difference detection mechanism for dynamic objects to achieve incremental updates; Step 3.5: Use a double buffering mechanism for screen rendering. After all objects in a frame are rendered in the back buffer, the front and back buffers are swapped by the vertical synchronization signal to eliminate screen tearing.

5. The method for seamless dynamic loading of electronic nautical charts according to claim 1, characterized in that: The specific method for step 4 includes the following steps: Step 4.1: Monitor the status of the object loading thread, memory usage, and rendering frame rate in real time; Step 4.2: When system resources are detected to be scarce or the rendering frame rate is lower than the preset threshold, a graded response mechanism is activated according to the severity of the anomaly. Step 4.3, Level 1 Response: Pause the loading and rendering of enhanced layer objects, ensuring only the display of the basic layer; Step 4.4, Secondary Response: Based on the primary response, further reduce the level of detail of the objects in the base layer and use simplified geometric representation for rendering; Step 4.5: Once the system monitoring indicators return to normal, gradually restore the downgraded functions and record the exception handling log for system analysis and optimization.