Map data processing method and device, equipment and medium

Through a map data processing method, the topological relationships of polygonal regions are iteratively processed, and the overlap and hollow problems between polygonal regions in electronic map data are solved, realizing automatic processing and correctness of map data.

CN119646110APending Publication Date: 2025-03-18BEIJING CHANGDIWANFANG TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411749614.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

When using multiple means to generate electronic map data, there may be differences in the boundaries of polygonal regions, resulting in overlap or holes between polygonal regions. The topological relationships of multiple polygonal regions need to be checked and repaired to ensure the correctness of map data.

Method used

A map data processing method is provided, by determining a first target area from a plurality of polygonal areas, performing the processing iteratively based on the area, including determining an adjacency area, expanding a target area to eliminate holes, deleting overlapping areas and incorporating an adjacency area into a target area until the target area does not have an adjacency area.

Benefits of technology

It realizes automatic processing of polygonal areas in map data, eliminates overlap and holes, improves processing efficiency, and ensures the correctness and seamless splicing of map data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119646110A_ABST
    Figure CN119646110A_ABST
Patent Text Reader

Abstract

The invention provides a map data processing method and device, equipment and a medium, and relates to the technical field of data processing, in particular to the technical field of maps. According to the implementation scheme, a first target area is determined from a plurality of polygonal areas of map data; executing first processing based on the first target area, wherein the first processing comprises: determining an adjacent area of the first target area; in response to determining that the cavity exists between the first target area and the adjacent area, executing a first expansion operation on the first target area, so that no cavity exists between the expanded first target area and the adjacent area; deleting an overlapped region of the expanded first target region and the adjacent region from the adjacent region; and merging the adjacent region into the first target region to obtain an updated first target region, and iteratively executing the first processing based on the updated first target area until the first target area is determined not to have the adjacent area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of data processing technology, in particular to the field of map technology, and specifically to a map data processing method, device, electronic device, computer-readable storage medium and computer program product. Background Art

[0002] When making electronic maps using computers, various methods may be used to generate various polygonal areas in the electronic map data, such as manual drawing, scanning of paper maps, etc. However, the boundaries of the polygonal areas obtained by various methods may be different, resulting in overlaps or holes between polygonal areas. In this case, it is necessary to check and repair the topological relationship of multiple polygonal areas to ensure the correctness of the map data.

[0003] The methods described in this section are not necessarily methods that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any method described in this section is considered to be prior art simply because it is included in this section. Similarly, unless otherwise indicated, the issues mentioned in this section should not be considered to have been recognized in any prior art. Summary of the invention

[0004] The present disclosure provides a map data processing method, device, electronic device, computer-readable storage medium and computer program product.

[0005] According to one aspect of the present disclosure, a map data processing method is provided, wherein the map data includes multiple polygonal areas, and the method includes: determining a first target area from the multiple polygonal areas; performing a first process based on the first target area, the first process including: determining an adjacent area of ​​the first target area; in response to determining that there is a hole between the first target area and the adjacent area, performing a first expansion operation on the first target area so that there is no hole between the expanded first target area and the adjacent area; deleting an overlapping area between the expanded first target area and the adjacent area from the adjacent area; and merging the adjacent area into the first target area to obtain an updated first target area; iteratively performing the first process based on the updated first target area until it is determined that the first target area has no adjacent area.

[0006] According to another aspect of the present disclosure, a map data processing device is provided, wherein the map data includes multiple polygonal areas, and the device includes: a determination unit configured to determine a first target area from the multiple polygonal areas; a processing unit configured to perform a first process based on the first target area, and the processing unit includes: a determination subunit configured to determine an adjacent area of ​​the first target area; an expansion subunit configured to perform a first expansion operation on the first target area in response to determining that there is a hole between the first target area and the adjacent area, so that there is no hole between the expanded first target area and the adjacent area; a deletion subunit configured to delete an overlapping area between the expanded first target area and the adjacent area from the adjacent area; and a merging subunit configured to merge the adjacent area into the first target area to obtain an updated first target area, wherein the processing unit is further configured to iteratively perform the first process based on the updated first target area until it is determined that the first target area has no adjacent area.

[0007] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned map data processing method.

[0008] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned map data processing method.

[0009] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program can implement the above map data processing method when executed by a processor.

[0010] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.

[0012] Figure 1A schematic diagram showing an exemplary system in which the various methods described herein may be implemented according to an exemplary embodiment of the present disclosure;

[0013] Figure 2 A flowchart of a map data processing method according to an exemplary embodiment of the present disclosure is shown;

[0014] Figure 3A-3B A schematic diagram showing a portion of map data according to an exemplary embodiment of the present disclosure;

