Picture scattering display method based on annotation calculation

By using a label-based calculation method, the problems of cross-level continuity and computational burden in map point display on GIS platforms were solved, achieving efficient data display and improved user experience.

CN121616772APending Publication Date: 2026-03-06CHINA THREE GORGES CORPORATION +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202511932729.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-19
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Existing technologies for displaying map points on GIS platforms suffer from problems such as high pressure from low-level map data requests, heavy front-end computing burden, and poor continuity of cross-level display, resulting in network request delays, lag, and discontinuous cross-level display.

Method used

By adopting a label-based calculation method, vector tile data is generated through a dynamic priority-aware level inheritance mechanism, pixel-level rectangle placeholder calculation of icon semantics, and adaptive adjustment of multi-dimensional priority weights. This data is then rendered on the front end, reducing the amount of data requests and computational burden, and ensuring cross-level continuity.

Benefits of technology

It achieves cross-level continuity and efficient rendering of point-based map display on the GIS platform, reduces network request latency and front-end computing burden, and improves user experience and data display consistency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121616772A_ABST
    Figure CN121616772A_ABST
Patent Text Reader

Abstract

The invention provides an annotation calculation-based map-applying point-scattering display method, which relates to the technical field of GIS (Geographic Information System), and comprises the following steps: S1, acquiring a current level of a map and a point data set, executing point data preprocessing operation according to the current level of the map and the point data set, and generating a preprocessed point data set; s2, executing level inheritance calculation operation of dynamic priority perception according to the current level of the map and the preprocessed point data set, and generating a labeling result of the current level; and S3, according to the current level of the map and the labeling result of the current level, executing a pixel-level rectangular frame occupation calculation operation based on icon semantics, and generating an accurate rectangular frame of each point. Through the cooperation of the above structures, the method has the following beneficial effects: firstly, the front end does not need to carry out avoidance calculation on a large amount of data so as to avoid gland display; and 2, data cross-level continuous display can be kept, and the continuity of data display can be continuously ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of GIS technology, and in particular to a method for displaying map points based on annotation calculation. Background Technology

[0002] In the development of GIS-related platforms, overlaying thematic data with coordinate attributes as a special layer onto a base map for point-based visualization is a common scenario for visualizing the spatial relationships between geographic entities and related events and objects. This is widely used in professional fields such as environmental monitoring, emergency command, and traffic control. After thematic data is drawn as polygon, line, and point data, it is spatially overlaid with the base map to clearly display related events and objects on geographic entities. The point-based visualization process typically involves the following steps: First, the thematic point data is imported into a database that supports geospatial queries, such as PostgreSQL; second, the data is published as a vector data layer service through a service engine such as GeoServer; finally, the front-end sends a request to the vector data service based on the latitude and longitude rectangle range visible on the current screen to retrieve the point data within the corresponding range. After loading, the data is drawn onto the map, thus meeting the user's needs for intuitive viewing and business analysis of geospatial data.

[0003] In the method and system for large-scale data aggregation and point mapping published under CN119719206A, the technical solution mainly includes: organizing large-scale point data through intelligent grid division (by jurisdiction or custom rules), using quadtree clustering and grid shortest distance aggregation algorithms to remove redundant points to reduce data volume, and then dynamically adjusting the icon size and color on the front end according to the number of aggregated points to achieve visualization. However, this technical solution has the following problems: First, the request pressure for low-level map data is high. When the user zooms to a low-level map (such as level 10-14), the screen can... First, the latitude and longitude range expands dramatically, and the amount of point data to be loaded increases exponentially, which can easily lead to network request delays. Second, the front-end computing burden is heavy. The front-end needs to perform avoidance calculations on massive amounts of point data to avoid icon overlay. Due to the limitations of the front-end device's computing power, lag is likely to occur. Third, the continuity of cross-level display is poor. The avoidance of point data between different map levels lacks the logic of "inheriting results from higher levels to lower levels" and only relies on random filtering. This results in a cross-level jump phenomenon of point data "displaying at level n, disappearing at level n+1, and then re-displaying at level n+2", which seriously affects the user's operating experience and the continuity of data display. Summary of the Invention

[0004] To address the shortcomings of the existing technologies, the technical problem to be solved by this invention is to provide a method for displaying points on an image based on annotation calculation. This method can solve the technical problem that existing technologies cannot simultaneously guarantee cross-level continuity of point data annotation, pixel-level avoidance accuracy, and dynamic business priority adaptation through a dynamic priority-aware level inheritance mechanism, pixel-level rectangle occupancy calculation based on icon semantics, and multi-dimensional priority weight adaptive adjustment.

[0005] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows: The present invention provides a method for displaying points on an image based on annotation calculation, comprising the following steps: S1. Get the current map level and point data set According to the current map level and point data set Perform point data preprocessing operations to generate a preprocessed point data set. ; S2, Based on the current map level and the preprocessed point data set Perform dynamic priority-aware level inheritance calculation to generate the annotation result for the current level. ; S3, based on the current map level and the annotation results at the current level Perform pixel-level rectangle placeholder calculations based on icon semantics to generate an accurate rectangle for each point. ; S4. Obtain user interaction parameters According to the current map level Annotation results at the current level User interaction parameters Perform multi-dimensional priority weight adaptive adjustment operations to generate the final annotation results. ; S5. Based on the current level's annotation results and the final annotation results Perform vector tile generation and storage operations to generate vector tile data. ; S6. Obtain the visible area According to the final annotation results Visible range and vector tile data Perform front-end acquisition and drawing operations to obtain the rendered point data. .

