Method, apparatus and computer program for generating map data

By selectively configurable segmentation, customized segmented map data is generated based on linear reference attributes, solving the compatibility problem between linear reference maps and segmented map systems, and realizing efficient and flexible map data processing and updating.

CN121901347APending Publication Date: 2026-04-21TOMTOM GLOBAL CONTENT
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
TOMTOM GLOBAL CONTENT
Filing Date
2025-10-16
Publication Date
2026-04-21

Smart Images

  • Figure CN121901347A_ABST
    Figure CN121901347A_ABST
Patent Text Reader

Abstract

Certain examples provide a computer-implemented method (100) of generating segmented map data (401), the method comprising performing, by a device (10), obtaining (21) map data of a digital map (201), where the map data comprises: segment data (202) indicative of one or more segments (203) of one or more linear map features (204) of the digital map; and segment attribute data (205) indicating: one or more attributes (206) associated with each segment, where the one or more attributes are selected from a first set of attributes (207); and at least one location (208) of each attribute within its respective section, where the at least one location of each attribute within its respective section is defined via a linear reference, and; segmentation configuration data (301) for configuring segments of map data is obtained (22).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Examples of this disclosure relate to map data; specifically, to a method, apparatus, and computer program for generating map data (i.e., sectioned map data). Some examples (without affecting the foregoing) relate to selectively configurable segmentation of map data based on linear reference properties, thereby generating customizable sectioned map data. Background Technology

[0002] In digital maps, map features (such as linear map features, for example, especially segments of roads or road networks) can be represented by a graph (e.g., a directed graph) that includes nodes and arcs (also called edges, lines, or paths).

[0003] Digital maps can include map data as a data layer grid. The physical geometry and topology of a road network can be represented by the main layer of the digital map. For example, in the main layer, a road segment (i.e., a section of road between two intersections) can be represented / defined by two nodes and the arc between them. The main layer can serve as the base layer for other layers / map data in the digital map. For example, the main layer can act as a reference layer, which is available to downstream producers of map content / higher-level map data that can be stored above the main layer (e.g., VAD producers for the value-added data (VAD) layer of the digital map). Higher layers can include attributes and their association with specific map features (which are themselves defined / represented in the reference / base layer). The reference / base layer is immutable for producers of higher-level map data / map content to ensure its stability.

[0004] Map features (especially road segments) may have several associated attributes. For example, a road segment may have one or more of the following attributes, particularly: road surface type, speed limit, other speed information, number of lanes, presence of road barriers on the road segment, presence of bridges on the road segment, presence of tunnels, traffic 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 numbers, toll information, road name, route category and / or other route information. Data representing map feature attributes can be generated, provided, and stored as a (higher) layer of the digital map, or it can be provided separately from the underlying reference / base layer (especially, for example, in map attribute updates).

[0005] There are generally two ways to store attributes in a map. The first is to use a so-called "segmented" map, where arcs are chosen such that the values ​​of all attributes are constant along the length of the arc. This means that any change in an attribute will be accompanied by a change in the arc. Alternatively, a so-called "linear reference" has been proposed, where attributes are associated not only with an arc but also with a location on that arc, represented by a distance (or multiple distances) from the start of the arc. While the linear reference method has several advantages, it has not been widely adopted because most systems are built to interface with segmented maps.

[0006] The various examples disclosed herein attempt to address this problem.

[0007] It is useful to provide an improved method, apparatus, and computer program for generating map data. In some cases, it may be desirable to improve the generation of map data. In some cases, it may be desirable to generate segmented map data, where the segmentation is based on linear reference properties. In some cases, it may be desirable to generate customizable segmented map data via selectively configurable segmentation.

[0008] The enumeration or discussion of any previously disclosed literature or background in this specification shall not be construed as an admission that such literature or background is part of the prior art or common general knowledge. One or more aspects / examples of this disclosure may or may not solve one or more of the problems in the background. Summary of the Invention

[0009] The scope of protection of the various embodiments of the present invention is defined by the claims.

[0010] Based on various (but not necessarily all) examples of this disclosure, examples as claimed in the appended claims are provided. Any examples and features described in this specification that do not fall within the scope of the independent claims should be interpreted as examples that help to understand the various embodiments of the invention.

[0011] Based on various (but not necessarily all) examples of this disclosure, a method is provided that includes: Obtain the map data for the digital map, which includes: Segment data, segment data indicating one or more segments of one or more linear map features of a digital map, and Section attribute data, section attribute data indicator: One or more attributes are associated with each section, wherein one or more attributes are selected from a first set of attributes, and Each attribute has at least one position within its corresponding segment, wherein each attribute has at least one position within its corresponding segment defined by a linear reference, and; Obtain segmentation configuration data for configuring segmentation of map data, wherein the segmentation configuration data includes indications of a second set of attributes, wherein the second set of attributes is a subset of a first set of attributes, and wherein the segmentation configuration data enables segmentation of the map data to be performed at least partially based on the second set of attributes; and Generate segmented map data, which includes segmenting the map data according to segmentation configuration data.

[0012] According to at least some examples of this disclosure, an apparatus is provided that includes tools for performing the methods described above.

[0013] Based on various (but not all) examples of this disclosure, a module, chipset, circuit, device, data processing apparatus, and / or system including tools for performing the methods described above is provided.

[0014] Based on various (but not all) examples of this disclosure, a computer program including instructions is provided that, when executed by a device, causes the device to perform the methods described above.

[0015] Based on various (but not all) examples of this disclosure, a device is provided, the device comprising: At least one processor; and At least one memory stores instructions that, when executed by at least one processor, cause the device to perform at least the methods described above.

[0016] According to various (but not all) examples of this disclosure, a non-transitory computer-readable medium encoded with instructions is provided that, when executed by at least one processor, causes the execution of the methods described above.

[0017] The following sections of this “Summary of the Invention” describe various features that may be appropriately modified as features of any example described in the preceding sections of this “Summary of the Invention”. The description of the function should also be considered as disclosing any tool suitable for performing the function, or any instructions stored in at least one memory that, when executed by at least one processor, cause the device to perform the function.

[0018] In some (but not all) examples, digital maps include at least one of the following: Basic digital map; Refer to digital maps; Unalterable digital maps; Unsegmented digital map; or The digital map has already gone through the first phase of the segmented process.

[0019] In some (but not all) examples, the segment data includes a representation of at least one of the following: 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 navigable element network; and The main layer of the digital map.

[0020] In some (but not all) examples, segment data includes representations of one or more segments of one or more linear map features of a digital map, wherein the representation is defined via multiple nodes and arcs.

[0021] In some (but not all) examples, one or more linear map features include at least one of the following: One or more navigable elements; One or more roads; and One or more boundary lines of one or more geographical regions.

[0022] In some (but not all) examples, each attribute includes at least one of the following in at least one location within its corresponding section: An indication of the location of the attribute on the corresponding section; An indication of the position where the attribute begins to apply on the corresponding section; An indication of the position where the attribute stops applying on the corresponding section; Indicator of the location where the attribute changes on the corresponding section; and An indication of the part to which the attribute applies in the corresponding section.

[0023] In some (but not all) examples, each attribute in the second set of attributes is associated with an attribute category, and wherein segmenting the map data according to the segmentation configuration data includes segmenting at least one segment of the map data to generate two or more segments of segmented map data, wherein each of the two or more segments of the segmented map data is associated with a single attribute of each attribute category in length.

[0024] In some (but not all) examples, segmenting map data based on segmentation configuration data includes: Identify at least one segment that is associated with at least one attribute in the second group of attributes; Determine at least one location of at least one attribute from the second set of attributes within at least one determined segment; and The map data is segmented based on at least the following: At least one segment that has been identified, and At least one location has been determined.

[0025] In some (but not all) examples, each segment in the segment data of the map data is defined by an arc between two nodes, and segmenting the map data includes at least one of the following: Divide at least one arc segment of at least one defined segment at at least one dividing point to form at least two divided arc segments, wherein at least one position of at least one dividing point is at least partially based on at least one defined position; and At at least one insertion point, at least one node is inserted between two nodes of the determined at least one segment, wherein at least one position of the at least one insertion point is at least partially based on the determined at least one position.

[0026] In some (but not all) examples, the method further includes at least one of the following: Assign at least one of the corresponding attributes from the second set of attributes to at least one of the segmented arcs; Assign at least one of the corresponding attributes from the second set of attributes to at least one insertion node.

[0027] In some (but not all) examples, the method further includes: Determine whether the position of at least one attribute in the second set of attributes is within a threshold interval distance of the position of at least one other attribute in the second set of attributes; and Standardized processes are executed based at least in part on this determination.

[0028] In some (but not all) examples, the standardized process includes at least one of the following: Generate the adjusted position of at least one attribute and one or more of the other attributes; The adjusted position is assigned to one or more of at least one attribute and at least one other attribute; Assign an adjusted position to at least one attribute corresponding to the position of at least one other attribute; and An adjusted position is assigned to each of at least one attribute and at least one other attribute, wherein the adjusted position is based at least in part on the position of at least one attribute and the position of at least one other attribute.

[0029] In some (but not all) examples, at least one of the following: The map data is segmented at least in part based on the adjusted locations; Segment the map data at the segmentation points, wherein the location of the segmentation points is at least partially based on the adjusted location; and Insert a node at an insertion point between two nodes in a segment of map data, wherein the position of the insertion point is at least partially based on the adjusted position.

[0030] In some (but not all) examples, the method further includes: The third set of attributes is determined at least in part based on map data and segmented configuration data, wherein the attributes in the third set of attributes are: In the first set of attributes, and Not in the second group of attributes; and Generate segment attribute data for segmented map data, where the segment attribute data for segmented map data includes: The attributes in the third set of attributes are associated with one or more segments of the segmented map data, and Each attribute in the third set of attributes has at least one location within its corresponding segment of the segmented map data, wherein at least one location of each attribute within its corresponding segment is defined via a linear reference.

[0031] In some (but not all) examples, the method further includes: The location of each attribute in the segmented map data is determined based at least in part on the location of each attribute in the third set of attributes within the corresponding segment of the segmented map data.

[0032] In some (but not all) examples, the segment attribute data of the map data indicates at least one variable value for at least one attribute, the value of which varies at least in part based on its position within the relevant segment of the segment data of the map data, and wherein the method further includes: At least one adjusted variable value of at least one attribute is determined based at least in part on the location of at least one attribute within a relevant segment of segmented map data.