[0015] Figure 4 A flowchart of a map data processing method according to an exemplary embodiment of the present disclosure is shown;

[0016] Figure 5 A structural block diagram of a map data processing device according to an exemplary embodiment of the present disclosure is shown;

[0017] Figure 6 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0018] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.

[0019] In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, timing relationship, or importance relationship of these elements, and such terms are only used to distinguish one element from another element. In some examples, the first element and the second element may refer to the same instance of the element, and in some cases, based on the description of the context, they may also refer to different instances.

[0020] The terms used in the description of various examples in this disclosure are only for the purpose of describing specific examples and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element can be one or more. In addition, the term "and / or" used in this disclosure covers any one of the listed items and all possible combinations.

[0021] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0022] Figure 1FIG. 1 is a schematic diagram of an exemplary system 100 in which various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Figure 1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 may be configured to execute one or more applications.

[0023] In an embodiment of the present disclosure, the server 120 may run one or more services or software applications that enable the map data processing method to be executed.

[0024] In some embodiments, server 120 may also provide other services or software applications, which may include non-virtualized environments and virtualized environments. In some embodiments, these services may be provided as web-based services or cloud services, such as provided to users of client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.

[0025] exist Figure 1 In the configuration shown, the server 120 may include one or more components that implement the functions performed by the server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 may in turn utilize one or more client applications to interact with the server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from the system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.

[0026] The user may use client devices 101, 102, 103, 104, 105 and / or 106 to transmit map data to be processed or map data processing requests. The client device may provide an interface that enables the user of the client device to interact with the client device. The client device may also output information to the user via the interface. Figure 1 Only six client devices are depicted, but one skilled in the art will appreciate that the present disclosure may support any number of client devices.

[0027] Client devices 101, 102, 103, 104, 105 and / or 106 may include various categories of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, game systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may run various categories and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux or Linux-like operating systems (such as GOOGLE Chrome OS); or include various mobile operating systems, such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, Android. Portable handheld devices may include cellular phones, smart phones, tablet computers, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Game systems may include various handheld game devices, Internet-enabled game devices, etc. The client device is capable of executing a variety of different applications, such as various Internet-related applications, communication applications (eg, email applications), short message service (SMS) applications, and may use various communication protocols.

[0028] The network 110 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols, including but not limited to TCP / IP, SNA, IPX, etc. By way of example only, one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.

[0029] Server 120 may include one or more general purpose computers, dedicated server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.

[0030] The computing units in the server 120 may run one or more operating systems including any of the above operating systems and any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and / or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.

[0031] In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.

[0032] In some embodiments, the server 120 may be a server of a distributed system, or a server combined with a blockchain. The server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. A cloud server is a host product in a cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and virtual private servers (VPS) services.

[0033] The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as audio files and video files. The databases 130 may reside in various locations. For example, the database used by the server 120 may be local to the server 120, or may be remote from the server 120 and may communicate with the server 120 via a network-based or dedicated connection. The databases 130 may be of different categories. In some embodiments, the databases used by the server 120 may be, for example, relational databases. One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.

[0034] In some embodiments, one or more of the databases 130 may also be used by applications to store application data. The databases used by the applications may be different categories of databases, such as a key-value store, an object store, or a conventional store backed by a file system.

[0035] Figure 1The system 100 may be configured and operated in various ways to enable the application of various methods and apparatuses described in the present disclosure.

[0036] When making electronic maps using computers, various methods may be used to generate various polygonal areas in the electronic map data. However, the boundaries of the polygonal areas obtained by various methods may be different, resulting in overlaps or holes between polygonal areas. In this case, it is necessary to check and repair the topological relationship of multiple polygonal areas to ensure the correctness of the map data.

[0037] In the related art, manual operations are usually used to correct overlaps and holes between polygonal areas in the map, which is costly and inefficient.

[0038] Based on this, the present disclosure provides a map data processing method, which selects a first target area from a map to be processed as a starting point, selects an adjacent area based on the starting point and detects holes in adjacent edges, eliminates holes by expansion and then performs deduplication to eliminate overlaps caused by the expansion operation, and after processing, the adjacent area is merged into the first target area, and the operation of searching for adjacent areas and processing edges is iteratively performed based on the new first target area to achieve automatic processing of map data.

[0039] Figure 2 FIG. 2 shows a flow chart of a method 200 for processing map data according to an exemplary embodiment of the present disclosure, wherein the map data includes a plurality of polygonal areas. Figure 2 As shown, the method 200 includes:

[0040] Step S210, determining a first target area from the multiple polygonal areas;

[0041] Step S220: performing a first process based on the first target area, the first process comprising:

[0042] Step S221, determining an adjacent area of ​​the first target area;

