Method, device, electronic device and storage medium for determining vector data update range

By clustering the vector data on the target map and automatically determining the update range, the problems of low efficiency and low accuracy in the vector data update range in the existing technology are solved, and efficient and accurate vector data update is achieved.

CN114528305BActive Publication Date: 2025-09-09NAT GEOMATICS CENT OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210166188.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-23
Publication Date
2025-09-09
Estimated Expiration
2042-02-23

AI Technical Summary

Technical Problem

In the prior art, the determination of the update range of vector data is inefficient and not precise. Manually defining the update range can easily lead to data omissions or an overly large range, affecting the update efficiency.

Method used

By obtaining map update data packets on the target map, clustering the map vector data according to the preset distance to form a map vector data set, and determining the set boundary as the update range, large-scale multi-batch vector data updates are automatically processed.

Benefits of technology

The efficiency and accuracy of determining the update range of vector data are improved, the update time is reduced, the update process is simplified, and the problems of data omission and excessive range are avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114528305B_ABST
    Figure CN114528305B_ABST
Patent Text Reader

Abstract

The present application provides a method, device, electronic device, and storage medium for determining a vector data update range, wherein the method includes: obtaining a map update data packet containing a target map; the target map contains multiple first map vector data; clustering the first map vector data according to a preset distance and the distance between the first map vector data to obtain multiple map vector data sets; there is one target map vector data in the map vector data set and the distance between the other first map vector data and the target map vector data is less than the preset distance; based on the position of each first map vector data in the map vector data set on the target map, determining the boundary of the map vector data set, and using the area enclosed by the boundary as one of the update ranges on the target map. This method is conducive to improving the efficiency of determining the update range and the accuracy of the update range.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method, device, electronic device, and storage medium for determining a vector data update range. Background Art

[0002] In recent years, with the rapid development of information technology, the means of collecting spatial data, especially vector data, have become increasingly diverse. Surveying and mapping technologies, represented by GIS (Geographic Information System), have been widely used in fields such as natural resource management, national land space planning, smart cities, smart agriculture, and smart travel. The amount of high-precision, large-scale vector data is exploding. Vector data is an important data type that uses three feature types: points, lines, and polygons to express point, line, and surface features. It supports high-definition display, infinite scaling, and real-time rendering.

[0003] When updating large-scale vector data, deleting and inserting data by traversing features requires a lengthy traversal process. Given the spatial characteristics of vector data and the need for rapid updates of large-scale, multi-batch vector data, updating data incrementally by range is a convenient and efficient method. Deleting and inserting data by range avoids full traversal, significantly improving data update efficiency. However, a challenge with this method is how to quickly and accurately obtain the update range.

[0004] Existing methods for determining update ranges primarily rely on visual judgment and manual delineation of update ranges. This method is prone to low update range delineation efficiency and is unsuitable for large-scale update range delineation. Furthermore, manual delineation of update ranges can easily lead to data omissions. Finally, if personnel arbitrarily expand the delineation range to avoid data omissions, the resulting update range will be less accurate, which in turn can affect the efficiency of vector data updates. Summary of the Invention

[0005] In view of this, the purpose of the present application is to provide a method, device, electronic device and storage medium for determining a vector data update range, so as to improve the efficiency of determining the update range and improve the accuracy of the update range.

[0006] In a first aspect, an embodiment of the present application provides a method for determining a vector data update range, comprising:

[0007] Acquire a map update data packet containing a target map; the target map contains a plurality of first map vector data, each of the first map vector data being located at a different position on the target map;

[0008] clustering the first map vector data based on a preset distance and a distance between the first map vector data on the target map to obtain a plurality of map vector data sets; wherein there is a target map vector data in the map vector data sets, and a distance between the target map vector data and other first map vector data in the map vector data sets is less than the preset distance;

[0009] For each of the map vector data sets, the boundary of the map vector data set is determined according to the position of each of the first map vector data in the map vector data set on the target map, and the area enclosed by the boundary is used as one of the update ranges on the target map.

[0010] In combination with the first aspect, an embodiment of the present application provides a first possible implementation of the first aspect, wherein the target map corresponds to a target map to be updated in the map to be updated, and the map update data packet is used to update the target map to be updated; after obtaining each update range on the target map, the method further includes:

[0011] deleting the second map vector data in the target range on the target map to be updated from the map to be updated according to the position of the update range on the target map; the position of the target range on the target map to be updated is the same as the position of the update range on the target map;

[0012] The first map vector data in the update range is inserted into the target range on the target map to be updated, so as to update the target map to be updated.