[0006] In the preferred embodiment, step S1 consists of the following steps: S11. Get the current map level and point data set ( ); in , and Geographic coordinates Icon type, current map level The range is , Priority is defined, and the range is defined. ; S12, Based on the point data set Perform the icon bounding box parameter extraction operation to obtain the icon bounding box parameters for each point; Icon bounding box parameters include icon width Icon height Anchor point X coordinate offset Anchor point Y-coordinate offset ,in , In pixels , It is a percentage of the icon size, and the range is... ; S13. According to icon type Perform semantic buffer computation operations to obtain the semantic buffer. The calculation formula is: ; The specific steps for calculating the semantic buffer in step S13 are as follows: S131. Obtain the business scenario parameter "scene" based on the icon type. Perform a basic buffer distance query operation with the business scenario parameter `scene`; S132. Perform a basic buffer distance acquisition operation based on the type and scene mapping table to obtain the basic buffer distance. :

[0007] S133. Obtain the device type parameter, perform a buffer distance adjustment operation based on the device type parameter, and obtain the adjusted semantic buffer. ,in Indicates the equipment adjustment coefficient. ; S14. Based on the bounding box parameters and semantic buffer, output the preprocessed point data set. ; in .

[0008] In the preferred embodiment, step S2 consists of the following steps: S21, according to Perform the inheritance level chain determination operation to obtain the inheritance level chain. ,in ; S22. Perform annotation result initialization operation and set the initial annotation results. It is an empty set; S23, According to the hierarchy chain and point data set Execution level inheritance traversal calculation operation: If the current level is Then set ; If the current level is ( ), then according to Perform avoidance filtering calculations and obtain : ; Based on the bounding box and priority, perform an avoidance condition judgment operation to obtain the current level. annotation results The avoidance conditions are as follows: The rectangle and The rectangles at other points in the middle do not overlap, and ,in ; The specific steps for the avoidance condition in step S23 are as follows: S231, According to the point The parameters are used to perform a rectangle calculation operation and obtain... ; S232, according to Each point in Perform a rectangle calculation operation to obtain... ; S233, According to the rectangle and Perform an overlap detection operation and obtain the overlap detection result. ; S234. Based on the overlap judgment result, perform the overlap point retention judgment operation. Time Retention Point .

[0009] In the preferred embodiment, step S3 specifically involves the following steps: S31. Obtain geographic coordinate range parameters According to the annotation results Each point in Perform pixel coordinate calculation operations with geographic coordinate range parameters to obtain pixel coordinates. : ; ; S32, Based on pixel coordinates and anchor point parameters Perform the operation to calculate the center coordinates of the rectangle and obtain the center coordinates. : ; ; S33, Based on the center coordinates Icon size and semantic buffer Perform a rectangle boundary calculation operation to obtain the boundary coordinates: ; ; ; ; S34. Output the precise rectangle of each point based on the boundary coordinates. .

[0010] In the preferred embodiment, step S4 consists of the following steps: S41. Obtain user interaction parameters User interaction parameters Including scaling speed Focus area and user-defined priority weights ; Among them, scaling speed The range is Focus area The range is User-defined priority weights The range is ; S42. Based on user interaction parameters Perform dynamic priority weight calculation operation to obtain dynamic priority weight. : ; The specific steps for calculating the dynamic priority weight in step S42 are as follows: S421, Based on scaling speed Focus area and user-defined priority weights Perform a weighted sum calculation operation; S422. Obtain the dynamic priority weights by performing a normalization calculation based on the weighted sum. ; S423, Based on dynamic priority weights Perform a weight limit operation to adjust the dynamic priority weight. It is limited to the range [0,1].

[0011] S43. Based on the annotation results Each point in priority and dynamic priority weight Perform a priority adjustment operation and obtain the adjusted priority. : ; S44. According to the adjusted priority Perform a sorting operation on the annotation results to obtain the final sorted annotation results. .

[0012] In the preferred embodiment, step S5 specifically involves the following steps: S51. Based on the final annotation results pixel coordinates of each point Perform a tile number calculation operation to obtain the tile number. : ; ; S52. Based on the final annotation results and tile number Perform a vector tile grouping generation operation to obtain vector tile data. ; S53, Based on vector tile data Perform a storage operation to store the data in the database in key-value format.

[0013] In the preferred embodiment, step S6 specifically involves the following steps: S61. Obtain the visible range According to the visible range Perform a visual tile number set calculation operation to obtain the visual tile number set. ; S62, Based on the set of visible tile numbers Perform a vector tile data acquisition operation to retrieve the corresponding vector tile data from the database. ; S63, Based on vector tile data Perform front-end data transformation operations to obtain renderable point data. ; S64, Based on renderable point data Perform map rendering operations and output the rendered point data. .

[0014] The preferred solution also includes an exception handling mechanism: S71. Obtain system monitoring data, and perform anomaly detection operations based on the system monitoring data. When a data missing rate is detected... When an alarm is triggered, among which Indicates the proportion of missing data. Indicates the alarm threshold; S72. Obtain the backup data of the verification node and perform a fast recovery operation based on the backup data of the verification node; S73. Obtain the interpolation completion deviation parameter, and perform manual intervention judgment based on the interpolation completion deviation parameter. When the deviation exceeds the threshold... The process of manual intervention is triggered when a pixel is reached.

