Method, apparatus, and computer program for generating map data
The method of selectively configurable sectioning based on linear reference attributes addresses inefficiencies in digital map systems by enabling customizable sectioned map data generation, improving flexibility and compatibility with existing systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TOMTOM GLOBAL CONTENT
- Filing Date
- 2025-09-16
- Publication Date
- 2026-05-01
AI Technical Summary
Existing digital map systems face inefficiencies in generating and managing sectioned map data, particularly due to the inflexibility and complexity of traditional sectioned maps, which require frequent resectioning and ID changes, and the incompatibility of linear-referenced maps with existing systems.
A method for generating customizable sectioned map data through selectively configurable sectioning based on linear reference attributes, allowing users to choose which attributes to use for sectioning, thereby reducing unnecessary sectioning and improving compatibility with existing systems.
This approach enhances the flexibility and scalability of map data generation, reduces storage and processing requirements, and simplifies integration into existing digital maps by allowing users to generate customized sectioned maps that align with their specific needs.
Smart Images

Figure 2026073948000001_ABST
Abstract
Description
Technical Field
[0001] Examples of the present disclosure relate to map data, and more particularly, to methods, apparatuses, and computer programs for generating map data, i.e., sectioned map data. Some examples relate to selectively configurable sectioning of map data based on linear reference attributes to generate custom-sectioned map data without compromising the foregoing.
Background Art
[0002] In digital maps, map features (such as linear map features, especially segments of roads or road networks) can be represented via a graph (e.g., a directed graph) that includes nodes and arcs (which can also be called edges, lines, or ways).
[0003] Digital maps can include map data as a mesh of data layers. The physical geometry and topology of a road network can be represented by a primary layer of a digital map. For example, a road segment (i.e., a stretch of road between two road junctions) can be represented / defined in the primary layer by two nodes and an arc between them. The primary layer can serve as a base layer for other layers of the digital map / map data. For example, the primary layer can serve as a reference layer that can be used by producers (e.g., value-added data (VAD) producers for the VAD layer of a digital map) of map content / higher-layer map data that can be stored on top of the primary layer. The higher layer can include an attribute and an association of the specific map feature with the attribute (such map features themselves being defined / represented in the reference / base layer). The reference / base layer is invariant to producers of higher-layer map data / map content to ensure the stability of the reference / base layer.
[0004] Map features, particularly road segments, can have several associated attributes. For example, a road segment may have attributes including, but are not limited to, road surface type, speed limits, other speed information, number of lanes, presence of barriers on the road segment, presence of bridges on the road segment, presence of tunnels, access restrictions, height restrictions, turning restrictions, vehicle type restrictions, lane type, curvature, gradient, lane divider type, presence of emergency lanes and / or carpool lanes and / or bus lanes and / or taxi lanes, exit number, toll information, road name, routing class, and / or other routing information. Data representing the attributes of map features may be generated, provided, and stored as (upper) layers of a digital map, or may be provided separately from the underlying reference / base layer (especially in map attribute updates, etc.).
[0005] Generally, there are two ways to store attributes in a map. The first is to have a so-called "sectioned" map, where arcs are selected such that the values of all attributes are constant along the length of the arc. This means that changes in attributes are linked to changes in arcs. Alternatively, it has been proposed to use something called "linear referencing," where attributes are associated not only with arcs but also with any position along the arc, expressed in terms of distance (or multiple distances) from the start of the arc. While the linear referencing approach has various advantages, it is not widely adopted because most systems are built to interface with sectioned maps.
[0006] The various examples in this disclosure attempt to address such issues.
[0007] It is useful to provide improved methods, apparatus, and computer programs for generating map data. In some situations, it may be desirable to improve the generation of map data. In some situations, it may be desirable to generate sectioned map data in which sectioning is based on linear reference attributes. In some situations, it may be desirable to generate customizable sectioned map data through selectively configurable sectioning.
[0008] Any previously published document or any list or discussion of background information in this specification should not necessarily be construed as an endorsement that such document or background information is part of the current technology or common general knowledge. One or more aspects / examples of this disclosure may or may not address one or more of the background issues. [Overview of the project]
[0009] The scope of protection required for various embodiments of the present invention is indicated by the claims.
[0010] While not necessarily exhaustive, various embodiments of this disclosure provide embodiments described in the appended claims. Any examples and features described herein that are not included in the scope of the independent claims should be construed as useful examples for understanding various embodiments of the invention.
[0011] While not necessarily all, various embodiments of this disclosure describe a method, The acquisition of map data for a digital map, wherein the map data is Segment data representing one or more segments of one or more linear map features of the digital map, Segment attribute data, One or more attributes associated with each segment, wherein the one or more attributes are selected from a first set of attributes, The at least one position of each attribute within each segment, wherein the at least one position of each attribute within each segment is defined via a linear reference to the at least one position, The segment attribute data that indicates the above, and includes, The method involves obtaining sectioning configuration data for structuring the map data, wherein the sectioning configuration data includes an indication of a second set of attributes, the second set of attributes being a subset of the first set of attributes, and the sectioning configuration data enables the sectioning of the map data to be performed at least partially based on the second set of attributes. The process involves generating sectioned map data, wherein the generation of the sectioned map data includes sectioning the map data according to the sectioning configuration data. A method is provided that includes performing the following.
[0012] According to at least some examples of this disclosure, an apparatus is provided that includes means for carrying out the above method.
[0013] Various examples of this disclosure, though not necessarily all, provide modules, chipsets, circuits, devices, data processing devices and / or systems equipped with means for performing the methods described above.
[0014] In some but not all, examples of this disclosure provide a computer program that, when executed by the device, includes instructions causing the device to perform the method described above.
[0015] While not all of them, according to various examples in this disclosure, the apparatus is, At least one processor, When executed by the at least one processor, the device has at least one memory that stores instructions for performing at least the method, A device is provided that includes the following.
[0016] In some but not all cases, various examples of this disclosure provide a non-temporary computer-readable medium encoded with instructions causing the above method to be performed when executed by at least one processor.
[0017] The following sections of this "Brief Overview" section describe various features that may, as appropriate, be features of any of the examples described in the preceding sections of the "Brief Overview" section. A description of a function should also be considered to disclose any means suitable for performing that function, or any instructions stored in at least one memory that, when executed by at least one processor, cause the device to perform that function.
[0018] Not necessarily in all cases, but in some examples, the aforementioned digital map, base digital map, Reference digital map, Unchanging digital maps, Unsectioned digital maps, or Digital maps that have undergone the first stage of sectioning procedures, It includes at least one of the following.
[0019] In some cases, though not always, the segment data is The physical geometry of at least a portion of one or more linear map features, The physical topology of at least a portion of one or more linear map features, One or more segments of one or more navigable elements in a network of navigable elements, and The primary layer of the aforementioned digital map, It includes at least one of the following expressions:
[0020] Although not necessarily in all cases, in some examples, the segment data comprises a representation of one or more segments of one or more linear map features of a digital map, the representation being defined via a plurality of nodes and arcs.
[0021] Although not necessarily in all cases, in some examples, the one or more linear map features are one or more navigable elements, one or more roads, and one or more boundaries of one or more geographical areas, and include at least one of the foregoing.
[0022] Although not necessarily in all cases, in some examples, the at least one position of each attribute within its respective segment is an indication of a position along the respective segment where the attribute is located, an indication of a position along the respective segment where the attribute begins to be applied, an indication of a position along the respective segment where the attribute ceases to be applied, an indication of a position along the respective segment where the attribute changes, and an indication of a part of the respective segment to which the attribute is applied, Determining at least one segment associated with at least one attribute of the aforementioned second set of attributes, Determining the position of at least one attribute of the aforementioned second set of attributes within the determined at least one segment, The at least one segment determined above, The at least one position determined above, This includes sectioning the map data based at least partially on the following:
[0024] In some, though not all, examples, each segment is defined within the segment data of the map data by an arc between two nodes, and sectioning the map data is, Dividing at least one arc of the determined at least one segment to form at least two divided arcs at at least one division point, wherein the at least one position of the at least one division point is at least partially based on the determined at least one position, The method involves inserting at least one node between two nodes of the determined at least one segment at at least one insertion point, wherein the at least one position of the at least one insertion point is at least partially based on the determined at least one position, It includes at least one of the following.
[0025] In some cases, though not always, the above method is Assigning at least one of the attributes of the second set of attributes to at least one of the divided arcs, Assigning each of the at least one attribute of the second set of attributes to the at least one inserted node, It further includes at least one of the following.
[0026] In some cases, though not always, the above method is Determining whether the position of at least one attribute in the second set of attributes is within a threshold separation distance of the position of at least one other attribute in the second set of attributes, Performing a normalization procedure based at least in part on the aforementioned decision, It also includes.
[0027] In some cases, though not always, the normalization procedure described above is applicable. To generate adjusted positions for the positions of at least one of the aforementioned attributes and at least one other attribute, Assigning adjusted positions to at least one of the aforementioned attributes and at least one other attribute, Assigning an adjusted position to the at least one attribute that corresponds to the position of the at least one other attribute, Assigning an adjusted position to each of the at least one attribute and the at least one other attribute, wherein the adjusted position is at least partially based on the position of the at least one attribute and the position of the at least one other attribute, It includes at least one of the following.
[0028] In some cases, though not always, the above method is Sectioning the aforementioned map data is based at least partially on the adjusted locations, The segments of the map data are divided at division points, and the positions of the division points are at least partially based on the adjusted positions. At the insertion point, a node is inserted between two nodes of the map data segment, and the position of the insertion point is at least partially based on the adjusted position. It further includes at least one of the following.
[0029] In some cases, though not always, the above method is Determining a third set of attributes based at least partially on the map data and the sectioned configuration data, wherein the attributes of the third set of attributes are: It is within the aforementioned first set of attributes, It is not in the aforementioned second set of attributes, To generate segment attribute data for the sectioned map data, wherein the segment attribute data for the sectioned map data is The third set of attributes associated with one or more segments of the sectioned map data, The sectioned map data indicates the location of at least one attribute of each of the third set of attributes within each of its segments, wherein the location of each attribute within each of its segments is defined via a linear reference. It also includes.
[0030] In some cases, though not always, the above method is The further includes determining the at least one location of each attribute in each segment of the sectioned map data based at least partially on the at least one location of each attribute of the third set of attributes in each segment of the segment data of the map data.
[0031] In some, though not all, examples, the segment attribute data of the map data represents at least one variable value of at least one attribute, the value of which changes at least partially based on the location within the relevant segment of the segment data of the map data, and the method The further includes determining at least one adjusted variable value of the at least one attribute based at least partially on the location within the relevant segment of the sectioned map data.
[0032] Not necessarily all cases, but in some examples, The aforementioned map data of the digital map is One of the one or more segments of the aforementioned segment data, At least one other segment of the segment data, The sectioned map data further includes segment relationship data showing at least one relationship between, One of the one or more segments of the sectioned map data, This includes segment relationship data showing at least one relationship between at least one other segment of the segmented map data, The segment relation data of the sectioned map data is at least partially based on the segment relation data of the map data.
[0033] In some, though not all, examples, at least one segment of the map data has at least one relationship with at least one other segment of the map data, and sectioning the map data involves dividing the at least one segment into a set of two or more segmented segments, and the method is Assigning the at least one relationship to a first subset of the set of divided segments, Assigning a null relation to a second subset of the set of the partitioned segments, wherein the second subset is different from the first subset. Determining a relationship to assign to at least one segment of the set of segmented segments, based at least in part on the at least one relationship and the conditions associated with the at least one relationship, It further includes at least one of the following.
[0034] In some, though not all, examples, the map data of a digital map further includes segment identification data indicating identifiers for each of the one or more segments of the segment data, the sectioned map data includes segment identification data indicating identifiers for each of the one or more segments of the sectioned map data, and the segment identification data of the sectioned map data is at least partially based on the segment identification data of the map data.
[0035] In some, though not all, examples, each segment and / or node of the map data has an identifier, and the method is In the sectioned map data, for each segment of the divided map data, an identifier is generated and assigned to each divided segment. For each segment of the sectioned map data that has not been divided, the same identifier used in the map data shall be used, For each node of the sectioned map data corresponding to a node in the map data, the same identifier used in the map data shall be used. For each node of the sectioned map data inserted between two nodes of the aforementioned map data, an identifier is generated and assigned to each inserted node. It further includes at least one of the following.
[0036] Not necessarily all cases, but in some examples, Sectioning the map data includes dividing a first segment of the map data into two or more sub-segments, wherein the first segment of the map data has a first identifier, and a second identifier for each sub-segment is generated based at least in part on the first identifier.
[0037] In some cases, though not always, the above method is The identifier of the previous 1, The identifier for each segment, This further includes generating a mapping between them.
[0038] While the above examples and optional features of this disclosure are described separately, it should be understood that their provision in all possible combinations and substitutions is included within this disclosure. It should be understood that various examples of this disclosure may include any or all of the features described with respect to other examples of this disclosure, and vice versa. It should also be understood that any one or more or all of the features may be implemented / provided for / executable by apparatus, methods, and / or computer program instructions, as desired and as necessary, in any combination. [Brief explanation of the drawing]
[0039] Several examples are illustrated with reference to the attached drawings. [Figure 1] Figure 1 schematically shows an example of map data representing road segments and attributes associated with those road segments. [Figure 2] Figure 2 schematically shows an example of a method for generating sectioned map data. [Figure 3] Figure 3 schematically shows an example of segment attribute data. [Figure 4] Figure 4 schematically shows an example of sectioned map data based on the sectioning of the map data in Figure 1. [Figure 5] Figure 5 schematically shows further examples of map data representing road segments and attributes associated with road segments. [Figure 6] Figure 6 schematically shows an example of sectioned map data based on the sectioning of map data in Figure 5. [Figure 7] , [Figure 8] , [Figure 9] Figures 7 to 9 schematically illustrate the sectioning of map data based on multiple attributes. [Figure 10] Figure 10 schematically shows another example of map data. [Figure 11] Figure 11 schematically shows an example of sectioned map data representing the road segments in Figure 10, and the attributes associated with the sections of the road segments. [Figure 12] , [Figure 13A] , [Figure 13B] Figures 12, 13A, and 13B schematically illustrate the process of normalizing linear reference attributes. [Figure 14] Figure 14 schematically shows map data and sectioned map data. [Figure 15] Figure 15 schematically shows a further example of sectioned map data. [Figure 16] Figure 16 schematically shows an example of the apparatus. [Figure 17] Figure 17 shows a schematic example of a computer program.
[0040] Drawings are not necessarily to scale. Certain features and views in drawings may be shown schematically or exaggerated to scale for clarity and conciseness. For example, the dimensions of some elements in a drawing may be exaggerated compared to other elements to aid in explanation. Similar reference numbers are used in drawings to indicate similar functions. For clarity, not all reference symbols are necessarily shown in every drawing.
[0041] In drawings (and descriptions), similar features may be referred to by the same three-digit number. Drawings (and descriptions) may also use optional subscripts for three-digit numbers to distinguish different instances of similar features. Thus, a three-digit number without a subscript can be used as a general reference, while a three-digit number with a subscript can be used as a specific reference. A subscript can include a single digit that labels different instances. Alternatively, a subscript can include two digits: a first digit that labels a group of instances, and a second digit that labels different instances within that group. [Modes for carrying out the invention]
[0042] Typically, conventional digital maps are sectioned maps, which are sectioned from the start (i.e., sectioned digital maps are sectioned from the beginning). Such sectioned maps are typically used across industries.
[0043] In a sectioned map, a road representation (e.g., a road segment between two junctions) is initially sectioned / segmented / divided into arcs (via the insertion of a new node between two nodes defining the arc) based on all of the multiple attributes associated with the road. In this regard, for each arc, the road is initially sectioned into arcs such that each value of the multiple attributes remains constant along the length of the arc. The attributes can then be associated with the entire length of the arc. In a sectioned map, attribute values cannot be changed midway along the arc. Therefore, whenever an attribute changes, a new arc must be created within the sectioned map. For example, if a new speed limit is introduced midway along a road segment, this means that the attribute / speed limit of the arc representing the road segment in the sectioned map will change midway along the length of the arc. To update the sectioned map, such a change in the attributes of an arc requires dividing the ("parent") arc into split ("child") arcs by introducing a new node between the two nodes defining the parent arc. In this regard, further sectioning procedures are performed on the (already) sectioned map. Then, the new attribute / speed limit needs to be assigned / associated with one of the new child arcs (and all other attributes associated with the parent arc need to be assigned / associated with the child arcs).
[0044] Furthermore, since each arc has its own unique ID, every time an arc is sectioned / split due to an attribute change, the arc's ID is removed from the sectioned map, and a new split arc is added, each with its own new unique ID. Such changes to IDs when updating a sectioned map could make the updated sectioned map unreliable and could create extra work for developers and map content creators to account for such successive changes.
[0045] Furthermore, sectioned maps can result in a vast number of small arcs, leading to excessive data, and can negatively impact the performance of products or services built on / using the map, particularly routing algorithms (their performance may degrade because they must compute large changes in data between arcs to establish the shortest, fastest, or most economical route). Such problems can become increasingly pronounced as sectioned maps become more complex and have more attributes.
[0046] As an alternative to sectioned maps (i.e., maps that are sectioned from the start), the use of linear-referenced maps has been proposed. In linear-referenced maps, road segments are not divided based on attribute changes; instead, attributes are represented based on their distance along the road segments (or more precisely, the distance along the arc representing the road segment). For example, if a new speed limit for a road segment is introduced midway along the road segment in a linear-referenced map, instead of dividing the arc and creating two new divisions / child arcs and two corresponding new IDs, a new linear-referenced attribute can be provided that defines the distance along the arc where the speed limit changes and the attribute. Advantageously, this can significantly reduce the number of arcs required and their corresponding IDs. This can help make linear-referenced maps more stable, consistent, and scalable than traditional sectioned maps, and may also make it easier for developers and map content creators to collaborate and update.
[0047] However, despite the potential advantages of the linear reference approach compared to traditional sectioned maps, linear reference is not widely adopted. This is partly because map users, map developers, and content creators may have systems built on / based on sectioned maps (e.g., their own existing sectioned digital maps, which may require sectioned maps as input), and linear reference maps may not be compatible with or easily interface with them.
[0048] Next, I will give a brief explanation of linear reference digital maps.
[0049] Figure 1 schematically shows an example of map data 201 of a linear reference digital map, along with a schematic diagram of road segments 204 and the attributes 206 of the road segments represented by the map data (e.g., road surface type, speed limit, and number of lanes).
[0050] A digital map contains map data representing a segment of a navigable element within a geographical area. The digital map represents a segment of a navigable element via a graph containing arcs and nodes. In this regard, each segment of a navigable element is defined by an arc (which may also be called a way, edge, link, or line) between two nodes.
[0051] A digital map may include one or more of the following: base digital map, Reference digital map, Immutable digital maps (i.e., not permitted to be modified by the users of the digital maps or the producers of the higher-layer map data), Unsectioned (non-sectioned) / unfragmented (non-fragmented) digital maps, or A digital map that has undergone the first stage of sectioning procedures.
[0052] Map data 201 includes segment data 202 that shows one or more segments 203 of one or more linear map features 204 of a digital map.
[0053] In the simplified schematic example in Figure 1, map data 201 simply represents a single segment 203 of road 204 (i.e., a segment of the road between two junctions or determination points). However, it should be understood that in other examples, map data can represent multiple road segments of multiple roads. In the linear reference digital map in Figure 1, initial segmentation is applied, i.e., segmenting a portion of a road into road segments based on the locations of two junctions that define the road segments.
[0054] In the following explanation, linear map features will be referred to as road segments. However, it should be understood that linear map features can be any map feature consisting of lines (which do not necessarily have to be straight lines, but may be curved) or formed primarily using lines, particularly other types of navigable elements in a network of navigable elements (e.g., walking paths, hiking trails, cycle paths, canals, towpaths, rivers, railway lines, etc.), boundaries, or lines that depict areas / zones / geographic regions.
[0055] Segment data 202 can represent at least one of the following: Physical geometry of road segments, The physical topology of the road segment, and Primary layer of digital map, These can be represented via graphs. In this regard, segment data can represent / define a road segment with a length of 50m (or 5,000cm) via the first node 209_11 and the second node 209_12, and an arc 210_1 (representing a length of 50m) between the first node and the second node.
[0056] Map data 201 also includes segment attribute data 205 (for example, for a VAD layer or attribute layer of a digital map): The first set of attributes 206 associated with the road segment 207, and Location 208 of each attribute within the road segment.
[0057] The location of an attribute within each road segment may include at least one of the following: Indication of the location along the road segment where the attribute is located (i.e., a point-like location), Location indication along the road segment where attributes begin to be applied. Location indication along road segments where attributes will no longer apply. Location indication along road segments with changing attributes, and Indication of a portion of the road segment to which the attribute applies (e.g., extended length / range).
[0058] In the example in Figure 1, the road segment is associated with three types / categories of attributes: road surface 206_1, speed limit 206_2, and number of lanes 206_3. Each type / category of attribute is its own set of attributes: Road surface 206_1: Concrete 206_11 or asphalt 206_12 Speed limit 206_2: 50km / h 206_21 or 40km / h 206_22 Number of lanes 206_3: 4 lanes 206_31 or 3 lanes 206_32 It holds.
[0059] In the example in Figure 1, segment attribute data 205 provides indications for the following positions of each attribute: Road surface: Concrete up to position 208_11 (15m), asphalt for the rest of the road segment thereafter. Speed limit: 50 km / hr up to position 208_21 (36m), then 40 km / hr; Number of lanes: 4 lanes up to position 208_31 (43m), then 3 lanes thereafter.
[0060] This leads to a further discussion of sectioned digital maps, as commonly used, i.e., conventional digital maps that are sectioned from the outset (in this context, sectioned digital maps are sectioned from the beginning / are sectioned from the start).
[0061] In sectioned maps, linear map features, such as road sections, can be divided into two or more sections. This can be done by dividing the arc representing / defining the linear map feature through the insertion of one or more additional nodes between the two nodes that define the arc. The location of each arc division point / node insertion point can be based on the location associated with each attribute associated with the linear map feature.
[0062] For example, a road segment (defined by a first node, a second node, and an arc between them) may be associated with a first attribute (i.e., a 50 km / h speed limit) for the first half of the road segment, and with a second attribute (i.e., an 80 km / h speed limit) for the second half of the road segment. In a sectioned map, a road segment is sectioned by inserting a new node midway along the arc between the first and second nodes, dividing the arc into two sections, i.e., two subarcs. The first attribute can then be uniquely associated / tagged with or attributed to the first section / subarc, i.e., the entire subarc [see that the first attribute is associated with only a portion of the arc]. Similarly, the second attribute can be uniquely associated / tagged with or attributed to the second section / subarc [see that the second attribute is associated with only a portion of the arc]. In this way, the location and scope / length of an attribute are effectively defined by the location and scope / length of the section / subarc to which the attribute is associated / tagged or to which it belongs (in practice, the location information of an attribute is encoded at the location of that section / subarc).
[0063] In a sectioned map, a road segment is not partially associated with a first attribute and, in another part, just associated with a second attribute. Instead, the first attribute tags / belongs to the entirety of the first section / subarc of the road segment, and the second attribute tags / belongs to the entirety of the second section / subarc of the road segment.
[0064] Similarly, if an attribute relates to a point attribute rather than an extended attribute (e.g., a specific point / location along a road segment where the speed limit changes, rather than an extended attribute such as the range / length of a road segment with a first speed limit and another range / length of a road segment with a second speed limit), then in a sectioned map, a node is inserted at the location of the point attribute, and the point attribute is linked / tagged / assigned to the inserted node that has the point attribute. In this way, the location of an attribute is effectively defined by the location of the node to which the attribute is uniquely associated / tagged / assigned (in fact, the location information of an attribute is encoded at the location of its associated / tagged / assigned node).
[0065] Traditionally, in sectioned maps where linear map features are associated with multiple attributes, the linear map features are sectioned / fragmented / divided into sections until each attribute can be uniquely associated / tagged / assigned to an arc or newly divided sub-arc representing a road segment, or to a node or newly inserted node representing a road segment.
[0066] Referring to the example of unsectioned map data for a linear reference digital map in Figure 1, if such map data were instead provided in the format of conventional sectioned digital map data, the road segments would be sectioned based on all attributes. In this regard, a new node would be inserted between the first and second nodes at each of location 208 so that the road segment is sectioned into four sections: First section, 0-15m - Attributes: concrete, 50km / hr, and associated with 4 lanes. The second section, from 15m to 36m, has the following attributes: asphalt, 50km / hr, and is associated with 4 lanes. Third section from 36m to 43m - Attributes: Asphalt, 40km / hr, and associated with 4 lanes. The fourth section, from 43m to 50m, is associated with the following attributes: asphalt, 40km / hr, and 3 lanes.
[0067] In conventional sectioned digital maps, map features are sectioned based on all attributes related to those features.
[0068] Traditional sectioned map data is not always optimal. Traditional sectioned map data may lack flexibility / customizability regarding which attributes should be used as the basis for sectioning the map data.
[0069] However, in the examples of the present invention, selectively configurable sectioning is performed based on a particular set of attributes so that customized sectioned map data can be generated. In this regard, road segments are not sectioned based on all attributes of the road segments (of which there may be many), but rather selective sectioning may be performed based on a selected set of attributes of the road segments (i.e., a selected subset of all possible / available attributes). The selected set of attributes may be a subset of all attributes, or in some examples, the selected set of attributes may correspond to all selections of attributes.
[0070] Advantageously, users of map data can choose which attributes to use to section the map data; in other words, users can choose a sectioning strategy according to their preferences. This can, for example, allow map data to be sectioned in the same or similar way as the sectioning adopted by the user in existing digital maps that the user is already using (e.g., digital maps that already cover geographic areas different from or adjacent to the geographic areas covered by the map data). This can simplify and reduce the complexity of processing and managing map data, as well as its integration into existing digital maps, allowing users of map data to upgrade their digital maps and integrate sectioned map data into their digital maps. Furthermore, users can replace previously adopted map data with newly sectioned map data without requiring adaptation of existing software. Using only relevant subsets of attributes further avoids unnecessarily sectioning maps based on attributes irrelevant to a particular user, and thus minimizes the required storage space (capacity) and / or bandwidth and / or processing requirements. Thus, using the same linear reference map, it is possible to generate multiple different sectioned maps for multiple users with different requirements.
[0071] Furthermore, as will be discussed further below, an example of the present invention makes it possible to perform sectioning using linear reference attributes (as will be discussed further below).
[0072] Figure 2 schematically illustrates a method 20 for generating sectioned map data (which may be performed on a computer). The method in Figure 2 will be explained in particular with reference to Figures 1, 3, and 4.
[0073] The constituent blocks in Figure 2 are functional, and the functions described can be performed by a single physical entity (as illustrated with reference to Figure 16). The functions described can also be implemented by a computer program (as illustrated with reference to Figure 17).
[0074] In block 21, map data 201 of a digital map is acquired. In this regard, map data 201 similar to that shown in Figure 1 may be acquired, so the discussion and details regarding the map data in Figure 1 are also applicable to the acquired map data in block 21. Acquiring map data may include receiving map data (for example, from another device such as a database or server containing map data), accessing / acquiring map data (for example, from local or remote memory storage), or determining map data.
[0075] The map data 201 acquired in block 21 includes segment data 202 that shows one or more segments 203 of one or more linear map features 204 (for example, a primary invariant layer of a digital map having a node 209 and an arc 210 representing a segment 203 of a road 204, as shown in Figure 1).
[0076] The map data 201 obtained in block 21 is, Attributes 206 associated with each segment, wherein one or more attributes are selected from a first set of attributes 207, At least one position 208 of each attribute within each segment, This also includes segment attribute data 205 (for example, higher-level attributes or VAD layers) that indicate this.
[0077] In the map data 201 acquired in block 21, in the segment attribute data 205, at least one location of each attribute within the segment is defined by a linear reference. In this regard, the segment attribute data 205 may include a VAD with an LR definition.
[0078] Linear reference (LR) is a technique for defining the location (i.e., point location or extended length) of an attribute relative to the road segment (defined in the segment data of the base / reference digital map) to which the attribute is associated.
[0079] In LR, map content (i.e., the attributes of a road segment) can be described linearly by using the distance along the road segment (which may be defined, for example, in centimeters (cm)). Thus, LR can be effectively used to define and indicate where the attributes of a road segment change by using the distance along the road segment where the attributes change.
[0080] LR may also be based on specifying the "distance" along a line (for example, an arc representing a road segment). LR-enhanced attribute data may be provided in the form of tags with the LR keyword appended to the end of the tag name to indicate the type of "distance along / offset point" definition for the tag's value.
[0081] Possible LR keywords that can be used to indicate different linear reference types include the following:
[0082] [Table 1]
[0083] Typically, spot attributes may be assigned / attached to nodes, while step and linear attributes may be assigned / attached to arcs.
[0084] Similar to selective sectioning that uses other LR attribute types to produce sectioned LR map data, selective sectioning using the spot attribute results in the insertion of new nodes (inserted at the appropriate offset point / position if the node does not already exist). However, unlike other LR attribute types (e.g., step attribute and linear attribute), with the spot attribute, the attribute value is assigned / applied to the new node itself. Also, selective sectioning using the spot attribute does not necessarily result in the splitting of the previous arc and two new IDs for the two new arcs, even though a new node is inserted into the previous arc. In this regard, the previous arc and its ID may be retained in the resulting sectioned LR map data, and new IDs for any new arcs are created and not stored in the sectioned LR map data. In practice, the spot attribute does not necessarily result in the splitting of an arc (as discussed below and shown with reference to Figure 9), but it may in other examples.
[0085] As an example, the LR-defined attribute 206_2 for the speed limit of the road segment in Figure 1 is 50 km / h from 0 to 36 m, and 40 km / h thereafter, which can be expressed by the following LR definition: maxspeed:step=0#50;36#40 Here, "maxspeed" is a tag name, "Step" is an LR keyword, "0" is the first offset point, "50" is the value applied to the road segment from the first offset point. "36" is the second offset point, "40" is the value applied to the road segment from the second offset point.
[0086] A specification (e.g., "LR-spec") may be provided to define the format and syntax of LR-converted attributes. For example, an LR-spec might define several delimiters that allow for the identification of different parts of an LR-converted attribute. Such delimiters may include: :(colon) ; (semicolon) and #(hash) The equals sign (=) can be used to indicate the first partition.
[0087] In the example above: maxspeed:step= is the key, 0#50;36#40 = LR value, 0#50 is an element of a value separated by a semicolon (;), 0 represents distance (cm), 50 is an attribute value.
[0088] Further examples of LR-enhanced attribute data 205 are shown and discussed in Figures 5, 7, and 8.
[0089] In block 22, section configuration data 301 is acquired. This section configuration data is used to configure the sectioning of the map data 201.
[0090] The sectioning configuration data includes indications for a second set of 307 attributes, which is a subset of the first set of 207 attributes. The sectioning configuration data enables the sectioning of the map data to be performed at least partially based on the second set of attributes.
[0091] In some examples, the second set of attributes does not have to be limited to being a subset of the first set of attributes; instead, the second set of attributes could, for example, be identical to the first set of attributes. Therefore, if the first set of attributes corresponds to all attributes associated with a road segment, and the second set of attributes corresponds to the first set of attributes, the sectioning configuration data allows for sectioning of the map data based on all attributes (i.e., sectioning does not have to be limited to sectioning based on a subset of all attributes).
[0092] Figure 3 schematically shows an example of sectioned configuration data 301. The attributes 307 of the second set of sectioned configuration data (attributes 206_1, 206_11, and 206_12 - relating to surface type) are a subset of the attributes 207 of the first set (attributes 206_1, 206_11, and 206_12 - relating to surface type; 206_2, 206_21, and 206_22 - relating to velocity; and 206_3, 206_31, and 206_32 - relating to lanes).
[0093] The attributes of attribute 307 in the second set of sectioning configuration data can be selected, for example, by the user from attribute 207 in the first set. In this way, the user can select the attributes used to control the sectioning (i.e., so that the type / format of sectioning performed on the sectioned map data corresponds to the type / format of sectioning in the user's existing / current digital maps).
[0094] In block 23, sectioned map data 401 is generated. The generation of sectioned map data 401 includes sectioning map data 201 according to sectioned configuration data 301 and a second set of attributes indicated therein.
[0095] Each attribute in the second set of attributes can be associated with an attribute category (for example, the attributes concrete 206_11 and asphalt 206_12 are both associated with the attribute category surface 206_1). Sectioning map data according to sectioning configuration data may involve sectioning road segment 203 of map data 201 to produce two subsegments 303_1 and 303_2 of sectioned map data, each of the two segments of sectioned map data being associated with a single attribute of an attribute category (i.e., either concrete or asphalt) over its length.
[0096] Figure 4 schematically shows an example of sectioned map data 401 generated from sectioning map data 201 based on sectioned configuration data 301. Here, sectioned configuration data 301 effectively demonstrates that sectioning map data 201 is based on the location of surface-related attributes. In this regard, rather than sectioning map data 201 based on all possible attribute / attribute category types, map data 201 is instead sectioned based on a selected subset of possible attribute / attribute category types, i.e., surface-related attributes.
[0097] In order to generate sectioned map data 401, the process of sectioning map data 201 based on sectioning configuration data 307 is as follows: To determine the segment 203 associated with attribute 206_11 of attribute 307 in the second set of sectioned configuration data 307 (i.e., to identify / select segment 203 as indicating that attribute data 205 indicates that this segment is associated with attribute concrete 206_11 of attribute 307 in the second set shown in sectioned configuration data 307), Determining the position 208_11 within the determined segment 203 of attribute 206_11 of the second set of attributes shown in sectioned configuration data 307, The determined segment 203, The determined position 208_11 and Sectioning map data 201 based at least partially on, It may include.
[0098] Such sectioning may involve dividing arc 210_1 between two nodes 209_11, 209_12 representing the determined segment 203 at division point 308_11, so as to form two dividing arcs / subarcs / sections 310_1, 310_2, where the position of one division point corresponds to the determined position 208_11.
[0099] Such sectioning may, alternatively or additionally, involve inserting node 309_11 between two nodes 209_11 and 209_12 of the determined segment 203 at insertion point 308_11, the location of the insertion point being at least partially based on the determined location 208_11.
[0100] Such sectionalization is sometimes called "Second Stage Sectioning" or "S3". S3 allows for the selective sectionalization and selective assignment (i.e., attribute attribution) of attributes to nodes and / or ways.
[0101] As shown in Figure 4, the sectioned map data 401 includes segment data 402 in which a new node 309_11 is inserted between the first node 209_11 and the second node 209_12, thereby dividing / fragmenting / splitting arc 203 into two sections / subarcs 301_1 and 303_2. The location of the new node / split point corresponds to the location of the surface-related attribute shown in the segment attribute data 205, i.e., the location where the surface changes from concrete to asphalt. The attribute "concrete" is then tagged / assigned to the first section / subarc 301_1, and the attribute "asphalt" is tagged / assigned to the second section / subarc 301_2.
[0102] Similar segmentation processing may be used if the attribute is a point-like attribute applicable only to specific locations (for example, if the attribute indicates a change in surface from concrete to asphalt), rather than an extended attribute applicable to the extent / length of a road segment. However, instead of the attribute being tagged / assigned to one of the sections / subarcs, the attribute is tagged / assigned to a node.
[0103] In sectioned maps, attributes can only be linked to either ways or nodes. Point-type attributes (sometimes called spot-type attributes) can be linked to nodes. On the other hand, extension-type attributes (which can be called step-type attributes or linear-type attributes) can be linked to arcs.
[0104] The method 20 described above can enable sectioning of linear reference map data. Such sectioning may include the creation of nodes and, optionally, the division of ways to allow linking attributes to nodes or arcs (i.e., linking point attributes to nodes and extension attributes to arcs).
[0105] Figure 5 shows Segment data 202 representing road segments, LR-enhanced segment attribute data 205 associated with the road segment, Further examples of map data 201, including the following, are schematically shown.
[0106] The road segment is represented in segment data 202 via nodes N1209_1 and N2209_2, which define the arc / way W1210.
[0107] The LR-formatted segment attribute data 205 represents speed limit-related attributes associated with the road segment via the following tags:
[0108] maxspeed:step=0#30;500#60 This tag is From node N1, starting from the first offset point at 0m (i.e., from N1 itself), the speed limit is 30km / h, From the second offset point 500m from node N1, the speed limit is 60km / h / , This indicates.
[0109] Figure 6 schematically shows an example of sectioned map data 401 formed by sectioning the map data of Figure 5 based on speed limit-related attributes.
[0110] In this regard, sectioned map data 401 includes segment data 402 in which a new node N3309_1 is inserted between N1 and N3, thereby dividing arc / way W1 into two sections / sub-arcs W11301_1 and W12303_2. The location of the new node / division point corresponds to location 500m shown in segment attribute data 205. The speed-related attribute "30km / h" is tagged / assigned to W11, and the speed-related attribute "60km / h" is tagged / assigned to W13.
[0111] The above example of sectioning considers performing the sectioning process based on sectioning configuration data that indicates a single attribute / attribute type used to section the map data. That is, Figure 4 shows sectioning based on surface type. Figure 6 shows sectioning based on speed limits.
[0112] It should be understood that map data can be sectioned based on multiple attributes / attribute types. In this regard, map data can be sectioned based on sectioning configuration data that indicates multiple attributes.
[0113] Figures 7-9 show the sectioning process based on multiple attributes / attribute types, i.e., Spot type attribute - Barrier (i.e., presence of a barrier along the road segment), and, Step type attribute - Speed limit (i.e., change in speed limit along road segment) This outlines how to perform sectioning based on both.
[0114] Figure 7 schematically shows map data containing segment data that includes multiple arcs / ways (i.e., Way 1, Way 2, Way 3, and Way 4) representing a network of road segments.
[0115] Figure 7 also schematically shows two different forms / formats of segment attribute data 205_1 for indicating spot type attributes associated with road 1 via LR and their locations.
[0116] VAD definition: 120m-barrier+160m-barrier Tag LR definition barrier:spot-120000#yes;16000#yes (The distances provided in the VAD definition are in meters, while the distances indicated in the tag LR definition are in centimeters.) Each form of segment attribute data 205_1 indicates two locations 208_1208_2 of two barriers associated with road 1, namely a barrier at 120m along road 1 and another barrier at 160m along road 1.
[0117] In the first part of the sectioning process, nodes are proposed / inserted based on a barrier attribute type, which is a spot type attribute tagged / assigned to the node (not to the arc). In this regard, new nodes 309_1 and 309_2 are inserted at insertion points 308_1 and 308_2, respectively, at distances of 120m and 160m along path 1. The attribute "barrier=yes" is tagged / assigned to each of the two new nodes. Newly inserted nodes are sometimes called "spot" nodes in the sense that they are effectively just nodes inserted to allow spot attributes to be tagged / assigned to spot nodes (in contrast to "split nodes" as described below with respect to, for example, Figure 8). Spot nodes are not used to split a path (way) into sub-ways. In this regard, since the attribute type is a spot type attribute, path 1 is not split into new (sub)ways despite the insertion of the two new nodes. Therefore, in this first part of the sectioning process, where sectioning is performed based on the spot type attribute, road 1 (having a length of 240m between each of its two points) is not divided into any new roads, that is, in this first part of the sectioning process, road 1 remains A path 120m long between one of the points and the new node 309_1, A road 40m long between the new nodes 309_1 and 309_2, and The path between the new node 309_2 and each of the other points is not divided into a path with a length of 80m. (However, as will be discussed below, in the second part of the sectioning process, where sectioning is performed based on the step type attribute, path 1 is divided into a new path).
[0118] Figure 8 schematically shows the same segment data as in Figure 7. Figure 8 also schematically shows two different forms / formats of segment attribute data 205_2 to indicate the step type attributes associated with path 1 via LR and their locations: VAD definition: 0m-30 / 45-default / 120m-50 Tag LR definition: maxspeed:step=0#30;4500#null;12000:50 Each form of segment attribute data 205_2 indicates that the speed limit on road 1 is, Along Road 1, the speed limit is 30 km / hr from 0m to 45m. Along Road 1, from 45m to 120m, the default speed limit is... From 120m along Road 1 onwards, the speed limit is 50km / hr. This indicates that.
[0119] As described above, the segment attribute data in Figure 7 is related to the stop type attribute, while the segment attribute data in Figure 8 is related to the step type attribute. Therefore, the attribute changes shown by the step type segment attribute data in Figure 8 result not only in the insertion of new nodes but also in the splitting of paths and the tagging / assignment / dedication of attribute values to paths (whereas the stop type segment attribute data in Figure 7 only results in the insertion of new nodes and does not result in the splitting of paths or the tagging / assignment / dedication of attribute values to new nodes).
[0120] In the second part of the sectioning process, nodes are proposed / inserted at locations based on the speed limit attribute type. In this regard, the new nodes 309_3 and 309_1 are inserted at insertion points 308_3 and 308_1 at distances of 45m and 120m, respectively, along road 1. The newly inserted nodes are sometimes called "split" nodes (in contrast to the "spot nodes" mentioned above with respect to Figure 7, for example) in that they are inserted in such a way that they divide the road into sub-ways, allowing the step attribute to be tagged / assigned to at least one of the sub-ways. Following the insertion of the new (split) nodes, road 1 is divided into three new sub-ways (shown in Figure 9). Way 5 (with a length of 45m between each point and the new node 309_3), Way 6 (with a length of 75m between the new nodes 309_3 and 309_1), and Way 7 (having a length of 80m between the new node 309_1 and each of the other points).
[0121] The attribute "30km / hr" is tagged / assigned to the first new subway. The attribute "default speed" is tagged / assigned to the second new subway. The attribute "30km / hr" is tagged / assigned to the third new subway.
[0122] Figure 9 schematically shows the resulting sectioned map data after matching newly inserted spot nodes and segment nodes, as well as newly created subways, and their respective tagging / affiliation / assigned attributes. Note that instead of creating two nodes at 120m, the nodes at 120m from each of the first and second parts of the sectioning process are combined into a single node at 120m. Note that nodes 309_3 and 309_1 are segment nodes that define a division point (dividing the former way 1), while spot node 309_2 does not define a division point that divides a way. In a sectioned map, attributes can only be linked to either ways or nodes. Therefore, spot nodes are inserted so that stop attributes can be linked to nodes.
[0123] Figure 10 schematically shows an example of map data 201 similar to that in Figure 1. The map data includes segment data 202 (showing only one of several segments) and segment attribute data 205 (showing only a subset [3] of a set of multiple attribute types / categories).
[0124] The map data also includes segment identification data 700, which indicates an identifier 701 for each road segment (i.e., each arc) of the segment data (only one of several identifiers is shown). The segment identification data may also indicate an identifier for each node of the segment data (not shown).
[0125] Figure 11 schematically shows an example of sectioned map data 401, corresponding to the sectioning of map data 201 in Figure 10 based on subsets of attributes of three attribute types / categories: surface, velocity, and lane.
[0126] The segment data 402 of the sectioned map data represents four newly formed sections 310_1 to 10_4, defined by the original nodes of segment data 202, the newly inserted nodes, and the arcs between them.
[0127] Sectioned map data includes segment identification data 700 indicating the identifiers 701 for each section / subarc represented by segment data 402, and for each node (and road segment).
[0128] The identifiers for segment identification information data of sectioned map data may be based on segment identification information data of the map data.
[0129] For example, the first and last nodes of a divided map dataset are the same as the first and last nodes of the original map dataset (i.e., they have the same location). Therefore, the identifiers for the first and last nodes of the original map dataset can be reused for the first and last nodes of the sectioned map dataset.
[0130] Newly inserted nodes and newly created arcs in sectioned map data may be provided with new identifiers.
[0131] In this regard, for each arc / segment of the map data divided within the sectioned map data, a new identifier is generated and assigned to each divided arc / segment of the sectioned map data. This ensures that "child" divided arcs / segments are not simply reassigned the same identifier as their "parent" arcs / segments. Similarly, for each (new) node of sectioned map data inserted between two nodes of map data, a new identifier is generated and assigned to the inserted node.
[0132] On the other hand, for each segment / arc in undivided sectioned map data, the segment can use the same identifier used for the segment / arc in the map data. Similarly, for each node in sectioned map data that corresponds to (i.e., has the same location as) a node in map data, the node in sectioned map data can use the same identifier used for the map data. This ensures continuity in the identifiers used whenever possible, i.e., when the arc or node does not change.
[0133] A new identifier for a new node (inserted between the original nodes of the map data) can be generated based at least partially on the identifiers of one or both of the original nodes of the map data. Similarly, a new identifier for a new section / subarc (formed by dividing the original arc of the map data) can be based at least partially on the identifier(s) of one or more of the original arc or its nodes.
[0134] New identifiers can be generated through deterministic ID generation methods.
[0135] A mapping can be generated between identifiers in map data and identifiers in sectioned map data. A mapping table can be formed that provides a history / log of previously used identifiers and how one identifier relates to another.
[0136] Segment identification data in sectioned map data may include a history of previous identifiers (in particular, identifiers previously assigned to arcs before they were divided during the sectioning process).
[0137] The above rules / conditions regarding segment identification data for sectioned map data and identifying nodes / arcs in sectioned map data can provide ID stability.
[0138] Below, Inserting nodes that are too close together, Creating sub-arcs that are too short, and / or, Creating too many nodes and subarcs, To avoid this, we will briefly describe the normalization procedures that can be used before / during the sectioning process.
[0139] The lack of mutual knowledge among multiple data producers of LR-based attributes (based on which segmentation can be performed) can lead to excessive and insufficient segmentation. This can be mitigated by performing linear reference information normalization, where the distance is reduced to a common segmentation point.
[0140] Normalization is performed in response to determining (judging) whether the position of an attribute in a second set of attributes (i.e., the position of an attribute based on which sectioning is applied) is within a threshold separation distance of the positions of other attributes in the second set of attributes.
[0141] Figure 12 schematically shows two segment attribute data, LR attribute tag 1 205_1 and LR attribute tag 2 205_2, associated with the same road segment. The segmentation procedure is formed based on both tags. The two tags relate to different attributes of different types; for example, tag 1 may relate to a concrete road surface (road surface), and tag 2 may relate to a 30 km / hr speed limit.
[0142] The attribute of tag 1 has a range from 0 to 100 (this is defined via positions 208_11 and 208_12 of segment attribute data tag 1 205_1). The attribute of tag 2 has a range from 17 to 83 (this is defined via positions 208_21 and 208_22 of segment attribute data tag 2 205_2).
[0143] In the example in Figure 12, the threshold separation distance is 10. Since the separation distance between each position is greater than 10, the normalization procedure is not performed on any position; in other words, the normalized distance for each tag is the same as the original / initial distance for each tag.
[0144] For example, the separation distance 701_1 between 208_11 and 208_21 is greater than the threshold separation distance (i.e., 17 > 10), and similarly, the separation distance 701_2 between 208_12 and 208_22 is greater than the threshold separation distance (i.e., 17 > 10).
[0145] Figure 13A schematically shows three segment attribute data, namely LR attribute tag 1 205_1, LR attribute tag 2 205_2 (see Figure 12), and LR attribute tag 3 205_3, all associated with the same road segment. The segmentation procedure is formed based on all three of the two tags. Similar to Figure 12, tag 1 may be associated with a concrete road surface, tag 2 may be associated with a 30 km / hr speed limit, and tag 3 may be associated with two lanes.
[0146] In the example in Figure 13A, the threshold separation distance is also 10. However, since the separation distance between any given locations is less than 10, a normalization procedure is performed on such locations.
[0147] All locations of tag 2 have a separation distance greater than the threshold separation distance from each location of tag 1 and tag 3. Therefore, there is no need to apply normalization to tag 2, i.e., there is no need to normalize / adjust the locations of tag 2.
[0148] However, the position of tag 1 is less than the threshold separation distance from the position of tag 3. In particular, the separation distance 701_3 is less than the threshold separation distance (i.e., 3 < 10), and similarly, the separation distance 701_4 is less than the threshold separation distance (i.e., 3 < 10).
[0149] Therefore, in order to generate the normalized distance between normalized tag 1 205_1* and / or normalized tag 3 205_3*, the positions of tag 1 and / or tag 3 need to be normalized, i.e., adjusted.
[0150] In this regard, position 208_11 of tag 1 may be adjusted based on position 208_31 of tag 3, and / or position 208_31 of tag 3 may be adjusted based on position 208_11 of tag 1, and the adjusted positions may be assigned to each tag.
[0151] For example, position 208_11 can be adjusted to correspond to position 208_31 (i.e., position 208_11 can be adjusted from 0 to the normalized position of 3), or conversely, position 208_31 can be adjusted to correspond to position 208_11 (i.e., position 208_31 can be adjusted from 3 to the normalized position of 0).
[0152] Alternatively, both positions can be adjusted to correspond to the average position of the two positions (for example, adjusting both positions 208_11 and 208_31 to the normal position of 1.5).
[0153] Similar adjustments may be made to positions 208_12 and 208_32, thereby defining normalized tag 1 205_1* and / or normalized tag 3 205_3*.
[0154] Next, sectioning can be performed based on the normalized tags and their normalized positions. Regarding this point: The segments of the map data may be divided at division points, the location of the division points being at least partially based on the adjusted location, and / or Nodes may be inserted at insertion points between two nodes in a segment of map data, the location of which is at least partially based on the adjusted location.
[0155] Sectioning based on such normalized tags is, Nodes are too close to each other (i.e., they are within threshold separation distance from each other), The sub-arc is too short (i.e., less than the threshold length), and / or, Too many nodes and subarcs in sectioned map data. This can be prevented from happening.
[0156] The start and end positions of a tag or way can be normalized. However, in other examples, normalization can also be performed in the middle of the tag / LR definition, as shown with respect to Figure 13B.
[0157] Figure 13B schematically illustrates a scenario somewhat similar to the one in Figure 13A, with three segment attribute data / LR attributes: Tag1, Tag2, and Tag3. However, the start and end positions of Tag3 are different, namely 19 and 86 instead of 3 and 97 (as in Figure 13A). Note that in this scenario, position 19 of Tag3 is less than 10 from position 17 of Tag2. On the other hand, position 63 of Tag3 is more than 10 from position 86 of Tag2.
[0158] After normalization, the normalized distance is: Tag 1: 0 and 100, Tag 2: 17|19 and 63, Tag 3: 17|19 and 86, That is the case.
[0159] Sectioning using three tags and their normalized distances results in the following: • The first path to which only the attributes of tag 1 are assigned (from 0 to the node to which it is finally inserted based on 17|19 - for example, the average of two positions: could be 18), • The second path to which the attributes of Tag 1, Tag 2, and Tag 3 are assigned (from its first insertion node to the second new node inserted at 63), A third path from the second new node inserted at 63 to the third new node at 86 having tags 1 and 3, and A fourth path from the new node at 86 to the original node at 100, with only the attribute of tag 1 assigned.
[0160] Next, we will briefly describe the linear reference reinterpolation procedure that may be used during the sectioning process.
[0161] In an example of the present invention, the user can effectively select a specific set / custom set of attributes (i.e., a second set of attributes shown in the sectioned configuration data 301, which is a subset of a first set of attributes for segments of map data), and sectioning is performed based on such user-selected attributes. Nevertheless, attributes that were not selected / used for sectioning may be included with the sectioned map data, i.e., as segment attribute data for the sectioned map data, and such segment attribute data Non-selected attributes / attributes not used in the road segments of sectioned map data (i.e., a third set of attributes that includes attributes that are in the first set of attributes but not in the second set of attributes), and The location of each such attribute within the road segment, This indicates.
[0162] Each attribute is defined by a linear reference. Such linear references are linearly referenced with respect to the nodes of the map data. However, it is desirable that a third set of unselected / unused attributes be linearly referenced with respect to the nodes of the sectioned map data (i.e., not just the nodes of the map data, since the nodes of the sectioned map data may contain new / additional inserted nodes and sub / divided segments).
[0163] In the linear reference reinterpolation procedure, attributes that were not selected or used for sectioning are reinterpolated / corrected so that they are linearly referenced to the nodes of the sectioned map data (including newly inserted nodes).
[0164] In this regard, the linear reference reinterpolation procedure reinterpolates / corrects the linear references of unselected / unused attributes to correct / adjust those linear references from those relating to nodes in the map data to those relating to sectioned map data nodes / newly inserted nodes.
[0165] This means that all skipped sectioning attributes are recalculated and transformed to fit the new fragmented situation / sectioning of the sectioned map data. Depending on how linear references are defined, the location / distance of attributes may need to be recalculated, and in some cases, the attribute values themselves (e.g., linear values such as gradient and curvature) may also need to be recalculated.
[0166] As an example, with respect to Figure 1, the first set of LR attributes for segment 203 of the map data (linearly referenced with respect to node 209_11 of segment 203 of the map data) can be considered as follows:
[0167] i) Surface attributes, e.g., Surface:step=0#Concrete;15#Asphalt ii) Speed attribute, for example, Speed:step=0#50;36#40 iii) Lane attributes, for example, Lanes:step=0#4Lane;43#3Lane In the sectioned map data of Figure 4, i) only surface attributes are selected and used for sectioning. Such sectioning results in the insertion of a new node (309_11) at position 15.
[0168] Nevertheless, the unselected LR attributes, namely speed attribute ii) and lane attribute iii), may still be associated with and / or included in the sectioned map data, for example, as segment attribute data of the sectioned map data (similar to segment attribute data 205 of map data 201).
[0169] However, linear references of unselected LR attributes need to be adjusted / corrected. Instead of being linearly referenced to node 209_11 in segment 203 of the map data, its location needs to be linearly referenced to node 309_11 in segment 303_2 of the sectioned map data.
[0170] In this regard, the location of each attribute within each segment of the sectioned map data can be determined. In the example above, the linear reference reinterpolation procedure reinterpolates / corrects the linear references of the unselected attributes as follows:
[0171] Speed attribute, for example, Speed:step=0#50;21#40 Lane attributes, for example, Lanes:step=0#4Lane;28#3Lane In practice, the locations indicated by the attributes are transformed to correspond to their locations in segment 303_2 of the sectioned map data (shifted by 15 in this example).
[0172] In other examples, such as “linear type” attributes, where the attribute has variable values whose quantity changes with location (e.g., height and curvature), the adjusted / re-interpolated variable values of the attribute may be determined / calculated based on the location of the node in the sectioned map segment in which the attribute is located / associated. For example, consider a linear type attribute associated with an arc representing a road segment 100m long, where the linear type attribute has a linear definition that states:
[0173] Height:linear=0#10;10000#20 In other words, the road segment starts at an elevation of 10m above sea level, and its height increases linearly along its length, reaching an elevation of 20m above sea level at its end.
[0174] If an arc is split along its length (for example, due to a change in speed limit along the arc / road segment), the linear type attribute that should be associated with each of the split sub-arcs needs to be recalculated. In this regard, the linear reference reinterpolation procedure uses the linear references of the unselected attributes. For the first sub-arc - Height: linear=0#10;5000#15 For the first sub-arc - Height: linear=0#15;5000#20 Re-interpolate / correct it.
[0175] Next, segment attribute data can be generated for sectioned map data: This shows the velocity and lane attributes associated with segment 303_2 of the sectioned map data, and, The position of each attribute within each segment is defined via a linear reference.
[0176] Next, we will briefly describe the procedure for handling the relationship between nodes and arcs in the generation of sectioned map data, that is, the procedure for adjusting the relationship between nodes and arcs in sectioned map data (as defined in the map data).
[0177] The map data for digital maps is One of the segments of the map data segment data, At least one other segment from the segment data, This may include relational data that shows one or more relationships between them.
[0178] In this regard, relational data can show the relationships between nodes and / or arcs in the segment data of the map data.
[0179] In the sectioning process, segment relationship data for sectioned map data may be generated based on segment relationship data for map data. Segment relationship map data for sectioned map data is One of the segments of the sectioned map data, At least one other segment from the sectioned map data segments, This can show at least one relationship between them.
[0180] In this regard, segment relation data for sectioned map data may indicate the relationships between nodes and / or arcs of the segment data in the sectioned map data.
[0181] In particular, arcs / segments in map data may have relationships with other arcs / segments in map data. Sectioning map data may involve dividing an arc / segment (of map data) into two or more divided sets of arcs / segments (of sectioned map data). Relationships from nodes / arcs in map data may need to be reapplied to nodes / arcs in sectioned map data, or those relationships may need to be re-evaluated for nodes / arcs in sectioned map data, i.e., sectioning (creation of new nodes / arcs) may need to "fix" previous relationships between previous arcs and nodes that would have been broken.
[0182] In this regard, after splitting an arc into a set of sub-arcs and / or inserting a new set of nodes, one or more of the following may be performed: The relationship is assigned to the first subset of the set of dividing arcs / insertion nodes. The null relation is assigned to a second subset of the set of split arc / insertion nodes, and this second subset is different from the first subset. Based at least partially on the relationships and the conditions associated with those relationships, a new relationship is determined to be assigned to at least one of the set of split arc / insertion nodes (such conditions may be cardinality restriction relationships, or indications of specific restrictions in traffic flow, or permitted maneuvers / turn restrictions from one segment to another).
[0183] Figure 14 shows an example of adjusting the relationships between segments of sectioned map data.
[0184] Firstly (as schematically shown in the diagram above), the segment data of the map data represents four segments 203_1 to 203_4. The diagram above also schematically shows relational data 801 for a given segment. Relational data 801 indicates the restrictions on traffic flow / permitted operations along segments 230_1 and 203_2. In this regard, relational data 801_1 indicates that traffic can only flow "from" node 209_3 (via node 209_2) (i.e., traffic can only flow from segment 203_1 to segment 203_2, and cannot flow from segment 203_1 to segment 203_3 or segment 203_4). Relational data is achieved by assigning tags "from" and "to" to each node of the segment.
[0185] As a result of the sectioning process, a new node 309 is inserted between nodes 209_2 and 209_3, and consequently, arc 203_2 is divided into two sub-arcs. The two figures below schematically illustrate two possibilities for handling the relationships in the sectioning of the map data in the figure above.
[0186] The diagram in the lower left schematically illustrates an example of relational processing where each of the two new subarcs is simply given the same relation as its parent arc. In this case, both subarcs are assigned the "to" relation, and as a result, the relation has two "to" tags. However, under the OpenStreetMap ("OSM") model, there is a condition that a turn restriction relation can only have a single "to" tag. Therefore, since a turn restriction relation has two "to" tags, such relational processing violates the OSM model.
[0187] To prevent relationships with certain conditions from violating the OSM model, the lower right diagram employs an alternative relationship handling where only one of the two new sub-arcs is given the same relationship as its parent arc. In this way, the relationship has only a single "to" tag and therefore no longer violates the turn-restricted relationship conditions of the OSM model.
[0188] In the discussion of relationships in Figure 14, they are described as existing ways. In that sense, there is an assumption that relationships are handled the same way in a linear reference map as they are in a (further) sectioned map, i.e., by adding ways as members to a set.
[0189] However, this is not always the case. In particular, the relationship itself may be described in a linearly referenced manner. This is especially relevant to relationships not caused by junctions and therefore not necessarily involving existing nodes in the LR map.
[0190] An example of a linear reference relationship is a bus route. This can be presented as an ordered series of paths. However, it does not necessarily have to start and / or end at junctions / existing nodes in the LR map; in fact, a bus stop can be located at any point along the path. Thus, a bus route can have paths with LR tags indicating where it starts (or ends). In sectioning, this can / should be handled by inserting nodes and adding only the relevant new paths to a set representing the bus route (in the correct order).
[0191] Another example of a linear reference relationship is a traffic signal, which can exist on linear stretches (straight sections) and junctions. While a traffic signal can be considered a spot attribute, it may also be advantageous to include it as a relationship with respect to the road to which it relates.
[0192] Figure 15 schematically shows a further example of sectioned map data where sectioning is performed based on linear reference relationships.
[0193] The upper part of Figure 15 shows two unsectioned paths, namely Path 1 and Path 2, and their respective linear reference relationships.
[0194] Path 1 is defined by a node at position = 0 and a node at position = 2000. Path 1 has three linear reference relationships. Path 2 is defined by a node at position = 2000 and a node at position = 3000. Path 2 has one linear reference relationship.
[0195] The central portion of Figure 15 shows a sectioned road. Here, road 1 is sectioned so that, based on the linear reference relationship of road 1, it is divided into new roads, namely roads 3 and road 4, via the insertion of a new node 1 at position 1000 along the length of the original road 1. Similarly, road 2 is sectioned so that, based on its own linear reference relationship, it is divided into new roads, roads 5 and road 6, via the insertion of a new node 2 at position 500 along the length of the original road 2.
[0196] The lower part of Figure 15 shows the relational post-processing to redefine the previous linear reference relationships (which were linearly referenced with respect to unsectioned paths) so that they relate to the newly created appropriate paths following sectioning.
[0197] Examples of the present disclosure can thereby provide selective sectionalization that can be based on linear reference relationships. This can be advantageous because one user can handle linear reference relationships (in which case sectionalization does not need to be based on them), while another user cannot. This provides additional configurability / flexibility in the sectionalization procedure.
[0198] The blocks shown in Figure 2, as well as the various steps and functions described above, represent actions (operations) in a method, functions performed by a device, and / or sections of instructions / code in a computer program.
[0199] It should be understood that each block and combination of blocks shown in Figure 2, as well as the further functions described above, can be implemented by various means, such as hardware, firmware, and / or software including one or more computer program instructions. For example, one or more of the functions described below can be performed by a properly configured device (such as a server or navigation device). One or more of the functions described below can be implemented by a properly configured computer program (such as a computer program including computer program instructions that embody the functions described below, are stored in a memory storage device, and can be executed by a processor).
[0200] As can be understood, any such computer program instruction can be loaded into a computer or other programmable device (i.e., hardware) to generate a machine, and as a result, when executed on the programmable device, the instruction creates means for performing the function specified in the block. These computer program instructions can also be stored in computer-readable media that can instruct the programmable device to function in a particular way, and as a result, instructions stored in computer-readable memory produce a product containing instruction means for performing the function specified in the block. Computer program instructions can also be loaded onto a programmable device to generate computer execution processes, such that a set of operational actions are performed on the programmable device, and the instructions are such that the instructions are such that they provide actions for the instruction to perform the function specified in the block.
[0201] While not all, various examples of this disclosure can take the form of methods, apparatus, or computer programs. Therefore, while not all, various examples can be implemented in hardware, software, or a combination of hardware and software.
[0202] While not all, various examples of this disclosure are illustrated using flowcharts and schematic block diagrams. It will be understood that each block (of the flowcharts and block diagrams), and combinations of blocks, can be implemented by computer program instructions of a computer program. These program instructions can be provided to one or more processors, processing circuits, or controllers, and as a result, instructions executed on them create means for performing a specified function in one or more blocks, i.e., the Method can be implemented in a computer. Computer program instructions can be executed by a processor, and a series of operational blocks / steps / actions can be executed by the processor to generate computer implementation processes such that instructions executed on the processor provide blocks / steps for performing a specified function in one or more blocks.
[0203] Therefore, a block supports a combination of means for performing a specified function, a combination of actions for performing a specified function, and computer program instructions / algorithms for performing a specified function. It will also be understood that each block, and combinations of blocks, can be implemented by a dedicated hardware-based system for performing a specified function or action, or by a combination of dedicated hardware and computer program instructions.
[0204] Various (but not all) examples herein provide both methods and corresponding devices comprising various modules, means, or circuits that provide functionality for performing / applying such methods. These modules, means, or circuits may be implemented as hardware or as software or firmware executed by a computer processor. In the case of firmware or software, examples of the disclosure may be provided as computer program products comprising computer-readable storage structures that embody computer program instructions (i.e., software or firmware) for execution by a computer processor.
[0205] Figure 16 schematically shows a block diagram of Apparatus 1 for performing the methods, processes, and procedures described herein (in particular, those shown in Figure 2). In this regard, the Apparatus may be, in particular, a server or a navigation device. The component blocks in Figure 16 are functional, and the functions described may be performed by a single physical entity.
[0206] The device includes a controller 7, which may be provided within a device such as a server or navigation device.
[0207] The controller 6 can be implemented by a computing device, particularly one of the computing devices described above. In some, though not all, examples, the device can be implemented as a chip, chipset, circuit, or module, i.e., for use in any of the aforementioned. As used herein, “module” refers to a unit or device excluding certain parts / components added by the end manufacturer or user.
[0208] The controller 6 can be implemented as a controller circuit. The controller 6 can be implemented as hardware alone, the software including firmware can have a specific configuration, or it can be a combination of hardware and software (including firmware).
[0209] The controller 6 may be implemented by using instructions that enable hardware functions, for example, by using executable instructions for a general-purpose or such dedicated processor 2 computer program 4 stored in a computer-readable storage medium 3, such as memory or a disk, and which can be executed by the processor 2.
[0210] Processor 2 is configured to read from and write to memory 3. Processor 2 may also have an output interface to which data and / or commands are output by processor 2, and an input interface to which data and / or commands are input to processor 2. The device may be coupled to or comprise one or more other components 5 (e.g., at least one of a data communication interface, an input / output user interface element, and / or other modules / devices / components for inputting and outputting data / commands).
[0211] Memory 3 stores instructions, such as a computer program 4, which contains instructions (e.g., computer program instructions / code) that control the operation of the device 1 when loaded into the processor 2. The instructions of computer program 4 provide logic and routines that enable the device to perform the methods, processes, and procedures described in this disclosure (in particular those shown in Figure 1 and described above). The processor 2 can load and execute computer program 4 by reading memory 3.
[0212] The commands can be included in a computer program, a non-transitory computer-readable medium, a computer program product, and a machine-readable medium. As used herein, the term "non-transitory" refers to a limitation of the medium itself (i.e., being tangible rather than a signal), in contrast to limitations on data storage persistence (e.g., RAM vs. ROM). In some examples, although not necessarily all, the computer program instructions can be distributed across two or more computer programs.
[0213] Although memory 3 is illustrated as a single component / circuit, it can be implemented as one or more separate components / circuits, a part or all of which can be integrated / removable, and / or a permanent / semi-permanent / dynamic / cache storage device can be provided.
[0214] Although processor 2 is illustrated as a single component / circuit, it can be implemented as one or more separate components / circuits, a part or all of which can be integrated / removable. Processor 2 can be a single-core or multi-core processor.
[0215] The apparatus can include one or more components for achieving the methods, processes, and procedures described in this disclosure (such as those illustrated in FIG. 2 and those described above). It is contemplated that the functions of these components can be combined into one or more components or be performed by other components of equivalent functionality. The description of the functions should also be considered to disclose any means suitable for performing that function.
[0216] Where structural features are described, they can be replaced by means for performing one or more of the functions of the structural features, regardless of whether the functions or their functions are explicitly or implicitly described.
[0217] While examples of devices have been described above in terms of comprising various components, it should be understood that these components may be embodied as one or more processing elements or corresponding controllers or circuits such as processors of the device, or may otherwise be controlled by them. In this regard, each of the aforementioned components may be one or more of any devices, means, or circuits embodied in hardware, software, or a combination of hardware and software, configured to perform the corresponding function of each of the aforementioned components.
[0218] The device may be, for example, a server device, a client device, a mobile phone, an in-vehicle integrated device, a wireless communication device, or a portable electronic device. The device can be embodied in computing devices, particularly those mentioned above. However, in some examples, the device may be embodied as a chip, chipset, circuit, or module, i.e., for use in any of the aforementioned applications.
[0219] In some examples, the device, At least one processor 12, The device comprises at least one memory 13 for storing instructions to be executed by the device, and when the instructions are executed by the at least one processor 12, the device is configured to: The acquisition of map data for a digital map, wherein the map data is Segment data representing one or more segments of one or more linear map features of the digital map, Segment attribute data, One or more attributes associated with each segment, wherein the one or more attributes are selected from a first set of attributes, The at least one position of each attribute within each segment, wherein the at least one position of each attribute within each segment is defined via a linear reference to the at least one position, The segment attribute data that indicates the above, and includes, The method involves obtaining sectioning configuration data for structuring the map data, wherein the sectioning configuration data includes an indication of a second set of attributes, the second set of attributes being a subset of the first set of attributes, and the sectioning configuration data enables the sectioning of the map data to be performed at least partially based on the second set of attributes. The process involves generating sectioned map data, wherein the generation of the sectioned map data includes sectioning the map data according to the sectioning configuration data. Make it run.
[0220] Figure 17 shows a computer program 4 that can be transmitted via a distribution mechanism 7. The distribution mechanism 7 may be any suitable distribution mechanism, such as a machine-readable medium, a computer-readable medium, a non-temporary computer-readable storage medium, a computer program product, a memory device, a solid-state memory, a recording medium such as a compact disk read-only memory (CD-ROM) or a digital general-purpose disk (DVD), or a manufactured article containing or tangibly embodying the computer program 4. The distribution mechanism may be a signal configured to reliably transfer the computer program. The device may receive, propagate, or transmit the computer program as a computer data signal.
[0221] In a particular example of this disclosure, a computer program including instructions, which, when executed by the at least one processor 12, causes the device The acquisition of map data for a digital map, wherein the map data is Segment data representing one or more segments of one or more linear map features of the digital map, Segment attribute data, One or more attributes associated with each segment, wherein the one or more attributes are selected from a first set of attributes, The at least one position of each attribute within each segment, wherein the at least one position of each attribute within each segment is defined via a linear reference to the at least one position, The segment attribute data that indicates the above, and includes, The method involves obtaining sectioning configuration data for structuring the map data, wherein the sectioning configuration data includes an indication of a second set of attributes, the second set of attributes being a subset of the first set of attributes, and the sectioning configuration data enables the sectioning of the map data to be performed at least partially based on the second set of attributes. The process involves generating sectioned map data, wherein the generation of the sectioned map data includes sectioning the map data according to the sectioning configuration data. Make it run.
[0222] References to "computer programs," "computer-readable storage media," "computer program products," "computer programs in tangible form," or "controllers," "computers," and "processors" should be understood to encompass not only computers with different architectures such as single / multiprocessor architectures and sequential (von Neumann) / parallel architectures, but also specialized circuits such as field-programmable gate arrays (FPGAs), application-specific circuits (ASICs), signal processing devices, and other devices. References to computer programs, instructions, and code should be understood to encompass software for programmable processors or firmware, such as instructions for processors, or programmable content for hardware devices, such as fixed-function devices, gate arrays, or programmable logic devices.
[0223] While specific terms are used in this specification, they are used for general and illustrative purposes only, and not to limit their meaning.
[0224] The features described above can be used in combinations other than those explicitly stated.
[0225] While we have described functions by referring to specific features, those functions may be executable by other features, whether or not they have been described.
[0226] While some features are described with reference to several examples, those features may also be present in other examples, whether described or not. Therefore, features described in relation to one example / aspect of this disclosure may include any or all of features described in relation to another example / aspect of this disclosure, and vice versa, provided they are not contradictory.
[0227] Although various embodiments of the present disclosure have been described in the previous paragraphs, it should be understood that modifications can be made to a given embodiment without departing from the scope of the invention as recited in the claims.
[0228] The term "comprise" is used herein in an inclusive sense rather than an exclusive sense. That is, a reference to X that comprises Y indicates that X can include only one Y or can include two or more Ys. Where it is intended to use "comprise" in an exclusive sense, it is made clear in the context by using "comprising only one..." or "consisting of".
[0229] As used herein, the terms "determine / determining" (and its grammatical variations) can include, among other things, calculating, computing, processing, deriving, measuring, investigating, identifying, searching (e.g., searching in a table, database, or other data structure), verifying, etc. Also, "determining" can include receiving (e.g., receiving information), retrieving / accessing (e.g., retrieving / accessing data in a memory), obtaining, etc. Also, "determining / determined" can include solving, selecting, choosing, establishing, inferring, etc.
[0230] As used herein, an explanation of an operation should be considered to disclose enabling and / or causing and / or controlling that operation. For example, an explanation of transmitting information should be considered to disclose enabling and / or causing and / or controlling the transmission of information. Similarly, for example, a description of a device for transmitting information should be considered to disclose at least one means or controller of a device that enables and / or causes and / or controls the transmission of information.
[0231] When used herein and in the claims, the term “means” may refer to one or more individual elements configured to perform the corresponding enumerated one or more functions, or to several elements that perform such one or more functions. Furthermore, some of the functions described in the claims may be performed by the same individual means or a combination of the same means. For example, the performance of such one or more functions may be brought about in the device by a processor that executes instructions stored in the device’s memory.
[0232] References to parameters or attributes, or to the values of parameters or attributes, should be understood to refer to "data that indicates," "data that defines," or "data that represents" the relevant parameter / parameter value, unless explicitly stated otherwise (unless the context requires otherwise). The data may be any way of indicating the relevant parameter / attribute and / or its value, and may indicate it directly or indirectly.
[0233] This explanation has referred to various examples. Descriptions of features or functions associated with an example indicate that those features or functions are present in that example. The use of the terms “example,” “for example,” “can,” or “may,” whether explicitly stated or not, indicates in the text that such features or functions are present in at least the example given, whether they are given as an example, and whether they may, but not necessarily, be present in some or all other examples. Thus, “example,” “for example,” “can,” or “may” refers to a specific instance in the example class. The properties of an instance can be properties of that instance only, properties of the class, or properties of a subclass of the class that includes some, but not all, instances within that class.
[0234] In this specification, references to “a / an / the” [features, elements, components, means, etc.] are used in an inclusive, not exclusive, sense and should be interpreted as “at least one” [features, elements, components, means, etc.] unless otherwise explicitly stated. That is, any reference to X containing Y indicates that X may contain only one Y or two or more Ys, unless the context clearly indicates otherwise. When “a” or “the” is intended to be used in an exclusive sense, it will be made clear in the context. In some situations, the use of “at least one” or “one or more” may be used to emphasize an inclusive sense, but the absence of these terms should not be interpreted as inferring any exclusive sense. Where used herein, “at least one of the following: <list of two or more elements>” and “at least one of <list of two or more elements>,” as well as similar expressions where lists of two or more elements are joined by “and” or “or,” mean at least one of the elements, at least two or more of the elements, or at least all of the elements.
[0235] The presence of a feature (or combination of features) in a claim is a reference to the feature (or combination of features) itself, and also a reference to a feature that achieves substantially the same technical effect (an equivalent feature). An equivalent feature includes, for example, a variation of a feature that achieves substantially the same result in substantially the same way. An equivalent feature includes, for example, a feature that performs substantially the same function in substantially the same way to achieve substantially the same result.
[0236] In this description, adjectives or adjective phrases were used to refer to various examples in order to describe their characteristics. Such descriptions of characteristics related to the examples indicate that the characteristics are present exactly as described in some examples and substantially as described in others.
[0237] In the above description, the devices described may, alternatively or additionally, include, in some other examples, devices that include a distributed system of devices, such as a client / server device system. In examples where the provided devices form a distributed system (or the method is implemented as a distributed system), each device that forms a component and / or part of the system provides (or implements) one or more features (functions) that collectively implement the examples of the disclosure. In some examples, a device may be reconfigured by an entity other than its original manufacturer to implement the examples of the disclosure, for example, by a user downloading additional software that, when executed, causes the device to implement the examples of the disclosure (such implementations may be run entirely by the device or run as part of a system of the device described above).
[0238] While the above description illustrates some examples of the present disclosure, those skilled in the art will be aware of possible alternative structural and method features that provide equivalent functionality to the specific examples of such structures and features described above, and which have been omitted from the above description for the sake of brevity and clarity. Nevertheless, the above description should be read as implicitly including references to such alternative structural or method features that provide equivalent functionality, unless such alternative structural or method features are expressly excluded in the above description of the embodiments of the present disclosure.
[0239] While efforts have been made in the foregoing specification to draw attention to features of the embodiments of this disclosure that are considered particularly important, please understand that the applicant claims protection for any patentable features or combinations of features described herein and / or shown in the drawings, whether or not specific emphasis is made.
[0240] The examples and claims of this disclosure can be appropriately combined in any way that is apparent to those skilled in the art. Individual references to “examples,” “in some examples,” and / or similar terms in this description do not necessarily refer to the same examples and are not mutually exclusive except as is readily apparent to those skilled in the art unless otherwise stated. For example, features, structures, processes, blocks, steps, actions, etc., described in one example may, but may not, be included in other examples.
[0241] Each claim is incorporated herein as a further disclosure, and each claim is an embodiment of the present disclosure. Furthermore, although the claims herein are provided as including certain dependencies, any claim may be dependent on any other claim, and any such alternative embodiment and their equivalents are also within the scope of the present disclosure to the extent that any alternative embodiment may result from combining, integrating, and / or omitting features of various claims, and / or altering the dependencies of the claims.
Claims
1. A computer implementation method for generating sectioned map data, wherein the method comprises an apparatus, The acquisition of map data for a digital map, wherein the map data is Segment data representing one or more segments of one or more linear map features of the digital map, Segment attribute data, One or more attributes associated with each segment, wherein the one or more attributes are selected from a first set of attributes, The at least one position of each attribute within each segment, wherein the at least one position of each attribute within each segment is defined via a linear reference to the at least one position, The segment attribute data that indicates the above, and includes, The method involves obtaining sectioning configuration data for structuring the map data, wherein the sectioning configuration data includes an indication of a second set of attributes, the second set of attributes being a subset of the first set of attributes, and the sectioning configuration data enables the sectioning of the map data to be performed at least partially based on the second set of attributes. The process involves generating sectioned map data, wherein the generation of the sectioned map data includes sectioning the map data according to the sectioning configuration data. A method that includes performing [something].
2. The position of at least one attribute within each of those segments is, Indication of the location along each of the segments in which the aforementioned attributes are located, An indication of the position along each of the segments to which the aforementioned attributes begin to be applied, Indications for the positions along each of the segments where the aforementioned attributes no longer apply, Indication of the position along each of the segments in which the aforementioned attributes change, The indications of each of the segments to which the aforementioned attributes apply, The method according to claim 1, comprising at least one of the following.
3. The method according to claim 1 or 2, wherein each attribute in the second set of attributes is associated with an attribute category, and sectioning the map data according to the sectioning configuration data includes sectioning at least one segment of the map data to generate two or more segments of the sectioned map data, and each of the two or more segments of the sectioned map data is associated with a single attribute for each attribute category over its length.
4. Sectioning the map data according to the aforementioned sectioning configuration data is, Determining at least one segment associated with at least one attribute of the second set of attributes, Determining the position of at least one attribute of the second set of attributes within the determined at least one segment, The at least one segment determined above, The at least one position determined above, The method according to any one of claims 1 to 3, comprising sectioning the map data based at least in part on a given.
5. Each segment is defined within the segment data of the map data by an arc between two nodes, and sectioning the map data is, The method involves dividing at least one arc of the determined at least one segment to form at least two divided arcs at at least one division point, wherein the at least one position of the at least one division point is at least partially based on the determined at least one position. The method involves inserting at least one node between two nodes of the determined at least one segment at at least one insertion point, wherein the at least one position of the at least one insertion point is at least partially based on the determined at least one position. Includes at least one of the following: Optional, Assigning at least one of the attributes of the second set of attributes to at least one of the divided arcs, Assigning each of the at least one attribute of the second set of attributes to the at least one inserted node, The method according to claim 3 or 4, further comprising at least one of the following.
6. Determining whether the position of at least one attribute in the second set of attributes is within a threshold separation distance of the position of at least one other attribute in the second set of attributes, Performing a normalization procedure based at least in part on the aforementioned decision, The method according to any one of claims 1 to 5, further comprising:
7. The aforementioned normalization procedure is: To generate adjusted positions for the positions of at least one of the aforementioned attributes and at least one other attribute, Assigning an adjusted position to at least one of the aforementioned attributes and at least one other attribute, Assigning an adjusted position to the at least one attribute that corresponds to the position of the at least one other attribute, Assigning an adjusted position to each of the at least one attribute and the at least one other attribute, wherein the adjusted position is at least partially based on the position of the at least one attribute and the position of the at least one other attribute, Includes at least one of the following: Optional, Sectioning the aforementioned map data is based at least partially on the adjusted locations, The segments of the map data are divided at division points, and the positions of the division points are at least partially based on the adjusted positions. At the insertion point, a node is inserted between two nodes of the map data segment, and the position of the insertion point is at least partially based on the adjusted position. The method according to claim 6, further comprising at least one of the following.
8. Determining a third set of attributes based at least partially on the map data and the sectioned configuration data, wherein the attributes of the third set of attributes are: Located within the aforementioned first set of attributes, It is not in the aforementioned second set of attributes, To generate segment attribute data for the sectioned map data, wherein the segment attribute data for the sectioned map data is The attributes of the third set of attributes associated with one or more segments of the sectioned map data, The sectioned map data indicates the location of at least one attribute of the third set of attributes within each segment, wherein the location of each attribute within each segment is defined via a linear reference. It further includes, The method according to any one of claims 1 to 7, further optionally comprising determining the at least one location of each attribute in each segment of the sectioned map data based at least partially on the at least one location of each attribute of the third set of attributes of the segment data of the map data.
9. The segment attribute data of the map data represents at least one variable value of at least one attribute, the value of which changes at least partially based on the position within the relevant segment of the segment data of the map data, and the method is The method of claim 8, further comprising determining at least one adjusted variable value of the at least one attribute based at least partially on the location within the relevant segment of the sectioned map data.
10. The aforementioned map data of the digital map is One of the one or more segments of the aforementioned segment data, At least one other segment of the segment data, The sectioned map data further includes segment relationship data showing at least one relationship between, One of the one or more segments of the sectioned map data, The segment relationship data includes at least one relationship between at least one other segment of the sectioned map data, The method according to any one of claims 1 to 9, wherein the segment relation data of the sectioned map data is at least partially based on the segment relation data of the map data.
11. At least one segment of the map data has at least one relationship with at least one other segment of the map data, and sectioning the map data includes dividing the at least one segment into a set of two or more segmented segments, and the method is Assigning the at least one relationship to a first subset of the set of divided segments, Assigning a null relation to a second subset of the set of the partitioned segments, wherein the second subset is different from the first subset. Determining a relationship to assign to at least one segment of the set of segmented segments, based at least in part on the at least one relationship and the conditions associated with the at least one relationship, It further includes at least one of the following, and / or The method according to any one of claims 1 to 10, wherein the map data of a digital map further includes segment identification data indicating an identifier for each of the one or more segments of the segment data, the sectioned map data includes segment identification data indicating an identifier for each of the one or more segments of the sectioned map data, and the segment identification data of the sectioned map data is at least partially based on the segment identification data of the map data.
12. Each segment and / or node of the map data has an identifier, and the method is In the sectioned map data, for each segment of the divided map data, an identifier is generated and assigned to each divided segment. For each segment of the sectioned map data that has not been divided, the same identifier used in the map data shall be used, For each node of the sectioned map data corresponding to a node in the map data, the same identifier used in the map data shall be used. For each node of the sectioned map data inserted between two nodes of the aforementioned map data, an identifier is generated and assigned to each inserted node. The method according to any one of claims 1 to 11, further comprising at least one of the following.
13. Sectioning the map data includes dividing a first segment of the map data into two or more sub-segments, wherein the first segment of the map data has a first identifier, and a second identifier for each sub-segment is generated at least in part based on the first identifier. Optional, The above-mentioned first identifier and, The identifier for each segment, The method according to any one of claims 1 to 12, further comprising generating a mapping between them.
14. An apparatus comprising means for carrying out the method described in any one of claims 1 to 13.
15. A computer program, when executed by a computer, includes instructions that cause the computer to perform the method according to any one of claims 1 to 13.