[0013] In combination with the first aspect, an embodiment of the present application provides a second possible implementation of the first aspect, wherein clustering the first map vector data based on a preset distance and a distance between the first map vector data on the target map includes:

[0014] Step 1: determining the center point coordinates of each of the first map vector data on the target map;

[0015] Step 2: Selecting one target map vector data from the unclustered first map vector data, and calculating the distance between the center point of the target map vector data and the center points of other unclustered first map vector data based on the coordinates of the center points of each first map vector data;

[0016] Step 3: The target map vector data and the third map vector data are combined into a map vector data set; wherein the third map vector data is a portion of the first map vector data in the other unclustered first map vector data; and the distance between the center point of the third map vector data and the center point of the target map vector data is less than the preset distance;

[0017] Step 4: Repeat steps 2 to 3 until all the first map vector data are clustered.

[0018] In combination with the second possible implementation manner of the first aspect, an embodiment of the present application provides a third possible implementation manner of the first aspect, wherein the first map vector data includes one or more of point feature data, line feature data, and surface feature data; a target coordinate system is pre-established on the target map; and the coordinates of the center point of the first map vector data are located in the target coordinate system;

[0019] The determining the center point coordinates of each of the first map vector data on the target map includes:

[0020] When the first map vector data is the point feature data, determining the position coordinates of the point feature data as the center point coordinates of the first map vector data;

[0021] When the first map vector data is the line feature data or the surface feature data, the first enclosing rectangular area of ​​the first map vector data is determined, and the coordinates of the center position of the first enclosing rectangular area are determined as the center point coordinates of the first map vector data; the horizontal direction and vertical direction of the first enclosing rectangular area are respectively the same as the horizontal direction and vertical direction of the target coordinate system.

[0022] In combination with the third possible implementation of the first aspect, an embodiment of the present application provides a fourth possible implementation of the first aspect, wherein, for each map vector data set, based on the position of each first map vector data in the map vector data set on the target map, a boundary of the map vector data set is determined, and an area enclosed by the boundary is used as one of the update ranges on the target map, including:

[0023] For each of the map vector data sets, determining a second outer bounding rectangular area of ​​the map vector data set based on a position of the first outer bounding rectangular area of ​​each of the first map vector data in the map vector data set on the target map; the horizontal direction and vertical direction of the second outer bounding rectangular area are respectively the same as the horizontal direction and vertical direction of the target coordinate system;

[0024] For each of the second outer rectangular areas, the second outer rectangular area is used as an update range on the target map.

[0025] In a second aspect, an embodiment of the present application further provides a device for determining a vector data update range, comprising:

[0026] an acquisition module, configured to acquire a map update data packet containing a target map; the target map contains a plurality of first map vector data, each of the first map vector data being located at a different position on the target map;

[0027] a clustering module, configured to cluster the first map vector data based on a preset distance and a distance between the first map vector data on the target map to obtain a plurality of map vector data sets; wherein there is a target map vector data in the map vector data set, and a distance between other first map vector data in the map vector data set and the target map vector data is less than the preset distance;

[0028] A determination module is used to determine the boundary of each map vector data set based on the position of each first map vector data in the map vector data set on the target map, and use the area enclosed by the boundary as one of the update ranges on the target map.

[0029] In conjunction with the second aspect, an embodiment of the present application provides a first possible implementation of the second aspect, wherein the target map corresponds to a target map to be updated in the map to be updated, and the map update data packet is used to update the target map to be updated; after the determination module is used to obtain each update range on the target map, the apparatus further includes:

[0030] a deleting module, configured to delete the second map vector data in a target range on the target map to be updated from the map to be updated according to a position of the update range on the target map; the position of the target range on the target map to be updated is the same as the position of the update range on the target map;

[0031] An inserting module is configured to insert the first map vector data in the update range into the target range on the target map to be updated, so as to update the target map to be updated.

[0032] In conjunction with the second aspect, an embodiment of the present application provides a second possible implementation of the second aspect, wherein the clustering module, when used to cluster the first map vector data based on a preset distance and the distance between the first map vector data on the target map, is specifically used to:

[0033] Determining the center point coordinates of each of the first map vector data on the target map;

[0034] Selecting one target map vector data from the unclustered first map vector data, and calculating the distance between the center point of the target map vector data and the center points of other unclustered first map vector data based on the coordinates of the center points of the respective first map vector data;

[0035] The target map vector data and third map vector data are combined into a map vector data set; wherein the third map vector data is a portion of the first map vector data in other unclustered first map vector data; and the distance between the center point of the third map vector data and the center point of the target map vector data is less than the preset distance;