[0015] The preferred approach also includes dynamic optimization of the semantic buffer distance: S81. Obtain icon overlay rate monitoring data Based on icon overlay monitoring data, a buffer distance adjustment operation is performed to dynamically adjust the semantic buffer distance. : when hour, ; when hour, ; S82. Obtain the buffer distance adjustment result, and perform the buffer distance limit operation based on the adjustment result. , .

[0016] This invention provides a method for displaying points in an image based on annotation calculation. Through the coordination of the above-mentioned structures, it has the following advantages compared to existing methods: First, by prioritizing annotation calculations, the amount of data requested by the front-end through the network is reduced. Furthermore, prioritizing annotation calculations eliminates the need for the front-end to perform avoidance calculations on large amounts of data to prevent overloading the display. Moreover, prioritization allows for flexible adjustment and setting of avoidance strategies, enabling complex calculation strategies to be implemented in advance without being limited by front-end computing resources and time constraints. Secondly, it maintains the continuity of data display across levels. Annotation calculations inherit results from higher levels, ensuring consistent data display across levels and making map annotations stable when zooming across levels, avoiding flickering effects caused by icons appearing and disappearing. Furthermore, when data requests from the front end encounter errors, data interpolation between adjacent levels can continue to ensure the continuity of data display. Third, the display priority of icons and the density of the image can be dynamically adjusted according to different user interests. By setting the data placeholder priority order and expanding the buffer according to the data type and data ID, the display content can be personalized according to the scenario and user requirements. Attached Figure Description

[0017] The present invention will be further described below with reference to the accompanying drawings and embodiments: Figure 1 This is a schematic diagram of the rectangular frame generated by the present invention; Figure 2 This is a schematic diagram of the rectangular frame avoidance method of the present invention; Figure 3 This is a schematic diagram of the front-end data retrieval of the present invention; Figure 4 This is a schematic diagram of adjacent-level data interpolation according to the present invention; Figure 5 This is a schematic diagram illustrating the results of the annotation calculation at each level in this invention; Figure 6 This is a schematic diagram illustrating the multi-level overlay of the annotation calculation results of this invention; Figure 7 This is a schematic diagram of the output of the annotation calculation results of this invention; Figure 8 This is a schematic diagram of the computer device of the present invention. Detailed Implementation

[0018] To better understand the purpose, technical solution, and beneficial effects of this invention, the embodiments and technical features in these embodiments can be combined with each other without conflict. The exemplary embodiments of this invention will be described in detail below with reference to the accompanying drawings, including specific details of the embodiments (such as map level ranges, icon parameters, calculation logic, etc.) to aid understanding. These details should be considered exemplary only. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein (such as adjusting map level ranges, optimizing buffer parameters, etc.) without departing from the scope and spirit of this invention. Similarly, for clarity and brevity, detailed descriptions of well-known GIS data storage (such as PostgreSQL database applications), vector data service publishing (such as GeoServer engine basic functions), and front-end map rendering (such as Canvas drawing basic logic) functions and structures are omitted in the following description.

[0019] In the field of GIS (Geographic Information System) technology, the visualization of thematic point data by overlaying it onto a map layer is a core technology for realizing the correlation and display of geospatial information and business data. It is widely used in professional scenarios such as environmental monitoring, emergency command, and traffic control. By overlaying business point data with latitude and longitude coordinate attributes (such as environmental monitoring points, emergency rescue points, and transportation stations) onto a base map layer, the spatial distribution characteristics of the data can be presented intuitively, providing key support for spatial analysis and decision-making by business personnel. As business scale expands, the amount of thematic point data often reaches tens of thousands to hundreds of thousands. Traditional point-spreading methods are no longer sufficient to meet the needs of efficient visualization: the front end needs to request data based on the current visible latitude and longitude range. For low-level maps (such as levels 10-14), the surge in visible range leads to a surge in data requests, which can easily cause network latency. At the same time, the front end needs to perform icon avoidance calculations on massive amounts of data in real time to avoid overlaying, which often results in interface lag due to the limitations of terminal device computing power. More importantly, there is a lack of logic for "higher-level results to be inherited from lower-level results" between different map levels. Point data display is prone to the phenomenon of "n-level display, n+1-level disappearance, n+2-level re-display", which seriously affects the user experience and the continuity of data display.

[0020] To address the challenges of visualizing large volumes of point data, the industry has gradually explored data preprocessing and aggregation technologies. Among these, the solution closest to the application scenario of this invention is "grid partitioning combined with distance aggregation." However, this approach still has significant limitations: Firstly, aggregation is based solely on geographic coordinate grids or distance thresholds, without considering the actual size of the icons, anchor point types, and semantic buffering requirements, resulting in high icon edge overlap. Secondly, data at each level is calculated independently, lacking an inheritance mechanism for passing results from higher levels to lower levels, thus failing to address the issue of cross-level jumps. Furthermore, it does not consider the differences between PC and mobile devices, making it difficult to adapt to the display accuracy and computing power requirements of different terminals. These limitations make it difficult for existing technologies to simultaneously meet the three core requirements of "data volume optimization," "display accuracy control," and "cross-level continuity assurance," and thus cannot satisfy the high demands for thematic point data visualization in fields such as environmental protection and emergency response.

