Mass point location loading optimization method for GIS (Geographic Information System) map

By dynamically calculating the aggregation level threshold and using SVG and MarkerClusterer algorithms to optimize the loading of points in GIS maps, the problem of slow rendering and lag caused by massive point data has been solved, achieving efficient point loading and interactive experience.

CN121233686APending Publication Date: 2025-12-30INSPUR TIANYUAN COMM INFORMATION SYST CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511496634.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-20
Publication Date
2025-12-30

AI Technical Summary

Technical Problem

Traditional GIS maps suffer from slow page rendering, sluggish interaction, and poor system stability when processing massive amounts of point data. The existing MarkerClusterer algorithm does not perform well in aggregating data in different density areas and large-scale dynamic data, resulting in loading delays and excessive resource consumption.

Method used

By employing dynamic calculation of aggregation level thresholds, using SVG as the map marker format, rendering point data based on map viewport boundaries, introducing and optimizing the MarkerClusterer algorithm, and combining spatial index query and caching mechanisms, a progressive clustering strategy and asynchronous loading are implemented to adaptively adjust the aggregation strategy.

Benefits of technology

It significantly improves the loading speed and rendering efficiency of massive points, reduces redundant calculations and DOM operations, enhances the smoothness of map interaction, and improves user experience and the stability of the GIS system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121233686A_ABST
    Figure CN121233686A_ABST
Patent Text Reader

Abstract

The invention particularly relates to a GIS map mass point location loading optimization method. According to the GIS map mass point location loading optimization method, an appropriate level range for using point location aggregation is preset according to the characteristics of client data access; sVG is selected as a map marking format, and point location data is rendered based on the boundary of a map viewport; and when the map zooming level is lower than the user-defined threshold value and the data volume exceeds the user-defined threshold value, reducing the number of the independent marks on the screen by using a Marker Cluster strategy so as to improve the loading speed of the map and the user experience. According to the GIS map mass point location loading optimization method, the mass point location loading speed and rendering efficiency are remarkably improved, repeated calculation and DOM operation are reduced, system resource occupation is reduced, map interaction smoothness is enhanced, and therefore user experience and the stability and practicability of a GIS system are effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication network operation technology, and in particular to an optimization method for loading massive points on a GIS map. Background Technology

[0002] In Geographic Information System (GIS) applications, with the continuous development of data acquisition technology, the visualization of massive point data has become a key bottleneck for system performance. Traditional GIS maps often suffer from slow page rendering, sluggish interaction, or even crashes due to an excessive number of DOM elements when processing a large number of marked points, severely impacting user experience and system stability.

[0003] To alleviate this problem, existing technologies typically use a MarkerClusterer to dynamically aggregate and display neighboring points, thereby reducing the actual number of rendered markers and improving map response speed and smoothness.

[0004] However, existing MarkerClusterer algorithms mostly employ static thresholds or fixed-level strategies, which still suffer from poor aggregation performance, significant loading delays, and excessive resource consumption when dealing with regions of varying density or large-scale dynamic data. Furthermore, traditional aggregation methods do not fully consider the dynamic matching relationship between changes in user perspective and data distribution characteristics, leading to frequent redraws during zooming or panning operations, further impacting the user experience.

[0005] Therefore, there is an urgent need to propose an optimization method for loading massive points in GIS maps based on MarkerClusterer, which can adaptively adjust the aggregation strategy while ensuring visualization effects, thereby improving system performance and user experience.

[0006] Based on the above, this invention proposes an optimization method for loading massive points in GIS maps. Summary of the Invention

[0007] To overcome the shortcomings of existing technologies, this invention provides a simple and efficient method for optimizing the loading of massive points in GIS maps.

[0008] This invention is achieved through the following technical solution:

[0009] A method for optimizing the loading of massive points on a GIS map includes the following steps:

[0010] Step S1: Based on the characteristics of customer data access, pre-set the appropriate hierarchical range of usage point aggregation;

[0011] In step S1, based on the spatiotemporal distribution characteristics of customer data access, including data density, geographical range and update frequency, geographic grid partitioning or quadtree indexing technology is used to dynamically calculate and preset the aggregation level threshold.

[0012] At the same time, by combining data update strategies, differentiated aggregation logic is set for real-time data and historical data to ensure rendering efficiency and information integrity in different scenarios.

[0013] Step S2: Select SVG (Scalable Vector Graphics) as the map marker format to improve drawing efficiency and save time and resources;

[0014] Step S3: Render point data based on the boundary of the map viewport;

[0015] In step S3, the visible area coordinates of the map container, including latitude and longitude range and zoom level, are captured in real time through the viewport listening mechanism of the front-end map frame.

[0016] First, use the spatial index query to return the point data within the viewport range;

