Map data processing method, device, equipment and product
By adding hidden data with different rendering attributes to non-critical areas of map data, the problem of watermark information loss is solved, and watermark retention and copyright tracking are achieved during compilation and display, reducing the impact on user navigation and display.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-30
- Publication Date
- 2026-03-03
AI Technical Summary
Existing technologies, when adding watermarks to map data, cause the watermark information to be lost during the compilation process, affecting user experience or making it impossible to track copyright. Furthermore, existing solutions add hidden marks to important geographical locations, which affects user navigation.
Candidate points for non-critical areas are obtained from map data, their geocodes are calculated, target points are selected and marked areas are determined, and marked data is added to non-critical areas of the largest map layer so that their rendering attributes are different from the original attributes, ensuring that the watermark is not lost during compilation and display.
Watermark information is retained during compilation and display to reduce the impact on user navigation and map display, and a hidden mark is displayed on the largest map layer to facilitate copyright tracking.
Smart Images

Figure CN114693499B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of digital watermarking technology, specifically to a map data processing method, apparatus, device, and product. Background Technology
[0002] Data is a crucial asset for businesses and a core competitive advantage, with its potential value currently immeasurable. Therefore, data security has become a major concern. To prevent data theft, copyright holders need to add watermarks to the data to identify its ownership. For example, when map data providers sell their data as a product to businesses, car manufacturers, and other third parties, the data sold can only be used by the third-party company and cannot be provided to others without the provider's permission. To ensure the copyright, security, and compliance of the map data, and to prevent third-party companies from providing the map data to others without authorization, watermarks are added to the map data when providing it to third parties to protect the map's originality. Existing watermarking solutions directly add hidden watermarks to the original vector data. To ensure the usability of the map data, only the coordinates at least six decimal places are modified, using these numbers to carry the watermark information. While a hidden watermark ensures that the map data is indistinguishable from the original data during compilation, the original coordinates are altered, removing more than six decimal places. This erases the watermark information added to the coordinates, making copyright tracking impossible. Another solution is to directly add hidden markers to the map. While these markers are not erased during compilation, adding them to important locations such as highways, urban expressways, national roads, and provincial roads can severely impact the user experience. Summary of the Invention
[0003] This disclosure provides a map data processing method, apparatus, device, and product.
[0004] In a first aspect, this disclosure provides a map data processing method.
[0005] Specifically, the map data processing method includes:
[0006] Candidate points are obtained from map data, wherein the candidate points are located in non-important areas of the map;
[0007] Calculate the geocode of the candidate points, with each grid region uniquely corresponding to a geocode;
[0008] Select the target point from candidate points with the same geocode;
[0009] The marked area is determined based on the target point;
[0010] Preset hidden mark data is added to the hidden mark area of the largest map layer. The rendering attributes of the hidden mark data are different from the original attributes of the hidden mark area.
[0011] In conjunction with the first aspect, in a first implementation of the first aspect of this disclosure, the candidate points include at least one of the following: road nodes and points of interest (POIs); obtaining candidate points from map data includes at least one of the following steps:
[0012] Obtain candidate roads of a preset road level from the map data, and obtain road nodes connected to at least three candidate roads;
[0013] Obtain POIs of the first preset type from the map data.
[0014] In conjunction with the first aspect and the first implementation, in a second implementation of the first aspect, the step of selecting a target point from candidate points with the same geocode includes:
[0015] Determine the center point of the grid area corresponding to the same geocode;
[0016] From the candidate points with the same geocode, select the candidate point closest to the center point as the target point.
[0017] Combining the first aspect and the various implementations mentioned above, in the third implementation of the first aspect of this disclosure, when the candidate point includes road nodes connected to three candidate roads, the step of determining the marked area based on the target point includes:
[0018] Determine the difference in angle between each of the three candidate roads connecting the target point and its two adjacent candidate roads;
[0019] The reverse extension region of the candidate road with the smallest angle difference is identified as the hidden marking region.
[0020] Combining the first aspect and the various implementations mentioned above, in the fourth implementation of the first aspect of this disclosure, when the candidate points include POI points, the step of determining the cryptic region based on the target point includes:
[0021] The area at a preset distance from the target point is defined as the marking area.
[0022] Combining the first aspect and the above implementation methods, in the fifth implementation method of the first aspect of this disclosure, the rendering attributes of the cryptic data are different from the original attributes of the cryptic region; when the candidate point includes a road node, the cryptic data includes road data of the preset road level; when the candidate point includes a POI point, the cryptic data includes data of a second preset type, which is different from the first preset type.
[0023] In conjunction with the first aspect and the various implementations described above, in the sixth implementation of the first aspect of this disclosure, the method further includes:
[0024] Obtain the user's user identifier;
[0025] Determine the target geocode corresponding to the user identifier;
[0026] The step of adding preset marker data to the marker area of the largest map layer includes:
[0027] Add the user's corresponding secret data to the secret area corresponding to the target geocode.
[0028] In conjunction with the first aspect and the various implementations described above, in the seventh implementation of the first aspect of this disclosure, the user identifier includes the encoded symbol in the geocoding, and the step of determining the target geocoding corresponding to the user identifier includes:
[0029] The code of the preset bit in the geocode is determined to be the target geocode of the user identifier;
[0030] In conjunction with the first aspect and the various implementations described above, in the eighth implementation of the first aspect of this disclosure, the user identifier includes the result of a combination operation of N coded symbols in the geocode, and the step of determining the target geocode corresponding to the user identifier includes:
[0031] The result is obtained by combining the preset bits of the N geocodes.
[0032] The N geocodes that result in the user identifier are determined as the target geocodes, where N is an integer greater than or equal to 2.
[0033] Secondly, this disclosure provides a message forwarding device.
[0034] Specifically, the message forwarding device includes:
[0035] The first acquisition module is configured to acquire candidate points from map data, wherein the candidate points are located in non-important areas of the map;
[0036] The calculation module is configured to calculate the geocode of the candidate points, with each grid area uniquely corresponding to one geocode;
[0037] The selection module is configured to select the target point from candidate points with the same geocode;
[0038] The first determining module is configured to determine the marked area based on the target point;
[0039] The module is added and configured to add preset marker data to the marker area of the largest map layer.
[0040] In conjunction with the second aspect, in a first implementation of the second aspect, the candidate points include at least one of the following: road nodes and points of interest (POIs); the first acquisition module is configured to include at least one of the following steps:
[0041] Obtain candidate roads of a preset road level from the map data, and obtain road nodes connected to at least three candidate roads;
[0042] Obtain POIs of the first preset type from the map data.
[0043] In a second implementation of the second aspect and the first implementation, the selection module is configured as follows:
[0044] Determine the center point of the grid area corresponding to the same geocode;
[0045] From the candidate points with the same geocode, select the candidate point closest to the center point as the target point.
[0046] In combination with the second aspect and the various implementations described above, in a third implementation of the second aspect of this disclosure, when the candidate point includes a road node connected to three candidate roads, the first determining module is configured as follows:
[0047] Determine the difference in angle between each of the three candidate roads connecting the target point and its two adjacent candidate roads;
[0048] The reverse extension region of the candidate road with the smallest angle difference is identified as the hidden marking region.
[0049] In combination with the second aspect and the various implementations described above, in the fourth implementation of the second aspect of this disclosure, when the candidate points include POI points, the first determining module is configured as follows:
[0050] The area at a preset distance from the target point is defined as the marking area.
[0051] Combining the second aspect and the above implementation methods, in the fifth implementation method of the second aspect of this disclosure, the rendering attributes of the hidden mark data are different from the original attributes of the hidden mark area; when the candidate point includes a road node, the hidden mark data includes road data of the preset road level; when the candidate point includes a POI point, the hidden mark data includes data of a second preset type, which is different from the first preset type.
[0052] In conjunction with the second aspect and the various implementations described above, in a sixth implementation of the second aspect of this disclosure, the apparatus further includes:
[0053] The second acquisition module is configured to acquire the user's user identifier;
[0054] The second determining module is configured to determine the target geocode corresponding to the user identifier;
[0055] The added module is configured as follows:
[0056] Add the user's corresponding secret data to the secret area corresponding to the target geocode.
[0057] In conjunction with the second aspect and the various implementations described above, in the seventh implementation of the second aspect of this disclosure, the user identifier includes the encoded symbol in the geocoding, and the second determining module is configured as follows:
[0058] The code of the preset bit in the geocode is determined to be the target geocode of the user identifier;
[0059] Combining the second aspect and the various implementations above, in the eighth implementation of the second aspect of this disclosure, the user identifier includes the result of a combination operation of N coded symbols in the geocoding, and the second determining module is configured as follows:
[0060] The result is obtained by combining the preset bits of the N geocodes.
[0061] The N geocodes that result in the user identifier are determined as the target geocodes, where N is an integer greater than or equal to 2.
[0062] Thirdly, embodiments of this disclosure provide an electronic device, including a memory and a processor, wherein the memory is used to store one or more computer instructions that support the above-described apparatus in performing the above-described methods, and the processor is configured to execute the computer instructions stored in the memory.
[0063] Fourthly, embodiments of this disclosure provide a computer-readable storage medium having computer instructions stored thereon, which, when executed by a processor, implement the steps of the method described in any of the preceding aspects.
[0064] Fifthly, embodiments of this disclosure provide a computer program product, including a computer program / instructions, wherein the computer program / instructions, when executed by a processor, implement the steps of the method described in any of the above aspects.
[0065] Sixthly, embodiments of this disclosure provide a navigation method, wherein a navigation route is obtained based on an electronic map, calculated at least based on a starting point, an ending point, and road conditions, and navigation guidance is performed based on the navigation route, wherein the map data of the electronic map is obtained based on any of the methods described above.
[0066] The technical solutions provided in this disclosure may have the following beneficial effects:
[0067] The above technical solution can obtain candidate points from map data, where the candidate points are located in non-critical areas of the map; calculate the geocode of the candidate points on the maximum map layer, with each grid area uniquely corresponding to a geocode; select a target point from candidate points with the same geocode; determine a hidden mark area based on the target point, where the hidden mark area does not overlap with the area where the target point is located; and add preset hidden mark data to the hidden mark area on the maximum map layer. Thus, by adding hidden mark data, the hidden mark data can be retained in the final output data during the compilation and display stages, solving the problem of watermark information loss in compilation and display scenarios for coordinate-based hidden watermarks. Moreover, selecting the hidden mark area as the location for adding the hidden mark in a non-critical area of the maximum map layer ensures that the map accuracy in non-critical areas is inherently lower, and even sporadic errors will not affect navigation, traffic conditions, or other information, reducing the risk of interference to users. Furthermore, adding these small hidden marks to the maximum map layer ensures the recognizability of the hidden marks when the map is maximized, facilitating copyright tracking, without affecting the normal display and use of the overall map.
[0068] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit the embodiments of this disclosure. Attached Figure Description
[0069] Other features, objects, and advantages of embodiments of this disclosure will become more apparent from the following detailed description of non-limiting implementations, taken in conjunction with the accompanying drawings. In the drawings:
[0070] Figure 1 A flowchart illustrating a map data processing method according to an embodiment of the present disclosure is shown;
[0071] Figure 2A schematic diagram illustrating the acquisition of a marked area according to an embodiment of the present disclosure is shown;
[0072] Figure 3 A structural block diagram of a map data processing apparatus according to an embodiment of the present disclosure is shown;
[0073] Figure 4 A structural block diagram of an electronic device according to an embodiment of the present disclosure is shown;
[0074] Figure 5 This is a schematic diagram of the structure of a computer system suitable for implementing the method according to embodiments of the present disclosure. Detailed Implementation
[0075] Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings to enable those skilled in the art to readily implement them. Furthermore, for clarity, portions unrelated to the description of the exemplary embodiments have been omitted from the drawings.
[0076] In embodiments disclosed herein, it should be understood that terms such as “comprising” or “having” are intended to indicate the presence of features, numbers, steps, behaviors, components, portions or combinations thereof disclosed herein, and are not intended to exclude the possibility that one or more other features, numbers, steps, behaviors, components, portions or combinations thereof are present or added.
[0077] It should also be noted that, unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other. The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings and examples.
[0078] As mentioned above, data is a crucial asset for enterprises and one of their core competitive advantages, with its potential value currently immeasurable. Therefore, data security has attracted significant attention. To prevent data theft, platforms that own the copyright to data need to add watermarks to identify the copyright holder. For example, when map data providers sell map data as a product to enterprises, car manufacturers, and other third parties, the map data sold to these third parties can only be used by the third-party companies and cannot be provided to others without the provider's permission. To ensure the copyright, security, and compliance of the provider's map data, and to prevent third-party companies from providing the map data sold by the provider to others without authorization, watermark information is added to the map data when providing map data products to third parties to protect the original rights of the map. Existing watermarking schemes all directly add dark watermarks to the original vector data. To ensure the usability of the map data, only the coordinates at least six decimal places are modified, using these numbers to carry the watermark information. While a hidden watermark ensures that the map data is indistinguishable from the original data during compilation, the original coordinates are altered, removing more than six decimal places. This erases the watermark information added to the coordinates, making copyright tracking impossible. Another solution is to directly add hidden markers to the map. While these markers are not erased during compilation, adding them to important locations such as highways, urban expressways, national roads, and provincial roads can severely impact the user experience.
[0079] In view of the above problems, this disclosure proposes a map data processing method, which can obtain candidate points from map data, the candidate points being located in non-important areas of the map; calculate the geocode of the candidate points on the maximum map layer, with each grid area uniquely corresponding to a geocode; select a target point from candidate points with the same geocode; determine a hidden mark area based on the target point, the hidden mark area not overlapping with the area where the target point is located; add preset hidden mark data at the hidden mark area of the maximum map layer; in this way, by adding hidden mark data, the hidden mark data can be retained in the final output data during the compilation and display stages, solving the problem of watermark information loss in the compilation and display scenarios of coordinate-based hidden watermarks; moreover, the hidden mark area is selected as the hidden mark addition location in a non-important area of the maximum map layer. Since the map accuracy in non-important areas is inherently lower, sporadic errors will not affect navigation, traffic conditions, or other information, reducing the risk of interference to users. In addition, adding these small hidden marks to the maximum map layer can ensure the recognizability of the hidden marks when the map is maximized, facilitating copyright tracking, without affecting the normal display and use of the overall map.
[0080] Figure 1A flowchart illustrating a map data processing method according to an embodiment of the present disclosure is shown, such as... Figure 1 As shown, the map data processing method includes the following steps S101-S105:
[0081] In step S101, candidate points are obtained from map data, wherein the candidate points are located in non-important areas of the map;
[0082] In step S102, the geocode of the candidate point is calculated, and each grid area uniquely corresponds to a geocode;
[0083] In step S103, the target point is selected from candidate points with the same geocode;
[0084] In step S104, the dark marking area is determined based on the target point;
[0085] In step S105, preset hidden mark data is added to the hidden mark area of the largest map layer.
[0086] In one embodiment of this disclosure, the map data processing can be applied to computers, servers, and server clusters capable of performing map data processing.
[0087] In one embodiment of this disclosure, the non-critical area refers to an area with low user navigation frequency, such as the edge of non-urban areas, internal roads of AOI (Area of Interest) such as residential areas, and small roads in the road network. Several candidate points can be obtained from the non-critical areas of the map according to preset rules. These preset rules can filter for certain POIs, such as POIs of the mountain type, POIs of the water type, etc., or they can filter for certain road nodes, such as intersections, etc.
[0088] In one embodiment of this disclosure, after obtaining candidate points, their geocodes can be calculated. These geocodes are based on geographic regions, with one geocode corresponding to each grid area. An example is Geohash coding, which divides the Earth's surface into multiple square grid areas with fixed latitude and longitude ranges according to certain rules. Each grid area has a unique Geohash code, which is a string composed of 0-9 and bz (excluding a, i, l, and o). It should be noted that map data includes many layers, each with different grid divisions. Therefore, each candidate point has a different geocode in different layers. The geocode of one layer can be calculated as the geocode of the candidate point. For example, assuming the map data includes 5 layers, and the 5th layer displays geographic entity features, the geocode of the 5th layer can be calculated as the geocode of the candidate point.
[0089] In one embodiment of this disclosure, a target point is selected from candidate points with the same geocode, that is, one or more candidate points are selected as the target point from the same grid area. This selection can be random or according to certain rules, such as being closest to the center point of the grid. The number of target points in each grid area can be the same, so that the subsequently added coded data can be distributed more evenly in each grid area.
[0090] In one embodiment of this disclosure, a marking area can be selected around the target point. The area around the target point is a non-critical area. By selecting a marking area in the non-critical area to make a marking, the risk of interference to the user is reduced.
[0091] In one embodiment of this disclosure, the maximum map layer refers to the layer displaying the most detailed geographic data when the user zooms in to the maximum map size. Preset marker data can be added to the marker area of the maximum map layer. The rendering attribute of the marker data differs from the original attribute of the marker area. For example, if the original attribute of the marker area is "mountain," then the rendering attribute of the marker data could be "water." Thus, the marker data is not hidden and can be displayed in the marker area. Moreover, the marker data is only displayed when the user zooms in to the maximum layer, minimizing the impact on the normal use of the map data.
[0092] This implementation adds hidden data as watermarks to the map layer. This hidden data is retained in the final output data during the compilation and display stages, solving the problem of watermark information loss during compilation and display of coordinate-based watermarks. Furthermore, hidden marks can be added to selected areas in non-critical regions of the maximum map layer. Since the map precision in non-critical areas is inherently lower, sporadic errors will not affect navigation, traffic conditions, or other information, reducing the risk of interference to users. Moreover, these small hidden marks are added to the maximum map layer, and they are only displayed when the map is zoomed in, without affecting the normal display and use of the overall map. This also ensures the recognizability of the hidden marks when the map is zoomed in, facilitating copyright tracking.
[0093] In one possible implementation, the candidate points in the above map data processing method include at least one of the following: road nodes and points of interest (POIs); step S101, which involves obtaining candidate points from the map data, includes at least one of the following steps:
[0094] Obtain candidate roads of a preset road level from the map data, and obtain road nodes connected to three or more candidate roads;
[0095] Obtain POIs of the first preset type from the map data.
[0096] In this implementation, the road node refers to a point on the map that represents a road intersection, and the POI point refers to point data on the map used to record the geographical location of geographical entities such as shopping malls, hospitals, schools, and mountains.
[0097] In this implementation, when creating roads in map data, each road is labeled with a road level such as highway, expressway, ordinary road, side road, internal road, etc., where internal road refers to roads within the AOI (Area of Interest). The candidate roads with preset road levels in this disclosure refer to roads with the road level of side road or internal road within the AOI. Candidate roads such as side roads and internal roads can be first filtered from the road network information, and then branch points can be selected from these candidate roads as candidate points. Each branch point will connect at least three candidate roads.
[0098] In this embodiment, the first preset type can be a non-building type, such as a mountain, water, forest, etc., and POIs of the first preset type can be selected from the POIs on the map as candidate points.
[0099] In one possible implementation, step S103 of the map data processing method described above, namely selecting a target point from candidate points with the same geocode, may include the following steps:
[0100] Determine the center point of the grid area corresponding to the same geocode;
[0101] From the candidate points with the same geocode, select the candidate point closest to the center point as the target point.
[0102] In this implementation, each geocode corresponds to a grid area. Multiple candidate points may reside within the same grid area. To avoid excessive marking in some grid areas and uneven distribution of marking data, a candidate point can be selected from the same grid area as the target point for marking. Here, the candidate point closest to the center of the grid area can be chosen as the target point.
[0103] In this implementation, when the candidate point is a road node, road nodes with the same geocode can be aggregated, and the road node closest to the center point can be selected as the target point from these road nodes with the same geocode. When the candidate point is a POI (Point of Interest), POIs with the same geocode can be aggregated, and the POI closest to the center point can be selected as the target point from these POIs with the same geocode.
[0104] In this implementation, when the candidate point is a POI, the target point is also a POI. In this case, the marked area determined based on the target point does not overlap with the target point, but is offset by a certain distance. This does not affect the display of the POI. Moreover, the rendering attribute of the marked data is different from the original attribute of the marked area. For example, if the original attribute of the area where the POI is located is mountain, then the rendering attribute of the marked data can be water. This can clearly display the marked data. Adding marks near POIs of the type mountain, water, and forest can effectively avoid urban areas. Generally, very few users use map navigation in mountain, water, and forest areas, and the impact range is very small. Even if a small marked area is displayed, users can make their own judgment and will not be misled.
[0105] In one possible implementation, when the candidate point includes road nodes connected to three candidate roads, step S104, which determines the marked area based on the target point, includes:
[0106] Determine the difference in angle between each of the three candidate roads connecting the target point and its two adjacent candidate roads.
[0107] The reverse extension region of the candidate road with the smallest angle difference is identified as the hidden marking region.
[0108] In this implementation, when the candidate point is a road node connected to three candidate roads, i.e., a road node at a three-way intersection, the difference in angle between each candidate road and its two adjacent candidate roads can be calculated; for example, such as... Figure 2 As shown, target point T connects three candidate roads - candidate road 201, candidate road 202, and candidate road 203. These three candidate roads form a T-shaped road. The angle between candidate road 201 and candidate road 202 is α1 = 90 degrees, the angle between candidate road 201 and candidate road 203 is α2 = 180 degrees, and the angle between candidate road 202 and candidate road 203 is α3 = 90 degrees. The difference between the angles between candidate road 201 and its two adjacent candidate roads is α2 - α1 = 90 degrees, the difference between the angles between candidate road 202 and its two adjacent candidate roads is α1 - α3 = 0 degrees, and the difference between the angles between candidate road 203 and its two adjacent candidate roads is α2 - α3 = 90 degrees. Therefore, the candidate road with the smallest difference in angles is candidate road 202. The reverse extension area 204 of candidate road 202 can be selected as the marking area. This prevents overlapping on candidate roads, ensuring that each road added as a marker is visible on the map.
[0109] It should be noted that when the candidate point is a road node, the target point is also a road node. In this case, the rendering attribute of the corresponding hidden mark data can be a road attribute. The hidden mark area determined based on the target point is not limited to the reverse extension area of the candidate road with the smallest angle difference. As long as the road corresponding to the hidden mark data can be clearly displayed and the hidden mark data can be visualized, it is acceptable. In addition, the road corresponding to the hidden mark data can be set to a shorter length, such as about 3m. Even if the user navigates to the intersection, they will not be affected by the extra hidden mark road. In this way, adding hidden marks to the data of side roads and internal roads, since their accuracy is inherently low, will not have a significant impact on the user if sporadic errors occur. It will also not affect navigation, traffic conditions, or other information, minimizing the impact of hidden marks on the normal use of map data.
[0110] In one possible implementation, when the candidate points include POI points, step S104 determines the marked area based on the target point, including:
[0111] The area at a preset distance from the target point is defined as the marking area.
[0112] In this implementation, the location coordinates of the POI point on the map can be obtained, and the area offset by a small distance from the x and y coordinates can be defined as the marked area, so as not to affect the display of the POI point.
[0113] In one possible implementation, when the candidate point includes a road node, the memo data includes road data of the preset road level; when the candidate point includes a POI point, the memo data includes data of a second preset type, which is different from the first preset type.
[0114] In this implementation, when the candidate point is a POI (Point of Interest), the target point is also a POI. In this case, the marked area determined based on the target point does not overlap with the target point but is offset by a certain distance, thus not affecting the display of the POI. Furthermore, the marked data is of a second preset type, different from the original data attribute of the marked area, i.e., the first preset type of the POI. For example, if the original attribute of the area where the POI is located is "mountain," then the rendering attribute of the marked data can be "water," thus clearly displaying the marked data. Adding marks near POIs of types "mountain," "water," and "forest" can effectively avoid urban areas. Since very few users use map navigation in mountain, water, and forest areas, the impact is minimal. Even if a small additional marked area is displayed, users can easily identify it without being misled. The marked area can have a preset shape and area, such as a circular area with a diameter of 2 meters. For example, a circular water feature with a diameter of 2 meters can be added as marked data near a POI of type "mountain."
[0115] In one possible implementation, the above map data processing method further includes the following steps:
[0116] Obtain the user's user identifier;
[0117] Determine the target geocode corresponding to the user identifier;
[0118] Add the cryptographic data to the cryptographic area corresponding to the target geocode.
[0119] In this embodiment, when the map data is sold to each user, to prevent the user from privately sharing the map data with others, different user identifiers are configured in the map data for different users when providing the map data to users.
[0120] In this implementation, different user identifiers correspond to different target geocodes. This allows for the addition of hidden data to the marked areas of the grid regions corresponding to different geocodes for different users. For example, user A can add hidden data to the marked areas of grid regions A1, A2, ... An, while user B can add hidden data to the marked areas of grid regions B1, B2, ... Bn. In this way, the authorized users of the map data can be distinguished by the hidden data in different areas.
[0121] In one possible implementation, the user identifier includes the coded symbol in the geocoding, and the part of the map data processing method described above that determines the target geocoding corresponding to the user identifier may include the following steps:
[0122] The code of the preset bit in the geocode is determined to be the target geocode of the user identifier;
[0123] In this implementation, a coded symbol from geocoding can be used as a user identifier. Assuming there are users A and B, user A's identifier can be configured as a coded symbol 'e' in geocoding, and user B's identifier can be configured as another coded symbol 'f' in geocoding. In this case, the target geocoding corresponding to user A's identifier can be the geocoding with a preset bit 'e', and the target geocoding corresponding to user B's identifier can be the geocoding with a preset bit 'f'. This preset bit can be the last bit in the geocoding.
[0124] This embodiment uses the coding symbols in geocoding as user identifiers, and determines the code of the preset position in the geocoding as the target geocoding of the user identifier. In this way, the grid area corresponding to the selected target geocoding is basically evenly distributed on the map, which can achieve uniform coverage of the secret mark data.
[0125] In one possible implementation, the user identifier includes the result of a combination operation of N coded symbols in the geocode, and the part of the map data processing method described above that determines the target geocode corresponding to the user identifier may include the following steps:
[0126] The result is obtained by combining the preset bits of the N geocodes.
[0127] The N geocodes that result in the user identifier are determined as the target geocodes, where N is an integer greater than or equal to 2.
[0128] In this implementation, the preset bit can be the last bit in the geocode, and the calculation method for the combination operation can be any operation method. For example, assuming there are user A and user B, user A's identifier can be configured as a combination of two coded symbols ef in the geocode, and user B's identifier can be configured as two coded symbols gh in the geocode. In this case, if the combination of the last bit of the two geocodes is ef, then these two geocodes are the target geocodes for user A; if the combination of the last bit of the two geocodes is gh, then these two geocodes are the target geocodes for user B.
[0129] This embodiment uses the combination operation result of the coding symbols in geocoding as the user identifier. After performing the operation on the code combination of preset positions in N geocodes, the operation result is obtained. The N geocodes whose operation result is the user identifier are determined as the target geocodes. In this way, the grid area corresponding to the selected target geocode is basically evenly distributed on the map, which can achieve uniform coverage of the secret mark data.
[0130] The following are embodiments of the apparatus disclosed herein, which can be used to execute embodiments of the method disclosed herein.
[0131] Figure 3 This diagram illustrates a structural block diagram of a map data processing apparatus according to an embodiment of the present disclosure. This apparatus can be implemented as part or all of an electronic device through software, hardware, or a combination of both. Figure 3 As shown, the map data processing device includes:
[0132] The first acquisition module 301 is configured to acquire candidate points from map data, wherein the candidate points are located in non-important areas of the map;
[0133] The calculation module 302 is configured to calculate the geocode of the candidate points, with each grid area uniquely corresponding to a geocode;
[0134] Selection module 303 is configured to select a target point from candidate points with the same geocode;
[0135] The first determining module 304 is configured to determine the marked area based on the target point;
[0136] Add module 305, which is configured to add preset marker data to the marker area of the largest map layer.
[0137] In one embodiment of this disclosure, the map data processing can be applied to computers, servers, and server clusters capable of performing map data processing.
[0138] In one embodiment of this disclosure, the non-critical area refers to an area with low user navigation frequency, such as the edge of non-urban areas, internal roads of AOI (Area of Interest) such as residential areas, and small roads in the road network. Several candidate points can be obtained from the non-critical areas of the map according to preset rules. These preset rules can filter for certain POIs, such as POIs of the mountain type, POIs of the water type, etc., or they can filter for certain road nodes, such as intersections, etc.
[0139] In one embodiment of this disclosure, after obtaining candidate points, their geocodes can be calculated. These geocodes are based on geographic regions, with one geocode corresponding to each grid area. An example is Geohash coding, which divides the Earth's surface into multiple square grid areas with fixed latitude and longitude ranges according to certain rules. Each grid area has a unique Geohash code, which is a string composed of 0-9 and bz (excluding a, i, l, and o). It should be noted that map data includes many layers, each with different grid divisions. Therefore, each candidate point has a different geocode in different layers. The geocode of one layer can be calculated as the geocode of the candidate point. For example, assuming the map data includes 5 layers, and the 5th layer displays geographic entity features, the geocode of the 5th layer can be calculated as the geocode of the candidate point.
[0140] In one embodiment of this disclosure, a target point is selected from candidate points with the same geocode, that is, one or more candidate points are selected as the target point from the same grid area. This selection can be random or according to certain rules, such as being closest to the center point of the grid. The number of target points in each grid area can be the same, so that the subsequently added coded data can be distributed more evenly in each grid area.
[0141] In one embodiment of this disclosure, a marking area can be selected around the target point. The area around the target point is a non-critical area. By selecting a marking area in the non-critical area to make a marking, the risk of interference to the user is reduced.
[0142] In one embodiment of this disclosure, the maximum map layer refers to the layer displaying the most detailed geographic data when the user zooms in to the maximum map size. Preset marker data can be added to the marker area of the maximum map layer. The rendering attribute of the marker data differs from the original attribute of the marker area. For example, if the original attribute of the marker area is "mountain," then the rendering attribute of the marker data could be "water." Thus, the marker data is not hidden and can be displayed in the marker area. Moreover, the marker data is only displayed when the user zooms in to the maximum layer, minimizing the impact on the normal use of the map data.
[0143] This implementation adds hidden data as watermarks to the map layer. This hidden data is retained in the final output data during the compilation and display stages, solving the problem of watermark information loss during compilation and display of coordinate-based watermarks. Furthermore, hidden marks can be added to selected areas in non-critical regions of the maximum map layer. Since the map precision in non-critical areas is inherently lower, sporadic errors will not affect navigation, traffic conditions, or other information, reducing the risk of interference to users. Moreover, these small hidden marks are added to the maximum map layer, and they are only displayed when the map is zoomed in, without affecting the normal display and use of the overall map. This also ensures the recognizability of the hidden marks when the map is zoomed in, facilitating copyright tracking.
[0144] In one possible implementation, the candidate points include at least one of the following: road nodes and points of interest (POIs); the first acquisition module 301 is configured to include at least one of the following steps:
[0145] Obtain candidate roads of a preset road level from the map data, and obtain road nodes connected to at least three candidate roads;
[0146] Obtain POIs of the first preset type from the map data.
[0147] In this implementation, the road node refers to a point on the map that represents a road intersection, and the POI point refers to point data on the map used to record the geographical location of geographical entities such as shopping malls, hospitals, schools, and mountains.
[0148] In this implementation, the preset road level candidate road refers to a road that is a minor road or an internal road of the AOI. Candidate roads such as minor roads and internal roads can be filtered out from the road network information first, and then branch points can be selected from these candidate roads as candidate points. Each branch point will connect at least three candidate roads.
[0149] In this embodiment, the first preset type can be a non-building type, such as a mountain, water, forest, etc., and POIs of the first preset type can be selected from the POIs on the map as candidate points.
[0150] In one possible implementation, the selection module 303 is configured to:
[0151] Determine the center point of the grid area corresponding to the same geocode;
[0152] From the candidate points with the same geocode, select the candidate point closest to the center point as the target point.
[0153] In this implementation, each geocode corresponds to a grid area. Multiple candidate points may reside within the same grid area. To avoid excessive marking in some grid areas and uneven distribution of marking data, a candidate point can be selected from the same grid area as the target point for marking. Here, the candidate point closest to the center of the grid area can be chosen as the target point.
[0154] In this implementation, when the candidate point is a road node, road nodes with the same geocode can be aggregated, and the road node closest to the center point can be selected as the target point from these road nodes with the same geocode. When the candidate point is a POI (Point of Interest), POIs with the same geocode can be aggregated, and the POI closest to the center point can be selected as the target point from these POIs with the same geocode.
[0155] In one possible implementation, when the candidate points include road nodes connected to three candidate roads, the first determining module 304 is configured to:
[0156] Determine the difference in angle between each of the three candidate roads connecting the target point and its two adjacent candidate roads;
[0157] The reverse extension region of the candidate road with the smallest angle difference is identified as the hidden marking region.
[0158] In this implementation, when the candidate point is a road node connected to three candidate roads, i.e., a road node at a three-way intersection, the difference in angle between each candidate road and its two adjacent candidate roads can be calculated; for example, such as... Figure 2 As shown, target point T connects three candidate roads—candidate road 201, candidate road 202, and candidate road 203—forming a T-shape. The angle between candidate roads 201 and 202 is α1 = 90 degrees, the angle between candidate roads 201 and 203 is α2 = 180 degrees, and the angle between candidate roads 202 and 203 is α3 = 90 degrees. The difference in angles between candidate road 201 and its two adjacent candidate roads is α2 - α1 = 90 degrees, the difference in angles between candidate road 202 and its two adjacent candidate roads is α1 - α3 = 0 degrees, and the difference in angles between candidate road 203 and its two adjacent candidate roads is α2 - α3 = 90 degrees. Therefore, candidate road 202 has the smallest difference in angles. The reverse extension region 204 of candidate road 202 can be selected as a hidden marking region. This prevents overlapping display on the candidate roads.
[0159] In one possible implementation, when the candidate points include POI points, the first determining module 304 is configured to:
[0160] The area at a preset distance from the target point is defined as the marking area.
[0161] In this implementation, the location coordinates of the POI point on the map can be obtained, and the area offset by a small distance from the x and y coordinates can be defined as the marked area, so as not to affect the display of the POI point.
[0162] In one possible implementation, the rendering attributes of the coded data are different from the original attributes of the coded area. When the candidate point includes a road node, the coded data includes road data of the preset road level. When the candidate point includes a POI point, the coded data includes data of a second preset type, which is different from the first preset type.
[0163] In this implementation, when the candidate point is a road node, the target point is also a road node. In this case, the marked area determined based on the target point is not on the candidate road connected to the target point. The corresponding marked data can be road data at the preset road level. This clearly displays the road corresponding to the marked data. Furthermore, the road level corresponding to the marked data can be set to the same preset road level as the candidate road, resulting in a more natural display. The road length of the marked data can also be set relatively short, such as around 3 meters, so that even if the user navigates to the intersection, they will not be affected by the extra marked road. Thus, adding marked roads to side roads and internal road data, due to their inherently lower accuracy, will not cause significant impact on the user, nor will it affect navigation, road conditions, or other information, even if sporadic errors occur.
[0164] In this implementation, when the candidate point is a POI (Point of Interest), the target point is also a POI. In this case, the marked area determined based on the target point does not overlap with the target point but is offset by a certain distance. This does not affect the display of the POI. Furthermore, the marked data is of a second preset type, different from the original data attribute of the marked area, i.e., the first preset type of the POI. For example, if the original attribute of the area where the POI is located is "mountain," then the rendering attribute of the marked data can be "water," thus clearly displaying the marked data. Adding marks near POIs of types "mountain," "water," and "forest" effectively avoids urban areas. Since very few users use map navigation in mountain, water, and forest areas, the impact is minimal. Even if a small additional marked area is displayed, users can easily identify it themselves and will not be misled.
[0165] In one possible implementation, the device further includes:
[0166] The second acquisition module is configured to acquire the user's user identifier;
[0167] The second determining module is configured to determine the target geocode corresponding to the user identifier;
[0168] The adding module 305 is configured as follows:
[0169] Add the user's corresponding secret data to the secret area corresponding to the target geocode.
[0170] In this embodiment, when the map data is sold to each user, to prevent the user from privately sharing the map data with others, different user identifiers are configured in the map data for different users when providing the map data to users.
[0171] In this implementation, different user identifiers correspond to different target geocodes. This allows for the addition of hidden data to the marked areas of the grid regions corresponding to different geocodes for different users. For example, user A can add hidden data to the marked areas of grid regions A1, A2, ... An, while user B can add hidden data to the marked areas of grid regions B1, B2, ... Bn. In this way, the authorized users of the map data can be distinguished by the hidden data in different areas.
[0172] In one possible implementation, the user identifier includes the coded symbol in the geocoding, and the second determining module is configured to:
[0173] The code of the preset bit in the geocoding is determined to be the target geocoding of the user identifier.
[0174] In this implementation, a coded symbol from geocoding can be used as a user identifier. Assuming there are users A and B, user A's identifier can be configured as a coded symbol 'e' in geocoding, and user B's identifier can be configured as another coded symbol 'f' in geocoding. In this case, the target geocoding corresponding to user A's identifier can be the geocoding with a preset bit 'e', and the target geocoding corresponding to user B's identifier can be the geocoding with a preset bit 'f'. This preset bit can be the last bit in the geocoding.
[0175] This embodiment uses the coding symbols in geocoding as user identifiers, and determines the code of the preset position in the geocoding as the target geocoding of the user identifier. In this way, the grid area corresponding to the selected target geocoding is basically evenly distributed on the map, which can achieve uniform coverage of the secret mark data.
[0176] In one possible implementation, the user identifier includes the result of a combination operation of N coded symbols in the geocoding, and the second determining module is configured to:
[0177] The result is obtained by combining the preset bits of the N geocodes.
[0178] The N geocodes that result in the user identifier are determined as the target geocodes, where N is an integer greater than or equal to 2.
[0179] In this implementation, the preset bit can be the last bit in the geocode, and the calculation method for the combination operation can be any operation method. For example, assuming there are user A and user B, user A's identifier can be configured as a combination of two coded symbols ef in the geocode, and user B's identifier can be configured as two coded symbols gh in the geocode. In this case, if the combination of the last bit of the two geocodes is ef, then these two geocodes are the target geocodes for user A; if the combination of the last bit of the two geocodes is gh, then these two geocodes are the target geocodes for user B.
[0180] This embodiment uses the combination operation result of the coding symbols in geocoding as the user identifier. After performing the operation on the code combination of preset positions in N geocodes, the operation result is obtained. The N geocodes whose operation result is the user identifier are determined as the target geocodes. In this way, the grid area corresponding to the selected target geocode is basically evenly distributed on the map, which can achieve uniform coverage of the secret mark data.
[0181] This disclosure also discloses a navigation service, wherein, based on the aforementioned map data processing method, map data is processed, and navigation guidance services for the navigated object are provided for a corresponding scenario. The corresponding scenario is one or more combinations of AR navigation, elevated road navigation, or main and auxiliary road navigation.
[0182] This disclosure also discloses a navigation method, wherein a navigation route is obtained based on an electronic map, calculated at least based on the starting point, the destination, and road conditions, and navigation guidance is performed based on the navigation route. The map data of the electronic map is obtained based on any of the methods described above.
[0183] This disclosure also discloses an electronic device. Figure 4 This diagram illustrates a structural block diagram of an electronic device according to an embodiment of the present disclosure, such as... Figure 4 As shown, the electronic device 400 includes a memory 401 and a processor 402; wherein,
[0184] The memory 401 is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor 402 to implement the above method steps.
[0185] Figure 5 This is a schematic diagram of the structure of a computer system suitable for implementing the method according to embodiments of the present disclosure.
[0186] like Figure 5 As shown, the computer system 500 includes a processing unit 501, which can execute various processes described above based on a program stored in a read-only memory (ROM) 502 or a program loaded from a storage section 508 into a random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of the system 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0187] The following components are connected to I / O interface 505: an input section 506 including a keyboard, mouse, etc.; an output section 507 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 508 including a hard disk, etc.; and a communication section 509 including a network interface card such as a LAN card, modem, etc. The communication section 509 performs communication processing via a network such as the Internet. A drive 510 is also connected to I / O interface 505 as needed. A removable medium 511, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 510 as needed so that computer programs read from it can be installed into storage section 508 as needed. The processing unit 501 can be implemented as a CPU, GPU, TPU, FPGA, NPU, etc.
[0188] In particular, according to embodiments of this disclosure, the methods described above can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program tangibly embodied on a readable medium thereof, the computer program containing program code for performing the methods described above. In such embodiments, the computer program can be downloaded and installed from a network via communication section 509, and / or installed from removable medium 511.
[0189] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0190] The units or modules described in the embodiments of this disclosure can be implemented in software or hardware. The described units or modules can also be located in a processor, and the names of these units or modules do not necessarily constitute a limitation on the unit or module itself.
[0191] In another aspect, embodiments of this disclosure also provide a computer-readable storage medium, which may be a computer-readable storage medium included in the apparatus described in the above embodiments; or it may be a standalone computer-readable storage medium not assembled into a device. The computer-readable storage medium stores one or more programs, which are used by one or more processors to perform the methods described in embodiments of this disclosure.
[0192] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in the embodiments of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the inventive concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in the embodiments of this disclosure.
Claims
1. A map data processing method, wherein, The method comprises: obtaining candidate points from map data, the candidate points being located in a non-important area in the map, wherein the non-important area refers to an area with a low navigation frequency of a user; calculating the geocodes of the candidate points, each grid area corresponding to a unique geocode; selecting a target point from the candidate points with the same geocode; determining a memorization area based on the target point; adding preset memorization data at the memorization area of the maximum map layer, the rendering attribute of the memorization data being different from the original attribute of the memorization area.
2. The method of claim 1, wherein, The candidate points comprise at least one of the following: road nodes and points of interest (POI) points; and the step of obtaining the candidate points from the map data comprises at least one of the following: obtaining candidate roads of a preset road level from the map data, and obtaining road nodes connected to at least three candidate roads; obtaining POI points of a first preset type from the map data.
3. The method of claim 1 or 2, wherein, The step of selecting the target point from the candidate points with the same geocode comprises: determining a center point of a grid area corresponding to the same geocode; selecting, from the candidate points with the same geocode, a candidate point closest to the center point as the target point.
4. The method of claim 2, wherein, When the candidate points comprise road nodes connected to three candidate roads, the step of determining the memorization area based on the target point comprises: determining the difference between the angles of each candidate road and its adjacent two candidate roads among the three candidate roads connected to the target point; determining the reverse extension area of the candidate road with the smallest angle difference as the memorization area.
5. The method of claim 2, wherein, When the candidate points comprise POI points, the step of determining the memorization area based on the target point comprises: determining an area with a preset distance from the position of the target point as the memorization area.
6. The method of claim 2, wherein, The rendering attribute of the memorization data is different from the original attribute of the memorization area, the memorization data comprises road data of the preset road level when the candidate points comprise road nodes, and the memorization data comprises data of a second preset type when the candidate points comprise POI points, the second preset type being different from the first preset type.
7. The method of claim 1, wherein, The method further comprises: obtaining a user identifier of a user; determining a target geocode corresponding to the user identifier; The step of adding the preset memorization data at the memorization area of the maximum map layer comprises: adding the memorization data corresponding to the user at the memorization area corresponding to the target geocode.
8. The method of claim 7, wherein, The user identifier comprises a code symbol in the geocode, and the step of determining the target geocode corresponding to the user identifier comprises: determining the code of a preset bit in the geocode as the target geocode of the user identifier.
9. The method of claim 7, wherein, The user identifier comprises a combination operation result of N code symbols in the geocode, and the step of determining the target geocode corresponding to the user identifier comprises: combining the codes of preset bits in N geocodes to obtain an operation result; determining the N geocodes with the operation result as the target geocode of the user identifier, N being an integer greater than or equal to 2.
10. A map data processing device, wherein, The method comprises: The first obtaining module is configured to obtain a candidate point from map data, the candidate point being located in a non-important area in a map, wherein the non-important area refers to an area with a low navigation frequency of a user; The calculating module is configured to calculate a geographic code of the candidate point, each grid area uniquely corresponding to a geographic code; The selecting module is configured to select a target point from the candidate points with the same geographic code; The first determining module is configured to determine a memorization area based on the target point; The adding module is configured to add preset memorization data at the memorization area of the maximum map layer, a rendering attribute of the memorization data being different from an original attribute of the memorization area.
11. An electronic device comprising a memory and at least one processor; wherein, The memory is configured to store one or more computer instructions, wherein the one or more computer instructions are executed by the at least one processor to implement the method steps of any one of claims 1-9.
12. A computer program product comprising computer programs / instructions, wherein, The computer program / instruction is executed by the processor to implement the method steps of any one of claims 1-9.
13. A navigation method, wherein, Based on an electronic map, a navigation route calculated based on at least a starting point, an ending point and road conditions is obtained, and navigation guidance is performed based on the navigation route, map data of the electronic map being obtained based on the method of any one of claims 1-9.
Citation Information
Patent Citations
Electronic signature processing method, device and system for map data and storage medium
CN112711644A