[0043] Step S222: in response to determining that there is a hole between the first target region and the adjacent region, performing a first expansion operation on the first target region so that there is no hole between the expanded first target region and the adjacent region;

[0044] Step S223, deleting the overlapping area between the expanded first target area and the adjacent area from the adjacent area; and

[0045] Step S224: merging the adjacent area into the first target area to obtain an updated first target area;

[0046] Step S230: iteratively perform the first process based on the updated first target region until it is determined that the first target region has no adjacent region.

[0047] By applying the above-mentioned map data processing method 200, it is possible to select a first target area as a starting point from the map to be processed, select an adjacent area based on the starting point and detect holes in the adjacent edges, eliminate holes by expanding the first target area and then perform deduplication to eliminate overlapping areas caused by the expansion operation, and simultaneously eliminate overlaps between the first target area and the adjacent area that existed before the expansion operation. After the processing is completed, the adjacent area is merged into the first target area, and the operations of searching for adjacent areas and processing edges are iteratively performed based on the new first target area, thereby realizing automatic processing of map data and improving processing efficiency.

[0048] In some examples, multiple polygonal areas in a map may correspond to multiple administrative division areas. In this case, multiple administrative division areas should be seamlessly spliced ​​and cover the entire map area. By applying the above method 200, overlaps and holes between polygonal areas can be eliminated.

[0049] In some examples, multiple polygonal areas in a map may also be obtained by dividing in other ways, for example, the entire map may be divided into different categories such as forest areas and cultivated areas, thereby obtaining multiple polygonal areas that can be seamlessly spliced. As long as the detection and processing of the spliced ​​polygonal topology in the map data can be achieved, the present disclosure does not limit the specific geographical meaning of the polygonal area.

[0050] As mentioned above, when various methods are used to generate polygonal areas in electronic map data, the boundaries of the polygonal areas obtained by the various methods may be different, which may lead to overlaps or holes between the polygonal areas, or self-intersections between the boundaries of the polygonal areas.

[0051] Figure 3A-3B FIG. 1 shows a schematic diagram of a portion of map data according to an exemplary embodiment of the present disclosure. Figure 3A As shown in FIG. 1 , the solid line indicates that part of the boundary of the polygonal area has self-intersection phenomenon. In this case, the self-intersection problem can be eliminated by thinning the boundary of the polygonal area. For example, the Douglas-Peucker algorithm can be applied to implement boundary thinning, or the thinning function packaged in the GIS (Geographic Information System) tool can be applied to implement it, which will not be described in detail here.

[0052] However, after applying the thinning algorithm to eliminate the self-intersection phenomenon of the polygonal region boundary, the processed boundary usually cannot fit with the boundary of the adjacent region, resulting in overlaps and holes between adjacent polygonal regions.

[0053] like Figure 3B As shown, there are overlaps and holes between the border of the left polygonal area shown by the dotted line and the border of the right polygonal area shown by the solid line. The map data processing method 200 provided by the present disclosure is intended to eliminate polygon overlaps and holes in the map, and ensure that multiple polygonal areas in the map can be seamlessly spliced.

[0054] In some examples, in step S210 , the first target area may be randomly determined from multiple polygonal areas, or the first target area may be selected based on certain preset rules, which is not limited in the present disclosure.

[0055] In some examples, the first expansion operation in step S222 can be implemented by utilizing the buffer operation in the GIS tool, that is, establishing an area of ​​a certain width around the polygonal area based on a certain distance, and by incorporating the above-mentioned area of ​​a certain width into the first target area, the circumferential expansion of the first target area is achieved.

[0056] According to some embodiments, in step S222, performing a first expansion operation on the first target area so that there is no hole between the expanded first target area and the adjacent area includes: iteratively performing the first expansion operation on the first target area based on the first step length until there is no hole between the expanded first target area and the adjacent area. By continuously trying to expand based on a certain step length until the hole is eliminated, that is, it is possible to use iterative operations to simplify the implementation logic of the expansion operation, and more easily eliminate the hole between the first target area and the adjacent area.

[0057] In some examples, when the buffer operation in the GIS tool is used to implement the first expansion operation for the first target area, an attempt is made to establish a buffer zone of fixed width around the first target area based on a certain buffer amount (i.e., the first step length), and the buffer zone area is merged into the first target area to achieve expansion.

[0058] In some examples, the first step length may be manually set in advance, or may be determined based on the size information of various geometric shapes contained in the map data to be processed. It can be understood that the above-mentioned operation of expanding the first target area based on the first step length is intended to eliminate the hole between the first target area and the adjacent area, that is, the first step length (i.e., the expansion amount of the first target area) should be adapted to the size of the hole shape. Furthermore, the method 200 provided in the present disclosure is intended to fine-tune the shape of polygonal areas that cannot be seamlessly spliced ​​in the map data. In order to ensure the accuracy of the map data, the ratio between the expansion amount of the first target area and the first target area as a whole should not be too large, that is, the scale of the expansion operation should be adapted to the spatial size of the map data.