[0021] The proposed solution, "A Method for Displaying Points in an Image Based on Annotation Calculation," is designed to address the aforementioned pain points: it ensures cross-level data continuity through "multi-level inheritance annotation calculation," that is, it calculates step by step from level 19 to level 10, with the input of the next level being the result of the previous level; it improves obstacle avoidance accuracy through "semantic pixel-level placeholder calculation"; it reduces data request latency through "vector tile key-value storage"; and it adapts to multi-terminal scenarios through "device adaptive rendering."

[0022] Example 1 like Figures 1-7 As shown, to make the technical solution of the present invention clearer and easier to understand, the technical solution of the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments. This embodiment is based on the thematic point data of a certain area in Beijing, which covers a map level of 1019 and supports adaptation to PC and mobile devices. The thematic point data used is environmental monitoring point data of a certain area in Beijing. Data size: 50,593 records in total; Geographic range: lower left corner latitude and longitude (116.3752, 39.9155), upper right corner latitude and longitude (116.4994, 39.9993). Icon parameters: All icons are 32×32 pixel square / circular icons, with the default center anchor point (anchor_x=0, anchor_y=0). Basic configuration: initial semantic buffer = 10 pixels, initial data priority = 5 (without special user-defined settings); Database and services: PostgreSQL is used to store raw data, Redis to store vector tiles, and GeoServer to provide vector data services.

[0023] Example 1: Basic Mapping and Dot Scattering Process This embodiment achieves a complete closed loop from data preprocessing to front-end rendering, and the steps are as follows: S1. Point Data Preprocessing Steps S11. Parameter Acquisition Input: Current map level (Highest level, highest precision), point data set (50,593 entries), each The structure is as follows: ,in: : The latitude and longitude of the monitoring point, for example, a certain point ; 80% of the data are "circle" (circular monitoring markers), and 20% are "square" (square warning markers). The default value is 5 (this value can be adjusted through user interaction later).

[0024] S12. Extracting Icon Boundary Parameters Execution operation: based on Query the preset icon library and extract the bounding box parameters: Circular icon: Pixels Pixels (circular icons have the same width and height); Square icon: Pixels Pixel; Anchor point parameter: Default is centered display. , The value ranges from 1 to 1, with 0 indicating no offset relative to the center of the icon.

[0025] Output: Set of bounding box parameters for each point .

[0026] S13. Semantic Buffer Computation Perform the operation: according to the formula in claim 2, combined with calculate : Circular icon: Pixels, rounded to 6 pixels; Square icon: Pixels, rounded to 10 pixels; Device adaptation adjustment: Use the above calculated values ​​on the PC side, and on the mobile side... Adjustment, i.e., circular icon Pixel, square icon The pixel device adaptation logic is shown in Table 1, "Illustration Table of PixelExtend Configuration Based on Data Type for Annotation Calculation," which illustrates the parameter differences between mobile and PC versions. Table 1. An illustration of pixExtend configuration based on data type for annotation calculation.

[0027] Output semantic buffer , of Pixel.

[0028] S14. Output of Preprocessing Results Execution: Integration Bounding box parameters ,form Each The structure is as follows: ; Output That is, 50,593 data points, and The quantities are the same, and new bounding boxes and buffer parameters are added as inputs to S2.

[0029] The specific steps for calculating the level inheritance of S2. Dynamic priority-aware system are as follows: S21. Determining the Inheritance Level Chain enter: , ; Execution: Build the level chain (10 levels in total); Output Clearly define the data inheritance path.

[0030] S22. Initialization of annotation results Perform the following action: Set the lowest level. Initial annotation results (Empty set), subsequent levels are iterated based on the results of higher levels.

