A spatial data authorization method and system based on dynamic and static vector slicing

CN121902169BActive Publication Date: 2026-10-13GUANGDONG URBAN & RURAL PLANNING & DESIGN INST
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511710432.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-20
Publication Date
2026-10-13
Estimated Expiration
2045-11-20

AI Technical Summary

Technical Problem

[0003]然而,上述两种现有空间授权方式均存在明显局限

Benefits of technology

本发明基于矢量切片与空间数据库能力,预先基于数据的更新速率与预估访问次数将数据划分为静态数据与动态数据,对静态数据进行提前矢量划分,对动态数据在用户调取的时候才进行划分,实现了动静数据的差异化处理,有效克服了传统方法中全量预处理的资源消耗问题,也避免了完全动态切割带来的响应延迟。其次,通过自定义的矢量划分既满足了对自定义空间区域的灵活授权需求,又大幅降低了数据预处理与实时计算的人力及时间成本。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121902169B_ABST
    Figure CN121902169B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of geographic data processing, and more particularly to a spatial data authorization method and system based on dynamic and static vector slices, comprising preprocessing and dividing original spatial vector data into static data and dynamic data; performing multi-level vector slicing on the static data to obtain static vector slices; accepting a user request containing access limitation conditions, a target spatial data layer number and a layer position, judging whether the user has the right to access the target spatial data, rejecting the access request if the judgment is negative, and if the judgment is positive, judging whether the user request has a corresponding static vector slice based on the target spatial data layer number and the layer position, returning the static vector slice if the judgment is positive, and otherwise performing multi-level vector slicing and returning the result. Compared with the prior art, the present application greatly improves the efficiency of spatial data authorization while customizing the division of regions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of geographic data processing technology, and in particular to a spatial data authorization method and system based on dynamic and static vector tiles. Background Technology

[0002] Two-dimensional geospatial data is a type of structured information describing the location, shape, attributes, and interrelationships of geographic entities on the Earth's surface. It typically ignores elevation information, relying primarily on longitude and latitude combined with geometric elements such as points, lines, and polygons. In the use and management of this type of data, spatial authorization is a crucial mechanism for ensuring data security. Its core lies in dynamically restricting the geographic areas accessible to users based on their permissions, thereby effectively preventing unauthorized data dissemination. Currently, there are two main typical implementation methods for spatial authorization of two-dimensional geographic data: First, pre-setting geospatial area information for all data elements, and when a user initiates a query, performing spatial intersection analysis between the user's authorized area and all map features to filter out the data content that can be accessed; Second, acquiring the user's authorized area in real time during the query phase, dynamically cropping the original spatial data based on this area, and finally returning the result to the user in the form of original vector data or raster services such as WMS and WMTS.

[0003] However, both of the aforementioned existing spatial authorization methods have significant limitations. The first method requires pre-setting geospatial information for all map features, resulting in a large workload for data preprocessing, especially when dealing with massive amounts of spatial data. This makes it difficult to meet users' flexible and varied authorization needs for spatial regions. While the second method does not require pre-setting spatial information, it places high demands on system computing power and database performance when performing dynamic data segmentation. When processing large-scale spatial data, it often experiences significant response delays and high resource consumption. Summary of the Invention

[0004] To overcome the shortcomings of the prior art in terms of the large resources required for spatial data authorization, the present invention provides a spatial data authorization method and system based on dynamic and static vector slicing.

[0005] To solve the above-mentioned technical problems, the technical solution of the present invention is as follows: A spatial data authorization method based on dynamic and static vector slicing includes: The original spatial vector data is preprocessed and divided into static data and dynamic data based on the data update rate and the estimated number of accesses. The static data is then divided into multi-level vector slices based on the preset number of division layers and slice size to obtain static vector slices. Accept user requests containing access restrictions, the layer number of the target spatial data, and its location within the layer. Determine whether the user has permission for the target spatial data based on the access restrictions. If not, reject the access request. If yes, determine whether the user request has a corresponding static vector slice based on the layer number and location of the target spatial data. If it exists, return the static vector slice. Otherwise, perform multi-level vector slicing based on the layer number and location of the target spatial data and return it.

[0006] As a preferred embodiment, the step of preprocessing the original spatial vector data includes: generating a spatial index based on geometric features from the original spatial vector data.

[0007] As a preferred embodiment, the steps of the multi-level vector slicing include: The geographical range of the corresponding slice is calculated based on the preset number of layers and slice size; Filter spatial features located within the geographic area based on spatial index; Perform geometric processing on the selected spatial features and convert the processed spatial features into vector tile format.