[0036] Repeat the steps of selecting one target map vector data from the unclustered first map vector data, calculating the distance between the center point of the target map vector data and the center points of other unclustered first map vector data based on the center point coordinates of each first map vector data; forming a map vector data set with the target map vector data and the third map vector data; wherein the third map vector data is a part of the first map vector data in other unclustered first map vector data; and the distance between the center point of the third map vector data and the center point of the target map vector data is less than the preset distance, until all the first map vector data are clustered.

[0037] In combination with the second possible implementation of the second aspect, an embodiment of the present application provides a third possible implementation of the second aspect, wherein the first map vector data includes one or more of point feature data, line feature data, and surface feature data; a target coordinate system is pre-established on the target map; and the coordinates of the center point of the first map vector data are located in the target coordinate system;

[0038] When the clustering module is used to determine the center point coordinates of each of the first map vector data on the target map, it is specifically used to:

[0039] When the first map vector data is the point feature data, determining the position coordinates of the point feature data as the center point coordinates of the first map vector data;

[0040] When the first map vector data is the line feature data or the surface feature data, the first enclosing rectangular area of ​​the first map vector data is determined, and the coordinates of the center position of the first enclosing rectangular area are determined as the center point coordinates of the first map vector data; the horizontal direction and vertical direction of the first enclosing rectangular area are respectively the same as the horizontal direction and vertical direction of the target coordinate system.

[0041] In combination with the third possible implementation of the second aspect, an embodiment of the present application provides a fourth possible implementation of the second aspect, wherein the determination module, when used to determine, for each of the map vector data sets, based on the position of each of the first map vector data in the map vector data set on the target map, the boundary of the map vector data set, and use the area enclosed by the boundary as one of the update ranges on the target map, is specifically used to:

[0042] For each of the map vector data sets, determining a second outer bounding rectangular area of ​​the map vector data set based on a position of the first outer bounding rectangular area of ​​each of the first map vector data in the map vector data set on the target map; the horizontal direction and vertical direction of the second outer bounding rectangular area are respectively the same as the horizontal direction and vertical direction of the target coordinate system;

[0043] For each of the second outer rectangular areas, the second outer rectangular area is used as an update range on the target map.

[0044] In a third aspect, an embodiment of the present application further provides an electronic device comprising: a processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor and the memory communicate through the bus, and when the machine-readable instructions are executed by the processor, the steps of any possible implementation method of the first aspect above are performed.

[0045] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of any possible implementation method of the first aspect are executed.

[0046] The embodiments of the present application provide a method, device, electronic device and storage medium for determining the update range of vector data. The method clusters the first map vector data according to a preset distance and the distance between the first map vector data on the target map, and clusters all the first map vector data into multiple map vector data sets; wherein, there is a target map vector data in the map vector data set, and the distance between other first map vector data in the map vector data set and the target map vector data is less than the preset distance; then, based on the position of each first map vector data in the map vector data set on the target map, the boundary of the map vector data set is determined; and the area enclosed by the boundary of the map vector data set is used as the update range on the target map. Compared with the method of manually defining the update range in the prior art, the present solution can automatically process multiple batches of vector data over a large range, thereby improving the efficiency of determining the update range and the accuracy of the determined update range.

[0047] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.

[0049] Figure 1 A flowchart of a method for determining a vector data update range provided by an embodiment of the present application is shown;

[0050] Figure 2 A schematic diagram showing first map vector data provided by an embodiment of the present application located on a target map;

[0051] Figure 3 A schematic diagram showing a first outer bounding rectangular area of ​​line feature data provided in an embodiment of the present application is shown;

[0052] Figure 4 A schematic diagram showing a first outer bounding rectangular area of ​​the surface element data provided in an embodiment of the present application is shown;

[0053] Figure 5 A schematic diagram showing a second outer rectangular area of ​​a map vector data set provided in an embodiment of the present application is shown;

[0054] Figure 6A schematic structural diagram of a device for determining a vector data update range provided in an embodiment of the present application is shown;

[0055] Figure 7 A schematic structural diagram of an electronic device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0056] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application generally described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of this application.

[0057] Taking into account the low efficiency of defining the update range and the low accuracy of the defined update range in the prior art, based on this, the embodiments of the present application provide a method, device, electronic device and storage medium for determining the update range of vector data, which are described below through embodiments.

[0058] Example 1:

[0059] To facilitate understanding of this embodiment, a method for determining a vector data update range disclosed in an embodiment of the present application is first introduced in detail. Figure 1 A flow chart of a method for determining a vector data update range provided by an embodiment of the present application is shown. Figure 1 As shown, the method for determining the vector data update range can be implemented through the following steps S101-S103:

[0060] S101: Acquire a map update data packet containing a target map; the target map contains a plurality of first map vector data, each of which is located at a different position on the target map.

[0061] To facilitate understanding of this solution, the application scenario in the embodiment of the present application is first described. The map to be updated can be a provincial map, a national map or a world map, and this application does not limit this. The map to be updated contains multiple second map vector data, and the second map vector data is used to represent information such as oceans, forests, roads, vehicles, buildings, etc. The position of the second map vector data on the map to be updated is used to represent the actual position of oceans, forests, roads, vehicles, buildings, etc. on the earth. Due to urban development or natural disasters, some second map vector data on the earth may have changed (for example, the second map vector data has increased, decreased, changed in position and changed in size, etc.). For example, due to urban development, a building a was developed in city A, but the location information of building a was not previously recorded on the map to be updated. At this time, it is necessary to obtain a map update data packet containing the location information of building a in city A, and use the map update data packet to update the map to be updated to add the map vector data of building a to the map to be updated.

[0062] In an embodiment of the present application, a map update data packet includes a target map, on which there are multiple first map vector data, each of which is located at a different position on the target map. For example, when the map to be updated is a national map, the target map can be a new city map after a certain city has changed, and the target map records all the first map vector data after the city has changed. Figure 2 FIG. 1 shows a schematic diagram of the first map vector data provided by an embodiment of the present application being located on a target map. Figure 2 As shown, the first map vector data includes one or more of point feature data, line feature data, and area feature data. Point feature data can include streetlights, vehicles, and buildings; line feature data can include roads and railways; and area feature data can include forests, oceans, and lakes. The area size of the first map vector data on the target map represents the actual area occupied by the first map vector data on the Earth; and the positional relationship of the first map vector data on the target map represents the actual positional relationship of the first map vector data on the Earth.

[0063] S102: Clustering the first map vector data based on a preset distance and the distance between the first map vector data on the target map to obtain multiple map vector data sets; there is one target map vector data in the map vector data set, and the distance between other first map vector data in the map vector data set and the target map vector data is less than the preset distance.

[0064] A map vector data set may include one or more first map vector data. The types of the first map vector data included in a map vector data set may be the same or different. For example, a map vector data set may include point feature data, line feature data, and area feature data, or may include only feature data of the same type. In an embodiment of the present application, first map vector data that are relatively close to each other are grouped into the same map vector data set.

[0065] S103: For each map vector data set, determine the boundary of the map vector data set according to the position of each first map vector data in the map vector data set on the target map, and use the area enclosed by the boundary as one of the update ranges on the target map.

[0066] Each map vector data set corresponds to an update range. The boundary of the map vector data set in the target map is determined based on the position of each first map vector data in the map vector data set on the target map. The boundary is used to enclose all the first map vector data in the map vector data set in the target map.

[0067] In a possible implementation, the target map corresponds to a target map to be updated in the map to be updated, and the map update data packet is used to update the target map to be updated. After executing step S103 to obtain each update range on the target map, the method further includes:

[0068] S104: Deleting the second map vector data in the target range on the target map to be updated from the map to be updated according to the position of the update range on the target map; the position of the target range on the target map to be updated is the same as the position of the update range on the target map.

[0069] In a specific embodiment, the target map and the target map to be updated in the map to be updated correspond to the same geographical area. For example, the map to be updated can be the old national map before the change of city A, the target map can be the new city map after the change of city A, and the target map to be updated is the old city map before the change of city A.

[0070] The target map includes at least one update range, and the position and area size of the update range on the target map are the same as the position and area size of the target range on the target map to be updated. The map to be updated includes multiple second map vector data, and the second map vector data includes one of point feature data, line feature data and surface feature data. The second map vector data in the target range on the target map to be updated is deleted from the map to be updated, that is, the second map vector data before the change is deleted from the map to be updated.

[0071] S105: Inserting the first map vector data in the update range into the target range on the target map to be updated, so as to update the target map to be updated.

[0072] The first map vector data in the update range is inserted (or filled) into the target range on the target map to be updated, so as to update the target map to be updated. When the update of the target map to be updated is completed, it is equivalent to completing the update of the map to be updated.

[0073] In an embodiment of the present application, the update data packet is equivalent to a patch. Since the second map vector data in the target range on the map to be updated has been deleted, there is no map vector data in the target range on the map to be updated. The present application directly inserts all the first map vector data in the update range into the target range. Compared with the method in the prior art of traversing all the element data in sequence and updating each element data separately (such as inserting and deleting, etc.), the present solution can reduce the update time, simplify the update process, and improve the update efficiency.