[0031] S23. Level Inheritance Traversal Calculation by → Taking the calculation as an example (the logic remains the same at subsequent levels): S231: hour, (50,593 data points, no preprocessing level, preprocessing results used directly); S232: ( (One level lower than level 19), according to calculate : Formula application: ; S233: Avoidance condition judgment: calculate Each The rectangular frame, 166, +16+6, because anchor=0, width=32; Priority threshold , It meets the priority condition; like Figure 2 As shown, overlap judgment: for In and (Adjacent points), if of , of ,but No overlap, retained ; like of Then with Overlap, Remove , Figure 2 The rules for eliminating overlapping rectangles are clearly shown in the text; Output After filtering, approximately 32,000 data points were obtained, as shown in Table 6 below, under "Comparison of Annotated Calculation Data Volume," specifically the section on "Reduction in Low-Level Data Volume." Table 6 Comparison of Calculated Data Volume

[0032] S24. Output of current level annotation results like Figure 5 As shown, the operation performed is: traversal. to Output (50593 entries), as input to S3; if Then output Approximately 15,000 entries, in Figure 5 The display effect of "Level 16 data" in (c) shows that the number of Level 16 points is significantly less than that of Level 18 points.

[0033] S3. Steps for calculating pixel-level rectangular bounding space S31. Pixel coordinate calculation enter: ( (For example), geographic range parameters , , , , ; In this embodiment, the following formula is used for calculation. : ; ; This formula is the mathematical expression of the WebMocator projection calculation formula: Longitude span: Spend; Level pixel coefficient: Pixels, and "ground" Figure 1 The projection ratio of Level 1 is consistent with that of a 512×512 pixel map, Level 2 is 1024×1024, and so on. Pixel; The latitude calculation logic is the same. Pixel; Output pixel coordinates .

[0034] S32. Calculation of the center coordinates of the rectangle enter: , , , ; Perform the operation according to the formula: Pixel; Pixel; Output: Center coordinates .

[0035] like Figure 1 As shown in Figure S33, the specific steps for calculating the boundary of the rectangular frame are as follows: enter: , , , ; Execution: Calculate the following based on the boundary formula: ; ; ; ; Figure 1The relationship between "iconWidth", "iconHeight", "buffer" and the rectangle's boundaries (minX / minY / maxX / maxY) is clearly marked, and the specific calculations are as follows: Pixel; Pixel; Pixel; Pixel; Output: Precise rectangular frame ,and Figure 1 The structure of the middle rectangle is a perfect match.

[0036] S34. Output of a set of rectangles Execution operation: Traversal Output a set of rectangles containing all points. (50593), as input to S4.

[0037] S4. The specific steps for adaptive adjustment of multi-dimensional priority weights are as follows: S41. Obtaining User Interaction Parameters Input: User's actions on the PC, interaction parameters for: (Normal scaling speed, between 0.1 and 10). ( Located in the focus area clicked by the user (0~1). (The user-defined weight of "monitoring point" is 0.8, 0~1). This custom weight logic can be implemented through Table 4 "Illustration Table of Priority Configuration for Label Calculation Based on Data ID" in the "New Technology Disclosure", that is, a priority weight is set separately for monitoring points with specific IDs. Output: .

[0038] S42. Dynamic Priority Weight Calculation enter: ; Perform the operation as described in claim 5: ; Weighting restrictions: (Within the range of 0 to 1); Output: .

[0039] S43. Priority Adjustment enter: , of ; Perform the following operation: ; If the user sets the "warning points" As shown in Table 3, "Illustration Table of Priority Configuration for Label Calculation Based on Data Type," the high priority setting for "Early Warning" data is as follows: (No change, if) and ,but , ); Table 3 illustrates the priority configuration for annotation calculations based on data type.

[0040] Output adjusted priority .

[0041] S44. Sorting of Annotation Results enter: of ; Perform the operation: Press Sort in descending order; if the priorities are the same, sort in ascending order by data ID to ensure that high-priority data takes priority, such as warning points taking priority over ordinary monitoring points. Output the final annotation results ,Right now of The number remains at 50,593. There are no removals due to differences in priority. If there are high-priority warning points, they will be retained as input for S5.

[0042] A higher priority value means that the point takes priority in occupying space on the canvas, and other data that overlaps with it are ignored and not included in the subsequent annotation display. To optimize the display of local points, a priority value can be set individually for each data point based on its data ID, as shown in Table 4: Table 4 illustrates the priority configuration based on data ID for annotation calculation.

[0043] S5. The specific steps for generating and storing vector tiles are as follows: S51. Tile Number Calculation enter: middle of Pixel; Execution: Calculate the tile number according to the formula as follows: ; Similarly, calculate ; Output tile number .

[0044] like Figure 7 As shown, the specific steps for generating vector tiles in S52 are as follows: enter: Tile number; Perform the operation: All correspond , Point grouping to generate tile data Each data entry contains Data Structures and Figure 7 (b) The field definitions of "id", "type", "x", and "y" in the "tile data details diagram" are completely matched; Output (Including data from 28 monitoring points within the tile).

[0045] S53. Tile Storage Execute the operation: Store the key-value pair in Redis with key=19_139375_73906 and value=V_{19_139375_73906}, and set the expiration time to 24 hours (to meet the needs of daily data updates). Output a successful storage indicator; tile data can be quickly retrieved using the key.

[0046] like Figure 7 As shown, the specific steps for S54. Vector tile output are as follows: Execution operation: Traversal Output all tile numbers and the full vector tile data, such as approximately 1800 tiles for level 19. Figure 7 (a) In the structure of "Schematic diagram of output results by tile according to level", Figure 7 (a) clearly shows the hierarchical relationship between “zoom_level”, “tile_key”, and “features”.

[0047] like Figure 3 As shown, the specific steps of S6. Front-end acquisition and drawing are as follows: S61. Visual Tile Set Calculation Input: Visible area on the front-end PC (latitude and longitude); Perform the operation: Convert to pixel range (logic same as S31), match tile number set ,exist Figure 3 The overlapping relationship between the green square (currently visible on the screen) and multiple tiles is the filtering logic for the set of visible tiles; Output (3 tiles).

[0048] As shown in Table 5, vector tiles are requested using a hierarchical request method on the PC, while a two-level reuse method can be used on the mobile device. Table 5 Tile-level Reuse Strategy

[0049] S62. Tile Data Acquisition enter: ; Execution: The frontend requests tile data from Redis via the GeoServer interface. If the tile is cached and has not expired (e.g....), the frontend performs the operation. If not cached, return directly; if not cached, trigger the S5 real-time generation process. Output: The corresponding 3 tile data.

[0050] S63. Front-end data conversion Perform the following operation: Extract the latitude and longitude coordinates from the tile data. Convert to front-end Canvas pixel coordinates to adapt to PC screen resolution (1920×1080). Output: Renderable point data (Including 28+32+25=85 points).

[0051] like Figure 6 As shown, the specific steps for map rendering in S64 are as follows: Execution: Call the Canvas API to draw the points: Circular icon: (Radius 16 pixels, corresponding to a 32x32 icon); Color: Monitoring points are blue (0088FF), warning points are red (FF4444), rendering effect as follows: Figure 6 Points of different levels (level 14, level 15, level 17, etc.) are superimposed in different layers, without overlapping and continuously; Output the rendered map interface, and... Figure 6 The display effect is consistent.

[0052] S65. Final Result Output Execution: The front-end displays the rendered point data. It supports user scaling. For example, when scaling from level 19 to level 18, it automatically requests level 18 tiles, and there is no skipping of levels during the scaling process. Output: The user-visible dot-scattering interface shown in the image above, without overlapping or skipping levels.

[0053] Example 2 The specific steps for implementing the exception handling mechanism are as follows: like Figure 4 As shown, the "adjacent level data interpolation" in this embodiment simulates the scenario of "missing a certain tile at level 15". The steps are as follows: S71. Anomaly Detection Input: The system monitors level 15 tiles. Get the failure log; Perform the following operation: Calculate the missing data rate at level 15. (Only one tile is missing, not exceeding) (No alarm is triggered, but data recovery is required). Output: Missing tile markers and the range of missing tiles (latitude and longitude: 116.40~116.42, 39.93~39.95).

[0054] S72. Quick Recovery Input: Missing tile range, verification node backup data (level 16 and level 14 tiles). 1. Obtain 4 tiles corresponding to level 16 (m+1): , , , (Including data) (4 monitoring points), corresponding to Figure 4 The four data blocks with a level of "m+1" are in the middle. 2. Obtain one tile from the corresponding range of level 14 (m1 level): (Including data) (Retain only) (Points), corresponding Figure 4 One data block of level m1; 3. Prioritize retaining level 14. data, Figure 4 The document explicitly states that "data displayed on lower-level tiles should be retained first," and then... Perform the avoidance calculation, similar to step S23 above, and eliminate those that are... Overlapping ,Right now of , of Overlap, retain c and d; Output the restored level 15 tile data .

[0055] S73. Judgment by human intervention Input: Deviation between recovered data and historical normal data ( coordinate deviation (pixels) Perform the following operation: Pixels, no manual intervention required; If the deviation exceeds 10 pixels (e.g.) (Coordinate deviation of 12 pixels) triggers an email alert to notify the administrator. Output: Recovery complete indicator. As input to S6, it ensures continuous front-end rendering.

[0056] Example 3: The specific steps for dynamic optimization of semantic buffers are as follows: The "dynamic adjustment of buffer distance" in this embodiment solves the problem of "excessive coverage rate on mobile devices". The steps are as follows, and the parameter configuration is based on the mobile device strategy in Table 1 above: like Figure 2 , 5 As shown, the specific steps for monitoring the capping rate in S81 are as follows: Input: Rendering logs from the mobile device (2340×1080 resolution), showing the icon coverage rate of level 18 tiles. (Exceeding the 15% threshold), the capping phenomenon can be detected through... Figure 2 A diagram illustrating an "overlapping rectangle" in Chinese; Execution: Adjust according to the rules. Furthermore, the logic was adjusted to align with the requirement in Table 1, "Illustration Table of PixExtend Configuration Based on Data Type for Annotation Calculation," which states that "mobile devices should use a sparser annotation display strategy, and the mobile pixExtend should be set to twice that of the PC." Original circular icon Pixels (initial value for mobile devices, already 1.2 times that of PC devices); After adjustment: Pixels, rounded down to 8 pixels; Output adjustment Pixel.

[0057] S82. Buffer Distance Limitation Input: Adjusted Pixel; Perform the following operation: Check if it is in ~ Within the specified range, 8 pixels meets the requirements; if the adjusted value is 16 pixels, force it to be set to 15 pixels. Output: Final Pixels, as a supplementary input to S13.

[0058] S83. Optimization Effect Verification Execution: Re-execute S1S6, using Pixel; Output: Coverage rate of 18-level tiles on mobile devices (Reduced to a reasonable range of 5%~15%), the chart shows a decrease in density but no key data omissions. Figure 5 (b) In the display density trend of “18-level data”, the lower the level and the lighter the device, the sparser the density.

[0059] Example 3 For individual data, pixExtend can be specially adjusted based on the data ID, as shown in Table 2 below: Table 2 shows an example of pixExtend configuration based on data ID for annotation calculation.

[0060] In Tables 1 and 2, it is assumed that a sparser labeling strategy is used on mobile devices, and that the pixExtend setting is twice that on PCs.

[0061] Example 4 Further explanation is provided in conjunction with Examples 1 and 2, such as Figure 8 The structure shown. Figure 8 A schematic diagram of the structure of a computer device provided in an embodiment of this application. The computer device includes: Processor, memory, communication bus, and computer programs stored in memory that can run on the processor.

[0062] The processor can call a computer program in memory, and when executing the program, implement the map-based point display method based on annotation calculation provided in the above embodiments. The method includes: S1, obtaining the current map level. and point data set According to the current map level and point data set Perform point data preprocessing operations to generate a preprocessed point data set. S2, based on the current map level and the preprocessed point data set Perform dynamic priority-aware level inheritance calculation to generate the annotation result for the current level. S3, based on the current map level and the annotation results at the current level Perform pixel-level rectangle placeholder calculations based on icon semantics to generate an accurate rectangle for each point. S4. Obtain user interaction parameters According to the current map level Annotation results at the current level User interaction parameters Perform multi-dimensional priority weight adaptive adjustment operations to generate the final annotation results. S5. Based on the annotation results of the current level. and the final annotation results Perform vector tile generation and storage operations to generate vector tile data. S6. Obtain the visible range According to the final annotation results Visible range and vector tile data Perform front-end acquisition and drawing operations to obtain the rendered point data. .

[0063] Furthermore, the computer device also includes: The Communications Interface (CI) is used for communication between the memory and the processor.

[0064] The memory may include high-speed RAM, and may also include non-volatile memory, such as at least one disk drive.

[0065] If the memory, processor, and communication interface are implemented independently, they can be interconnected via a bus to communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 8 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0066] Furthermore, when the logical instructions in the aforementioned memory can be implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, essentially, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0067] A processor may include one or more processing units, such as an application processor (AP), an application-specific integrated circuit (ASIC), a modem processor, a central processing unit (CPU), an image signal processor (ISP), a controller, memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors. The controller may serve as a central nervous system and command center. The controller generates operation control signals based on instruction opcodes and timing signals to control instruction fetching and execution. The processor may also include memory for storing instructions and data. In some embodiments, the memory in the processor is a cache memory. This memory can store instructions or data that the processor has recently used or that is used repeatedly. If the processor needs to reuse the instruction or data, it can directly retrieve it from the memory. This avoids repeated access, reduces processor waiting time, and thus improves system efficiency.