[0008] As a preferred embodiment, the step of geometrically processing the selected spatial elements includes: Based on the visual weight algorithm, the spatial elements of different slices are simplified layer by layer according to the number of layers. The simplification steps include reducing the number of fixed points in the spatial elements, and the degree of simplification increases layer by layer. Perform topological restoration on invalid geometric elements within simplified spatial features.

[0009] As a preferred embodiment, the step of converting the processed spatial features into a vector tile format includes: Quantize the geometric coordinates of spatial features to an integer coordinate system within the slice; According to the vector tiling specification, the attribute data within the integer coordinate system and spatial features are combined into a layer organization, and the layer organization is binary serialized to obtain vector tile data.

[0010] As a preferred embodiment, the spatial index is constructed based on a general search tree index, which uses the minimum bounding rectangle of each spatial feature as a leaf node and forms a multi-layer tree structure by recursively merging the minimum bounding rectangles.

[0011] As a preferred embodiment, the preprocessing steps further include: performing topology repair, dirty data cleaning, and coordinate system unification on the original spatial vector data sequentially before generating the spatial index.

[0012] This invention also proposes a spatial data authorization system based on dynamic and static vector slicing, the system comprising: The data preprocessing and classification module is used to preprocess the raw spatial vector data and divide the raw spatial vector data into static data and dynamic data based on the data update rate and the estimated number of accesses. The vector slicing module is used to perform vector slicing on spatial vector data; The static vector slice storage module is used to perform multi-level vector slicing on the static data based on a preset number of division layers and slice size, to obtain static vector slices and store them. The spatial authentication module accepts user requests containing access restrictions, the layer number of the target spatial data, and its location within the layer, and determines whether access permissions exist. Data lookup module: Determines whether the user request has a corresponding static vector slice. If it does, the static vector slice is returned. Otherwise, the target space data requested by the user is sliced ​​into multiple levels of vector slices based on the vector slicing module and returned.

[0013] The present invention also proposes an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement a spatial data licensing method based on dynamic and static vector slicing as described in the present invention.

[0014] The present invention also proposes a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a spatial data authorization method based on dynamic and static vector slicing as described in the present invention.

[0015] Compared with the prior art, the beneficial effects of the technical solution of the present invention are as follows: This invention, based on vector slicing and spatial database capabilities, pre-divides data into static and dynamic data according to the data update rate and estimated access frequency. Static data is pre-divided using vectors, while dynamic data is divided only when the user retrieves it. This achieves differentiated processing of static and dynamic data, effectively overcoming the resource consumption problem of full preprocessing in traditional methods and avoiding the response delay caused by fully dynamic slicing. Furthermore, the custom vector partitioning satisfies the flexible authorization requirements for custom spatial regions while significantly reducing the manpower and time costs of data preprocessing and real-time computation. Attached Figure Description

[0016] Figure 1 This is a schematic diagram of the spatial data authorization method based on dynamic and static vector slicing in Example 1; Figure 2 This is a diagram of the spatial data authorization system architecture based on dynamic and static vector slicing in Example 2. Detailed Implementation

[0017] The accompanying drawings are for illustrative purposes only and should not be construed as limiting the scope of this patent. To better illustrate this embodiment, some parts in the accompanying drawings may be omitted, enlarged, or reduced, and do not represent the actual product dimensions; It will be understood by those skilled in the art that certain well-known structures and their descriptions may be omitted in the accompanying drawings.

[0018] The technical solution of the present invention will be further described below with reference to the accompanying drawings and embodiments.

[0019] Example 1 This embodiment proposes a spatial data authorization method based on dynamic and static vector slicing, such as... Figure 1 The diagram shown is a schematic flowchart of a spatial data authorization method based on dynamic and static vector slicing in this embodiment.

[0020] A spatial data authorization method based on dynamic and static vector slicing includes: The original spatial vector data is preprocessed and divided into static data and dynamic data based on the data update rate and the estimated number of accesses. The static data is then divided into multi-level vector slices based on the preset number of division layers and slice size to obtain static vector slices. Accept user requests containing access restrictions, the layer number of the target spatial data, and its location within the layer. Determine whether the user has permission for the target spatial data based on the access restrictions. If not, reject the access request. If yes, determine whether the user request has a corresponding static vector slice based on the layer number and location of the target spatial data. If it exists, return the static vector slice. Otherwise, perform multi-level vector slicing based on the layer number and location of the target spatial data and return it.