[0033] In some (but not all) examples: The map data of a digital map further includes segment relationship data indicating at least one of the following relationships: One segment of one or more segments of segment data, and At least one other segment in the segment data; Segmented map data includes segment relationship data indicating at least one of the following relationships: One segment of one or more segments of segmented map data, and At least one other segment of segmented map data; and The segment relationship data of segmented map data is at least partially based on the segment relationship data of the map data.

[0034] In some (but not all) examples, at least one segment of map data has at least one relationship with at least one other segment of map data, wherein segmenting the map data includes dividing at least one segment into a group of two or more segmented segments, and wherein the method further includes at least one of the following: Assign at least one relation to the first subset of the segment group; Assign the zero relation to the second subset of the segment group, wherein the second subset is different from the first subset; and The relationship assigned to at least one segment in the segment group is determined based at least in part on at least one relationship and conditions associated with at least one relationship.

[0035] In some (but not all) examples, the map data of the digital map further includes segment identification data indicating each of one or more segments of the segment data, and wherein the segmented map data includes segment identification data indicating each of one or more segments of the segmented map data, and wherein the segment identification data of the segmented map data is at least partially based on the segment identification data of the map data.

[0036] In some (but not all) examples, each segment and / or each node of the map data has an identifier, and wherein the method further includes at least one of the following: For each segment of the map data that is divided in the segmented map data, generate and assign an identifier to each segment. For each undivided segment of segmented map data, use the same identifier as used in the map data. For each node in the segmented map data corresponding to a node in the map data, use the same identifier as used in the map data; and For each node in segmented map data that is inserted between two nodes in the map data, an identifier is generated and assigned to each inserted node.

[0037] In some (but not all) examples, the method further includes: Segmenting map data includes dividing a first segment of the map data into two or more segmented segments, wherein the first segment of the map data has a first identifier, and wherein a second identifier for each segment is generated at least in part based on the first identifier.

[0038] In some (but not all) examples, the method further includes generating a mapping between the following two: First identifier; and Identifier for each segment.

[0039] Although the examples and optional features described above in this disclosure are described separately, it should be understood that they are included within this disclosure in all possible combinations and permutations. 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. Furthermore, it should be understood that any one or more features, or all features, in any combination, may be implemented / included in / performed by the device, method, and / or computer program instructions as needed and in an appropriate manner. Attached Figure Description

[0040] Some examples will now be described with reference to the accompanying drawings, in which: Figure 1 An example of map data representing a road segment and the attributes associated with that road segment is shown schematically; Figure 2 An example of a method for generating segmented map data is illustrated schematically; Figure 3 An example of segment attribute data is shown schematically; Figure 4 The illustration shows the basis based on Figure 1 An example of segmented map data obtained by segmenting map data; Figure 5 Further examples of map data representing road segments and attributes associated with those road segments are illustrated schematically; Figure 6 The illustration shows the basis based on Figure 5 An example of segmented map data obtained by segmenting map data; Figures 7 to 9 This schematically illustrates segmenting map data based on multiple attributes; Figure 10 Another example of map data is illustrated schematically; Figure 11 The illustration shows the representation. Figure 10An example of segmented map data of road segments and attributes associated with each section of that road segment; Figure 12 , Figure 13A and Figure 13B The process of standardizing linear reference properties is illustrated schematically; Figure 14 The diagram illustrates map data and segmented map data. Figure 15 A further example of segmenting map data is illustrated schematically; Figure 16 An example of the device is shown schematically; and Figure 17 An example of a computer program is shown schematically.

[0041] The accompanying drawings are not necessarily drawn to scale. For clarity and simplicity, some features and views in the drawings may be shown schematically or enlarged to scale. For example, the dimensions of some elements in the drawings may be enlarged relative to other elements for easier interpretation. Similar reference numerals are used in the drawings to indicate similar features. For clarity, not all reference numerals are necessarily shown in all drawings.

[0042] In the accompanying drawings (and description), similar features can be referred to using the same three-digit number. In the accompanying drawings (and description), optional three-digit subscripts can be used to distinguish different instances of similar features. Therefore, 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 to identify different instances. A subscript can include two digits, where the first digit identifies a group of instances and the second digit identifies different instances within that group. Detailed Implementation

[0043] Typically, traditional digital maps are segmented maps, meaning they are segmented from the outset (i.e., segmented digital maps are segmented from the beginning / from the start). This type of segmented map is commonly used across the entire industry.

[0044] In a segmented map, the representation of a road (e.g., a road segment between two intersections) is based from the outset on the segmentation / division / segmentation of all the multiple attributes associated with the road into arcs (via inserting a new node between the two nodes defining the arc). In this respect, the road is segmented into multiple arcs from the beginning, such that for each arc, each value of each of the multiple attributes is constant along the length of the arc. Thus, an attribute can be associated with the entire length of the arc. In a segmented map, attribute values ​​cannot change midway along an arc. Therefore, each time an attribute changes, a new arc needs to be created in the segmented 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 that road segment in the segmented map changes midway along the arc length. To update the segmented map, this change in the arc's attribute will require dividing the (“parent”) arc into segmented (“child”) arcs by introducing a new node between the two nodes defining the parent arc. In this regard, further segmentation is carried out on the (already) segmented map. Then, the new attribute / speed limit needs to be assigned / associated to one of the new sub-arcs (at the same time, all other attributes originally associated with the parent arc also need to be assigned / associated to this sub-arc).

[0045] Furthermore, since each arc segment has its own unique ID, every time an arc is segmented / split based on attribute changes, the arc's ID is removed from the segmented map, and a new segmented arc is added, each with its own new unique ID. This constant ID change during segmented map updates can render the updated map unreliable and may also impose additional workload on developers and map content creators to handle such constant changes.

[0046] Furthermore, segmented maps result in numerous small arcs and excessive data, which can negatively impact the performance of products or services built upon or using these maps—especially routing algorithms, whose performance may degrade due to the need to calculate significant data variations between arcs to establish the shortest, fastest, or most economical routes. These problems are likely to become increasingly pronounced as segmented maps become more complex and acquire more attributes.

[0047] As an alternative to segmented maps (i.e., maps segmented from the beginning), linear reference maps have been proposed. In linear reference maps, road segments are not divided based on attribute changes, but rather based on the distance of the attribute along the road segment (or more precisely, the distance along the arc representing the road segment). For example, if a new speed limit for a road segment is to be introduced midway along that segment, in a linear reference map, instead of splitting the arc, creating two new split arcs / sub-arcs, and creating two new IDs for them, a new linear reference attribute can be provided that defines the attribute and the distance along the arc where the speed limit changes. Advantageously, this can significantly reduce the number of arcs and arc IDs required. This can help make linear reference maps more stable, consistent, and scalable than traditional segmented maps, and also easier for developers and map content creators to use and update.

[0048] However, despite the numerous advantages that linear reference methods may offer over traditional segmented maps, linear reference has not yet been widely adopted. This is partly because the systems owned by map users, map developers, and content creators may be built on or based on segmented maps (e.g., they may require segmented maps as input—such as their own pre-existing segmented digital maps)—and linear reference maps may be incompatible with them or may not be easily interfaced / integrated with them.

[0049] Now let's briefly discuss linear reference digital maps.

[0050] Figure 1 An example of map data 201 of a linear reference digital map is illustrated, along with a schematic diagram of a road segment 204 represented by the map data and the attributes 206 of that road segment (e.g., road surface type, speed limit, and number of lanes).

[0051] Digital maps comprise map data representing segments of navigable elements within a network of navigable elements in a geographic region. Digital maps represent segments of navigable elements via graphs that include arcs and nodes. In this respect, each segment of a navigable element is defined by an arc (also referred to as a path, edge, link, or line) between two nodes.

[0052] Digital maps may include one or more of the following: Basic digital map; Refer to digital maps; Immutable digital maps (i.e., digital map users and producers of higher-level map data are not allowed to make changes); Unsegmented / unfragmented digital maps; or The digital map has already gone through the first phase of the segmented process.

[0053] Map data 201 includes segment data 202, which indicates one or more segments 203 of one or more linear map features 204 of the digital map.

[0054] exist Figure 1 In this simplified illustrative example, map data 201 represents only a single segment 203 of road 204 (i.e., a segment of road between two intersections or decision points). However, it should be understood that in other examples, map data may represent multiple road segments of multiple roads. Figure 1 In the linear reference digital map, an initial division has been applied, which divides a part of the road into road segments based on the location of two intersections that define the road segments.

[0055] In the following description, 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 or primarily composed of lines (not necessarily straight lines, but also curves), especially, for example: other types of navigable elements in a network of navigable elements (e.g., sidewalks, hiking trails, bike paths, canals, traction roads, rivers, railway lines, etc.), boundary lines, or lines that delineate areas / zones / geographic regions.

[0056] Section data 202 can represent at least one of the following: The physical geometry of the road section The physical topology of the road section, and The main layer of the digital map, This main layer can be represented by a diagram. In this respect, road segment data can be represented / defined by a 50 m (or 5,000 cm) long segment via a first node 209_11, a second node 209_12, and an arc 210_1 (representing a length of 50 m) between the first and second nodes.

[0057] Map data 201 also includes segment attribute data 205 (e.g., a VAD layer or attribute layer for a digital map), which indicates the following: The first set of 207 attributes 206 associated with road sections, and Each attribute is located at position 208 within this road segment.

[0058] The location of an attribute within its corresponding road segment may include at least one of the following: An indication of the location (i.e., point location) of an attribute on a road segment; An indication of the location where the attribute begins to apply on the road segment; Indicator of the location where the attribute stops applying on the road section; Indication of the location where attributes change on a road segment; and An indication of the portion of the road segment to which the attribute applies (e.g., the length / range of the extension).

[0059] exist Figure 1 In the example, the road segment is associated with three attribute types / categories: road surface 206_1, speed limit 206_2, and number of lanes 206_3. Each attribute type / category has its own set of attributes, for example: Road surface 206_1: Concrete 206_11 or Asphalt 206_12 Speed ​​limit 206_2: 50 km / h 206_21 or 40 km / h 206_22 Lane number 206_3: 4 lanes 206_31 or 3 lanes 206_32 exist Figure 1 In the example, section attribute data 205 provides indications of the following locations for each attribute: Road surface: Concrete up to location 208_11 (15 m), the rest of the road section thereafter is asphalt; Speed ​​limit: 50 km / hr before position 208_21 (36 m), and 40 km / hr thereafter; Number of lanes: 4 lanes before location 208_31 (43 m), and 3 lanes after location 208_31.