[0059] Based on this, in some examples, the size of the hole shape existing in the map may be sampled before processing the map data, and the first step length may be determined based on the sampling result and the preset first ratio. For example, when the sampling result indicates that the diagonal size range of the hole in the map is 5 meters to 10 meters, the first step length may be determined to be 0.5 meters by multiplying 5 meters by a ratio value of 0.1. In some examples, the size of multiple polygonal areas in the map may be sampled before processing the map data, and the first step length may be determined based on the sampling result and the preset second ratio. For example, when the sampling result indicates that the diagonal size range of the polygon in the map is 100 meters to 200 meters, the first step length may be determined to be 1 meter by multiplying 100 meters by a ratio value of 0.01. In some examples, the first step length may be determined by combining the above two methods, for example, two candidate values ​​of the first step length may be determined by using the above two methods respectively, and then the smaller value or the average value of the two may be used as the first step length.

[0060] It should be understood that the first expansion operation in step S222 may also be implemented in other ways, as long as the area of ​​the first target region can be expanded so that the expanded first target region can cover the hole, and the present disclosure does not limit this.

[0061] According to some embodiments, the iteratively performing the first expansion operation on the first target area based on the first step length until there is no hole between the expanded first target area and the adjacent area includes: in response to the number of first expansion operations on the first target area being greater than or equal to a first quantity threshold, and there is a hole between the expanded first target area and the adjacent area, merging the area of ​​the hole into the adjacent area. Thus, the number of expansion operations on the first target area can be limited based on the first quantity threshold, that is, whether the processing of the map data is too large is determined based on the number of expansions. When the threshold is exceeded, the expansion operation is no longer performed on the first target area, but the hole is directly forced to be removed to avoid excessive deviation of the map data.

[0062] According to some embodiments, the method 200 further includes: in response to the number of first expansion operations on the first target area being greater than or equal to the first quantity threshold, recording the location information of the hole. Thus, by recording the hole information, the location of the map where the processing amplitude is too large can be marked for subsequent inspection to avoid excessive deviation of the map data.

[0063] In some examples, the recorded location information of the void may be passed to a manual confirmation step to further confirm whether the results of the automatic processing operation on the map data seriously deviate from the real geographic elements, so as to ensure the accuracy of the map data.

[0064] According to some embodiments, in step S223, deleting the overlapping area of ​​the expanded first target area and the adjacent area from the adjacent area includes: determining the union of the expanded first target area and the adjacent area; determining the difference between the union and the first target area; and updating the adjacent area so that the updated adjacent area is equal to the difference, and wherein, in step S224, merging the adjacent area into the first target area to obtain the updated first target area includes: updating the first target area so that the updated first target area is equal to the union. Thus, the deduplication operation of deleting the overlapping area from the adjacent area and the operation of expanding the first target area can be realized by calculating the union and the difference, simplifying the area calculation operation and improving the processing efficiency.

[0065] According to some embodiments, the method 200 further comprises: calculating an intersection-and-union ratio of the difference set and the adjacent region, wherein the updating of the adjacent region comprises: updating the adjacent region in response to determining that the value of the intersection-and-union ratio is less than or equal to a numerical threshold. Thus, the intersection-and-union ratio can be used to indicate the impact of the deduplication operation on the adjacent region, and the automatic deduplication operation is allowed to be performed only when the intersection-and-union ratio does not exceed the numerical threshold, thereby avoiding excessive deviation of the map data.

[0066] When the intersection-and-union ratio of the difference set and the adjacent area exceeds the above-mentioned numerical threshold, it means that the adjacent area is modified too much by the deduplication operation, and the modified map data is likely to be inaccurate. Based on this, in some examples, when the intersection-and-union ratio of the difference set and the adjacent area exceeds the numerical threshold, the adjacent area or overlapping area currently being processed can be submitted to manual confirmation, and the deduplication operation is no longer performed based on the steps described in method 200, so as to avoid excessive deviation of map data and ensure map accuracy.