[0021] In this embodiment, spatial data is divided into static and dynamic data based on update rate and access frequency. Multi-level vector slicing of static data beforehand significantly improves data authorization efficiency. When a user requests data, pre-generated static vector slices are returned first, reducing the overhead of real-time data processing and thus improving system response speed and processing capacity. For dynamic or unsliced ​​data, on-demand slicing ensures data real-time performance and integrity, achieving efficient and flexible spatial data authorization while reducing server load and network transmission latency.

[0022] More specifically, in this embodiment, data with a data update cycle greater than a first threshold and an average daily access frequency greater than a second threshold are classified as static data, while the remaining data are classified as dynamic data.

[0023] As an example, data with an update cycle of more than one year and an access frequency of more than 1,000 times per day is considered static data, while the rest is considered dynamic data.

[0024] As an example, the access restrictions include the target data item being accessed and the administrative region of the target data.

[0025] In an optional embodiment, the step of preprocessing the original spatial vector data includes: generating a spatial index based on geometric features from the original spatial vector data.

[0026] In this embodiment, the data query and retrieval process is optimized by generating a spatial index. The spatial index enables rapid location and access to relevant spatial elements during the data partitioning and slicing stages, improving preprocessing efficiency.

[0027] In an optional embodiment, the step of multi-level vector slicing includes: The geographical range of the corresponding slice is calculated based on the preset number of layers and slice size; Filter spatial features located within the geographic area based on spatial index; Perform geometric processing on the selected spatial features and convert the processed spatial features into vector tile format.

[0028] More specifically, the vector tiles employ a "pyramid hierarchy" model, where the Earth's surface at each level is divided into X*Y square tiles. This model organizes the two-dimensional spatial data into a regular grid, following a rule of increasing precision and decreasing range, with each lower level encompassing the entire range of the higher level. Each level is represented by fixed row and column numbers, indicating the spatial extent of the tile. When a user requests a data tile, the X / Y / Zoom information from the request is passed to the database.

[0029] In this embodiment, the spatial index-based feature selection improves the targeting and efficiency of tiling, while geometric processing and format conversion ensure the structural integrity and compatibility of the tiling data, thereby optimizing data storage, transmission and rendering performance.

[0030] In an optional embodiment, the step of geometrically processing the selected spatial features includes: Based on the visual weight algorithm, the spatial elements of different slices are simplified layer by layer according to the number of layers. The simplification steps include reducing the number of fixed points in the spatial elements, and the degree of simplification increases layer by layer. Perform topological restoration on invalid geometric elements within simplified spatial features.

[0031] In this embodiment, by simplifying spatial elements layer by layer, the amount of data is effectively reduced, while the geometric relationship and accuracy of the data are maintained through topology restoration.

[0032] In an optional embodiment, the step of converting the processed spatial features into a vector tile format includes: Quantize the geometric coordinates of spatial features to an integer coordinate system within the slice; According to the vector tiling specification, the attribute data within the integer coordinate system and spatial features are combined into a layer organization, and the layer organization is binary serialized to obtain vector tile data.

[0033] As an example, a PostGIS database is used to store spatial data.

[0034] More specifically, firstly, based on the spatial extent of the target tile, spatial features intersecting with that extent are selected. Subsequently, coordinate system mapping and numerical transformation are performed on the geometric coordinates of each spatial feature: the original floating-point geographic coordinates (such as Web Mercator meter-level coordinates) are converted into integer coordinates within the tile.

[0035] The quantized integer coordinates are encoded into a binary stream according to the topological rules defined by MVT, with different encodings for different geometry types. For point features, the quantized integer pairs are stored directly, with one byte used to mark the geometry type. For line features, they are stored as a "point sequence," with each point's coordinate using incremental encoding (i.e., current point = previous point + offset) to reduce redundant storage and to record the number of lines. For polygon features, the incremental encoding of each coordinate is recorded according to the rule of clockwise outer loop and counterclockwise inner loop, and the number of loops is also recorded.

[0036] After coordinate transformation, the geometric information of spatial features and their associated attribute information are structurally encapsulated, and a dictionary-based index of attribute fields is established. Based on layer definitions, the features are organized into a unified data structure to obtain layer organization.

[0037] In one optional embodiment, the spatial index is constructed based on a general search tree index, which uses the minimum bounding rectangle of each spatial feature as a leaf node and forms a multi-layer tree structure by recursively merging the minimum bounding rectangles.

[0038] In this embodiment, the efficiency and accuracy of spatial queries are enhanced by using a general search tree index. This improves the system's ability to process complex spatial data and reduces resource consumption.