[0074] In a possible implementation, when performing step S102 to cluster the first map vector data according to the preset distance and the distance between the first map vector data on the target map, the following steps S1021 to S1024 may be specifically performed:

[0075] S1021: Determine the center point coordinates of each first map vector data on the target map.

[0076] In a possible implementation, the first map vector data includes one or more of point feature data, line feature data, and area feature data; a target coordinate system is pre-established on the target map; and the coordinates of the center point of the first map vector data are located in the target coordinate system;

[0077] When the first map vector data is point feature data, the position coordinates of the point feature data on the target map are determined as the center point coordinates of the first map vector data.

[0078] When the first map vector data is line feature data or surface feature data, determining a first enclosing rectangular area of ​​the first map vector data, and determining the coordinates of the center position of the first enclosing rectangular area as the center point coordinates of the first map vector data; Figure 3 A schematic diagram showing a first outer bounding rectangular area of ​​line feature data provided in an embodiment of the present application is shown. Figure 4 A schematic diagram of the first outer rectangular area of ​​the surface element data provided by the embodiment of the present application is shown as follows: Figure 3 and Figure 4 As shown, the horizontal direction and the vertical direction of the first outer rectangular area are respectively the same as the horizontal direction and the vertical direction of the target coordinate system.

[0079] In this embodiment, if Figure 3 As shown, the first outer bounding rectangle area of ​​the line feature data is specifically the smallest outer bounding rectangle area of ​​the line feature data, such as Figure 4 As shown, the first enclosing rectangular area of ​​the surface element data is specifically the minimum enclosing rectangular area of ​​the surface element data, and the horizontal direction and vertical direction of the first enclosing rectangular area are respectively the same as the horizontal direction (X-axis direction of the target coordinate system) and vertical direction (Y-axis direction of the target coordinate system) of the target coordinate system.

[0080] After determining the first bounding rectangular area of ​​the first map vector data, the coordinates of the center position of the first bounding rectangular area can be calculated using the following formula:

[0081]

[0082]

[0083] Among them, (X i , Y i ) is the coordinate of the center position of the i-th first outer rectangular area, that is, the coordinate of the center point of the i-th first map vector data; (X imax , Y imax ) is the maximum coordinate of the first outer rectangular area of ​​ith; (X imin , Y imin ) is the minimum coordinate of the i-th first enclosing rectangular area.

[0084] S1022: Select a target map vector data from the unclustered first map vector data, and calculate the distance between the center point of the target map vector data and the center points of other unclustered first map vector data based on the center point coordinates of each first map vector data.

[0085] Unclustered first map vector data refers to first map vector data that has not yet been classified into a map vector data set. In this embodiment, a density clustering algorithm (DBSCAN) can be used to cluster the first map vector elements. Specifically, one first map vector data is randomly selected from all unclustered first map vector data as the target map vector data. Based on the coordinates of the center points of each first map vector data, the Euclidean distance between the center point of the target map vector data and the center points of other unclustered first map vector data is calculated. Specifically, the Euclidean distance can be calculated according to the following formula:

[0086]

[0087] Among them, D mrepresents the Euclidean distance between the center point of the target map vector data and the center point of the mth other non-clustered first map vector data, (x, y) represents the coordinates of the center point of the target map vector data, (x m ,y m ) represents the center point coordinates of the mth other unclustered first map vector data.

[0088] S1023: The target map vector data and the third map vector data are combined into a map vector data set; wherein the third map vector data is a portion of the first map vector data in other unclustered first map vector data; and the distance between the center point of the third map vector data and the center point of the target map vector data is less than a preset distance.

[0089] Based on the Euclidean distance between the center point of the target map vector data and the center points of the other unclustered first map vector data, third map vector data is determined from the other unclustered first map vector data, wherein the Euclidean distance between the center point of the third map vector data and the center point of the target map vector data is less than a preset distance; the number of third map vector data can be multiple, or can be 1 or 0. The target map vector data and the third map vector data constitute a map vector data set. The number of first map vector data (i.e., the third map vector data and the target map vector data) included in each map vector data set can be the same or different.

[0090] S1024: Repeat steps S1022 to S1023 until all the first map vector data are clustered.

[0091] All the first map vector data are clustered, that is, there is no unclustered first map vector data. When there is no unclustered first map vector data, it indicates that clustering is completed.

[0092] In one possible implementation, when executing step S103, for each map vector data set, the boundary of the map vector data set is determined based on the position of each first map vector data in the map vector data set on the target map, and the area enclosed by the boundary is used as one of the update ranges on the target map. Specifically, the following steps S1031-S1032 may be performed:

[0093] S1031: For each map vector data set, determine the second enclosing rectangular area of ​​the map vector data set based on the position of the first enclosing rectangular area of ​​each first map vector data in the map vector data set on the target map; the horizontal direction and vertical direction of the second enclosing rectangular area are respectively the same as the horizontal direction and vertical direction of the target coordinate system.

[0094] S1032: For each second outer rectangular area, use the second outer rectangular area as one of the update ranges on the target map.

[0095] Figure 5 A schematic diagram of a second outer rectangular area of ​​the map vector data set provided by an embodiment of the present application is shown as follows: Figure 5 As shown, the second outer rectangular area is specifically the minimum outer rectangular area of ​​the map vector data set, and the horizontal direction and vertical direction of the second outer rectangular area are respectively the same as the horizontal direction (X-axis direction) and vertical direction (Y-axis direction) of the target coordinate system. After determining each map vector data set on the target map, first determine the minimum coordinates and maximum coordinates of the first outer rectangular area of ​​each first map vector data contained in the map vector data set. When the map vector data set contains n first map vector data, then the minimum coordinates and maximum coordinates of the first outer rectangular area of ​​each first map vector data contained in the map vector data set are n respectively. Select a target minimum coordinate from the n minimum coordinates, and the target minimum coordinate is the smallest coordinate among the n minimum coordinates; similarly, select a target maximum coordinate from the n maximum coordinates, and the target maximum coordinate is the largest coordinate among the n maximum coordinates. The specific calculation method is as follows:

[0096] x min =min(x 1min ,x 2min ,……,x nmin )

[0097] y min =min(y 1min ,y 2min ,……,y nmin )

[0098] Among them, (x min ,y min ) is the minimum coordinate of the second outer rectangular area of ​​the map vector data set, (x nmin ,y nmin ) is the minimum coordinate of the first bounding rectangular area of ​​the nth first map vector data in the map vector data set.

[0099] x max =max(x 1max ,x 2max ,……,x nmax )

[0100] y max =max(y 1max ,y 2max ,……,y nmax )

[0101] (x max ,y max ) is the maximum coordinate of the second outer rectangular area of ​​the map vector data set, (x nmax ,y nmax ) is the maximum coordinate of the first bounding rectangular area of ​​the nth first map vector data in the map vector data set.

[0102] After obtaining the maximum coordinate and the minimum coordinate of the second outer bounding rectangular area of ​​the map vector data set, the second outer bounding rectangular area of ​​the map vector data set is determined according to the maximum coordinate and the minimum coordinate and the horizontal direction and the vertical direction of the target coordinate system.

[0103] Example 2:

[0104] Based on the same technical concept, the embodiment of the present application also provides a device for determining a vector data update range. Figure 6 FIG. 1 shows a schematic diagram of a structure of a device for determining a vector data update range provided by an embodiment of the present application. Figure 6 As shown, the device includes:

[0105] The acquisition module 601 is configured to acquire a map update data packet containing a target map; the target map contains a plurality of first map vector data, each of which is located at a different position on the target map;

[0106] a clustering module 602 configured to cluster the first map vector data based on a preset distance and a distance between the first map vector data on the target map to obtain a plurality of map vector data sets; wherein the map vector data sets include one target map vector data, and the distance between the target map vector data and other first map vector data in the map vector data sets is less than the preset distance;

[0107] The determination module 603 is used to determine the boundary of each map vector data set according to the position of each of the first map vector data in the map vector data set on the target map, and use the area enclosed by the boundary as one of the update ranges on the target map.

[0108] Optionally, the target map corresponds to a target map to be updated in the map to be updated, and the map update data packet is used to update the target map to be updated; after the determination module 603 is used to obtain each update range on the target map, the apparatus further includes:

[0109] a deleting module, configured to delete the second map vector data in a target range on the target map to be updated from the map to be updated according to a position of the update range on the target map; the position of the target range on the target map to be updated is the same as the position of the update range on the target map;

[0110] An inserting module is configured to insert the first map vector data in the update range into the target range on the target map to be updated, so as to update the target map to be updated.

[0111] Optionally, when the clustering module 602 is used to cluster the first map vector data according to a preset distance and a distance between the first map vector data on the target map, it is specifically used to:

[0112] Determining the center point coordinates of each of the first map vector data on the target map;

[0113] Selecting one target map vector data from the unclustered first map vector data, and calculating the distance between the center point of the target map vector data and the center points of other unclustered first map vector data based on the coordinates of the center points of the respective first map vector data;

[0114] The target map vector data and third map vector data are combined into a map vector data set; wherein the third map vector data is a portion of the first map vector data in other unclustered first map vector data; and the distance between the center point of the third map vector data and the center point of the target map vector data is less than the preset distance;