[0017] Then, a front-end clipping algorithm is used to filter the data received by the client a second time, removing redundant points outside the viewport edge to reduce the overhead of DOM element creation and rendering.

[0018] In step S3, when using spatial index query, the backend uses PostGIS or GeoHash to perform spatial filtering on the original data and only returns point data within the viewport range;

[0019] For scenarios where the frequency of viewport switching exceeds a custom threshold, a local data cache is established based on a pre-defined dynamic caching mechanism to reuse data from already rendered areas, thereby reducing the cost of repeated calculations.

[0020] Step S4: When the map zoom level is lower than the custom threshold and the data volume exceeds the custom threshold, use the MarkerClusterer strategy to reduce the number of independent markers on the screen to improve map loading speed and user experience.

[0021] In step S4, the MarkerClusterer algorithm is introduced and optimized. The specific implementation process is as follows:

[0022] Step S4.1, Adaptive Cluster Radius

[0023] The cluster radius is dynamically calculated based on the current scaling level to avoid excessive aggregation at low levels or dispersion at high levels.

[0024] Step S4.2, Hierarchical Rendering

[0025] A progressive clustering strategy is adopted, displaying only a large cluster on the first load to reduce the initial rendering load;

[0026] During user interaction, the clusters are gradually de-aggregated to sub-clusters to improve the speed of perception.

[0027] Step S4.3, Performance Threshold Control

[0028] Set a data volume threshold and combine it with CPU-GPU load monitoring to dynamically adjust the rendering mode (vector / rasterization);

[0029] Step S4.4: Customize Cluster Style

[0030] It supports dynamically changing icon styles based on the number of cluster points, including color, size, and bubble tips, and adds a summary information floating window to enhance information delivery efficiency;

[0031] Step S4.5: Asynchronous loading and lazy merging

[0032] For data streams arriving in batches, a delayed merging strategy is adopted to avoid frequent cluster reorganization and improve smoothness.

[0033] A GIS map massive point loading optimization system, used to implement the above method, includes:

[0034] The aggregation level preset module is responsible for pre-setting the appropriate aggregation level range of usage points based on the characteristics of customer point access.

[0035] The point layer selection module is responsible for selecting SVG (Scalable Vector Graphics) as the map marker format to improve drawing efficiency and save time and resources;

[0036] The data rendering module is responsible for rendering point data based on the boundary of the map viewport. It uses spatial index query to return point data within the viewport range. It uses a front-end clipping algorithm to perform secondary filtering on the data received by the client, removing redundant points outside the viewport edge to reduce the overhead of DOM element creation and rendering.

[0037] The MarkerClusterer algorithm module is responsible for introducing and optimizing the MarkerClusterer algorithm. When the map zoom level is lower than a custom threshold and the data volume exceeds a custom threshold, the MarkerClusterer strategy is used to reduce the number of independent markers on the screen, thereby improving map loading speed and user experience.

[0038] A GIS map massive point loading optimization device includes a memory and a processor; the memory is used to store a computer program, and the processor is used to execute the computer program to implement the above-described method steps.

[0039] A readable storage medium storing a computer program that, when executed by a processor, implements the above-described method steps.

[0040] The beneficial effects of this invention are: the optimization method for loading massive points in GIS maps significantly improves the loading speed and rendering efficiency of massive points, reduces redundant calculations and DOM operations, reduces system resource consumption, and enhances the smoothness of map interaction, thereby effectively improving the user experience and the stability and practicality of the GIS system. Attached Figure Description

[0041] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0042] Figure 1 This is a schematic diagram of the GIS map massive point loading optimization method of the present invention. Detailed Implementation

[0043] To enable those skilled in the art to better understand the technical solutions of this invention, the technical solutions in the embodiments of this invention will be clearly and completely described below in conjunction with the embodiments of this invention. Obviously, the described embodiments are merely some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this invention.

[0044] This method for optimizing the loading of massive points on a GIS map includes the following steps:

[0045] Step S1: Based on the characteristics of customer data access, pre-set the appropriate hierarchical range of usage point aggregation;

[0046] In step S1, based on the spatiotemporal distribution characteristics of customer data access, including data density, geographical range and update frequency, geographic grid partitioning or quadtree indexing technology is used to dynamically calculate and preset the aggregation level threshold.

[0047] For example, set higher aggregation levels (such as Z15-Z18) in data-intensive areas (such as city centers) and lower levels (Z12-Z15) in sparse areas (such as suburbs), and define transition intervals for level switching (such as aggregation / deaggregation triggered by scaling changes of ±2 levels).

[0048] At the same time, by combining data update strategies, differentiated aggregation logic is set for real-time data and historical data to ensure rendering efficiency and information integrity in different scenarios.