[0068] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0069] Display devices are used to display images, videos, etc. Display devices may include display panels, which can be liquid crystal displays (LCDs), organic light-emitting diodes (OLEDs), active-matrix organic light-emitting diodes (AMOLEDs), flexible light-emitting diodes (FLEDs), MiniLEDs, MicroLEDs, Micro-OLEDs, quantum dot light-emitting diodes (QLEDs), etc.

[0070] Alternatively, in a specific implementation, if the memory, processor, and communication interface are integrated on a single chip, then the memory, processor, and communication interface can communicate with each other through an internal interface.

[0071] On the other hand, embodiments of this application also provide a computer-non-transitory readable storage medium storing a computer program thereon. When executed by a processor, this program implements the above-described method for displaying map points based on annotation calculation. The method includes: S1, obtaining the current map level. and point data set According to the current map level and point data set Perform point data preprocessing operations to generate a preprocessed point data set. S2, based on the current map level and the preprocessed point data set Perform dynamic priority-aware level inheritance calculation to generate the annotation result for the current level. S3, based on the current map level and the annotation results at the current level Perform pixel-level rectangle placeholder calculations based on icon semantics to generate an accurate rectangle for each point. S4. Obtain user interaction parameters According to the current map level Annotation results at the current level User interaction parameters Perform multi-dimensional priority weight adaptive adjustment operations to generate the final annotation results. S5. Based on the annotation results of the current level. and the final annotation results Perform vector tile generation and storage operations to generate vector tile data. S6. Obtain the visible range According to the final annotation results Visible range and vector tile data Perform front-end acquisition and drawing operations to obtain the rendered point data. .