[0060] Now let's go further and discuss segmented digital maps—such as the segmented digital maps that are commonly used in the industry, which are traditional digital maps that have been segmented from the beginning (in this respect, segmented digital maps have been segmented from the beginning / from the start).

[0061] In segmented maps, linear map features (such as road segments) may be divided into two or more segments. This can be achieved by segmenting the arc representing / defining the linear map feature by inserting one or more additional nodes between the two nodes defining the arc. The location of each segmentation point / node insertion point can be based on the location associated with each attribute related to the linear map feature.

[0062] For example, a road segment (defined by a first node, a second node, and the arcs between them) might be associated with a first attribute (i.e., a speed limit of 50 km / h) in the first part of the road segment and with a second attribute (i.e., a speed limit of 80 km / h) in the second part of the road segment. In a segmented map, the road segment is divided into two sections, i.e., two sub-arcs, by inserting new nodes between the first and second nodes, in the middle of the arc. Then, the first attribute can be uniquely associated / labeled or assigned to the first section / sub-arc, i.e., the entire sub-arc [refer to, the first attribute is only associated with a part of the arc]. Similarly, the second attribute is uniquely associated / labeled or assigned to the second section / sub-arc [refer to, the second attribute is only associated with a part of the arc]. In this way, the location and extent / length of an attribute are actually defined by the location and extent / length of the section / sub-arc to which the attribute is associated / labeled or assigned (in fact, the location information of the attribute is encoded in the location of its section / sub-arc).

[0063] In a segmented map, it is not that a road segment is only partially associated with the first attribute and only (another) part associated with the second attribute; rather, the first attribute is marked / assigned to the whole / entire first segment / sub-arc of the road segment, and the second attribute is marked / assigned to the whole / entire second segment / sub-arc of the road segment.

[0064] Similarly, when an attribute relates to a point-like attribute rather than an extended attribute (e.g., a specific point / location where the speed limit changes on a road segment, rather than a section / length of the road segment having a first speed limit and another section / length of the road segment having a second speed limit), in a segmented map, a node is inserted at the location of the point-like attribute, and the point-like attribute is linked / labeled / assigned to the inserted node with the point-like attribute. In this way, the location of an attribute is actually defined by the location of the node to which that attribute is uniquely associated / labeled / assigned (in fact, the location information of the attribute is encoded in the location of the node to which it is associated / labeled / assigned).

[0065] Traditionally, in segmented maps, when a linear map feature is associated with multiple attributes, the linear map feature is segmented / fragmented / divided into multiple segments until each attribute can be uniquely associated / labeled / attributed to: an arc representing a road segment or a newly divided sub-arc, or a node representing a road segment or a newly inserted node.

[0066] refer to Figure 1This is an example of unsegmented map data from a linear reference digital map. If this map data were instead provided in the form of traditional segmented digital map data, the road segment would be segmented based on all attributes. In this regard, a new node would be inserted at each of positions 208 between the first and second nodes, such that the road segment is divided into four sections: The first section is from 0 m to 15 m – it is associated with the following properties: concrete, 50 km / hr, 4 lanes; The second section, from 15 m to 36 m, is associated with the following attributes: asphalt, 50 km / hr, and 4 lanes. The third section, from 36 m to 43 m, is associated with the following attributes: asphalt, 40 km / hr, and 4 lanes. The fourth section, from 43 m to 50 m, is associated with the following properties: asphalt, 40 km / hr, and 3 lanes.

[0067] In traditional segmented digital maps, map features are segmented based on all attributes associated with those features.

[0068] Traditional segmented map data is not always optimal. Traditional segmented map data may not provide the flexibility / customizability regarding which attributes will be used as the basis for segmented map data.

[0069] However, in examples of the present invention, selective configurable segmentation is performed based on a specific set of attributes, enabling the generation of customized segmented map data. In this respect, road segments are not segmented based on all attributes of the road segment (which may be numerous); instead, selective segmentation can be performed based on a selected set of attributes of the road segment (i.e., a selected subset of all possible / available attributes). The selected set of attributes can be a subset of all attributes, or in some examples, the selected set of attributes can correspond to all attributes being selected.

[0070] Advantageously, users of map data can choose which attributes they wish to segment the map data based on; that is, they can choose a segmentation strategy that suits their preferences. For example, this allows for segmentation in the same or similar manner as the segmentation used in pre-existing digital maps that the user already uses (e.g., digital maps that cover geographical areas that may be different from or adjacent to the geographical areas covered by the map data). This facilitates and reduces the complexity of processing and managing map data, as well as integrating it into pre-existing digital maps (users of map data upgrading their digital maps and integrating segmented map data into their digital maps). Furthermore, users can replace previously used map data with new segmented map data without adapting existing software. Using only a relevant subset of attributes further avoids unnecessary segmentation of the map based on attributes irrelevant to a particular user, thereby minimizing required storage space and / or bandwidth and / or processing requirements. Therefore, the same linear reference map can be used to generate multiple maps segmented in different ways for multiple users with different needs.

[0071] Furthermore, as will be discussed further below, examples of the present invention enable the use of linear reference properties to perform segmentation (as will be discussed further below).

[0072] Figure 2 A method 20 for generating segmented map data (which may be computer-implemented) is illustrated schematically. Figure 2 The method is especially referenced Figure 1 , Figure 3 and Figure 4 To describe it.

[0073] Figure 2 The component box is functional, and the described function can be performed by a single physical entity (e.g., reference). Figure 16 The described functionality can also be implemented by a computer program (e.g., see reference). Figure 17 (as described).

[0074] In box 21, map data 201 of the digital map is obtained. In this regard, data can be obtained from... Figure 1 The map data shown is similar to map data 201, therefore Figure 1 The discussion and details of the map data apply to the acquired map data in box 21. Acquiring map data may include: receiving map data (e.g., from another device, particularly a database or server containing map data), accessing / retrieving map data (e.g., from local or remote storage), or determining map data.

[0075] The map data 201 obtained in box 21 includes segment data 202, which indicates one or more segments 203 of one or more linear map features 204 (e.g., such as...). Figure 1 As shown, the immutable main layer of the digital map, where node 209 and arc 210 represent segments 203 of road 204.

[0076] The map data 201 obtained in box 21 also includes segment attribute data 205 (e.g., higher attributes or VAD layer), which indicates the following: Attributes 206 associated with each segment, wherein one or more attributes are selected from the first set of attributes 207, and Each attribute has at least one position 208 within its corresponding section.

[0077] In the map data 201 obtained in box 21, each attribute is defined in the segment attribute data 205 via a linear reference at at least one location within its corresponding segment. In this respect, the segment attribute data 205 may include a VAD with LR definitions.

[0078] Linear reference (LR) is a technique that defines the location (i.e., point location or length of extension) of an attribute relative to a road segment (defined in segment data of a base / reference digital map) associated with that attribute.

[0079] Using Logistic Representation (LR), map content (i.e., the attributes of road segments) can be linearly described along distances from the road segments (e.g., distances specifically defined in centimeters (cm)). Therefore, 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 can be based on specifying "distance along a line (e.g., representing an arc segment of a road section)". Attribute data with LR can be provided as labels, with the LR keyword appended to the end of the label name to indicate the type of "distance along / offset point" defined for the label value.

[0081] Possible LR keywords that can be used to indicate different linear reference types include:

[0082] Typically, point attributes can be assigned / attached to nodes, while step and linear attributes can be assigned / attached to arcs.

[0083] Similar to selective segmentation using other LR attribute types to generate segmented LR map data, selective segmentation using point attributes results in the insertion of new nodes (if no node already exists at the appropriate offset point / location). However, unlike other LR attribute types (such as step and linear attributes), for point attributes, the attribute value is assigned / applied to the new node itself. Furthermore, although new nodes are inserted into the existing arcs, selective segmentation using point attributes does not necessarily result in the original arcs being split, creating two new arcs and two new IDs for each new arc. In this respect, the original arcs and their IDs can be retained in the resulting segmented LR map data, and no new IDs for any new arcs are created and stored in the segmented LR map data. In fact, point attributes do not necessarily lead to the splitting of arcs (as discussed below and regarding...). Figure 9 (as shown in the image), but in other examples, it may result in the segmentation of arcs.

[0084] For example, regarding Figure 1 The speed limit for the road section shown is 50 km / h from 0 to 36 m, and then 40 km / h. Attribute 206_2 with LR can be represented by the following LR definition:

[0085] in: "maxspeed" is the label name. "step" is a LR keyword. "0" is the first offset point. "50" is the value applied to the road section starting from the first offset point. "36" is the second offset point. "40" is the value applied to the road section starting from the second offset point.

[0086] A specification (such as an "LR-spec") can be provided to define the format and syntax of attributes with LR. For example, an LR-spec can define multiple delimiters that allow the identification of different parts of an attribute with LR. Such delimiters can include: :(colon) ; (semicolon) and #(hashtag) = (equal sign) can be used to indicate the first split.

[0087] In the example above: maxspeed:step = key (key) 0#50;36#40 = LR value 0#50 is an element in the value separated by semicolons (;). 0 represents distance (unit: cm). 50 is the attribute value. Figure 5 , Figure 7 and Figure 8 Further examples of attribute data 205 with LR are shown and discussed.

[0088] In box 22, obtain segmentation configuration data 301. Segmentation configuration data is used to configure the segmentation of map data 201.

[0089] The segmentation configuration data includes indications for a second set of attributes 307, wherein the second set of attributes is a subset of the first set of attributes 207. The segmentation configuration data enables the segmentation of map data to be performed at least in part based on the second set of attributes.

[0090] In some examples, the second set of attributes need not be limited to being a subset of the first set of attributes; rather, the second set of attributes can be, for example, the same as the first set of attributes. Therefore, when 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 segmentation configuration data will enable segmentation of the map data based on all attributes (i.e., segmentation need not be limited to segmentation based on a subset of all attributes).

[0091] Figure 3 An example of segmented configuration data 301 is illustrated schematically. The second set of attributes 307 of the segmented configuration data (consisting of attributes 206_1, 206_11, and 206_12 related to road surface type) is a subset of the first set of attributes 207 (consisting of attributes 206_1, 206_11, and 206_12 related to road surface type; attributes 206_2, 206_21, and 206_22 related to speed; and attributes 206_3, 206_31, and 206_32 related to lane).