[0049] Step S2: Select SVG (Scalable Vector Graphics) as the map marker format to improve drawing efficiency and save time and resources;

[0050] When using symbols on a map, avoid overly complex graphics and labels to improve drawing efficiency and save time and resources.

[0051] As a vector graphic, SVG boasts excellent scalability, maintaining sharpness and clarity regardless of zooming in or out, ensuring markers remain clear and sharp across various map zoom levels. Furthermore, SVG files are small in size and load quickly, contributing to improved overall map application performance and user experience. In addition, SVG supports rich interactive effects and dynamic animations, facilitating the implementation of map features such as hover tooltips and click feedback. More importantly, SVG offers flexible code control, enabling easy integration with mainstream front-end map frameworks (such as Leaflet or OpenLayers), significantly enhancing development efficiency and design flexibility.

[0052] Step S3: Render point data based on the boundary of the map viewport;

[0053] In step S3, the viewport monitoring mechanism of the front-end map frame (Google Maps) is used to capture the coordinates of the visible area of ​​the map container in real time, including the latitude and longitude range and zoom level.

[0054] First, use the spatial index query to return the point data within the viewport range;

[0055] Then, a front-end clipping algorithm is used to filter the data received by the client a second time, removing redundant points outside the viewport edge to reduce the overhead of DOM element creation and rendering.

[0056] In step S3, when using spatial index query, the backend uses PostGIS or GeoHash to perform spatial filtering on the original data and only returns point data within the viewport range;

[0057] For scenarios where the frequency of viewport switching exceeds a custom threshold, a local data cache (such as the LRU algorithm) is established based on a pre-defined dynamic caching mechanism to reuse data from already rendered areas, thereby reducing the cost of repeated calculations.

[0058] Step S4: When the map zoom level is lower than the custom threshold and the data volume exceeds the custom threshold, use the MarkerClusterer strategy to reduce the number of independent markers on the screen to improve map loading speed and user experience.

[0059] In step S4, the MarkerClusterer algorithm (Google Maps JavaScriptClustering library) is introduced and optimized. The specific implementation process is as follows:

[0060] Step S4.1, Adaptive Cluster Radius

[0061] The cluster radius is dynamically calculated based on the current scaling level (e.g., 500 meters for Z12, reduced to 50 meters for Z18) to avoid excessive aggregation at low levels or dispersion at high levels.

[0062] Step S4.2, Hierarchical Rendering

[0063] A progressive clustering strategy is adopted, displaying only a large cluster on the first load to reduce the initial rendering load;

[0064] During user interaction, the clusters are gradually de-aggregated to sub-clusters to improve the speed of perception.

[0065] Step S4.3, Performance Threshold Control

[0066] Set a data volume threshold (e.g., trigger clustering if a single screen exceeds 5000 points), and dynamically adjust the rendering mode (vector / rasterization) in conjunction with CPU-GPU load monitoring;

[0067] Step S4.4: Customize Cluster Style

[0068] It supports dynamically changing the icon style based on the number of cluster points, including color, size, and bubble tips, and adds a summary information floating window (such as "XX points") to enhance information delivery efficiency;

[0069] Step S4.5: Asynchronous loading and lazy merging

[0070] For data streams arriving in batches, a delayed merging strategy (such as a 200ms buffer period) is adopted to avoid frequent cluster reorganization and improve smoothness.

[0071] This GIS map massive point loading optimization system is used to implement the above methods, including:

[0072] The aggregation level preset module is responsible for pre-setting the appropriate aggregation level range of usage points based on the characteristics of customer point access.

[0073] The point layer selection module is responsible for selecting SVG (Scalable Vector Graphics) as the map marker format to improve drawing efficiency and save time and resources;

[0074] The data rendering module is responsible for rendering point data based on the boundary of the map viewport. It uses spatial index query to return point data within the viewport range. It uses a front-end clipping algorithm to perform secondary filtering on the data received by the client, removing redundant points outside the viewport edge to reduce the overhead of DOM element creation and rendering.

[0075] The MarkerClusterer algorithm module is responsible for introducing and optimizing the MarkerClusterer algorithm. When the map zoom level is lower than a custom threshold and the data volume exceeds a custom threshold, the MarkerClusterer strategy is used to reduce the number of independent markers on the screen, thereby improving map loading speed and user experience.

[0076] The GIS map massive point loading optimization device includes a memory and a processor; the memory is used to store computer programs, and the processor is used to execute the computer programs to implement the above-described method steps.

[0077] The readable storage medium stores a computer program that, when executed by a processor, implements the above-described method steps.

[0078] Compared with existing technologies, this GIS map massive point loading optimization method significantly improves the loading speed and rendering efficiency of massive points by introducing a dynamic threshold adjustment mechanism, combining map zoom level and point density distribution characteristics, and optimizing the aggregation strategy of MarkerClusterer.