[0115] Repeat the steps of selecting one target map vector data from the unclustered first map vector data, calculating the distance between the center point of the target map vector data and the center points of other unclustered first map vector data based on the center point coordinates of each first map vector data; forming a map vector data set with the target map vector data and the third map vector data; wherein the third map vector data is a part of the first map vector data in other unclustered first map vector data; and the distance between the center point of the third map vector data and the center point of the target map vector data is less than the preset distance, until all the first map vector data are clustered.

[0116] Optionally, the first map vector data includes one or more of point feature data, line feature data, and area feature data; a target coordinate system is pre-established on the target map; the center point coordinates of the first map vector data are located in the target coordinate system; and the clustering module 602, when used to determine the center point coordinates of each of the first map vector data on the target map, is specifically used to:

[0117] When the first map vector data is the point feature data, determining the position coordinates of the point feature data as the center point coordinates of the first map vector data;

[0118] When the first map vector data is the line feature data or the surface feature data, the first enclosing rectangular area of ​​the first map vector data is determined, and the coordinates of the center position of the first enclosing rectangular area are determined as the center point coordinates of the first map vector data; the horizontal direction and vertical direction of the first enclosing rectangular area are respectively the same as the horizontal direction and vertical direction of the target coordinate system.

[0119] Optionally, when the determining module 603 is configured to determine, for each of the map vector data sets, the boundary of the map vector data set based on the position of each of the first map vector data in the map vector data set on the target map, and to use the area enclosed by the boundary as one of the update ranges on the target map, it is specifically configured to:

[0120] For each of the map vector data sets, determining a second outer bounding rectangular area of ​​the map vector data set based on a position of the first outer bounding rectangular area of ​​each of the first map vector data in the map vector data set on the target map; the horizontal direction and vertical direction of the second outer bounding rectangular area are respectively the same as the horizontal direction and vertical direction of the target coordinate system;

[0121] For each of the second outer rectangular areas, the second outer rectangular area is used as an update range on the target map.

[0122] For the specific implementation methods, steps and principles, please refer to the description of Example 1 and will not be repeated here.

[0123] Example 3:

[0124] Based on the same technical concept, an embodiment of the present application further provides an electronic device, Figure 7 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application is shown. Figure 7As shown, the electronic device 700 includes: a processor 701, a memory 702 and a bus 703. The memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor 701 communicates with the memory 702 through the bus 703, and the processor 701 executes the machine-readable instructions to perform the method steps described in Example 1.

[0125] For the specific implementation methods, steps and principles, please refer to the description of Example 1 and will not be repeated here.

[0126] Example 4:

[0127] Based on the same technical concept, embodiment 4 of the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, the method steps described in embodiment 1 are executed.

[0128] For the specific implementation methods, steps and principles, please refer to the description of Example 1 and will not be repeated here.

[0129] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0130] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. There may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed may be through some communication interface, indirect coupling or communication connection of devices or units, which may be electrical, mechanical or other forms.

[0131] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0132] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0133] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0134] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The scope of protection of the present application is not limited thereto. Although the present application has been described in detail with reference to the above-described embodiments, those skilled in the art should understand that any person skilled in the art can modify or easily conceive of changes to the technical solutions described in the above-described embodiments within the technical scope disclosed in the present application, or perform equivalent replacements for some of the technical features thereof. Such modifications, changes, or replacements do not deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection of the claims.

Claims

1. A method for determining a vector data update range, characterized in that: include: Get the map update data package containing the target map; The target map includes a plurality of first map vector data, each of which is located at a different position on the target map; clustering the first map vector data based on a preset distance and a distance between the first map vector data on the target map to obtain a plurality of map vector data sets; wherein there is a target map vector data in the map vector data sets, and a distance between the target map vector data and other first map vector data in the map vector data sets is less than the preset distance; For each of the map vector data sets, determining a boundary of the map vector data set based on the position of each of the first map vector data in the map vector data set on the target map, and using the area enclosed by the boundary as one of the update ranges on the target map; The clustering of the first map vector data according to the preset distance and the distance between the first map vector data on the target map includes: Step 1: determining the center point coordinates of each of the first map vector data on the target map; Step 2: Selecting one target map vector data from the unclustered first map vector data, and calculating the distance between the center point of the target map vector data and the center points of other unclustered first map vector data based on the coordinates of the center points of each first map vector data; Step 3: The target map vector data and the third map vector data are combined into a map vector data set; wherein the third map vector data is a portion of the first map vector data in the other unclustered first map vector data; and the distance between the center point of the third map vector data and the center point of the target map vector data is less than the preset distance; Step 4: Repeat steps 2 to 3 until all the first map vector data are clustered.