[0072] In another aspect, embodiments of this application also provide a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. The computer program can execute computer instructions, and when executed by a processor, the computer can perform the map-based point-spreading display method provided by the above methods. This method includes: S1, obtaining the current map level. and point data set According to the current map level and point data set Perform point data preprocessing operations to generate a preprocessed point data set. S2, based on the current map level and the preprocessed point data set Perform dynamic priority-aware level inheritance calculation to generate the annotation result for the current level. S3, based on the current map level and the annotation results at the current level Perform pixel-level rectangle placeholder calculations based on icon semantics to generate an accurate rectangle for each point. S4. Obtain user interaction parameters According to the current map level Annotation results at the current level User interaction parameters Perform multi-dimensional priority weight adaptive adjustment operations to generate the final annotation results. S5. Based on the annotation results of the current level. and the final annotation results Perform vector tile generation and storage operations to generate vector tile data. S6. Obtain the visible range According to the final annotation results Visible range and vector tile data Perform front-end acquisition and drawing operations to obtain the rendered point data. .

[0073] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).

[0074] For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit a program for use in or in conjunction with an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing. Furthermore, a computer-readable medium can even be paper or other suitable media on which the program can be printed, since the program can be obtained electronically by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.

[0075] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0076] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0077] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0078] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other.

[0079] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0080] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of this application.

Claims

1. A method for displaying a map based on a marked calculation, characterized in that, The method comprises the following steps: S1, obtaining a current level of a map and a point data set , performing a point data preprocessing operation according to the current level of the map and the point data set to generate a preprocessed point data set ; S2, according to the current level of the map and the preprocessed point data set perform a level inheritance calculation operation with dynamic priority awareness, to generate a labeling result of the current level ; S3、According to the current level of the map And the annotation result of the current level Perform icon semantic-based pixel-level rectangular frame placeholder calculation operation to generate accurate rectangular frame for each point ; S4, acquire user interaction parameter , according to the current level of the map , the labeling result of the current level and the user interaction parameter perform multi-dimensional priority weight adaptive adjustment operation to generate the final labeling result ; S5、according to the annotation result of the current level and the final annotation result performing vector tile generation and storage operations to generate vector tile data ; S6, acquiring a visible range , according to the final labeling result , a visible range and vector tile data perform front-end acquisition and drawing operations to obtain rendered point data .