[0039] The more specific steps involved in generating the General Search Tree Index (GiST) include three stages: "data preprocessing," "tree structure construction," and "index storage," with the specific steps as follows: Data preprocessing: Extracting the minimum bounding rectangle (MBR) of geometric features; Tree structure construction: Based on the MBR (Master Backer Registry), the hierarchical index organization involves calculating the MBR of all features in the table and using these as leaf nodes. Each leaf node stores the MBR information of a single feature and a pointer to the corresponding table row information, indicating the data's location within the table. Next, the MBRs of all features are grouped according to a specific spatial distribution rule. Each group's MBRs are then merged into a "joint MBR," serving as the parent node for each feature. Finally, based on all "joint MBRs," the hierarchy is recursively built upwards until the root node is formed, completing the GiST index creation. Index storage: After the GiST index is generated, it is associated with the original data through "row pointers" to ensure that the index and the data are consistent when data is added, deleted or updated in the table.

[0040] Querying through the GiST index space includes two stages: "fast filtering" and "precise verification".

[0041] After obtaining the target area and initiating spatial data queries, GiST's fast filtering process starts from the index root node and determines whether the current node's "joint MBR" intersects with the target area. If they do not intersect, all child nodes under that node can be excluded, and further traversal is unnecessary. If they intersect, the process continues recursively traversing its child nodes until a leaf node is reached. Finally, all elements whose "leaf node MBR intersects with the target area" are selected, forming a candidate set.

[0042] After obtaining the candidate data set, the precise verification process involves acquiring the original geometric boundaries of all features in the dataset, determining the geometric intersection, and finally obtaining the target feature set.

[0043] In an optional embodiment, the preprocessing step further includes: performing topology repair, dirty data cleaning, and coordinate system 1 on the original spatial vector data sequentially before generating the spatial index.

[0044] In this embodiment, the preprocessing steps improve data quality and consistency. Topology repair eliminates geometric errors, dirty data cleaning ensures data accuracy, and coordinate system unification avoids coordinate conflicts, thus providing a reliable foundation for subsequent data partitioning and slicing.

[0045] As an example, the specific steps of data preprocessing are as follows: (1) Topology processing Various topological errors may occur during the acquisition, conversion, and processing of spatial vector data, affecting subsequent spatial analysis or rendering results. Common repair methods include: fixing geometric problems, such as clearing empty geometric features, correcting self-intersecting graphics, and deleting duplicate vertices; handling overlapping polygon features to avoid illegal superposition of polygons within the same layer; and identifying and processing dangling lines to ensure the connectivity of the line feature network.

[0046] (2) Dirty data processing For spatial vector data, it is necessary to check whether the coordinate values ​​exceed a reasonable range and whether there are any abnormal offsets in the elements. For attribute tables, it is necessary to check for missing fields, abnormal values, logical contradictions, etc.

[0047] (3) Coordinate system processing To ensure spatial consistency of the data and accuracy of the front-end display, the spatial vector data entering the database uses a unified coordinate system.

[0048] (4) Data import Spatial vector data is stored and managed in the form of PostGIS database tables.

[0049] Example 2 This embodiment proposes a spatial data authorization system based on dynamic and static vector slicing, applying a spatial data authorization method based on dynamic and static vector slicing proposed in Embodiment 1. For example... Figure 2 The diagram shown is an architecture diagram of a spatial data authorization system based on dynamic and static vector slicing in this embodiment.

[0050] This embodiment proposes a spatial data authorization system based on dynamic and static vector slicing, including: The data preprocessing and classification module is used to preprocess the raw spatial vector data and divide the raw spatial vector data into static data and dynamic data based on the data update rate and the estimated number of accesses. The vector slicing module is used to perform vector slicing on spatial vector data; The static vector slice storage module is used to perform multi-level vector slicing on the static data based on a preset number of division layers and slice size, to obtain static vector slices and store them. The spatial authentication module accepts user requests containing access restrictions, the layer number of the target spatial data, and its location within the layer, and determines whether access permissions exist. Data lookup module: Determines whether the user request has a corresponding static vector slice. If it does, the static vector slice is returned. Otherwise, the target space data requested by the user is sliced ​​into multiple levels of vector slices based on the vector slicing module and returned.

[0051] It is understood that the system in this embodiment corresponds to the method in Embodiment 1 above, and the options in Embodiment 1 above are also applicable to this embodiment, so they will not be described again here.

[0052] Example 3 This embodiment proposes a computer device, including a memory and a processor. The memory stores computer-readable instructions, which, when executed by the processor, cause the processor to perform the steps of the spatial data authorization method based on dynamic and static vector slicing proposed in Embodiment 1.