[0067] According to some embodiments, determining the adjacent area of ​​the first target area in step S221 includes: in response to determining that the first target area does not have an adjacent area, iteratively performing a second expansion operation on the first target area based on an expansion rule and a second step size until the expanded first target area has an adjacent area, wherein the expansion rule includes that the number of the second expansion operation is less than or equal to a second quantity threshold, wherein determining that the first target area does not have an adjacent area in step S230 includes: in response to determining that the number of second expansion operations for the first target area is greater than or equal to the second quantity threshold, and the expanded first target area does not have an adjacent area, determining that the first target area does not have an adjacent area. By applying the above means, when selecting an adjacent area, it is allowed to perform an appropriate expansion operation on the first target area until a directly adjacent area is obtained, so as to avoid gaps in the map affecting the selection of the adjacent area. When the number of the second expansion operation exceeds the second quantity threshold, it is determined that the first target area has no adjacent area, and the iterative processing of the current first target area is stopped to avoid excessive offset in processing map data.

[0068] In some examples, the second extension operation in step S221 may be implemented in the same manner as the first extension operation described above, that is, it may be implemented using the buffer operation in the GIS tool, which will not be described in detail here.

[0069] In some examples, the second step length may be manually set in advance, or may be determined based on the size information of various geometric shapes contained in the map data to be processed. The above-mentioned second expansion operation is intended to reduce the gap between the first target area and the adjacent area closest to the first target area, so that the first target area can be directly adjacent to the adjacent area. In this case, the second step length can be determined in a manner similar to the determination step of the first step length described above, first sampling the size of the hole shape existing in the map, and determining the first step length based on the sampling result and the preset third ratio.

[0070] It can be understood that the first expansion operation is intended to eliminate all the gaps between the first target area and the adjacent area, while the second expansion operation only needs to reduce the gaps so that the first target area is directly adjacent to the adjacent area. In this case, the second step length can be smaller than the first step length to minimize the amplitude of the expansion operation, that is, to reduce the amplitude of the modification of the map data and ensure the accuracy of the map data.

[0071] In some examples, in order to simplify the processing steps, the first step length and the second step length may be the same, so as to simplify the complexity of map data processing based on method 200 and improve processing efficiency.

[0072] According to some embodiments, method 200 further includes: in response to determining that the updated first target area has no adjacent area, and determining that the multiple polygonal areas include other areas except the first target area, determining a second target area based on the other areas; and performing the first processing based on the second target area. Thus, after the current first target area cannot be further expanded, a new target area can be selected as the starting point to continue the loop processing, so as to ensure that all traversals are performed on the multiple polygonal areas, and realize automatic processing of all polygonal areas in the map.

[0073] According to some embodiments, method 200 further includes: using a first set to record information of the plurality of polygonal areas; after determining the adjacent area of ​​the first target area, moving the first target area from the first set to a second set; and after deleting the overlapping area from the adjacent area, moving the adjacent area after deleting the overlapping area from the first set to the second set, wherein in response to determining that the plurality of polygonal areas include other areas except the first target area, determining the second target area based on the other areas includes: in response to determining that the first set is not an empty set, determining the second target area from the first set. Thus, the first set and the second set can be used to record unprocessed areas and processed areas respectively, and by moving the polygonal areas from the first set to the second set, the automatic processing of polygonal holes and overlapping phenomena in the map is achieved, so that the second set can store processed polygonal areas that can achieve seamless splicing.

[0074] Figure 4 FIG. 1 is a flow chart showing a method for processing map data according to an exemplary embodiment of the present disclosure. Figure 4 As shown, map data processing can be implemented based on the following steps:

[0075] Step S1: Obtain a first set U. In this example, the first set U represents a plurality of unprocessed polygonal regions.

[0076] Step S2, select G from U. G corresponds to the first target area described above, and by continuously expanding the first target area in subsequent steps, the adjacent area corresponding to the current first target area can be continuously detected to obtain the first target area including multiple polygonal areas that can achieve seamless splicing.

[0077] Step S3, judging whether there is an optional G. When the judgment result is no, it can be determined that the multiple polygonal areas in U have been processed. When the judgment result is yes, it can enter step S4.

[0078] Step S4: Select the adjacent region G' of G.

[0079] Step S4: Determine whether there is an optional G'. If the determination result is no, it means that G is not directly adjacent to other polygonal areas. In this case, the following step S5 can be executed.

[0080] Step S5: Determine whether the current buffer size for G exceeds the buffer1 threshold. If the determination result is yes, it can be determined that the current G cannot be further expanded, so it is possible to return to step S2 to select another G as a new starting point for iterative processing. If the determination result is no, step S6 can be executed.

[0081] Step S6: perform a buffer operation on G, and then continue to perform step S3 based on the buffered G to try to select G'.

[0082] When the judgment result of step S4 is yes, step S7 can be continued to be executed to move G from the first set U to U'. Thus, U' can be used to record the processed polygonal area.

[0083] Step S8: execute H=G∪G', and use H to represent the union of G and G'.

[0084] Step S9, judging whether there is a hole in H, is equivalent to judging whether there is a hole between the first target area and the adjacent area. When the judgment result is yes, the following step S10 can be executed.