2. The method according to claim 1, wherein, The specific steps of step S1 are as follows: S11, acquiring a current level of a map and point data set ( ) then ; wherein, and is a geographic coordinate, is an icon type, is a priority; S12、according to the point data set An icon boundary box parameter extraction operation is performed to obtain the icon boundary box parameter of each point. icon border box parameters include icon width icon height anchor point X coordinate offset anchor point Y coordinate offset wherein , is in pixel units, , is a percentage of the icon size; S13, according to the icon type performing a semantic buffer computation operation to obtain a semantic buffer ; S14, output the preprocessed point data set according to the bounding box parameter and the semantic buffer ; wherein .

3. The method of claim 1, wherein the method further comprises: The specific steps of step S2 are as follows: S21, according to the current level of the map performing the inheritance level chain determination operation to obtain the inheritance level chain wherein ; S22, perform a labeling result initialization operation, set an initial labeling result is an empty set; S23. According to the level chain and point data set perform level inheritance traversal computation operation: If the current level is , then set ; If the current level is ( ), then according to avoidance filtering calculation is performed to obtain ; According to the rectangular frame and the priority, a dodge condition judgment operation is performed to obtain a current level of the labeling result .

4. The method of claim 1, wherein the method further comprises: The specific steps of step S3 are as follows: S31, acquire the geographic coordinate range parameter , according to the annotation result each point and the geographic coordinate range parameter, perform a pixel coordinate calculation operation to acquire the pixel coordinate ; S32、According to the pixel coordinates and anchor point parameters Perform a rectangular frame center coordinate calculation operation to obtain the center coordinates ; S33、according to the center coordinates , icon size and semantic buffer performing a rectangular frame boundary calculation operation to obtain boundary coordinates: ; ; ; ; S34, output the accurate rectangular frame of each point according to the boundary coordinates .

5. The method of claim 1, wherein the method further comprises: The specific steps of step S4 are as follows: S41、acquire user interaction parameters , the user interaction parameters include zoom speed , focus area and user-defined priority weight ; S42、 according to the user interaction parameter performing a dynamic priority weight calculation operation to obtain a dynamic priority weight ; S43、according to the labeling result each point in the set priority of each point and the dynamic priority weight perform a priority adjustment operation to obtain an adjusted priority ; S44、according to the adjusted priority performing a labeling result sorting operation to obtain a sorted final labeling result .

6. The method of claim 1, wherein the method further comprises: The specific steps of step S5 are as follows: S51、According to the final labeling result Pixel coordinates of each point Perform tile number calculation operation to obtain tile number ; S52、According to the final labeling result and tile number Perform a vector tile grouping generation operation to obtain vector tile data ; S53、According to the vector tile data A storage operation is performed to store the data in a key-value form into the database.

7. The method of claim 1, wherein the method further comprises: The specific steps of step S6 are as follows: S61、acquire visual range , according to the visual range perform a visible tile number set calculation operation to acquire a visible tile number set ; S62、According to the visible tile number set Perform a vector tile data acquisition operation to acquire corresponding vector tile data from the database ; S63、According to the vector tile data Performing a front-end data conversion operation to obtain renderable point data ; S64, based on the renderable point data performing a map rendering operation, outputting rendered point data .

8. The method of claim 2, wherein the method further comprises: The specific steps of semantic buffer calculation in step S13 are as follows: S131, acquire a service scene parameter scene, perform a basic buffer distance query operation according to the icon type and the service scene parameter scene; S132, performing a basic buffer distance obtaining operation according to the type-scene mapping table to obtain a basic buffer distance : ; S133, acquire a device type parameter, perform a buffer distance adjustment operation according to the device type parameter, and acquire an adjusted semantic buffer wherein denotes a device adjustment coefficient, .

9. The method according to any one of claims 1 to 8, wherein the method further comprises: The specific steps of the exception handling mechanism are as follows: S71, acquire system monitoring data, perform an anomaly detection operation according to the system monitoring data, and trigger an alarm when a data missing rate is detected, represents a missing data proportion, represents an alarm threshold. S72, acquire the check node backup data, and execute the fast recovery operation according to the check node backup data; S73, obtaining an interpolation completion bias parameter, performing an artificial intervention determination operation according to the interpolation completion bias parameter, when the bias exceeds a threshold The pixel triggers the artificial intervention process.

10. The method for displaying the upper sprinkler according to any one of claims 1 to 8 based on the marked calculation, characterized in that, The dynamic optimization of the semantic buffer distance is further included. S81, acquire icon cover rate monitoring data , perform buffer distance adjustment operation according to icon cover rate monitoring data, dynamically adjust semantic buffer distance : When time, ; When time, ; S82, acquire the buffer distance adjustment result, perform the buffer distance limiting operation according to the adjustment result, set , .

Citation Information

Patent Citations

  • Method and system for large-batch data aggregation on-graph point scattering

    CN119719206A