2. The method according to claim 1, characterized in that The target map corresponds to a target map to be updated in the map to be updated, and the map update data packet is used to update the target map to be updated; After obtaining each of the update ranges on the target map, the method further includes: deleting the second map vector data in the target range on the target map to be updated from the map to be updated according to the position of the update range on the target map; the position of the target range on the target map to be updated is the same as the position of the update range on the target map; The first map vector data in the update range is inserted into the target range on the target map to be updated, so as to update the target map to be updated.

3. The method according to claim 1, characterized in that The first map vector data includes one or more of point feature data, line feature data, and surface feature data; a target coordinate system is pre-established on the target map; and the coordinates of the center point of the first map vector data are located in the target coordinate system; The determining the center point coordinates of each of the first map vector data on the target map includes: When the first map vector data is the point feature data, determining the position coordinates of the point feature data as the center point coordinates of the first map vector data; When the first map vector data is the line feature data or the surface feature data, the first enclosing rectangular area of ​​the first map vector data is determined, and the coordinates of the center position of the first enclosing rectangular area are determined as the center point coordinates of the first map vector data; the horizontal direction and vertical direction of the first enclosing rectangular area are respectively the same as the horizontal direction and vertical direction of the target coordinate system.

4. The method according to claim 3, characterized in that For each of the map vector data sets, determining a boundary of the map vector data set based on the position of each of the first map vector data in the map vector data set on the target map, and using the area enclosed by the boundary as one of the update ranges on the target map, including: For each of the map vector data sets, determining a second outer bounding rectangular area of ​​the map vector data set based on a position of the first outer bounding rectangular area of ​​each of the first map vector data in the map vector data set on the target map; the horizontal direction and vertical direction of the second outer bounding rectangular area are respectively the same as the horizontal direction and vertical direction of the target coordinate system; For each of the second outer rectangular areas, the second outer rectangular area is used as an update range on the target map.

5. A device for determining a vector data update range, characterized in that: include: An acquisition module, used to acquire a map update data packet containing a target map; The target map includes a plurality of first map vector data, each of which is located at a different position on the target map; a clustering module, configured to cluster the first map vector data based on a preset distance and a distance between the first map vector data on the target map to obtain a plurality of map vector data sets; wherein there is a target map vector data in the map vector data set, and a distance between other first map vector data in the map vector data set and the target map vector data is less than the preset distance; a determination module configured to determine, for each of the map vector data sets, a boundary of the map vector data set based on a position of each of the first map vector data in the map vector data set on the target map, and use an area enclosed by the boundary as one of the update ranges on the target map; When the clustering module is used to cluster the first map vector data according to a preset distance and a distance between the first map vector data on the target map, it is specifically used to: Determining the center point coordinates of each of the first map vector data on the target map; Selecting one target map vector data from the unclustered first map vector data, and calculating the distance between the center point of the target map vector data and the center points of other unclustered first map vector data based on the coordinates of the center points of the respective first map vector data; The target map vector data and third map vector data are combined into a map vector data set; wherein the third map vector data is a portion of the first map vector data in other unclustered first map vector data; and the distance between the center point of the third map vector data and the center point of the target map vector data is less than the preset distance; Repeat the steps of selecting one target map vector data from the unclustered first map vector data, calculating the distance between the center point of the target map vector data and the center points of other unclustered first map vector data based on the center point coordinates of each first map vector data; forming a map vector data set with the target map vector data and the third map vector data; wherein the third map vector data is a part of the first map vector data in other unclustered first map vector data; and the distance between the center point of the third map vector data and the center point of the target map vector data is less than the preset distance, until all the first map vector data are clustered.

6. The device according to claim 5, characterized in that The target map corresponds to a target map to be updated in the map to be updated, and the map update data packet is used to update the target map to be updated; After the determination module is used to obtain each update range on the target map, the device further includes: a deleting module, configured to delete the second map vector data in a target range on the target map to be updated from the map to be updated according to a position of the update range on the target map; the position of the target range on the target map to be updated is the same as the position of the update range on the target map; An inserting module is configured to insert the first map vector data in the update range into the target range on the target map to be updated, so as to update the target map to be updated.

7. An electronic device, characterized in that: include: A processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the memory communicate via the bus, and when the machine-readable instructions are executed by the processor, the steps of the method according to any one of claims 1 to 4 are performed.

8. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which, when executed by a processor, executes the steps of the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Parallelized clustering of geospatial data

    US20190095514A1

  • Map updating method and apparatus, and movable platform and storage medium

    WO2022000260A1