[0079] Meanwhile, the incremental loading and caching mechanism reduces redundant calculations and DOM operations, lowers system resource consumption, and enhances the smoothness of map interaction, thereby effectively improving the user experience and the stability and practicality of the GIS system.

[0080] The embodiments described above are merely one specific implementation of the present invention. Ordinary changes and substitutions made by those skilled in the art within the scope of the technical solution of the present invention should be included within the protection scope of the present invention.

Claims

1. A method for optimizing the loading of massive points in a GIS map, characterized in that: The method comprises the following steps: Step S1, according to the characteristics of customer data access, the appropriate use point aggregation level range is set in advance; Step S2, select SVG as the map mark format to improve the drawing efficiency and save time and resources; Step S3, render point data based on the boundary of the map viewport; Step S4, when the map zoom level is lower than the custom threshold and the data volume exceeds the custom threshold, use MarkerClusterer strategy to reduce the number of independent markers on the screen to improve the loading speed of the map and user experience.

2. The GIS map mass point loading optimization method of claim 1, wherein: In step S1, according to the space-time distribution characteristics of customer data access, including data density, geographical range and update frequency, the geographical grid division or quadtree index technology is adopted to dynamically calculate and preset the aggregation level threshold; At the same time, combined with the data update strategy, the differential aggregation logic of real-time data and historical data is set to ensure the rendering efficiency and information integrity in different scenarios.

3. The GIS map mass point loading optimization method of claim 1, wherein: In step S3, through the viewport listening mechanism of the front-end map framework, the visible area coordinates of the map container are captured in real time, including the latitude and longitude range and the zoom level; Firstly, use spatial index query to return the point data within the viewport range; Then, use the front-end clipping algorithm to filter out the redundant points outside the viewport edge to reduce the DOM element creation and rendering overhead.

4. The GIS map mass point loading optimization method of claim 3, wherein: In step S3, when using spatial index query, the backend uses PostGIS or GeoHash to perform spatial filtering on the original data and only returns the point data within the viewport range.

5. The GIS map mass point loading optimization method of claim 3, wherein: In step S3, for scenarios where the viewport switching frequency exceeds the custom threshold, a local data cache is established according to the pre-prepared dynamic caching mechanism to reuse the data of the rendered area to reduce the repeated calculation cost.

6. The GIS map mass point loading optimization method of claim 1, wherein: In step S4, the MarkerClusterer algorithm is introduced and optimized, and the specific implementation process is as follows: Step S4.1, adaptive cluster radius Dynamically calculate the cluster radius according to the current zoom level to avoid over-aggregation at low levels or dispersion at high levels; Step S4.2, hierarchical rendering Adopt a progressive clustering strategy, only display large-scale clusters during the first load to reduce the initial rendering amount; When the user interacts, gradually disaggregate to sub-clusters to improve the perception speed; Step S4.3, performance threshold control Set the data volume threshold and dynamically adjust the rendering mode combined with CPU-GPU load monitoring; Step S4.4, custom cluster style Support dynamically changing icon styles according to the number of clustered points, including color, size and bubble prompt, and add a summary information pop-up window to enhance information transmission efficiency; Step S4.5, asynchronous loading and delay merging For data streams arriving in batches, use the delay merging strategy to avoid frequent cluster reorganization and improve smoothness.

7. A GIS map mass point loading optimization system, characterized in that: The method comprises the following steps: An aggregation level preset module is responsible for setting the appropriate point aggregation level range according to the characteristics of customer point access; A point layer selection module is responsible for selecting SVG as the map mark format to improve the drawing efficiency and save time and resources; A data rendering module is responsible for rendering point data based on the boundary of the map viewport, using spatial index query to return point data within the viewport range, and using a front-end clipping algorithm to perform secondary filtering on the data received by the client to eliminate redundant points outside the viewport edge, thereby reducing the overhead of DOM element creation and rendering. A MarkerClusterer algorithm module is responsible for introducing and optimizing the MarkerClusterer algorithm. When the map zoom level is lower than a custom threshold and the data volume exceeds a custom threshold, the MarkerClusterer strategy is used to reduce the number of independent markers on the screen, thereby improving the loading speed of the map and user experience.

8. A GIS map mass point loading optimization device, characterized in that: The memory is configured to store a computer program, and the processor is configured to execute the computer program to implement the method of any one of claims 1-6.

9. A readable storage medium characterized by: The readable storage medium stores a computer program, and the computer program is executed by the processor to implement the method of any one of claims 1-6.

Citation Information

Cited By

  • Large-scale two-dimensional label map aggregation node optimization method

    CN121900677A