A geographic information surveying and mapping method and system based on remote sensing big data analysis
By using 3D Hilbert curve dimensionality reduction encoding and R-tree indexing with dynamic weighted splitting cost function, combined with query window parameters to predict the browsing area, the problems of high overlap rate of R-tree index nodes and low accuracy of remote sensing tile prefetching are solved, achieving efficient real-time rendering and smoothness of the surveying and mapping system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANDONG ZHENGTU INFORMATION POLYTRON TECH INC
- Filing Date
- 2026-06-30
- Publication Date
- 2026-07-31
AI Technical Summary
In existing technologies, the single splitting strategy of R-tree index nodes leads to high node overlap and low retrieval efficiency. The lack of comprehensive scheduling in remote sensing tile data prefetching results in low prefetching accuracy, making it difficult to achieve delayed real-time rendering and rapid mapping in surveying and mapping interaction scenarios.
By constructing a geographic information mapping method based on remote sensing big data analysis, a one-dimensional index sequence is generated using three-dimensional Hilbert curve dimensionality reduction encoding. Combined with an R-tree index based on a dynamic weighted splitting cost function, the frequency of node access and timestamps are recorded. The browsing area is predicted by comprehensively considering query window parameters, and the prefetch priority is calculated and the loading order is optimized.
It effectively reduces the overlap rate of index nodes in three-dimensional space, improves spatial retrieval efficiency, accurately predicts user access needs, reduces invalid data loading, optimizes cache resource utilization, and improves the real-time rendering speed and smoothness of the surveying and mapping system.
Smart Images