[0085] Step S10, determine whether the current buffer size for G exceeds the buffer2 threshold. If the judgment result is yes, it can be determined that the current automatic processing range of map data is too large, and then step S12 can be executed to forcibly remove holes. If the judgment result is no, step S11 can be executed.

[0086] Step S11, perform an expansion operation on G, and then continue to perform step S8 based on the expanded G to detect whether there is a hole between the first target area and the adjacent area.

[0087] When the judgment result of step S9 is no, step S13 can be continued to be executed, I=HG, and I is used to represent the difference set of H and G.

[0088] Step S14, setting G'=I, that is, implementing the deduplication operation on G', and then moving G' from U to U', setting G=H to merge the adjacent area into the first target area.

[0089] After the processing of the first target area G is completed, step S15 can be executed to determine whether U is an empty set. When the judgment result is yes, it can be determined that the processing of multiple polygonal areas in the original U has been completed, and then step S16 is executed.

[0090] Step S16: End the processing and output U'.

[0091] When the judgment result of step S15 is no, the process returns to step S3 to reselect an adjacent region based on the updated first target region G, so as to further expand the first target region G.

[0092] By executing the above steps, G can be selected as the starting point from the set of polygonal areas to be processed, and the adjacent area G' is selected based on the starting point and the holes of the adjacent edges are detected. After the holes are eliminated by performing an expansion operation on G, deduplication is performed to eliminate the overlapping areas caused by the expansion operation. After the processing is completed, G' is merged into G, and G is used to represent multiple polygonal areas that can form seamless splicing. Then, based on the new G, the operations of searching adjacent areas and processing edges are iteratively performed to realize automatic processing of map data and improve processing efficiency.

[0093] According to one aspect of the present disclosure, a map data processing device is also provided. Figure 5 FIG. 4 shows a structural block diagram of a map data processing device 500 according to an exemplary embodiment of the present disclosure, wherein the map data includes a plurality of polygonal areas. Figure 5 As shown, the device 500 includes:

[0094] A determining unit 510 is configured to determine a first target area from the plurality of polygonal areas;

[0095] The processing unit 520 is configured to perform a first process based on the first target area, and the processing unit includes:

[0096] A determination subunit 521 is configured to determine an adjacent area of ​​the first target area;

[0097] an expansion subunit 522, configured to, in response to determining that there is a hole between the first target region and the adjacent region, perform a first expansion operation on the first target region so that there is no hole between the expanded first target region and the adjacent region;

[0098] a deleting subunit 523, configured to delete the expanded overlapping area between the first target area and the adjacent area from the adjacent area; and

[0099] The merging subunit 524 is configured to merge the adjacent area into the first target area to obtain an updated first target area.

[0100] The processing unit 520 is further configured to iteratively perform the first processing based on the updated first target area until it is determined that the first target area has no adjacent area.

[0101] According to some embodiments, the expansion subunit 522 is configured to: iteratively perform the first expansion operation on the first target region based on the first step length until no hole exists between the expanded first target region and the adjacent region.

[0102] According to some embodiments, the expansion subunit 522 is configured to: in response to the number of first expansion operations on the first target area being greater than or equal to a first quantity threshold, and there being a hole between the expanded first target area and the adjacent area, merge the hole area into the adjacent area.

[0103] According to some embodiments, the apparatus 500 further includes: a first recording unit configured to record the location information of the hole in response to the number of first expansion operations on the first target area being greater than or equal to the first quantity threshold.

[0104] According to some embodiments, the deletion subunit 523 includes: a first determination module, configured to determine the union of the first target area and the adjacent area after expansion; a second determination module, configured to determine the difference between the union and the first target area; and an update module, configured to update the adjacent area so that the updated adjacent area is equal to the difference, and wherein the merging subunit 524 is configured to: update the first target area so that the updated first target area is equal to the union.

[0105] According to some embodiments, the device 500 further includes: a calculation unit configured to calculate an intersection-and-union ratio between the difference set and the adjacent region, wherein the update module is configured to: update the adjacent region in response to determining that the value of the intersection-and-union ratio is less than or equal to a numerical threshold.

[0106] According to some embodiments, the determination subunit 521 is configured to: in response to determining that the first target area does not have an adjacent area, iteratively perform a second expansion operation on the first target area based on an expansion rule and a second step size until the expanded first target area has an adjacent area, wherein the expansion rule includes that the number of the second expansion operations is less than or equal to a second quantity threshold, wherein the processing unit 520 is configured to: in response to determining that the number of second expansion operations for the first target area is greater than or equal to the second quantity threshold, and the expanded first target area does not have an adjacent area, determine that the first target area does not have an adjacent area.