[0053] By way of example, the processor may be a central processing unit (CPU), a microprocessor unit (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA), etc.

[0054] Example 4 This embodiment proposes a storage medium storing computer-readable instructions, wherein when the computer-readable instructions are executed by a processor, they implement the steps of the spatial data authorization method based on dynamic and static vector slicing proposed in Embodiment 1.

[0055] By way of example, the storage medium includes, but is not limited to, USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks or optical disks, and other media capable of storing program code.

[0056] By way of example, the instructions, programs, code sets, or instruction sets may be implemented using conventional programming languages.

[0057] Exemplary, the processor includes, but is not limited to, smartphones, personal computers, servers, network devices, etc., for executing all or part of the steps of the automatic EEG signal analysis method for brain-controlled exoskeleton rehabilitation for spinal cord injury described in Example 1.

[0058] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0059] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

Claims

1. A spatial data authorization method based on dynamic and static vector slicing, characterized in that, Includes the following steps: The original spatial vector data is preprocessed and divided into static data and dynamic data based on the data update rate and the estimated number of accesses. The static data is divided into multiple levels of vector slices based on a preset number of division layers and slice size to obtain static vector slices; The steps of the multi-level vector slicing include: The geographical range of the corresponding slice is calculated based on the preset number of layers and slice size; Filter spatial features located within the geographic area based on spatial index; Perform geometric processing on the selected spatial features and convert the processed spatial features into vector tile format; The step of performing geometric processing on the selected spatial features includes: Based on the visual weight algorithm, the spatial elements of different slices are simplified layer by layer according to the number of layers. The simplification steps include reducing the number of fixed points in the spatial elements, and the degree of simplification increases layer by layer. Perform topological restoration on invalid geometric elements within simplified spatial features; Accept user requests containing access restrictions, the layer number of the target spatial data, and its location within the layer. Determine whether the user has permission for the target spatial data based on the access restrictions. If not, reject the access request. If yes, determine whether the user request has a corresponding static vector slice based on the layer number and location of the target spatial data. If it exists, return the static vector slice. Otherwise, perform multi-level vector slicing based on the layer number and location of the target spatial data and return it.

2. The spatial data authorization method based on dynamic and static vector slicing according to claim 1, characterized in that, The step of preprocessing the original spatial vector data includes: generating a spatial index based on geometric features from the original spatial vector data.

3. The spatial data authorization method based on dynamic and static vector slicing according to claim 1, characterized in that, The step of converting the processed spatial features into a vector tile format includes: Quantize the geometric coordinates of spatial features to an integer coordinate system within the slice; According to the vector tiling specification, the attribute data within the integer coordinate system and spatial features are combined into a layer organization, and the layer organization is binary serialized to obtain vector tile data.

4. The spatial data authorization method based on dynamic and static vector slicing according to claim 1, characterized in that, The spatial index is constructed based on a general search tree index, which uses the minimum bounding rectangle of each spatial feature as a leaf node and forms a multi-layer tree structure by recursively merging the minimum bounding rectangles.

5. The spatial data authorization method based on dynamic and static vector slicing according to any one of claims 1 to 4, characterized in that, The preprocessing steps further include: performing topology repair, dirty data cleaning, and coordinate system 1 on the original spatial vector data in sequence before generating the spatial index.

6. A spatial data authorization system based on dynamic and static vector slicing, characterized in that, The system employing the spatial data authorization method based on dynamic and static vector slicing according to any one of claims 1 to 5, comprises: The data preprocessing and classification module is used to preprocess the raw spatial vector data and divide the raw spatial vector data into static data and dynamic data based on the data update rate and the estimated number of accesses. The vector slicing module is used to perform vector slicing on spatial vector data; The static vector slice storage module is used to perform multi-level vector slicing on the static data based on a preset number of division layers and slice size, to obtain static vector slices and store them. The spatial authentication module accepts user requests containing access restrictions, the layer number of the target spatial data, and its location within the layer, and determines whether access permissions exist. Data lookup module: Determines whether a corresponding static vector slice exists for the user request. If it exists, the static vector slice is returned; otherwise, the target space data requested by the user is sliced ​​into multiple levels of vector slices based on the vector slicing module and returned.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the spatial data authorization method based on dynamic and static vector slicing as described in any one of claims 1 to 5.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the spatial data authorization method based on dynamic and static vector slicing as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Vector slice drawing management method based on Redis cache

    CN117688194A

  • Data storage method and system

    CN117827850A