[0092] The attributes in the second set of attributes 307 of the segmented configuration data can be selected by the user from the first set of attributes 207, for example. In this way, the user can select the attributes used to control the segmentation (i.e., the segmentation type / format performed on the segmented map data can correspond to the segmentation type / format of the user's pre-existing / current digital map).

[0093] In box 23, segmented map data 401 is generated. The generation of segmented map data 401 includes segmenting map data 201 according to segmentation configuration data 301 and a second set of attributes indicated therein.

[0094] Each attribute in the second set of attributes can be associated with an attribute category (e.g., attributes concrete 206_11 and asphalt 206_12 are both associated with the attribute category pavement 206_1). Segmenting the map data according to the segmentation configuration data can include segmenting the road segment 203 of map data 201 to generate two sub-segments 303_1 and 303_2 of segmented map data, wherein each of these two segments of the segmented map data is associated with a single attribute of that attribute category (i.e., either concrete or asphalt) along its length.

[0095] Figure 4 An example of segmented map data 401 generated by segmenting map data 201 based on segmentation configuration data 301 is illustrated. Here, segmentation configuration data 301 actually indicates that map data 201 will be segmented based on the location of road surface related attributes. In this respect, map data 201 is not segmented based on all possible attribute / attribute category types, but rather based on a subset of selected possible attribute / attribute category types (i.e., road surface related attributes).

[0096] The process of segmenting map data 201 based on segmented configuration data 307 to generate segmented map data 401 may include: Identify the segment 203 associated with attribute 206_11 in the second set of attributes 307 of the segment configuration data 307 (i.e., identify / select segment 203 when attribute data 205 indicates that the segment is associated with attribute concrete 206_11 in the second set of attributes 307 indicated in the segment configuration data 307). Determine the position 208_11 of attribute 206_11 in the second set of attributes indicated in the segment configuration data 307 within the determined segment 203; and Map data 201 is segmented based at least in part on the following: The determined section 203, and The determined location is 208_11.

[0097] Such segmentation may include dividing the arc segment 210_1 between the two nodes 209_11 and 209_12 at the dividing point 308_11 to form two segmented arc segments / sub-arc segments / sections 310_1 and 310_2; wherein the position of the unique dividing point corresponds to the determined position 208_11.

[0098] Such segmentation may alternatively or additionally include inserting node 309_11 at insertion point 308_11 between two nodes 209_11, 209_12 of the determined segment 203; wherein the position of the insertion point is at least partially based on the determined position 208_11.

[0099] This type of segmentation can be called "second-stage segmentation" or "S3". S3 enables selective segmentation and the selective attachment of attributes to nodes and / or paths (i.e., attribute attribution).

[0100] like Figure 4 As shown, the segmented map data 401 includes road segment data 402, wherein 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 segments / sub-arcs 301_1 and 303_2. The location of the new node / segment point corresponds to the location of the road surface-related attributes indicated in the segment attribute data 205, that is, the location where the surface changes from concrete to asphalt. Then, the attribute "concrete" is marked / assigned / assigned to the first segment / sub-arc 301_1, and the attribute "asphalt" is marked / assigned / assigned to the second segment / sub-arc 301_2.

[0101] If the attribute is not an extended attribute applicable to the range / length of a segment, but a point attribute applicable only to a specific location (e.g., if the attribute indicates that the pavement changes from concrete to asphalt), a similar segmentation process can be used, except that instead of labeling / assigning / assigning the attribute to one of the segments / sub-arcs, the attribute is labeled / assigned / assigned to a node.

[0102] In a segmented map, attributes can only be linked to either a path or a node. Point-like attributes (which can be called point-type attributes) can be linked to nodes. Extended-type attributes (which can be called step-type or linear-type attributes) can be linked to arcs.

[0103] Method 20 described above can segment linear reference map data. This segmentation may include creating nodes and optionally splitting paths to enable linking attributes to nodes or arcs (i.e., linking point attributes to nodes and extending class attributes to arcs).

[0104] Figure 5 A further example of map data 201 is illustrated schematically, which includes: The section data 202 represents the road section, and 205. Segment attribute data with LR associated with road segments.

[0105] In segment data 202, road segments are represented by nodes N1 209_1 and N2 209_2 that define arc segments / paths W1 210.

[0106] The LR-labeled section attribute data 205 indicates speed limit-related attributes associated with the road section via the following labels:

[0107] This label indicates: Starting from the first offset point (i.e., from N1 itself) at a distance of 0 m from node N1, the speed limit is 30 km / h; and Starting from the second offset point 500 m away from node N1, the speed limit is 60 km / h. Figure 6 The diagram illustrates the relationship between speed limit-related attributes and... Figure 5 Example 401 of segmented map data formed by segmenting map data.

[0108] In this respect, segmented map data 401 includes segment data 402, in which a new node N3 309_1 is inserted between N1 and N3, thereby dividing arc / path W1 into two segments / sub-arcs W11 301_1 and W12 303_2. The location of the new node / segment point corresponds to the location at 500m indicated in segment attribute data 205. The speed-related attribute "30 km / h" is labeled / attributed / assigned to W11, and the speed-related attribute "60 km / h" is labeled / attributed / assigned to W13.

[0109] The segmentation example discussed above has considered performing the segmentation process based on segmentation configuration data, which indicates only a single attribute / attribute type to be used for segmenting the map data, i.e. Figure 4 Segmentation based on road surface type, and Figure 6 Segmentation is based on speed limits.

[0110] It should be understood that map data segmentation can be based on multiple attributes / attribute types. In this respect, map data segmentation can be based on segmentation configuration data that indicates multiple attributes.

[0111] Figures 7 to 9 The illustration shows a segmentation process based on multiple attributes / attribute types, specifically segmentation based on the following two: Point-type attribute—roadblock (i.e., the presence of roadblocks along a road segment), and Step type attribute - speed limit (i.e., speed limit changes along road sections).

[0112] Figure 7 The map data with segment data is illustrated schematically. The segment data includes multiple arcs / paths (i.e., path 1, path 2, path 3 and path 4) representing the road segment network.

[0113] Figure 7 The diagram also schematically illustrates two different forms / formats of segment attribute data 205_1 used to indicate the point-type attribute associated with path 1 and its location via LR: VAD definition: 120 m – roadblock + 160 m – roadblock The LR tag defines a barrier: spot-120000#yes; 16000#yes (The distances provided in the VAD definition are in meters, while the distances indicated in the LR label definition are in centimeters.) Each type of segment attribute data 205_1 indicates two locations 208_1 and 208_2 of two roadblocks associated with path 1—that is, the roadblock at 120 m along path 1 and another roadblock at 160 m along path 1.

[0114] In the first part of the segmentation process, nodes are proposed / inserted based on the obstacle attribute type—a point-type attribute to be labeled / attributed / assigned to nodes (not arcs). In this regard, new nodes 309_1 and 309_2 are inserted along path 1 at insertion points 308_1 and 308_2 at distances of 120 m and 160 m, respectively. The attribute "Obstacle = Yes" is labeled / attributed / assigned to each of the two new nodes. The newly inserted nodes can be referred to as "point-type" nodes (e.g., in relation to the following about...). Figure 8 The "splitter nodes" discussed are relative, because these nodes are actually only inserted to enable the labeling / attribution / assignment of dot-type attributes to dot-type nodes. Dot-type nodes are not used to split a path into subpaths. In this respect, since the attribute type is a dot-type attribute, path 1 will not be split into new (sub)paths despite the insertion of two new nodes. Therefore, in this first part of the segmentation process based on dot-type attribute, path 1 (with a length of 240 m between its two corresponding points) will not be split into any new paths; that is, in this first part of the segmentation process, path 1 will not be split into: The path between one of the corresponding points and the new node 309_1 is 120 m in length. The path between new node 309_1 and new node 309_2 is 40 m long, and The new node 309_2 has a path of length 80 m between it and the other corresponding nodes. (However, as will be discussed below, in the second part of the segmentation process, segmentation is performed based on the step type attribute, and path 1 is split into a new path).

[0115] Figure 8 schematically illustrated Figure 7 The same data segments. Figure 8 The diagram also schematically illustrates two different forms / formats of segment attribute data 205_2 used to indicate the step type attribute associated with path 1 and its position via LR: VAD definition: 0 m – 30 / 45 – default / 120 m – 50 The tag LR defines maxspeed:step=0#30; 4500#null; 12000:50 Each type of segment attribute data 205_2 indicates the speed limit for path 1 as follows: Along path 1 from 0 m to 45 m, the speed limit is 30 km / hr; Along path 1 from 45 m to 120 m, the speed limit is the default speed limit; and Starting at 120 along Route 1, the speed limit is 50 km / hr.

[0116] As mentioned above, Figure 7 The segment attribute data in the middle is related to the point-type attribute, while Figure 8 The segment attribute data is related to the step type attribute. Therefore, Figure 8 The changes in attributes indicated by the step-type segment attribute data not only lead to the insertion of new nodes, but also to the splitting of paths and the assignment of attribute values ​​to path markers / attributes / assignments (while... Figure 7 The point-type segment attribute data will only result in the insertion of new nodes, without causing any path splitting, nor will it result in the labeling / attribution / assignment of attribute values ​​to new nodes.

[0117] In the second part of the segmentation process, nodes are proposed / inserted at various locations based on the velocity limit attribute type. In this regard, new nodes 309_3 and 309_1 are inserted at insertion points 308_3 and 308_1 at distances of 45 m and 120 m respectively along path 1. The newly inserted nodes can be referred to as "segment" nodes (e.g., in relation to the above regarding...). Figure 7 The "point-like nodes" discussed here are relative, as these nodes are inserted to split a path into multiple subpaths and allow step attribute tagging / attribution / assignment to at least one subpath. After inserting the new (split) node, path 1 is split into 3 new subpaths (e.g., Figure 9(as shown) Path 5 (the length between one of the corresponding points and the new node 309_3 is 45 m). Path 6 (the length between new node 309_3 and new node 309_1 is 75 m), and Path 7 (the length between the new node 309_1 and other corresponding points is 80 m).

[0118] The attribute "30 km / hr" is marked / assigned / assigned to the first new sub-path. The attribute "default speed" is marked / assigned / assigned to the second new sub-path. The attribute "30 km / hr" is marked / assigned / assigned to the third new sub-path.

[0119] Figure 9 This diagram schematically illustrates the segmented map data obtained after organizing newly inserted points and split nodes, as well as newly created subpaths and their corresponding tag / attribute / assignment (multiple) attributes. It's important to note that instead of creating two nodes at 120 m, the nodes at 120 m from each of the first and second parts of the segmentation process are merged into a single node at 120 m. Also note that while nodes 309_3 and 309_1 are split nodes defining the split point (splitting the previous path 1), the point node 309_2 does not define a split point for splitting paths. In segmented maps, attributes can only be linked to either paths or nodes. Therefore, point nodes are inserted so that point attributes can be linked to nodes.

[0120] Figure 10 The illustration shows the relationship with Figure 1 The map data is similar to map data 201. The map data includes: segment data 202 (only one of multiple segments is shown) and segment attribute data 205 (only a subset [three] of the set of multiple types / categories of attributes is shown).

[0121] The map data also includes segment identification data 700, which indicates the identifier 701 (only one of the multiple identifiers is shown) for each road segment (i.e., each arc segment) of the segment data. The segment identification data may also indicate the identifier (not shown) for each node of the segment data.

[0122] Figure 11 An example of segmented map data 401 is illustrated schematically, corresponding to attribute pairs based on subsets of three attribute types / categories (i.e., road surface, speed, and lanes). Figure 10 The map data 201 is segmented.

[0123] The segmented map data 402 represents four newly formed segments 310_1 to 310_4, which are defined by the original nodes of the segmented data 202, the newly inserted nodes, and the arcs between them.

[0124] The segmented map data includes segment identification data 700, which indicates the identifier 701 of each of the segments / sub-arcs, nodes (and road segments) represented in the segment data 402.

[0125] The identifiers for segmented map data can be based on the segment identifiers of the map data.

[0126] For example, the first and last nodes of segmented map data are the same as the first and last nodes of the map data (i.e., they have the same location). Therefore, the identifiers of the first and last nodes of the map data can be reused for the first and last nodes of the segmented map data.

[0127] New identifiers can be provided for newly inserted nodes and newly created arcs in segmented map data.

[0128] In this regard, for each arc / segment of the map data that is divided in the segmented map data, a new identifier is generated and assigned to each segmented arc / segment of the segmented map data. This ensures that "child" segmented arcs / segments do not simply reassign the same identifier as their "parent" arcs / segments. Similarly, for each (new) node of the segmented map data that is inserted between two nodes in the map data, a new identifier is generated and assigned to each inserted node.

[0129] However, for each undivided segment / arc of segmented map data, the segment can use the same identifier as the segment / arc in the map data. Similarly, for each node in the segmented map data that corresponds to a node in the map data (i.e., has the same location), the node in the segmented map data can use the same identifier as the identifier used in the map data. This ensures continuity of the identifiers used to the extent possible (i.e., where the arc or node does not change).

[0130] A new identifier for a new node (interpolated between the original nodes of the map data) can be generated, at least in part, based on one or two identifiers of one or two original nodes of the map data. Similarly, a new identifier for a new segment / sub-segment (formed by dividing the original arc(s) of the map data) can be at least in part based on the original arc(s) or the identifiers of one or more of its nodes.

[0131] New identifiers can be generated using deterministic ID generation methods.

[0132] It can generate a mapping between identifiers for map data and identifiers for segmented map data. It can create a mapping table that provides a history / log of previously used identifiers and the relationship between one identifier and another.

[0133] Segment identifier data for segmented map data may include a history of previous identifiers (e.g., identifiers previously assigned to arcs before they were segmented during the segmentation process).

[0134] The aforementioned segment identification data for segmented map data and the rules / conditions for identifying nodes / arcs in segmented map data can provide ID stability.

[0135] Now let's briefly discuss a standardized process that can be used before / during segmented processes to avoid: Insert nodes that are too close to each other. Creating sub-arcs that are too short, and / or Too many nodes and sub-arcs are created.

[0136] If multiple data producers with LR attributes (on which partitioning can be performed) are unaware of each other, it can lead to excessive and undersized partitions. This can be mitigated by implementing standardization of linear reference information, where distances are reduced to a common partition point.

[0137] The standardization process is performed when the position of one attribute in the second set of attributes (i.e., the position of the attribute on which the segmentation is based) is within a threshold interval distance from the position of another attribute in the second set of attributes.

[0138] Figure 12 The diagram illustrates two segment attribute data sets: attribute label 1 (205_1) with LR and attribute label 2 (205_2) with LR, both associated with the same road segment. Segmentation will be based on these two labels. These two labels are associated with different attributes of different types; for example, label 1 might be associated with concrete pavement, while label 2 might be associated with a speed limit of 30 km / hr.

[0139] The attribute range of tag 1 is from 0 to 100 (defined via positions 208_11 and 208_12 of segment attribute data tag 1 205_1). The attribute range of tag 2 is from 17 to 83 (defined via positions 208_21 and 208_22 of segment attribute data tag 2 205_2).

[0140] exist Figure 12In the example, the threshold interval distance is 10. Since the interval distance between each location is greater than 10, no normalization process is performed at any location; in other words, the normalized distance of each label is the same as the original / initial distance of each label.

[0141] For example, the interval distance 701_1 between 208_11 and 208_21 is greater than the threshold interval distance (i.e., 17>10); similarly, the interval distance 701_2 between 208_12 and 208_22 is greater than the threshold interval distance (i.e., 17>10).

[0142] Figure 13A The diagram illustrates three segment attribute data: attribute label 1 205_1 with LR and attribute label 2 205_2 with LR (e.g. Figure 12 (As shown) and the attribute label 3 205_3 with LR; both are associated with the same road segment. The segmentation process will be formed based on all three values ​​in both labels. Figure 12 Similarly, label 1 can be associated with concrete pavement, and label 2 can be associated with a speed limit of 30 m / hr. Label 3 can be associated with two lanes.

[0143] exist Figure 13A In the example, the threshold interval distance is also 10. However, since the interval distance between some locations is less than 10, a normalization process was performed on these locations.

[0144] The distance between the position of label 2 and the positions of labels 1 and 3 is greater than the threshold distance. Therefore, no normalization needs to be applied to label 2, meaning that the position of label 2 does not need to be normalized / adjusted.

[0145] However, the interval between the positions of label 1 and label 3 is less than the threshold interval distance. Specifically, the interval distance 701_3 is less than the threshold interval distance (i.e., 3 < 10); similarly, the interval distance 701_4 is less than the threshold interval (i.e., 3 < 10).

[0146] Therefore, the positions of label 1 and / or label 3 need to be standardized (i.e. adjusted) to generate standardized distances for standardized label 1205_1* and / or standardized label 3205_3*.

[0147] In this respect, the position 208_11 of tag 1 can be adjusted based on the position 208_31 of tag 3; and / or the position 208_31 of tag 3 can be adjusted based on the position 208_11 of tag 1—and the adjusted position can be assigned to the corresponding tag.

[0148] 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 normalized position 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 normalized position 0).

[0149] Alternatively, the two positions can be adjusted to correspond to the average position of the two positions (e.g., adjusting both positions 208_11 and 208_31 to a normalized position 1.5).

[0150] Similar adjustments can be made to positions 208_12 and 208_32 to define standardized label 1 205_1* and / or standardized label 3 205_3*.

[0151] Then segmentation can be performed based on standardized tags and their standardized positions. In this regard: Segments of map data can be segmented at split points, wherein the location of the split points is at least partially based on the adjusted location; and / or A node can be inserted at an insertion point between two nodes in a segment of map data, wherein the position of the insertion point is at least partially based on the adjusted position.

[0152] Segmentation based on these standardized labels can avoid the following situations in segmented map data: The nodes are too close to each other (i.e., they are within the threshold interval distance). The sub-arcs are too short (i.e., less than the threshold length), and / or there are too many nodes and sub-arcs.

[0153] Normalization can be performed on the start and end positions of tags or paths, or on the path itself. However, in other examples, normalization can be performed in the middle of the tag / LR definition, such as regarding... Figure 13B As shown.

[0154] Figure 13B The schematic map shows the relationship with Figure 13A A somewhat similar scenario involves three segment attribute data / attributes with LR: label 1, label 2, and label 3. However, the start and end positions of label 3 are different; that is, it is not at positions 3 and 97 (e.g., ...). Figure 13A Instead, the distance between label 3 (position 19) and label 2 (position 17) is less than 10. However, the distance between label 3 (position 63) and label 2 (position 86) is greater than 10.

[0155] After standardization, the standardized distance will be: Tag 1: 0 and 100 Tag 2: 17|19 and 63 Tag 3: 17 | 19 and 86 After segmenting using these three labels and their standardized distances, the following results will be obtained: • Only the first path with the attribute labeled 1 is assigned (from 0 to the node inserted based on 17|19 - which could be, for example, the average of two positions, 18). • Assign a second path with the attributes of tag 1, tag 2, and tag 3 (from the first inserted node to the second new node inserted at position 63). • From the second new node inserted at position 63 to the third new node inserted at position 86, a third path is assigned with labels 1 and 3; and • A fourth path from the new node at position 86 to the original node at position 100, which only assigns the attribute with label 1.

[0156] We will now briefly discuss the linear reference re-interpolation process that can be used during the segmentation process.

[0157] In an example of the invention, the user can effectively select a specific / customized set of attributes (i.e., the second set of attributes 307 indicated in the segmentation configuration data 301, which is a subset of the first set of attributes for the segments of the map data), and segmentation will be performed based on these user-selected attributes. Nevertheless, attributes not selected / used for segmentation can still be included along with the segmented map data, i.e., as segment attribute data of the segmented map data, wherein such segment attribute data indicates: Unselected attributes / attributes not used for segmentation in segmented map data (i.e., the third set of attributes, including those in the first set but not in the second set), and The location of each of these attributes within the road segment.

[0158] Each attribute is defined via a linear reference. This linear reference is made relative to the nodes of the map data. However, it is preferable that a third set of unselected / unused attributes is linearly referenced relative to the nodes of the segmented map data (i.e., not only relative to the nodes of the map data—because the nodes of the segmented map data may include new / additional inserted nodes and sub / segmented sections).

[0159] In the linear reference reinterpolation process, attributes that were not selected or used for segmentation are reinterpolated / corrected to enable linear referencing relative to the nodes of the segmented map data (including newly inserted nodes).

[0160] In this regard, the linear reference reinterpolation process reinterpolates / corrects linear references for unselected / unused attributes to correct / adjust their linear references from nodes relative to the map data to nodes relative to the segmented map data / newly inserted nodes.

[0161] This means that all skipped segmentation attributes will be recalculated and transformed to accommodate the new fragmentation / segmentation of the segmented map data. Depending on how linear references are defined, it may be necessary to recalculate the location / distance of attributes, and in some cases, it may also be necessary to recalculate the attribute values ​​themselves (e.g., linear values ​​such as slope and curvature).

[0162] For example, regarding Figure 1 The first set of LR attributes of segment 203 of the map data (which is linearly referenced relative to node 209_11 of segment 203 of the map data) can be regarded as: i) Surface properties, such as Surface:step=0#Concrete; 15#Asphalt ii) Speed ​​attributes, such as Speed:step=0#50; 36#40 iii) Lane attributes, such as Lanes:step=0#4 Lane; 43#3 Lane exist Figure 4 In the segmented map data, only i) road surface attributes are selected for segmentation. Such segmentation results in the insertion of a new node (309_11) at location 15.

[0163] However, unselected attributes with LR (i.e., speed attribute ii) and lane attribute iii) can still be associated with and / or included in the segmented map data, for example, as segment attribute data of the segmented map data (similar to segment attribute data 205 of map data 201).

[0164] However, the unselected linear references with LR attributes need to be adjusted / corrected. These locations are not linearly referenced relative to node 209_11 of segment 203 of the map data, but rather need to be linearly referenced relative to node 309_11 of segment 303_2 of the segmented map data.

[0165] In this regard, the location of each attribute within its corresponding segment of the segmented map data can be determined. Regarding the example above, the linear reference reinterpolation process reinterpolates / corrects the linear references of the unselected attributes as follows: Speed ​​attributes, such as Speed:step=0#50;21#40 Lane attributes, for example: Lanes:step=0#4 Lane;28#3 Lane In fact, the positions indicated in the attributes have been shifted (by 15 in this example) to correspond to their positions in segment 303_2 of the segmented map data.

[0166] In other examples (such as "linear type" attributes where the magnitude of the variable value varies with location (e.g., height and curvature), the adjusted / re-interpolated variable value of the attribute can be determined / calculated based on its position relative to the node where the attribute is located / associated within a segment of a segmented map. For example, consider a linear type attribute associated with an arc representing a 100 m long road segment, where the linear type attribute has a linear (:linear) definition indicating: Height:linear=0#10;10000#20 That is, it indicates that at the starting point of the road section, the elevation of the road section is 10 m, and the elevation of the road section increases linearly along the length of the road section until the elevation of the ending point of the road section is 20 m.

[0167] If an arc segment is split midway through its length (e.g., due to a change in speed limits along the middle of the arc / road segment), the linear type attributes associated with each split sub-segment need to be recalculated. In this regard, the linear reference reinterpolation process reinterpolates / corrects the linear references of unselected attributes as follows: For the first sub-arc segment — Height:linear=0#10;5000#15 For the first sub-arc segment — Height:linear=0#15;5000#20 Then, segment attribute data for segmented map data can be generated: Its indication is associated with the speed and lane attributes of segment 303_2 of the segmented map data, and The position of each attribute within its corresponding segment is defined by a linear reference.

[0168] The following is a brief discussion of the process of handling the relationship between nodes and arcs when generating segmented map data, that is, adjusting the relationship (defined in the map data) between nodes and arcs in segmented map data.

[0169] Digital map data may include relational data that indicates one or more relationships between the following: A segment of map data, and one or more segments of map data, and At least one other segment in the segment data.

[0170] In this respect, relational data can indicate the relationships between nodes and / or arcs in the segment data of map data.

[0171] During the segmentation process, segment relationship data for segmented map data can be generated based on the segment relationship data of the map data. The segment relationship map data of segmented map data can indicate at least one of the following relationships: One segment of one or more segments of segmented map data, and At least one other segment of segmented map data.

[0172] In this respect, the segment relationship data of segmented map data can indicate the relationship between nodes and / or arcs of segmented map data.

[0173] Specifically, one arc / segment of map data may be related to another arc / segment of map data. Segmentation of map data may include dividing an arc / segment into a set of two or more segmented arcs / segments (in segmented map data). The relationships between nodes / arcs in map data can be reused for nodes / arcs in segmented map data, or it may be necessary to re-evaluate the relationships for nodes / arcs in segmented map data, that is, to "repair" the original relationships between arcs and nodes that would be disrupted by segmentation (creating new nodes / arcs).

[0174] In this regard, after dividing the arc segment into a set of sub-arc segments and / or inserting a new set of nodes, one or more of the following can be performed: Assign the relation to the first subset of the segmented arc group / insertion node; Assign zero relations to the second subset of the segmented arc group / inserted node, where the second subset is different from the first subset; and A new relationship is determined at least in part based on the relationship and the conditions associated with the relationship (such conditions may be a base-limited relationship or an indication of some restriction on traffic flow from one segment to another or a permitted maneuvering / turning restriction), and this new relationship is assigned to at least one segment / insertion node in the segment group / insertion node.

[0175] Figure 14 An example is shown of adjusting the relationships between segments of map data for segmented map data.

[0176] Initially (as schematically shown in the upper figure), the segment data of the map data represents four segments 203_1 to 203_4. The upper figure also schematically illustrates the relationship data 801 for some segments. Relationship data 801 indicates the restriction / permission manipulation of traffic flow along segments 230_1 and 203_2. In this respect, relationship data 801_1 indicates that traffic can only "go" from node 209_1 (via node 209_2) to node 209_3 (i.e., traffic can only go from segment 203_1 to segment 203_2, and not from segment 203_1 to segment 203_3 or segment 203_4). The relationship data is implemented by assigning "from" and "to" labels to the corresponding nodes of each segment.

[0177] The result of the segmentation process is that a new node 309 is inserted between nodes 209_2 and 209_3, causing arc segment 203_2 to be divided into two sub-arc segments. The two lower figures schematically illustrate two possibilities for the relationships in the segmentation of the map data used to process the upper figure.

[0178] The lower left diagram schematically illustrates an example of relation processing where each of the two new sub-arcs is simply assigned the same relation as its parent arc. In this case, both sub-arcs are assigned a "go" relation, giving the relation two "go" labels. However, in the Open Street Map ("OSM") model, a turning restriction relation has a condition that it can only have one "go" label. Therefore, this relation processing violates the OSM model because the turning restriction relation has two "go" labels.

[0179] To prevent certain conditions from violating the OSM model, a substitution relation approach is used in the lower right diagram. In this approach, only one of the two new sub-arcs is assigned the same relation as its parent arc. In this way, the relation has only one "go" label, thus avoiding violations of the OSM model's turning restriction relation conditions.

[0180] exist Figure 14 In the discussion of relationships, these relationships are described as existing between existing paths. In this sense, it is assumed that the treatment in a linear reference map is the same as the treatment of relationships in a (further) segmented map, that is, adding paths as members of a set.

[0181] However, this is not always the case. Specifically, relationships can also be described using linear references. This is especially important for relationships that are not caused by intersections and therefore do not necessarily involve existing nodes in the LR map.

[0182] An example of a linear reference relationship is a bus route. This can be provided as a series of ordered paths. However, it doesn't necessarily start or end at intersections / existing nodes in the LR map; in fact, bus stops might be located at some point along a path. Therefore, LR labels can be used for the paths, indicating the starting (or ending) location of the bus route. During segmentation, this can / should be handled by inserting nodes and adding only the relevant new paths to the set representing bus routes (in the correct order).

[0183] Another example of a linear reference relationship is a traffic light, which may appear on linear extensions and at intersections. While traffic lights can be considered point attributes, it may also be advantageous to include them as relationships to the paths associated with those traffic lights.

[0184] Figure 15 A further example of segmented map data is illustrated schematically, where segmentation is performed based on linear reference relationships.

[0185] Figure 15 The upper part shows two unsegmented paths: path 1 and path 2; and their corresponding linear reference relationships.

[0186] Path 1 is defined by the node at position = 0 and the node at position = 2000. Path 1 has three linear references. Path 2 is defined by the node at position = 2000 and the node at position = 3000. Path 2 has one linear reference.

[0187] Figure 15 The middle section shows the segmented paths. Path 1 has been segmented based on its linear reference relationship, thus being divided into new paths: paths 3 and 4 are obtained by inserting a new node 1 at position 1000 along the length of the previous path 1. Similarly, path 2 is also segmented based on its own linear reference relationship, thus being divided into new paths: paths 5 and 6 are obtained by inserting a new node 2 at position 500 along the length of the previous path 2.

[0188] Figure 15 The lower half illustrates post-processing of relations, used to redefine previous linear reference relations (which are linear references to the unsegmented paths) to associate them with the appropriate paths newly created after segmentation.

[0189] Therefore, the examples disclosed herein can provide selective segmentation based on linear reference relationships. This provides additional configurability / flexibility to the segmentation process, which can be advantageous because some users may be able to handle linear reference relationships (in which case segmentation is not required), while others may not.

[0190] Figure 2 The boxes shown in the diagram, as well as the actions, functions performed by the device, and / or instruction / code segments in the various steps and functions described above, represent the methods of representation.

[0191] It should be understood that Figure 2 Each box and combination of boxes illustrated herein, 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 functions described below can be performed by a suitably configured device, such as a server or navigation device. One or more functions described below can be implemented by a suitably configured computer program, such as a computer program including computer program instructions that embody the functions described below and can be stored in a memory storage device and executed by a processor.

[0192] It should be understood that any such computer program instructions can be loaded onto a computer or other programmable device (i.e., hardware) to produce a machine such that, when executed on the programmable device, the instructions produce tools for implementing the function specified in the box. These computer program instructions can also be stored in a computer-readable medium that can instruct the programmable device to operate in a particular manner, such that the instructions stored in the computer-readable medium produce an article of art comprising instruction tools for implementing the function specified in the box. The computer program instructions can also be loaded onto a programmable device to cause a series of operational actions to be performed on the programmable device, thereby producing a computer-implemented process such that the instructions executed on the programmable device provide actions for implementing the function specified in the box.

[0193] Various examples (but not all examples) of this disclosure may take the form of methods, devices, or computer programs. Therefore, various examples (but not all examples) may be implemented in hardware, software, or a combination of hardware and software.

[0194] Various (but not all) examples of this disclosure are described using flowcharts and schematic block diagrams. It should be understood that each block and combination of blocks (in the flowcharts and block diagrams) 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(s) such that instructions executing on said processors, processing circuits, or controllers(s) produce tools for implementing the functions specified in the one or more blocks, i.e., enabling the method to be implemented by a computer. The computer program instructions can be executed by the processors(s) to cause the processors(s) to perform a series of operation blocks / steps / actions, thereby producing a computer-implemented process, such that instructions executing on the processors(s) provide blocks / steps for implementing the functions specified in the one or more blocks.

[0195] Therefore, these boxes support: combinations of tools for performing specified functions; combinations of actions for performing specified functions; and computer program instructions / algorithms for performing specified functions. It will also be understood that each box and combinations of boxes can be implemented by a system based on dedicated hardware or a combination of dedicated hardware and computer program instructions to perform a specific function or action.

[0196] Various (but not all) examples of this disclosure provide both methods and corresponding devices, the devices including various modules, tools, or circuits that provide functionality for performing / applying the actions of the methods. The modules, tools, 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 this disclosure may be provided as a computer program product including a computer-readable storage structure embodying computer program instructions (i.e., software or firmware) for execution by a computer processor.

[0197] Figure 16 Schematic diagrams illustrate methods, processes, and procedures for performing the methods, processes, and procedures described in this disclosure (especially, for example...) Figure 2 The diagram illustrates a block diagram of device 1 (the method, process, and flow shown in the figure). In this respect, the device may be, for example, a server or a navigation device. Figure 16 The component box is functional, and the described function can be performed by a single physical entity.

[0198] The device includes a controller 7, which can be installed in a device such as a server or navigation device.

[0199] The controller 6 can be embodied by a computing device, particularly such as those described above. In some (but not all) examples, the device can be embodied as a chip, chipset, circuit, or module, i.e., for any of the above. As used herein, "module" refers to a unit or device that does not include certain parts / components added by the final manufacturer or user.

[0200] Controller 6 can be implemented as a controller circuit. Controller 6 can be implemented solely in hardware, or it can have certain software (including firmware) aspects, or it can be a combination of hardware and software (including firmware).

[0201] The controller 6 can be implemented using instructions that implement hardware functions, for example, by using executable instructions of a computer program 4 in a general-purpose or special-purpose processor 2, which can be stored on a computer-readable storage medium 3 (e.g., a memory or a disk, etc.) and thus executed by such processor 2.

[0202] Processor 2 is configured to read from and write to memory 3. Processor 2 may also include an output interface and an input interface, via which processor 2 outputs data and / or commands, and via which data and / or commands are input to processor 2. The device may be coupled to or include one or more other components 5 (especially one or more of the following: data communication interface, input / output user interface elements, and / or other modules / devices / components for inputting and outputting data / commands).

[0203] Memory 3 stores instructions, such as a computer program 4 (e.g., computer program instructions / code) that, when loaded into processor 2, controls the operation of device 1. The instructions of computer program 4 enable the device to perform the methods, processes, and flows described in this disclosure (especially, for example...). Figure 1 The logic and routines (shown and discussed above) are described. Processor 2 is able to load and execute computer program 4 by reading memory 3.

[0204] These instructions may be included in computer programs, non-transitory computer-readable media, computer program products, and machine-readable media. As used herein, the term "non-transitory" refers to a limitation on the medium itself (i.e., tangible, not tactile), rather than a limitation on the permanence of data storage (e.g., RAM and ROM). In some (but not all) examples, computer program instructions may be distributed across more than one computer program.

[0205] Although memory 3 is illustrated as a single component / circuit, it can be implemented as one or more separate components / circuits, some or all of which can be integrated / removable and / or provide permanent / semi-permanent / dynamic / cached storage.

[0206] Although processor 2 is illustrated as a single component / circuit, it can be implemented as one or more separate components / circuits, some or all of which may be integrated / movable. Processor 2 can be a single-core processor or a multi-core processor.

[0207] The device may include methods, processes, and procedures for implementing the methods, processes, and procedures described in this disclosure (especially, for example...). Figure 2 This refers to one or more components (as shown in the diagrams and the methods, processes, and flows discussed above). It is conceivable that the functions of these components can be combined within one or more components, or performed by other components with equivalent functions. A description of a particular function should also be considered, in addition, as disclosure of any tools suitable for performing that function.

[0208] Once a structural feature has been described, it can be replaced by a tool that performs one or more functions of that structural feature, whether or not those functions are explicitly or implicitly described.

[0209] Although examples of the device have been described above in terms of including various components, it should be understood that these components may be embodied as corresponding controllers or circuits (such as one or more processing elements or processors of the device), or otherwise controlled by them. In this respect, each of the aforementioned components may be one or more of any device, tool, or circuit embodied in hardware, software, or a combination of hardware and software, configured to perform the corresponding function of the corresponding component as described above.

[0210] The device can be, for example, a server device, a client device, a mobile cellular phone, an in-vehicle integrated device, a wireless communication device, a handheld electronic device, etc. The device can be embodied in a computing device, particularly such as the computing device described above. However, in some examples, the device can be embodied as a chip, chipset, circuit, or module, i.e., used in any of the above-mentioned forms.

[0211] In some examples, the device includes: At least one processor 12; and At least one memory 13 stores instructions that, when executed by at least one processor 12, cause the device to perform the following: Obtain the map data for the digital map, which includes: Segment data, segment data indicating one or more segments of one or more linear map features of a digital map, and Section attribute data, section attribute data indicator: One or more attributes are associated with each section, wherein one or more attributes are selected from a first set of attributes, and Each attribute has at least one position within its corresponding segment, wherein each attribute has at least one position within its corresponding segment defined by a linear reference, and; Obtain segmentation configuration data for configuring segmentation of map data, wherein the segmentation configuration data includes indications of a second set of attributes, wherein the second set of attributes is a subset of a first set of attributes, and wherein the segmentation configuration data enables segmentation of the map data to be performed at least partially based on the second set of attributes; and Generate segmented map data, which includes segmenting the map data according to segmentation configuration data.

[0212] Figure 17 The diagram illustrates a computer program 4 that can be transmitted via transmission mechanism 7. Transmission mechanism 7 can be any suitable transmission mechanism, such as a machine-readable medium, a computer-readable medium, a non-transitory computer-readable storage medium, a computer program product, a memory device, a solid-state storage device, a recording medium such as a read-only optical disc (CD-ROM) or a digital versatile optical disc (DVD), or an article of manufacture that includes or tangibly embodies the computer program 4. The transmission mechanism can be a signal configured to reliably transmit the computer program. The device can receive, propagate, or transmit the computer program as a computer data signal.

[0213] In some examples of this disclosure, a computer program including instructions is provided that, when executed by a device, causes the device to perform the following actions: Obtain the map data for the digital map, which includes: Segment data, segment data indicating one or more segments of one or more linear map features of a digital map, and Section attribute data, section attribute data indicator: One or more attributes are associated with each section, wherein one or more attributes are selected from a first set of attributes, and Each attribute has at least one position within its corresponding segment, wherein each attribute has at least one position within its corresponding segment defined by a linear reference, and; Obtain segmentation configuration data for configuring segmentation of map data, wherein the segmentation configuration data includes indications of a second set of attributes, wherein the second set of attributes is a subset of a first set of attributes, and wherein the segmentation configuration data enables segmentation of the map data to be performed at least partially based on the second set of attributes; and Generate segmented map data, which includes segmenting the map data according to segmentation configuration data.

[0214] References to “computer program,” “computer-readable storage medium,” “computer program product,” “tangible computer program,” or “controller,” “computer,” “processor,” etc., should be understood to encompass not only computers with different architectures (such as single-processor / multi-processor architectures and sequential (Von Neumann) / parallel architectures) but also special-purpose circuits, such as field-programmable gate arrays (FPGAs), special-purpose circuits (ASICs), signal processing devices, and other devices. References to computer programs, instructions, code, etc., should be understood to encompass software or firmware used with programmable processors, such as the programmable content of hardware devices, whether instructions for processors or configuration settings for fixed-function devices, gate arrays, or programmable logic devices.

[0215] Although specific terms are used in this article, they are used only in a general and descriptive sense, and not for restrictive purposes.

[0216] The features described in the foregoing description may be used in combinations other than those explicitly described.

[0217] Although some features have been described with reference to certain characteristics, these features can be performed by other features, whether or not they have been described.

[0218] Although features have been described with reference to certain examples, these features may also exist in other examples, whether or not they have been described. Therefore, a feature described with respect to one example / aspect of this disclosure may include any or all features described with respect to another example / aspect of this disclosure, and vice versa, provided that they do not contradict each other.

[0219] Although various examples of this disclosure have been described in the preceding paragraphs, it should be understood that modifications may be made to the given examples without departing from the scope of the invention as set forth in the claims.

[0220] The term "include" as used in this document has an inclusive rather than exclusive meaning. That is, any reference to X including Y indicates that X may include only one Y, or may include more than one Y. If "include" is to be used in an exclusive sense, it can be explicitly indicated in the context by referring to "includes only one..." or by using "consisting of...".

[0221] As used herein, the term "determine" (and its grammatical variations) can include at least: calculation, operation, processing, obtaining, measuring, investigating, identifying, searching (e.g., searching in a table, database, or other data structure), confirming, etc. Furthermore, "determine" can include receiving (e.g., receiving information), obtaining / accessing (e.g., obtaining / accessing data in memory), acquiring, etc. Additionally, "determine" can include solving, selecting, picking, establishing, inferring, etc.

[0222] As used herein, a description of an action should also be considered as disclosing that the action causes, and / or causes, and / or controls the action. For example, a description of transmitting information should also be considered as disclosing that the transmission of information causes, and / or causes, and / or controls the transmission of information. Similarly, for example, a description of a device for transmitting information should also be considered as disclosing that at least one tool or controller of the device causes, and / or causes, and / or controls the transmission of information by the device. The term "tool" as used in the specification and claims may refer to one or more individual elements configured to perform one or more functions corresponding to those described, or it may refer to several elements performing such functions. Furthermore, the functions described in the claims may be performed by the same single tool or the same combination of tools. For example, the execution of this or these functions can be caused in the device by a processor executing instructions stored in the device's memory.

[0223] Unless explicitly stated otherwise (unless the context requires otherwise), references to parameters or attributes, or the values ​​of parameters or attributes, should be understood as referring to “indicative data,” “definitive data,” or “representative data” regarding the relevant parameter / attribute. Data may indicate the relevant parameter / attribute and / or its value in any way, and may indicate them directly or indirectly.

[0224] Various examples have been referenced in this description. Descriptions of features or functionalities associated with an example indicate that such features or functionalities exist in that example. Whether explicitly stated or not, the terms “example,” “for example,” “may,” or “possibly” used herein indicate that such a feature or functionality exists at least in the described example (whether or not it is described as an example), and that it may, but not necessarily, exist in some or all other examples. Therefore, “example,” “for example,” “may,” or “possibly” refers to a specific instance within a class of examples. The properties of an instance can be properties of only that instance, properties of a class, or properties of a subclass of that class that includes some but not all instances of that class.

[0225] In this specification, unless otherwise expressly stated, references to “a / an” or “the” [feature, element, component, tool, etc.] are used in an inclusive rather than exclusive sense and should be interpreted as “at least one” [feature, element, component, tool, etc.]. That is, any inclusion of one / the Y in X indicates that X may include only one Y or may include more than one Y, unless the context clearly indicates the opposite. If “a” or “the” is intended to be used in an exclusive sense, it will be express in the context. In some cases, “at least one” or “one or more” may be used to emphasize the inclusive meaning, but the absence of these terms does not imply any exclusive meaning. As used herein, “at least one of the following: ” and “at least one of ” and similar wording, where the list of two or more elements is connected by “and” or “or”, means at least any one of the elements, or at least any two or more of the elements, or at least all of the elements.

[0226] The presence of a feature (or combination of features) in a claim refers both to the feature (or combination of features) itself and to features that achieve substantially the same technical effect (equivalent features). Equivalent features include, for example, features that are variations and achieve substantially the same result in substantially the same manner. Equivalent features include, for example, features that perform substantially the same function in substantially the same manner to achieve substantially the same result.

[0227] In this description, various examples are referenced, and the characteristics of these examples are described using adjectives or adjective phrases. Such descriptions of characteristics associated with examples indicate that the characteristic is exactly consistent with the description in some examples, and substantially consistent with the description in others.

[0228] In the foregoing description, the described device may alternatively or additionally include a device that, in some other examples, comprises a distributed system of devices, such as a client / server device system. In examples where the provided devices form (or the methods are implemented as) a distributed system, each device forming a component and / or part of the system provides (or implements) one or more features that collectively implement an example of this disclosure. In some examples, the device is reconfigured by an entity other than its original manufacturer to implement an example of this disclosure by providing additional software (e.g., software downloaded by a user), which, when executed, causes the device to implement an example of this disclosure (this implementation may be entirely implemented by the device or, as described above, as part of a device system).

[0229] The foregoing description describes some examples of this disclosure; however, those skilled in the art will recognize possible alternative structural and methodological features that provide equivalent functionality to the specific examples of such structures and features described above, and which have been omitted from the foregoing description for the sake of brevity and clarity. Nevertheless, the foregoing description should be understood to implicitly include references to such alternative structural and methodological features that provide equivalent functionality, unless such alternative structural or methodological features are expressly excluded in the foregoing description of the examples of this disclosure.

[0230] Although efforts have been made in the foregoing specification to draw attention to those features considered particularly important in the examples of this disclosure, it should be understood that the applicant claims protection for any patentable features or combinations thereof mentioned above and / or shown in the accompanying drawings, whether or not they are specifically emphasized.

[0231] The examples and appended claims of this disclosure may be appropriately combined in any manner obvious to those skilled in the art. Individual references to “example,” “in some examples,” etc., in the description do not necessarily refer to the same example and are not mutually exclusive unless otherwise stated and / or readily apparent to those skilled in the art from the description. For example, features, structures, processes, blocks, steps, actions, etc., described in one example may also be included in other examples, but are not required to be included.

[0232] Each claim is incorporated herein as further disclosure, and the claims are embodiments of this disclosure(s). Furthermore, while the claims herein are provided to include specific referential relationships, it is contemplated that any claim may be dependent on any other claim, and that any alternative embodiments may arise to some extent by combining, integrating, and / or omitting features of the claims and / or changing the referential relationships of the claims, and any such alternative embodiments and their equivalents are also within the scope of this disclosure.

Claims

1. A computer-implemented method for generating segmented map data, the method comprising the following steps performed by a device: Obtain map data for the digital map, including, The map data includes: Segment data, the segment data indicating one or more segments of one or more linear map features of the digital map, and Segment attribute data, wherein the segment attribute data indicates: One or more attributes associated with each section, wherein the one or more attributes are selected from a first set of attributes, and Each attribute has at least one location within its corresponding segment, wherein the at least one location of each attribute within its corresponding segment is defined via a linear reference, and; Obtain segmentation configuration data for configuring segments of the map data, wherein the segmentation configuration data includes indications of a second set of attributes, wherein the second set of attributes is a subset of the first set of attributes, and wherein the segmentation configuration data enables segmentation of the map data to be performed at least partially based on the second set of attributes; and Generate segmented map data, wherein the generation of segmented map data includes segmenting the map data according to the segmentation configuration data.

2. The method as described in claim 1, wherein, Each attribute at at least one of the following locations within its corresponding section: The attribute indicates the location of the attribute on the corresponding segment; An indication of the position where the attribute begins to apply on the corresponding section; The attribute indicates the position where it stops applying on the corresponding section; Indication of the location where the attribute changes on the corresponding section; and The attribute indicates the part to which it applies in the corresponding section.

3. The method as described in claim 1, wherein, Each attribute in the second set of attributes is associated with an attribute category, and wherein segmenting the map data according to the segmentation configuration data includes segmenting at least one segment of the map data to generate two or more segments of the segmented map data, wherein each of the two or more segments of the segmented map data is associated with a single attribute of each attribute category in length.

4. The method of claim 1, wherein, Segmenting the map data according to the segmentation configuration data includes: Identify at least one segment associated with at least one attribute in the second set of attributes; Determine at least one position of at least one attribute from the second set of attributes within at least one determined segment; and The map data is segmented based at least in part on the following: At least one segment that has been identified, and At least one location has been determined.

5. The method of claim 3 or 4, wherein, Each segment in the segment data of the map data is defined by an arc segment between two nodes, and wherein segmenting the map data includes at least one of the following: Divide at least one arc segment of the determined at least one segment at at least one dividing point to form at least two divided arc segments, wherein at least one position of the at least one dividing point is at least partially based on the determined at least one position, and At at least one insertion point, at least one node is inserted between two nodes of the determined at least one segment, wherein at least one position of the at least one insertion point is at least partially based on the determined at least one position.

6. The method of any one of claims 1 to 4, further comprising: Determine whether the position of at least one attribute in the second group of attributes is within a threshold interval distance of the position of at least one other attribute in the second group of attributes; as well as The standardized process is performed based at least in part on the determinations mentioned above.

7. The method of claim 6, wherein, The standardized process includes at least one of the following: Generate the adjusted positions of the at least one attribute and one or more of the at least one other attribute. The adjusted position is assigned to one or more of the at least one attribute and the at least one other attribute. Assign an adjusted position to the at least one attribute corresponding to the position of the at least one other attribute, and An adjusted position is assigned to each of the at least one attribute and the at least one other attribute, wherein the adjusted position is based at least in part on the position of the at least one attribute and the position of the at least one other attribute.

8. The method of any one of claims 1 to 4 and 7, further comprising: The third set of attributes is determined at least in part based on the map data and the segmented configuration data, wherein the attributes in the third set of attributes are: In the first set of attributes, and Not in the second group of attributes; and Generate segment attribute data for the segmented map data, wherein the segment attribute data for the segmented map data includes: The attributes in the third set of attributes that are associated with one or more segments of the segmented map data, and Each of the third set of attributes is located at at least one position within its corresponding segment of the segmented map data, wherein the at least one position of each attribute within its corresponding segment is defined via a linear reference.

9. The method of claim 8, wherein, The segment attribute data of the map data indicates at least one variable value of at least one attribute, the value of which varies at least in part based on its position within a relevant segment of the segment data of the map data, and wherein the method further comprises: At least one adjusted variable value of the at least one attribute is determined based at least in part on the position of the at least one attribute within the relevant segment of the segmented map data.

10. The method according to any one of claims 1 to 4, 7 and 9, wherein: The map data of the digital map further includes segment relationship data indicating at least one relationship between the following two: One segment of one or more segments of the segment data, and At least one other segment among the segments of the segment data; The segmented map data includes segment relationship data indicating at least one of the following relationships: One segment of one or more segments of the segmented map data, and At least one other segment of the segmented map data; and The segment relationship data of the segmented map data is at least partially based on the segment relationship data of the map data.

11. The method according to any one of claims 1 to 4, 7 and 9, wherein, At least one segment of the map data has at least one relationship with at least one other segment of the map data, wherein segmenting the map data includes dividing the at least one segment into a group of two or more segmented segments, and wherein the method further includes at least one of the following: Assign the at least one relation to the first subset of the segment group; The zero relation is assigned to a second subset of the segment group, wherein the second subset is different from the first subset, and The relationship assigned to at least one segment in the segmentation segment group is determined based at least in part on the at least one relationship and the conditions associated with the at least one relationship; and / or The map data of the digital map further includes segment identification data indicating each of one or more segments of the segment data, and the segmented map data includes segment identification data indicating each of one or more segments of the segmented map data, and the segment identification data of the segmented map data is at least partially based on the segment identification data of the map data.

12. The method according to any one of claims 1 to 4, 7 and 9, wherein, Each segment and / or each node of the map data has an identifier, and the method further includes at least one of the following: For each segment of the map data that is divided in the segmented map data, an identifier is generated and assigned to each segment. For each undivided segment of the segmented map data, use the same identifier as the identifier used in the map data; For each node in the segmented map data corresponding to a node in the map data, use the same identifier as the identifier used in the map data; and For each node of the segmented map data that is inserted between two nodes of the map data, an identifier is generated and assigned to each inserted node.

13. The method according to any one of claims 1 to 4, 7 and 9, wherein, Segmenting the map data includes dividing a first segment of the map data into two or more segmented segments, wherein the first segment of the map data has a first identifier, and wherein a second identifier for each segment is generated at least in part based on the first identifier.

14. The method of claim 5, wherein segmenting the map data further comprises at least one of the following: Assign at least one attribute from the second set of attributes to at least one of the segmented arcs, and Assign at least one corresponding attribute from the second set of attributes to the at least one insertion node.

15. The method of claim 7, wherein the standardization process further comprises at least one of the following: The map data is segmented at least in part based on the adjusted locations. The map data is segmented at the segmentation point, wherein... The position of the dividing point is at least partially based on the adjusted position, and A node is inserted at an insertion point between two nodes in a segment of the map data, wherein the position of the insertion point is at least partially based on the adjusted position.

16. The method of claim 8, further comprising: The at least one position of each attribute in the segmented map data is determined based at least in part on the position of each attribute in the third set of attributes within the corresponding segment of the segmented map data.

17. The method of claim 13, further comprising generating a mapping between the following two: The first identifier; and The identifier of each segment.

18. An apparatus for generating map data, comprising tools for performing the method as claimed in any one of claims 1 to 17.

19. A computer program for generating map data, comprising instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 17.