Figure CN122489674A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of geographic information mapping technology. More specifically, this invention relates to a geographic information mapping method and system based on remote sensing big data analysis. Background Technology
[0002] Modern remote sensing imagery is characterized by high resolution, multiple temporal phases, and multiple scales, and its data volume continues to grow. In geographic mapping and real-time interactive map browsing, systems need to rapidly retrieve, render, and load remote sensing data. To improve data access efficiency, existing technologies typically combine spatial indexing techniques with spatial dimensionality reduction coding to organize and manage segmented remote sensing data. Simultaneously, some systems introduce data prefetching mechanisms to attempt to pre-load potentially accessed data into the cache layer, thereby reducing loading latency.
[0003] For example, Chinese patent document CN117331947B discloses a multidimensional adaptive incremental R-tree index construction method. This patent document employs a set of strategies for creating and splitting nodes, incrementally and progressively constructing in-memory spatial indexes on a static array. It optimizes the node splitting process by introducing a random expansion strategy, aiming to achieve optimal boundary maintenance, minimize node overlap, reduce index dead space, and improve boundary compactness. However, the above-mentioned prior art still has the following problems in practice:
[0004] First, although this scheme incorporates the optimization of the overlap area between nodes into the objective scope of the splitting strategy, its cost function still focuses on a single optimization objective and fails to combine multi-scale features to weight the overlap volume of the minimum 3D bounding box of child nodes with the change in surface area as parallel optimization objectives. This technical limitation results in a high overlap rate between split nodes, especially in scenarios where remote sensing image blocks have multiple resolution levels and non-uniform spatial distribution. A high overlap rate will cause a large number of invalid traversals on the query path, significantly increasing I / O addressing overhead and reducing the response efficiency of large-scale mapping queries.
[0005] Second, this solution only focuses on the construction and maintenance of the index structure, without addressing any prefetching mechanism for user interaction. In practical surveying applications, users frequently perform operations such as panning and zooming. If there is a lack of prediction of the query window's movement trend and awareness of the access frequency of tile units, the system can only passively wait for user requests before loading data, resulting in blank blocks or lag on the front end. Although existing technologies have prefetching methods based on speed prediction or access frequency, their prefetching priority calculation often relies on a single topological adjacency relationship or static buffer distance, failing to comprehensively schedule based on the continuity characteristics of tile units in the encoding space and the matching degree between resolution levels and display scales. Consequently, the prefetching accuracy is low, and invalid prefetching consumes cache and I / O resources, making it difficult to guarantee a smooth surveying and mapping experience.
[0006] In view of this, this solution aims to design an R-tree node splitting cost function that can dynamically adjust the weights according to the spatial distribution characteristics of the segmented data, so as to reduce the node overlap rate of multi-scale remote sensing data indexing; at the same time, it constructs a prefetching scheduling mechanism that integrates user operation trends, historical access characteristics and resolution matching degree to improve the accuracy of remote sensing tile prefetching, and finally realize low-latency real-time mapping in surveying and mapping interaction scenarios. Summary of the Invention
[0007] To address the problems in existing technologies, such as the high node overlap rate and low retrieval efficiency caused by the single splitting strategy of R-tree spatial index nodes, and the low prefetch accuracy and wasted caching and I / O resources due to the lack of comprehensive scheduling in remote sensing tile data prefetching, which makes it difficult to guarantee low-latency real-time rendering and rapid mapping in surveying and mapping interaction scenarios, this invention provides a geographic information surveying and mapping method and system based on remote sensing big data analysis.
[0008] In a first aspect, the present invention provides a geographic information mapping method based on remote sensing big data analysis, comprising: S1, acquiring remote sensing images and geographic coordinates and dividing them into multiple block units, constructing multidimensional key values based on the latitude and longitude range and resolution level of each block unit, and obtaining a one-dimensional index sequence through dimensionality reduction encoding using three-dimensional Hilbert curve space filling; S2, constructing an R-tree spatial index based on the one-dimensional index sequence, and when splitting nodes, using the weighted sum of the normalized surface area change and normalized overlap volume of the smallest three-dimensional bounding box of the child node as the splitting cost function, selecting the splitting scheme with the minimum cost function, and the weight coefficients are based on the average jump of the block unit on the sequence. S3. Variable distance determination: Record access frequency and recent access timestamp in the node; S4. Receive mapping query request, calculate the predicted query area based on the query window's state parameters, convert it into a 3D query window, and retrieve the block units covered by the window using the R-tree spatial index; Combine the access frequency, recent access timestamp, and directional distance of each block unit relative to the query window to calculate the prefetch priority score, and add block units with scores higher than the threshold to the prefetch queue; S5. Based on the matching degree between the block unit's resolution level and the current display scale, and combined with the average jump distance of the node, reorder the prefetch queue, and load them sequentially into the cache layer to generate the mapping result map.
[0009] This invention segments remote sensing images into uniform tiles, constructs multidimensional key-value pairs using spatial coordinates and resolution levels, and generates a one-dimensional sequence that maintains proximity and scale continuity through dimensionality reduction encoding. Based on this, an R-tree index is constructed. When a node splits, the cost weights of overlapping volume and surface area changes are dynamically adjusted based on the average jump distance of the tile encoding within the sequence, ensuring the segmentation fits the data distribution. Access frequency and timestamps are recorded. During querying, the prefetch priority is calculated based on window position, speed, and zoom prediction of the viewport area, combined with historical access popularity, time decay, and distance along the movement direction, filtering high-value tiles. Finally, tiles are sorted and loaded according to the matching degree between tile resolution and display scale and spatial continuity. This reduces index query costs, improves prefetch accuracy, reduces front-end lag and white blocks, and improves mapping efficiency and system smoothness.
[0010] Preferably, the step of acquiring remote sensing images and geographic coordinates and dividing them into multiple block units, constructing multidimensional key values based on the latitude and longitude range and resolution level of each block unit, and obtaining a one-dimensional index sequence through dimensionality reduction encoding using three-dimensional Hilbert curve space filling includes: dividing the remote sensing image into multiple square tiles as block units according to a preset fixed pixel size; extracting the smallest three-dimensional bounding box of each block unit to obtain the corresponding longitude range, latitude range, and resolution level to which the block unit belongs; normalizing the center coordinates of the longitude and latitude ranges and concatenating them with the resolution level to form a three-dimensional coordinate vector as the multidimensional key value; using a three-dimensional Hilbert curve to perform spatial filling dimensionality reduction mapping on the three-dimensional coordinate vector, calculating the Hilbert code value corresponding to each block unit, and arranging the code values of all block units in ascending order to form the one-dimensional index sequence.
[0011] Standardized square tiles are used for partitioning, which facilitates unified management and loading. A three-dimensional key value is constructed that integrates spatial coordinates and resolution levels. Through three-dimensional Hilbert curve dimensionality reduction mapping, the generated one-dimensional index sequence retains both geospatial proximity and multi-scale resolution continuity, providing a foundation for subsequent efficient index construction and retrieval.
[0012] Preferably, when splitting a node, the weighted sum of the normalized surface area change and the normalized overlap volume of the smallest 3D bounding box of the child nodes is used as the splitting cost function, and the scheme with the smallest cost function is selected for splitting. This includes: generating multiple candidate bipartition schemes for the node to be split; for each partitioning scheme, calculating the ratio of the overlap volume of the smallest 3D bounding boxes of the two child nodes to the volume of the original node to obtain the normalized overlap volume; calculating the difference between the sum of the surface areas of the smallest 3D bounding boxes of the two child nodes and the surface area of the original node, and dividing it by the surface area of the original node to obtain the normalized surface area change; wherein, the weighting coefficients include a first weighting coefficient and a second weighting coefficient, and the product of the normalized overlap volume and the first weighting coefficient, plus the product of the normalized surface area change and the second weighting coefficient, is used as the splitting cost function value; the partitioning scheme with the smallest function value is selected to split the node.
[0013] By generating multiple candidate splitting schemes and simultaneously calculating two indicators—normalized overlap volume and surface area change—the optimal scheme is selected using a weighted sum as the splitting cost. This avoids the shortcomings of traditional single area indicators and can simultaneously control node overlap and boundary expansion, thereby improving the overall rationality and query efficiency of the R-tree index structure.
[0014] Preferably, the weighting coefficient is determined based on the average jump distance of the block unit in the sequence, including: arranging the one-dimensional index sequence encoding values of the block units within the node to be split in ascending order, calculating the absolute value of the difference between adjacent encoding values and averaging them to obtain the average jump distance; wherein, the weighting coefficient includes a first weighting coefficient and a second weighting coefficient; when the average jump distance is less than a preset spatial continuity threshold, the first weighting coefficient of the normalized overlapping volume is set to be greater than the second weighting coefficient of the normalized surface area change; when the average jump distance is greater than or equal to the preset spatial continuity threshold, the second weighting coefficient is set to be greater than the first weighting coefficient, and the sum of the first weighting coefficient and the second weighting coefficient is always 1.
[0015] Preferably, the step of calculating the predicted query region based on the state parameters of the query window includes: using the geometric center of the current screen viewport plane projection as the center coordinate of the query window; dividing the difference in the center coordinate plane position between two adjacent screen operations by the time interval to obtain the movement speed vector; extracting the scaling instruction parameters, using the ratio of the target scaling ratio to the current scaling ratio as the scaling factor; scaling the query window boundary by the reciprocal of the scaling factor, and translating the scaled window along the direction of the movement speed vector, with the predicted distance being the product of the movement speed vector magnitude and the prediction time window, to obtain the predicted query region.
[0016] By adopting the above technical solution, the three dynamic parameters of the query window center position, movement speed vector and scaling factor are combined and the predicted query area is generated through scaling and translation transformation. This can accurately predict the browsing range after the user performs translation and scaling operations, retrieve the corresponding block data in advance, and avoid loading delays caused by passively waiting for user requests.
[0017] Preferably, the prefetch priority score is calculated by combining the access frequency, the most recent access timestamp, and the directional distance of each block unit relative to the query window. This includes: normalizing the access frequency of the node to which the block unit belongs within a historical time period to obtain a frequency score; calculating the time difference between the current time and the most recent access timestamp recorded by the node, and converting this time difference into a time decay score using an exponential decay function; projecting the center of the block unit onto a Cartesian coordinate system, calculating the directional length of the projection of the displacement vector from the center of the query window to the center of the block unit onto the moving speed vector, removing block units whose length is negative or greater than twice the predicted distance, and calculating the directional distance score for the remaining block units using a decreasing function; and weighting and summing the frequency score, time decay score, and directional distance score to obtain the prefetch priority score.
[0018] Preferably, the reordering of the prefetch queue based on the matching degree between the resolution level of the block unit and the current display scale, combined with the average jump distance of the node to which it belongs, includes: converting the current display scale into a target sampling distance; calculating the absolute difference between the ground sampling distance corresponding to the resolution level of each block unit in the prefetch queue and the target sampling distance; using the absolute difference as the primary sorting key for ascending order; when the absolute differences of multiple block units are the same, normalizing the average jump distance of the node to which the corresponding block unit belongs; and using the reverse value of the normalization result as a spatial continuity correction factor as a secondary sorting key for descending order to obtain the reordered prefetch queue.
[0019] Preferably, after obtaining the reordered prefetch queue, the method further includes: adjusting the threshold based on the prefetch coverage hit rate feedback within the most recent time window, wherein the prefetch coverage hit rate is defined as the proportion of the number of block units that have been prefetched to the cache layer among the block units actually accessed by the user; when the prefetch coverage hit rate is lower than a set lower limit, the threshold is lowered; when the prefetch coverage hit rate is higher than a set upper limit, the threshold is raised.
[0020] By monitoring the prefetch coverage hit rate in real time, the prefetch priority threshold is dynamically adjusted: when the hit rate is low, the prefetch range is expanded to improve coverage, and when the hit rate is high, the range is narrowed to reduce resource consumption, thereby achieving adaptive closed-loop adjustment of the prefetch strategy and balancing the prefetch effect with system resource consumption.
[0021] Preferably, the step of sequentially loading data into the cache layer to generate the mapping result map includes: loading the block unit data from the storage layer to the cache layer according to the reordered queue order, and adjusting the upper limit of the cache layer capacity according to the prefetch coverage hit rate and the scaling factor. The scaling factor is the ratio of the target scaling factor to the current scaling factor. When the scaling factor is greater than 1 and the prefetch coverage hit rate is lower than a set lower limit, the upper limit of the cache layer capacity is increased by 50% of the current capacity, and the upper limit of the cache layer capacity does not exceed 30% of the total system memory; and performing real-time rendering based on the remote sensing image data loaded in the cache layer to generate the mapping result map.
[0022] Data chunks are loaded in an optimized queue order, and the upper limit of the cache layer capacity is dynamically adjusted based on the zoom operation status and prefetch coverage hit rate. When a map zoom operation is detected and the prefetch coverage hit rate is lower than the set threshold, the cache capacity is automatically increased. This effectively copes with the sudden demand for centralized loading of high-resolution data, reduces cache overflow and data duplication, and improves the stability of system rendering.
[0023] Secondly, the present invention provides a geographic information mapping system based on remote sensing big data analysis, including a processor and a memory. The memory stores computer program instructions, and when the computer program instructions are executed by the processor, the above-mentioned geographic information mapping method based on remote sensing big data analysis is implemented.
[0024] By adopting the above technical solution, a geographic information mapping method based on remote sensing big data analysis is generated into a computer program and stored in a memory for loading and execution by a processor. This allows for the creation of a terminal device based on the memory and processor, facilitating its use.
[0025] The technical solution of the present invention has the following beneficial technical effects: By segmenting remote sensing images and using Hilbert curves for spatial dimensionality reduction encoding, a one-dimensional index sequence that preserves geospatial proximity and scale continuity is generated. An R-tree spatial index based on a dynamically weighted splitting cost function is constructed, while simultaneously recording node access frequency and timestamps. The browsing area is predicted using dynamic parameters of the query window, and prefetching priority is calculated and loading order optimized by integrating multi-dimensional features. This effectively reduces the 3D spatial overlap rate of index nodes in multi-scale scenarios, improves spatial retrieval efficiency, accurately predicts user access needs, reduces invalid data loading, and optimizes cache resource utilization. It solves the problems of unreasonable R-tree index structure, high retrieval cost, insufficient dynamic perception of the prefetching mechanism, and delays in loading key data in existing technologies, effectively improving the real-time rendering speed and operational smoothness of geographic information mapping systems. Attached Figure Description
[0026] Figure 1 This is a flowchart of a geographic information mapping method based on remote sensing big data analysis; Figure 2 This is a schematic diagram of the change curve of weighting coefficients versus average jump distance; Figure 3 A schematic diagram of the directional distance score versus the projected directional length variation curve; Figure 4 A bar chart comparing the core performance indicators of different experimental groups. Detailed Implementation
[0027] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are some embodiments of the present invention, but not all embodiments.
[0028] The specific embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0029] This invention discloses a geographic information mapping method based on remote sensing big data analysis, referring to... Figure 1 This includes the following steps: S1. Image segmentation and one-dimensional index sequence generation.
[0030] This step maps the two-dimensional space and the three-dimensional characteristics of the multi-resolution hierarchy into a one-dimensional index sequence, ensuring that the tiles adjacent to each other in the space and hierarchy remain continuous in encoding, providing ordered input for subsequent index construction. Specifically, the implementation process of this step is as follows: First, read the remote sensing image data with spatial reference information, analyze its affine transformation parameters and coordinate reference system, and uniformly transform the pixel row and column coordinates to latitude and longitude coordinates under the same geographic coordinate system. Second, according to the preset fixed pixel size, the remote sensing image is divided into multiple square tiles at each pyramid level, and each tile is a block unit. Extract the minimum three-dimensional bounding box of each block unit, and obtain the longitude range, latitude range and resolution level of the block unit from the minimum three-dimensional bounding box.
[0031] Further, the geometric center coordinates of the longitude and latitude ranges are calculated separately. These coordinates are then projected onto the [0,1] interval using a linear transformation for normalization. The resolution level is normalized in the same way, and the three coordinates are concatenated to form a three-dimensional coordinate vector as a multidimensional key. Next, the floating-point values in the three-dimensional coordinate vector are uniformly converted to equal-length integer coordinates according to a preset encoding bit depth. This is then input into a three-dimensional Hilbert curve dimensionality reduction algorithm, with the dimension set to 3 and the iteration order determined according to the encoding bit depth. The Hilbert encoding value corresponding to each block unit is calculated through recursive quadrant mapping and direction transformation rules. Finally, the Hilbert encoding values of all block units are uniformly stored in an ordered storage structure and sorted by value from smallest to largest to obtain the one-dimensional index sequence output in this step.
[0032] In this embodiment, as a specific implementation, the remote sensing image data is read in GeoTIFF format; the square tile pixel size is 256×256; taking a block unit located at 116.4°E, 39.9°N as an example, its center longitude is normalized to 0.824, and its center latitude is normalized to 0.721; the image pyramid level where this block unit is located... Maximum level The hierarchical normalization value is then... This forms a three-dimensional coordinate vector in the form of (0.824, 0.721, 0.7). The order N of the three-dimensional Hilbert curve is 21. After converting the above floating-point values into equal-length integer coordinates with a coding depth of 21 bits per dimension, a 63-bit unsigned integer Hilbert code value is obtained by recursive mapping (the highest bit is retained as the sign bit to avoid overflow). The tens of thousands to millions of such code values generated in the whole image are arranged in ascending order by a quick sorting algorithm, thus constructing a one-dimensional index sequence that combines two-dimensional spatial proximity with resolution hierarchical scale continuity.
[0033] As an alternative implementation, the pixel size of the square tile can also be 512×512 to adapt to scenarios where a single tile carries a larger amount of data; the order N of the Hilbert curve can be adjusted between 16 and 21 according to the data scale and accuracy requirements; the ordered storage structure used to carry the encoded value can be any one of an array, a B+ tree, or a red-black tree, and the corresponding sorting and retrieval algorithm can be selected accordingly.
[0034] S2. Constructing the R tree spatial index and node splitting.
[0035] This step is used to construct an R-tree spatial index that incorporates a dynamic weighted splitting strategy. This allows nodes to adapt to the clustering or dispersion of data distribution during splitting and adds access metadata to nodes to support subsequent prefetching scoring. It should be noted that the spatial calculations for constructing the R-tree are based on the normalized 3D coordinate vectors generated in the previous steps to ensure consistent computational dimensions across all spatial dimensions. Specifically, the implementation process of this step is as follows: First, the R-tree spatial index is initialized based on an R-tree data structure that supports custom node splitting strategies. A long integer access frequency field, a timestamp-type recent access timestamp field, and a floating-point average jump distance field are added to the node structure. Second, the Hilbert code value and its spatial range of each block unit are sequentially inserted into the R-tree as entries. When the number of entries in a node exceeds the preset capacity limit M due to new insertion operations, the node splitting process is triggered. For nodes that trigger splitting, adjacent splitting positions are traversed after sorting by Hilbert code value or spatial coordinates to generate multiple candidate binary splitting schemes that meet the node capacity lower limit m requirement. For each splitting scheme, two evaluation metrics are calculated: The first evaluation metric is to calculate the overlapping volume of the minimum 3D bounding boxes of the two child nodes after partitioning, and then normalize it by dividing it by the volume of the minimum 3D bounding box of the original node to be split. The second evaluation metric is to calculate the sum of the surface areas of the minimum 3D bounding boxes of the two child nodes after partitioning, subtract the surface area of the minimum 3D bounding box of the original node to be split, obtain the change in surface area, and then normalize it by dividing it by the surface area of the original node to be split. The calculation formula for the splitting cost function is as follows: ; in, The value of the splitting cost function; Indicates the normalized overlap volume; This represents the normalized change in surface area. The first weighting coefficient; It is the second weighting coefficient, and it always satisfies First weighting coefficient Second weighting coefficient The average jump distance of the block unit on the one-dimensional index sequence is determined by the following process: extract the Hilbert code values of all block units in the current node to be split from the one-dimensional index sequence and arrange them in ascending order; calculate the absolute value of the difference between two adjacent Hilbert code values in turn, and sum all adjacent differences and divide by the number of adjacent differences to obtain the average jump distance.
[0036] The average jump distance is compared with a preset spatial continuity threshold. When the average jump distance is less than the preset spatial continuity threshold, the block unit is determined to have high continuity in spatial location and resolution level. At this time, the first weight coefficient corresponding to the normalized overlap volume is applied. The second weighting coefficient is set to be greater than the normalized change in surface area. This leads to a heavier penalty for partitioning schemes with large overlapping volumes.
[0037] When the average jump distance is greater than or equal to the threshold, it indicates that the tile distribution is cross-regional or discrete. In this case, the second weighting coefficient is adjusted. Set to be greater than the first weight coefficient .like Figure 2 As shown in the figure, the relationship between the first and second weight coefficients and the average jump distance is illustrated. The curve clearly reflects the adaptive switching logic of the weight coefficients, ensuring that the R-tree node splitting strategy can adapt to remote sensing block data with different spatial distributions and improve the rationality of the index structure.
[0038] The system iterates through the memory pool, calculates the cost function value of all candidate partition combinations, selects the partition scheme with the smallest cost function value, and splits the original node to be split in two. After a node is created, a block unit is inserted, or a node is split, the average transition distance is recalculated based on the Hilbert encoding value of each block unit within the node and written to the corresponding field. When a node is retrieved and its contained block units are accessed, the access frequency field of the node is accumulated and the most recent access timestamp field is updated, thus providing real-time data support for the prefetch priority scoring of S3.
[0039] In one specific implementation, this embodiment sets the upper limit M of node entry capacity to 50 and the lower limit m to 20. When the number of entries for a certain node reaches... Splitting is triggered at a certain time. Taking one of the candidate partitioning schemes as an example, the original minimum 3D bounding box (MBB) of the node to be split has a volume of 100 and a surface area of 40 in 3D space. After partitioning, the intersection volume of the two child nodes' minimum 3D bounding boxes (MBB1 and MBB2) is 15, and their surface areas are 25 and 22 respectively. Therefore, the normalized overlap volume is... The normalized change in surface area is ; The preset spatial continuity threshold is 15000. When the average jump distance of the block units within a node is 8500, its value is less than the spatial continuity threshold, and the block units are determined to be highly continuous clustered. , or , This results in a heavier penalty for partitioning schemes with large overlapping volumes; when the average jump distance is 24000, which is greater than the spatial continuity threshold, the block units are determined to be distributed across regions, and the reverse is taken. , The focus is on suppressing the expansion of the bounding box boundary.
[0040] As an optional implementation, the upper limit M of the node entry capacity can be selected between 32 and 64 according to the node size and tree depth requirements, and the lower limit m is configured synchronously at 40% of M; the spatial continuity threshold can be statistically calibrated based on the average jump distribution of the whole graph, preferably 0.5% to 2% of the total encoding span under the current tree depth level; in addition to being generated by sorting according to the Hilbert encoding value, the candidate binary combination partitioning scheme can also be sorted along the X direction and Y direction respectively before generating candidate splitting positions, so as to take into account the datasets distributed along different main directions.
[0041] S3, Calculation of predicted query area and prefetch priority.
[0042] This step predicts the spatial areas that users may visit in the future based on real-time user operation parameters, and calculates the prefetch priority of block units by combining historical access popularity, time decay, and directional distance. Only high-value units are included in the prefetch queue, so that the prefetching behavior is dynamically aligned with the user's operation intention. Specifically, the implementation process of this step is as follows: The system obtains JSON-formatted query parameters sent by the front end, parses the current center point's latitude and longitude coordinates, the 2D pixel displacement data generated by mouse dragging, and the current scaling factor. First, the center point's latitude and longitude are uniformly converted to the UTM projection zone Cartesian coordinate system to unify the physical calculation dimensions, and the current center coordinates are obtained. The time interval between two adjacent operations is recorded. The velocity vector is obtained by dividing the difference between the plane coordinates of the center point and the center point. Extract scaling instructions and calculate scaling factor. Take its reciprocal and scale it proportionally to the current viewport boundary; then scale the scaled window along the movement velocity vector. The vector is translated in the direction of the preset prediction time window, and the translation distance is equal to the magnitude of the velocity vector. The product of these factors is used to calculate the displacement increment vector, forming a spatial polygon as the prediction query region. The boundary coordinates of the prediction query region are then mapped back to latitude and longitude and normalized. Combined with the normalized resolution level corresponding to the current scaling factor, a three-dimensional query window is constructed. Intersection is then performed in the R-tree spatial index to identify the covered block units.
[0043] Subsequently, a prefetching priority score is calculated based on access characteristics and directional distance. For each retrieved block unit, three scores are calculated: a frequency score, calculated by counting the access frequency of the R-leaf tree nodes to which the block unit belongs within a preset historical time period, and normalizing this frequency by dividing by the maximum peak number of visits within that time period; a time decay score, calculated by the minute-level time difference between the current system time and the most recent access timestamp recorded by the node. The exponential decay function is used to convert it into a score. The exponential decay function formula is: ; In the formula, Score based on time decay; The preset decay constant is used to control the rate at which the popularity of visits fades over time. The larger the value, the faster the contribution of historical visits to the current score decays. It is the difference between the current system time and the most recent access timestamp of the node, in minutes, obtained by subtracting the node's timestamp field from the system clock.
[0044] Directional distance score: Project the latitude and longitude of the target tile center onto the UTM plane rectangular coordinate system to establish a displacement vector from the current viewport geometric center to the target tile center. Using the vector dot product formula Calculate the displacement vector in the velocity vector Projected directional length in the direction .like or Remove blocks whose length is negative or greater than twice the predicted distance; for the remaining blocks that meet the criteria... The block units are used to calculate directional distance scores using a decreasing function: ; In the formula, For directional distance scoring, a prior distance range filter is used to ensure that the results are limited to the range of 0 to 1; The projected directional length; To predict the distance, the calculation method is as follows: The closer the segmented unit is to the center of the prediction region along the direction of movement, the higher the score. The magnitude of the moving velocity vector, This is the preset prediction time window.
[0045] like Figure 3 As shown in the figure, this diagram illustrates the trend of directional distance score as a function of projected directional length, visually presenting the scoring rules for spatial directional filtering. This allows for the accurate selection of high-value blocks in the user's movement direction, reducing invalid prefetching.
[0046] Finally, the three scores are assigned corresponding preset expert experience coefficients, and the prefetch priority score is obtained by linear summation. The arithmetic mean of all hit units is calculated as the initial threshold, and the blocks with scores higher than the initial threshold or the threshold after feedback adjustment are added to the prefetch queue.
[0047] In an optional embodiment, when the magnitude of the movement velocity vector is 0, the predicted query area is directly defined as the range of two tile sides extended outward from the current query window. In this case, the directional distance score of all block units is set to 1 to avoid degradation of directional prefetching in no-operation scenarios. The preset historical time period can be adjusted based on the size of the access logs within the most recent 24 to 72 hours. The prediction time window... The preferred value is between 0.5 seconds and 2 seconds, which can be flexibly configured according to the system response delay. In addition to determining the initial threshold by the arithmetic mean, the median of the prefetched priority score sequence or a fixed empirical value can also be used.
[0048] In one specific implementation, this embodiment shows that a certain block unit is accessed 25 times, with a maximum peak of 100 times within a time period, resulting in a frequency score of 0.25; the most recent access time differs from the current time by 10 minutes, and the decay constant is... The value is 0.05, and the time decay score is approximately 0.606; the magnitude of the ground motion velocity vector under the UTM 50N projection band. The prediction time window is 750m / s (corresponding to a fast screen scrolling speed of approximately 7.5 pixels / second at the current 1:1000000 scaling level). T The predicted distance is 1.2s. D It is 900m, and the projected directional length is... L The distance is 850m, and the directional distance score is 0.944. Let an empirical coefficient be used. The prefetch priority score is 0.704.
[0049] S4. Prefetch queue reordering and cache loading graph.
[0050] This step involves a secondary sorting of the prefetch queue based on resolution matching and spatial continuity. This ensures that tiles that best match the current display scale and have the most compact spatial distribution are loaded first. A closed-loop feedback mechanism dynamically adjusts the prefetch threshold and cache capacity to balance rendering quality and system load. Specifically, the implementation process for this step is as follows: A mapping table is established between the display scale and the ground sampling distance. The current display scale is converted into the target sampling distance. The ground sampling distance corresponding to the resolution level of each block unit in the prefetch queue is calculated, and the absolute difference between the two is obtained. The conversion formula is: Target sampling distance (meters / pixel) = Display scale denominator × Screen pixel pitch (meters / pixel).
[0051] The tiles are sorted in ascending order using the absolute difference as the primary sorting key (prioritizing tiles that do not cause mosaic effects or performance redundancy). When multiple tile units have the same absolute difference or are within a preset range, the average jump distance of the nodes to which the tile unit belongs is normalized to obtain the result. And calculate the spatial continuity correction factor: ; In the formula, This is a spatial continuity correction factor; This is the normalized average jump distance. Using this factor as the secondary sorting key, data blocks are sorted in descending order, giving priority to the most spatially compact and coherent data blocks, resulting in a reordered prefetch queue.
[0052] The background multi-threaded concurrent library starts worker threads. According to the reordered queue order, the memory cache pool interface is called to store the tile binary image data in the local hard disk into the memory database as a cache layer. The rendering engine then assembles and renders the data to generate the survey result map.
[0053] In the sorting application, assuming the target sampling distance corresponding to the current display scale is 2 meters, and the sampling distances corresponding to the resolution levels of tile A and tile B are 2.3 meters and 1.6 meters respectively, with absolute differences of 0.3 meters and 0.4 meters respectively, then tile A will be ranked before tile B. If the absolute difference between the two tiles is the same (0.3 meters), and the normalized average jump distance of the node to which tile A belongs is 0.2 (correction factor 0.8), while that of the node to which tile B belongs is 0.5 (correction factor 0.5), then tile A will be ranked higher.
[0054] The system runs a periodic monitoring thread in the background, adjusting based on the prefetch coverage hit rate within the most recent time window. When the prefetch coverage hit rate falls below a set lower limit, the threshold is lowered; when the hit rate exceeds a set upper limit and cache or I / O load exceeds limits, the threshold is raised. When a scaling factor greater than 1 is detected and the prefetch coverage hit rate falls below the set lower limit, the cache layer capacity limit is increased by 50% of the current capacity. The cache layer capacity limit is limited to 10%-30% of total memory to absorb sudden increases in multi-level data flows within a short period.
[0055] As an optional implementation, the cache layer can be implemented using either a memory database, local shared memory, or a distributed memory cache middleware, in addition to a memory database. The method for obtaining the target ground sampling distance can be flexibly selected between real-time conversion and mapping table lookup. The adjustment range of the prefetch coverage hit rate statistical time window, threshold upper and lower limits, and cache layer capacity upper limit can all be calibrated based on actual operation logs.
[0056] To verify the technical effectiveness of the proposed solution in this embodiment, multiple sets of comparative tests were conducted. The experiment was configured with a graphics server with 128 threads and 512GB of memory as the hardware environment, and a test environment was built with 500 concurrent clients performing high-frequency panning and scaling at different scaling levels.
[0057] like Figure 4 As shown, the experimental results for each group are as follows: The baseline group had an average query time of 112ms, a prefetch coverage hit rate of 35%, and an average node overlap rate of 28%; Ablation group 1, which only used the split cost function based on jump distance weight, reduced the average query time to 84ms and significantly reduced the average node overlap rate to 15%; Ablation group 2, which only used directional scoring and rearrangement strategies, saw the prefetch coverage hit rate jump to 82%; The comprehensive group, which comprehensively applied all the core mechanisms of this scheme, had an average query time as low as 46ms, a prefetch coverage hit rate as high as 88%, and a stable node overlap rate of 14%.
[0058] Experimental data show that the method of associating the one-dimensional Hilbert jump distance with R-tree node splitting and queue reordering in this embodiment effectively improves the compactness of the tree structure and reduces blind zone read overhead; combined with prefetch scheduling based on dynamic directional scoring, it significantly improves cache hit accuracy and the throughput of real-time rendering of the system.
[0059] This invention also discloses a geographic information mapping system based on remote sensing big data analysis, including a processor and a memory. The memory stores computer program instructions, which, when executed by the processor, implement a geographic information mapping method based on remote sensing big data analysis according to the present invention.
[0060] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A geographic information mapping method based on remote sensing big data analysis, characterized in that, include: S1. Acquire remote sensing images and geographic coordinates, and divide them into multiple block units. Construct multidimensional key values based on the latitude and longitude range and resolution level of each block unit. Obtain a one-dimensional index sequence through dimensionality reduction encoding using three-dimensional Hilbert curve space filling. S2. Construct an R-tree spatial index based on the one-dimensional index sequence. When splitting a node, use the weighted sum of the normalized surface area change and normalized overlap volume of the smallest three-dimensional bounding box of the child node as the splitting cost function. Select the splitting scheme with the smallest cost function. The weight coefficient is determined based on the average jump distance of the block unit on the sequence. Record the access frequency and the most recent access timestamp in the node. S3. Receive a mapping query request. Calculate the predicted query area based on the state parameters of the query window. After converting it into a three-dimensional query window, retrieve the block units covered by the window through the R-tree spatial index. Calculate the prefetch priority score by combining the access frequency, the most recent access timestamp, and the directional distance of each block unit relative to the query window. Add block units with scores higher than the threshold to the prefetch queue. S4. Based on the matching degree between the resolution level of the block unit and the current display scale, and combined with the average jump distance of the node, the prefetch queue is reordered and loaded into the cache layer in sequence to generate the survey result map. 2.The geographic information mapping method based on remote sensing big data analysis of claim 1, wherein, The process of acquiring remote sensing images and geographic coordinates and dividing them into multiple block units, constructing multidimensional key values based on the latitude and longitude range and resolution level of each block unit, and obtaining a one-dimensional index sequence through dimensionality reduction encoding using three-dimensional Hilbert curve spatial filling includes: dividing the remote sensing image into multiple square tiles as block units according to a preset fixed pixel size; extracting the smallest three-dimensional bounding box of each block unit to obtain the corresponding longitude range, latitude range, and resolution level to which the block unit belongs; normalizing the center coordinates of the longitude and latitude ranges and concatenating them with the resolution level to form a three-dimensional coordinate vector as a multidimensional key value; using a three-dimensional Hilbert curve to perform spatial filling dimensionality reduction mapping on the three-dimensional coordinate vector, calculating the Hilbert code value corresponding to each block unit, and arranging the code values of all block units in ascending order to form the one-dimensional index sequence. 3.The geographic information mapping method based on remote sensing big data analysis of claim 1, wherein, The process of splitting a node by using the weighted sum of the normalized surface area change and the normalized overlap volume of the smallest 3D bounding box of the child nodes as the splitting cost function, and selecting the splitting scheme with the smallest cost function, includes: generating multiple candidate bipartition schemes for the node to be split; for each splitting scheme, calculating the ratio of the overlap volume of the smallest 3D bounding boxes of the two child nodes to the volume of the original node to obtain the normalized overlap volume; calculating the difference between the sum of the surface areas of the smallest 3D bounding boxes of the two child nodes and the surface area of the original node, and dividing it by the surface area of the original node to obtain the normalized surface area change; wherein, the weighting coefficients include a first weighting coefficient and a second weighting coefficient, and the product of the normalized overlap volume and the first weighting coefficient, plus the product of the normalized surface area change and the second weighting coefficient, is used as the splitting cost function value; and selecting the splitting scheme with the smallest function value to split the node. 4.The geographic information mapping method based on remote sensing big data analysis of claim 1, wherein, The weighting coefficient is determined based on the average jump distance of the block unit in the sequence, including: arranging the one-dimensional index sequence encoding values of the block units in the node to be split in ascending order, calculating the absolute value of the difference between adjacent encoding values and averaging them to obtain the average jump distance; The weighting coefficients include a first weighting coefficient and a second weighting coefficient. When the average jump distance is less than a preset spatial continuity threshold, the first weighting coefficient of the normalized overlapping volume is set to be greater than the second weighting coefficient of the normalized surface area change. When the average jump distance is greater than or equal to the preset spatial continuity threshold, the second weight coefficient is set to be greater than the first weight coefficient, and the sum of the first weight coefficient and the second weight coefficient is always 1. 5.The geographic information mapping method based on remote sensing big data analysis of claim 1, wherein, The calculation of the predicted query region based on the state parameters of the query window includes: using the geometric center of the projection of the current screen viewport plane as the center coordinates of the query window; The movement speed vector is obtained by dividing the difference in the center coordinate plane position between two adjacent screen operations by the time interval; the scaling command parameters are extracted, and the ratio of the target scaling ratio to the current scaling ratio is used as the scaling factor. The query window boundary is scaled by the reciprocal of the scaling factor, and the scaled window is translated along the direction of the moving speed vector. The predicted distance is the product of the moving speed vector and the prediction time window, thus obtaining the predicted query area.
6. A geographic information mapping method based on remote sensing big data analysis according to claim 5, characterized in that, The prefetch priority score is calculated by combining the access frequency, the most recent access timestamp, and the directional distance of each block unit relative to the query window. This includes: normalizing the access frequency of the node to which the block unit belongs in the historical time period to obtain a frequency score; calculating the time difference between the current time and the most recent access timestamp recorded by the node, and converting the time difference into a time decay score through an exponential decay function. Project the center of the block unit onto a Cartesian coordinate system, calculate the directional length of the projection of the displacement vector from the center of the query window to the center of the block unit onto the moving velocity vector, remove block units whose length is negative or greater than twice the predicted distance, and calculate the directional distance score for the remaining block units using a decreasing function; then sum the frequency score, time decay score, and directional distance score by weight to obtain the prefetch priority score.
7. A geographic information mapping method based on remote sensing big data analysis according to claim 1, characterized in that, The matching degree between the resolution level of the block unit and the current display scale, combined with the average jump distance of the node, reorders the prefetch queue, including: converting the current display scale into the target sampling distance, and calculating the absolute difference between the ground sampling distance corresponding to the resolution level of each block unit in the prefetch queue and the target sampling distance. The absolute difference is used as the primary sorting key for ascending sorting. When the absolute differences of multiple block units are the same, the average jump distance of the corresponding block unit's node is normalized, and the reverse value of the normalization result is used as the spatial continuity correction factor and used as the secondary sorting key for descending sorting, thus obtaining the reordered prefetch queue.
8. A geographic information mapping method based on remote sensing big data analysis according to claim 7, characterized in that, After obtaining the reordered prefetch queue, the method further includes: adjusting the threshold based on the prefetch coverage hit rate feedback within the most recent time window, wherein the prefetch coverage hit rate is defined as the proportion of the number of block units that have been prefetched to the cache layer among the block units actually accessed by the user; when the prefetch coverage hit rate is lower than a set lower limit, the threshold is reduced; when the prefetch coverage hit rate is higher than a set upper limit, the threshold is increased.
9. A geographic information mapping method based on remote sensing big data analysis according to claim 8, characterized in that, The step of sequentially loading data into the cache layer to generate the mapping result map includes: loading the block unit data from the storage layer to the cache layer according to the reordered queue order; adjusting the upper limit of the cache layer capacity according to the prefetch coverage hit rate and the scaling factor, wherein the scaling factor is the ratio of the target scaling ratio to the current scaling ratio; when the scaling factor is greater than 1 and the prefetch coverage hit rate is lower than the set lower limit, increasing the upper limit of the cache layer capacity by 50% of the current capacity, and the upper limit of the cache layer capacity does not exceed 30% of the total system memory; and performing real-time rendering based on the remote sensing image data loaded in the cache layer to generate the mapping result map.
10. A geographic information mapping system based on remote sensing big data analysis, characterized in that, include: A processor and a memory, the memory storing computer program instructions that, when executed by the processor, implement the geographic information mapping method based on remote sensing big data analysis according to any one of claims 1 to 9.