[0107] According to some embodiments, the determination unit 510 is also configured to determine a second target area based on the other areas in response to determining that the updated first target area has no adjacent areas and determining that the multiple polygonal areas include other areas except the first target area, and the processing unit 520 is also configured to perform the first processing based on the second target area.

[0108] According to some embodiments, the device 500 also includes: a second recording unit, configured to record information of the multiple polygonal areas using the first set; a moving unit, configured to move the first target area from the first set to the second set after determining the adjacent area of ​​the first target area; and after deleting the overlapping area from the adjacent area, moving the adjacent area after deleting the overlapping area from the first set to the second set, wherein the determination unit 510 is configured to: in response to determining that the first set is not an empty set, determine the second target area from the first set.

[0109] According to another aspect of the present disclosure, an electronic device is also provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned map data processing method.

[0110] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is also provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned map data processing method.

[0111] According to another aspect of the present disclosure, a computer program product is also provided, including a computer program, wherein the computer program implements the above-mentioned map data processing method when executed by a processor.

[0112] refer to Figure 6 , a block diagram of an electronic device 600 that can be used as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0113] like Figure 6 As shown, the device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0114] Multiple components in the device 600 are connected to the I / O interface 605, including: an input unit 606, an output unit 607, a storage unit 608, and a communication unit 609. The input unit 606 can be any type of device that can input information to the device 600. The input unit 606 can receive input digital or character information and generate key signal input related to user settings and / or function control of the electronic device, and can include but is not limited to a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and / or a remote controller. The output unit 607 can be any type of device that can present information, and can include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 608 can include but is not limited to a disk, an optical disk. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and can include but is not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0115] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as the map data processing method. For example, in some embodiments, the map data processing method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the map data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the map data processing method in any other appropriate manner (e.g., by means of firmware).

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

[0117] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0118] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

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

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

[0121] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0122] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0123] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples, but only by the claims after authorization and their equivalent scope. Various elements in the embodiments or examples can be omitted or replaced by their equivalent elements. In addition, each step can be performed in an order different from that described in the present disclosure. Further, the various elements in the embodiments or examples can be combined in various ways. It is important that with the evolution of technology, many elements described herein can be replaced by equivalent elements that appear after the present disclosure.

Claims

1. A map data processing method, wherein: The map data includes a plurality of polygonal areas, and the method includes: determining a first target area from among the plurality of polygonal areas; Performing a first process based on the first target area, the first process comprising: determining an adjacent area of ​​the first target area; In response to determining that there is a hole between the first target area and the adjacent area, Performing a first expansion operation on the first target area so that no hole exists between the expanded first target area and the adjacent area; deleting the overlapped area between the expanded first target area and the adjacent area from the adjacent area; and Merging the adjacent area into the first target area to obtain an updated first target area; The first process is iteratively performed based on the updated first target region until it is determined that the first target region has no adjacent region.

2. The method of claim 1, wherein: The performing a first expansion operation on the first target area so that there is no hole between the expanded first target area and the adjacent area includes: The first expansion operation is iteratively performed on the first target region based on the first step length until no hole exists between the expanded first target region and the adjacent region.

3. The method of claim 2, wherein: The iteratively performing the first expansion operation on the first target region based on the first step length until no hole exists between the expanded first target region and the adjacent region comprises: In response to the first expansion operation number for the first target area being greater than or equal to a first quantity threshold, and a hole existing between the expanded first target area and the adjacent area, the area of ​​the hole is merged into the adjacent area.

4. The method of claim 3, further comprising: In response to the number of first expansion operations on the first target area being greater than or equal to the first quantity threshold, the location information of the hole is recorded.

5. The method according to any one of claims 1 to 4, wherein: The step of deleting the overlapping area between the expanded first target area and the adjacent area from the adjacent area comprises: Determine a union of the first target area and the adjacent area after expansion; determining a difference between the union and the first target area; and updating the adjacent region so that the updated adjacent region is equal to the difference set, And wherein, merging the adjacent area into the first target area to obtain the updated first target area includes: The first target area is updated so that the updated first target area is equal to the union.

6. The method of claim 5, further comprising: Calculate the intersection-over-union ratio of the difference set and the adjacent region, Wherein, updating the adjacent area comprises: In response to determining that the value of the intersection-over-union ratio is less than or equal to a numerical threshold, the contiguous region is updated.

7. The method according to any one of claims 1 to 6, wherein: The determining of the adjacent area of ​​the first target area comprises: In response to determining that the first target area does not have an adjacent area, iteratively performing a second expansion operation on the first target area based on an expansion rule and a second step size until the expanded first target area has an adjacent area, wherein the expansion rule includes that the number of the second expansion operation is less than or equal to a second quantity threshold, The determining that the first target area has no adjacent area includes: In response to determining that the number of second expansion operations for the first target area is greater than or equal to the second quantity threshold, and the expanded first target area has no adjacent area, it is determined that the first target area has no adjacent area.

8. The method according to any one of claims 1 to 7, further comprising: In response to determining that the updated first target area has no adjacent areas and determining that the plurality of polygonal areas include other areas except the first target area, determining a second target area based on the other areas; as well as The first process is performed based on the second target area.

9. The method of claim 8, further comprising: Using the first set to record information of the plurality of polygonal areas; After determining an adjacent area of ​​the first target area, move the first target area from the first set to a second set; as well as After deleting the overlapping area from the adjacent area, moving the adjacent area after deleting the overlapping area from the first set to the second set, In response to determining that the plurality of polygonal areas include other areas except the first target area, determining the second target area based on the other areas includes: In response to determining that the first set is not an empty set, the second target area is determined from the first set.

10. A map data processing device, wherein: The map data includes a plurality of polygonal areas, and the device includes: a determining unit configured to determine a first target area from the plurality of polygonal areas; A processing unit is configured to perform a first process based on the first target area, the processing unit comprising: a determination subunit, configured to determine an adjacent area of ​​the first target area; an expansion subunit, configured to, in response to determining that there is a hole between the first target region and the adjacent region, perform a first expansion operation on the first target region so that there is no hole between the expanded first target region and the adjacent region; a deleting subunit, configured to delete the expanded overlapping area between the first target area and the adjacent area from the adjacent area; and a merging subunit, configured to merge the adjacent region into the first target region to obtain an updated first target region, The processing unit is further configured to iteratively perform the first processing based on the updated first target area until it is determined that the first target area has no adjacent area.

11. The device of claim 10, wherein: The extension subunit is configured as follows: The first expansion operation is iteratively performed on the first target region based on the first step length until no hole exists between the expanded first target region and the adjacent region.

12. The device of claim 11, wherein: The extension subunit is configured as follows: In response to the first expansion operation number for the first target area being greater than or equal to a first quantity threshold, and a hole existing between the expanded first target area and the adjacent area, the area of ​​the hole is merged into the adjacent area.

13. The apparatus of claim 12, further comprising: The first recording unit is configured to record the location information of the hole in response to the number of first expansion operations on the first target area being greater than or equal to the first quantity threshold.

14. The device according to any one of claims 10 to 13, wherein: The deletion subunit comprises: A first determination module is configured to determine a union of the first target area and the adjacent area after expansion; A second determination module is configured to determine a difference between the union and the first target area; and an updating module, configured to update the adjacent region so that the updated adjacent region is equal to the difference set, And wherein, the merging subunit is configured as: The first target area is updated so that the updated first target area is equal to the union.

15. The apparatus of claim 14, further comprising: a calculation unit configured to calculate an intersection-and-union ratio between the difference set and the adjacent region, Wherein, the update module is configured as follows: In response to determining that the value of the intersection-over-union ratio is less than or equal to a numerical threshold, the contiguous region is updated.

16. The device according to any one of claims 10 to 15, wherein: The determining subunit is configured as follows: In response to determining that the first target area does not have an adjacent area, iteratively performing a second expansion operation on the first target area based on an expansion rule and a second step size until the expanded first target area has an adjacent area, wherein the expansion rule includes that the number of the second expansion operation is less than or equal to a second quantity threshold, Wherein, the processing unit is configured as: In response to determining that the number of second expansion operations for the first target area is greater than or equal to the second quantity threshold, and the expanded first target area has no adjacent area, it is determined that the first target area has no adjacent area.

17. The device according to any one of claims 10 to 16, wherein: The determining unit is further configured to, in response to determining that the updated first target area has no adjacent area and determining that the plurality of polygonal areas include other areas except the first target area, determine a second target area based on the other areas, The processing unit is further configured to perform the first process based on the second target area.

18. The apparatus of claim 17, further comprising: A second recording unit is configured to record information of the plurality of polygonal areas using the first set; as well as A mobile unit is configured to: After determining an adjacent area of ​​the first target area, move the first target area from the first set to a second set; as well as After deleting the overlapping area from the adjacent area, moving the adjacent area after deleting the overlapping area from the first set to the second set, Wherein, the determining unit is configured as follows: In response to determining that the first set is not an empty set, the second target area is determined from the first set.

19. An electronic device comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; in The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 9.

20. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to make a computer execute the method according to any one of claims 1-9.

21. A computer program product comprising a computer program, wherein: The computer program implements the method according to any one of claims 1 to 9 when executed by a processor.