Topology base model supporting improved merge and stable feature identification

By providing stable semantic feature identifiers for map datasets through a topological basic model, the problem of merging different map datasets is solved, enabling more efficient dataset merging and interoperability, and improving the stability and usability of map data.

CN115210702BActive Publication Date: 2026-03-17GOOGLE LLC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-03-02
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively merge different map datasets, especially due to the lack of stable identifiers and a shared reference system among them, leading to inconsistent feature IDs and affecting map usage and sharing.

Method used

By adopting a topological basic model, stable semantic feature identifiers are provided for map datasets. These identifiers are then used to map different map datasets to a common representation, thereby achieving stable association and interoperability of features.

Benefits of technology

It improves the accuracy and stability of map dataset merging, reduces data transmission volume, and promotes interoperability and information sharing between different map systems and applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115210702B_ABST
    Figure CN115210702B_ABST
Patent Text Reader

Abstract

This disclosure relates to a system and method for providing stable topological representations of path networks and the features associated with these networks. The disclosure is illustrated using road networks with applications in mapping, navigation, and autonomous vehicles. Extensions can be learned through practice with this disclosure. Utilizing the implementations disclosed herein can provide advantages for data merging between different mapping systems and map data, while improving overall stability by developing common reference standards tied to semantic features rather than abstract geographic representations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to mapping data and merging. More specifically, this disclosure relates to computer-implemented systems and methods that can provide improved stability for mapping applications and corresponding data, and provide the ability to merge and / or improve features from previously unrelated geographic datasets. Background Technology

[0002] Mapping or indexing the world is an unbounded problem, given the massive amounts of information of varying types and levels of detail that change frequently, and the many different possible ways to partition the world into distinct features. This problem is particularly challenging for roads or other networks, which can extend for many miles and be subdivided in numerous possible ways. Thus, creating and maintaining a single map that incorporates all the data required for all possible use cases is highly impractical.

[0003] In light of this problem, many different types and forms of maps have been created to handle different data types or use cases. However, these different maps are often distinct and not directly related to each other. Specifically, even a pair of given maps representing the same geographic area may show certain elements (e.g., roads, points of interest, etc.) in different geographic locations and / or may lack a common frame of reference for cross-referencing these elements. Therefore, there is a need in the art for techniques to improve the ability to combine and / or jointly interpret maps. Summary of the Invention

[0004] This disclosure relates to systems and methods for providing stable topological representations of path networks and the features associated with these networks. This disclosure is illustrated using road networks with applications in mapping, navigation, and autonomous vehicles. Extensions can be learned through practice with this disclosure. Utilizing the implementations disclosed herein can provide advantages for data merging between different mapping systems and map data, while improving overall stability by developing common reference standards that are tied to semantic features rather than abstract geographic representations. Attached Figure Description

[0005] A detailed discussion of embodiments for those skilled in the art is set forth in the description with reference to the accompanying drawings, in which:

[0006] Figure 1 An example computational system including a basic topological model according to this disclosure is illustrated.

[0007] Figure 2 An example process flowchart according to this disclosure is shown, including an example method for merging two geographic datasets, wherein at least one geographic dataset is associated with a topological base model.

[0008] Figure 3 The illustration shows an example side operation that includes computer-implemented instructions and results.

[0009] Figure 4A The illustration shows an example representation of the graphical properties of display edges (represented as line segments) and anchors (represented as circles) according to this disclosure.

[0010] Figure 4B An example representation of parametric positioning that can be associated with an anchor point is illustrated according to an example embodiment of the present disclosure.

[0011] Figures 5A-5D The illustrations depict various aspects represented by the basic topological model according to this disclosure. Figure 5A The diagram illustrates a basic topological model that includes graphical attributes as well as more complex features such as road geometry and buildings. Figure 5B The diagram shows a more detailed representation of the road network, including additional road segments (illustrated as lines extending from the circles) that can be merged with the basic model. Figures 5C-5D The diagram illustrates details of buildings, such as entrance points (5C) or road access points (5D), to represent additional map features that can be merged with the base model or associated with one or more feature layers.

[0012] Figure 6 An example representation of the hierarchical order according to the basic model of this disclosure is illustrated. Figure 6 The diagram shows a topological model illustrating one or more edges, nodes, and / or anchors according to an example embodiment of this disclosure. Other layers may be associated with the topology, which may be used to represent physical descriptions such as road geometry (e.g., width), semantic descriptions (e.g., street names), or other layers of detail (e.g., road segments, intersections, traffic directions, etc.).

[0013] Figure 7 The illustration shows an example implementation of a topological base model for merging two distinct mapping datasets. According to this disclosure, both datasets can be provided to the topological base model to produce a mapping between the datasets.

[0014] Figure 8A The illustration shows sample map data that can be used to generate a topological base model or a base model's feature layer elements.

[0015] Figure 8B The illustration shows an example embodiment according to the present disclosure. Figure 8A An example geometric representation of the road network shown.

[0016] Figure 8C The illustration shows an example embodiment according to the present disclosure. Figure 8A The example topology representation of the road network shown is shown.

[0017] Figure 8D The diagram illustrates the relationship between... Figure 8A The map data shown overlaps Figure 8C Example topological representation in [the text].

[0018] The repeated reference numerals in multiple figures are intended to identify the same features in various implementations. Detailed Implementation

[0019] Overview

[0020] In general, this disclosure relates to systems and methods for including and using a topological base model, which includes multiple stable identifiers, each for a plurality of semantic features or elements included in a geographic region. The identifiers remain stable over time. Additional aspects of this disclosure relate to methods for creating and / or updating a topological base model (also referred to herein as the "base model").

[0021] Specifically, the base model can include information supporting cohesive relative relationships among one or more distinct map layers. In one example, the base model can provide multiple stable identifiers for elements (e.g., represented using edges and vertices) of multiple canonical features (e.g., human-recognizable / perceptible real-world items such as roads, intersections, and buildings) corresponding to multiple semantic features included in a geographic region. This stable indexing of semantic features can be used to form the basis of information from various different maps, map layers, or mapping applications, or to link information from various different maps, map layers, or mapping applications. Specifically, the base model can provide a common base, and in some implementations, can provide common geographic data (e.g., a world representation) on which one or more specific maps or applications can agree on basic identifications and common principles, thereby facilitating shared views and links between these maps and applications.

[0022] Therefore, aspects of the base model (e.g., stable identifiers) can be used to improve the correspondence between different maps (or map layers) or map-making applications. Specifically, in one example, a first geographic dataset (e.g., a map layer) may include features and a set of references that associate the features with certain stable identifiers included in the base model. By utilizing such references, features of the first geographic dataset can be linked to certain defined semantic features, even if the first geographic dataset changes over time. In another example, two different geographic datasets may each have corresponding references to stable identifiers of the base model. By identifying shared references to the same stable identifiers, it can be determined that two features, respectively included in two different maps or map layers, correspond to each other (and correspond to the same semantic features), even if the two different maps or map layers have significantly different means of representing physical space and would not be relevant in the absence of a shared base model.

[0023] This improved correspondence between maps or other geographic datasets can provide users with an advantage by visually mapping paths such as roads for applications like location-aware guidance or other applications that use location information. Furthermore, through certain merging operations, the base model can be easily correlated with other mapped data, which can provide improved accuracy and stability for incorporating new data into the base model or transferring topological information to external applications.

[0024] More specifically, there are many commercial and non-commercial semantic maps in the industry that share common characteristics and patterns. Most of these maps are based on a set of commonly used, standardized features, such as roads or buildings. Some maps may also include additional features that are not public in themselves but are somehow related to public features (e.g., the entrance to a building is 30 feet east of a well-known intersection). The features included in these maps typically have some kind of identifier (“ID”) that allows for lookup. However, these IDs are often unstable (especially for roads). In other words, for a given map, feature IDs can change frequently between different versions of the map data, even if the underlying features do not change in the real world. Furthermore, different maps often have different IDs for the same features, making it impossible to compare features by ID.

[0025] Conversely, in order to enable the joint interpretation or use of two maps, some existing systems may attempt to merge features based on their descriptions. This often presents the problem of not being able to resolve identical features and can lead to incorrect feature localization. Furthermore, given the potential geometric or geographical differences between different maps, purely geometric merging can produce serious errors.

[0026] This disclosure addresses these problems by providing an improved mechanism for identifying core / fundamental features of a dataset and relating these features to each other via references to common stable identifiers included in a base model. These references and the underlying stable identifiers then provide a basis for relating features of non-public types to each other through common features. For example, a first map may include road and building entrance data, and a second map may include roads and sidewalks. By utilizing references to one or more stable identifiers included in the base model, a relationship can be determined to link sidewalks to entrances via a network of common paths such as roads. In this way, relationships between different features can be identified by examining core, common features. Therefore, by mapping datasets to a common representation such as a topological base model, two or more distinct topologies can be linked by generating mappings that indicate relative positioning rather than exact positioning.

[0027] Another problem addressed by this disclosure is the mutable nature of geographic datasets (e.g., maps) that change over time. Specifically, users of maps often need to rely on map IDs to use these maps, for example, to share or send references between clients and servers or between two services. If the IDs change or become inconsistent, this complicates use. Sometimes this makes it difficult to upgrade maps over time (e.g., limiting map freshness). Alternatively, this limits the reliability of communication, for example, leading to inconsistencies after merging, or preventing different applications from sharing detailed information about the map.

[0028] This disclosure addresses this problem by providing a public base model that ensures stable and reliable identifiers for map features that remain updated over time. The base model can be publicly released for access by various applications, users, etc. Furthermore, services for accessing and interpreting the base model data can be provided. For example, services can respond to calls to the data using a stable application programming interface (“API”). Thus, other maps can reference their features via the base model ID or a common style / language describing relative hierarchical information on the base model. This accessible and serviceable base model can foster an ecosystem that encourages better sharing of topological information.

[0029] The use of the common topology base model according to various aspects of this disclosure allows for interoperability between different map systems and databases. Different geographic datasets can be merged using the topology base model, for example, in response to a request for map data from a client device, outputting at least a portion of the merged data to that client device. In this way, the client device can efficiently receive and utilize information from multiple different geographic datasets. The use of the topology base model according to various aspects of this disclosure can allow for reduced data transmission, such as between the client requesting map data and the server providing the requested data, or at the client providing updated map data to the server. For example, requesting and receiving data from a server using the common topology base model may require a reduced amount of data transmission between the server and the client compared to transmitting purely coordinate-based data.

[0030] More specifically, one example aspect of this disclosure includes a topological road network model (e.g., a graph) that can be used to represent physical paths (e.g., road networks) using relative relationships rather than coordinates (e.g., not geocoding such as specific latitude and longitude information). Such a system may include some or all of the following elements: Abstract linear travel paths, which may be oriented (e.g., having a front end and a back end), and thus two travel directions can be defined, forward (towards the front end) and backward (towards the back end). Furthermore, joint points can be defined, where a traveler moving along one path can switch to another path at some point coexisting on each path. Using these building blocks, routable networks can be constructed, where any path from one point on one edge to another point on another edge can be expressed as a series of edge joins.

[0031] This model leverages a semantic (e.g., not just geographical) description of the world, which may be more consistent with human understanding of our world. Furthermore, this model may be more resilient in identifying and / or resolving disagreements about precise geographic locations and properties associated with some or all of the referenced features. In this representation, the network does not need to express physical values, such as specific distances or geocodings of elements along a route. However, these additional properties can be linked to or otherwise associated with networks using layers capable of storing such information, and / or obtained by merging the road network model with external datasets that include such information. For example, in some implementations, the base layer or feature layer may include features such as buildings that can be represented as parcels. A parcel may encompass one or more junctions that can be used to represent a building facade or other areas along the network.

[0032] Typically, a topology model can be developed that partitions the network into layers that capture the essence of the topology, such that divergences in graph properties at higher layers—the structure of the graph, the structure of routes on the graph, and the merging of two graphs at a layer—are performed as independently as possible. Therefore, according to the robust topology representation of this disclosure, such a representation can be defined as a hierarchy that uses a denormalized representation at the lowest or “foundational” layer level to minimize divergences that may arise from merging, which could be based on geographic coordinates or image-based map representations.

[0033] As an example for illustration, an example topology model may include a hierarchical structure with a base model that defines a representation of a graph that is essentially translated into edges, nodes, and anchors. While not limited to a specific representation, in one use case, an edge may represent a road, a vertex may represent the endpoint of an edge, and an anchor (not necessarily confused with an end vertex) may represent a point of interest that terminates a road or marks a junction on a road (e.g., an intersection) or a point of interest (e.g., a building facade). Thus, as used herein, the concept of an anchor's location is not a (x, y) position in space, but rather an identifier capturing which edge(s) it is on, and in some cases, parametrically, where the anchor is on that edge relative to any other anchor referencing that edge. Using this representation allows vertices to be implicitly included as anchors; however, not all anchors are vertices, as an anchor may include multiple edges simultaneously (e.g., be referenced by multiple edges simultaneously).

[0034] Graph representations are well-known in computer science and can be used to align and merge other data representations. Each graph element (e.g., edges, nodes, and anchors) can be associated with a unique and stable ID that can be accessed / referenced by elements in other layers. However, typically, graph elements cannot access or reference attributes in other layers. Therefore, a hierarchical model can be considered to provide a basic cross-referencing mechanism, which occurs via shared references to stable IDs contained within the base model. Detail layers, such as semantic descriptions (e.g., road names), physical descriptions (e.g., geometry), or other details (e.g., road segments), can be cross-referenced by identifying stable IDs in a common base model dataset.

[0035] Using the base model allows for the representation of path networks at varying levels, which can include denormalized representations (e.g., denormalized graphs). In this sense, intersections may not explicitly join two edges, but such joining can be achieved by terminating an edge at an anchor that itself references another adjacent edge. By cutting all the edges referenced by the anchors, transforming all anchors into traditional graph vertices, this denormalized form can be deterministically and mechanically normalized into a unique form. This process can be used to convert anchors into vertices and provide a classically normalized form for the graph, which can be used in some implementations to merge the base model with other datasets.

[0036] Incorporating a base model into physical data, such as another graph or dataset representing a physical region, can include adding physical projections. For example, physical projections can include determining the relative positions of joints sharing the same edge by defining directionality (e.g., one joint is in front of or behind another joint on a particular edge). This makes direction more specific: “Starting from joint A, move forward along the red edge, through joint B to joint C, and then backward along the blue edge to joint D.” Qualitatively speaking, moving forward and / or backward to reach the next joint captures the essence of motion without restricting the position or order of joints on the edges (this can be used to correct for differences in physical properties). As another example, joints can be defined using parameterized positions on the edges they join. The most common of these is simply fixing the joint to the front or back end of the corresponding edge. An edge can be thought of as having a front and a back, which can be defined in various ways, such as from 0.0 at the back point to 1.0 at the front point. Specific coordinates of the joints can be determined according to the fraction along the edge. While specific coordinates can be defined in model space, this still does not enforce specific positioning in physical space, as the edge itself does not yet have a physical form. As yet another example, physical properties (such as curvature) can be assigned to the edge itself by mapping each parameterized coordinate from 0.0 to 1.0 on the edge to a point or region in the physical model.

[0037] For merging physical identities, an optional requirement can be included during the merging process such that each segment of a real-world road driving area can be part of zero or one edge in the graph. Note that this means a single edge in the graph may represent multiple physical "roads," depending on how the roads are partitioned by the specific skeletonization of the physical driving areas, but only one edge can represent a specific content. Alternatively, a single "road" can be represented using multiple edges (e.g., two edges correspond to two lanes traveling in opposite directions on a road; four edges correspond to four lanes; and so on).

[0038] Generally, the underlying topological graph that forms the basis of a basic model consists of edge and anchor graphs. Each entity includes a stable ID, where stability indicates that the ID of that feature remains permanently unchanged over time. However, due to the constantly changing nature of the physical world, the concept of time-varying characteristics can be included in some models. For example, the graph or the underlying data of the graph can be referenced to a snapshot associated with time (t). Any change in properties such as connectivity, the set of anchor edges, etc., may subsequently result in the optional assignment of new and unique IDs, which effectively create new identifiers. For example, different epochs of the basic model can be created, where each epoch has a set of stable and invariant feature IDs. A mapping between stable IDs for each pair of epochs can also be maintained for projections between epochs.

[0039] Certain operations can be defined to update the basic model that conforms to the stable ID characteristics described above. These operations can be categorized as relating to edges, anchors, or, in some implementations, both.

[0040] For example, adding an edge can include defining how the edge connects to other edges. Simply adding an edge can be done by creating a new ID in the database at the current database time, establishing a new identifier. Then, connections to existing edges can be made by adding anchors that associate the new edge with existing edges. The relationship with other anchors can be considered implicit. An example of a link type could be: a new edge is attached to another edge at its endpoint. In this case, the system can create new anchors, each referencing both the old and new edge IDs at the appropriate endpoint. Another example could be: a new edge is attached to another edge in the middle. This is the same, except that the anchor associated with the new edge is "unspecified" and not at the endpoint.

[0041] Some example implementations of this disclosure support storing graphs in a denormalized form. If the base model is to use a normalized mapping, only one such anchor point will be needed, and old anchor points can be deleted, and new anchor points can be created by joining the old and new anchor points. Because implementations can include denormalized forms, existing anchor points may not be modified if they are intended to be the same connection points in the topology, or one or more existing anchor points may be added to the reference set of the new anchor point.

[0042] Additional edge-level changes can include edge deletion and edge merging. For example, deletion can include updating the graph to set a time (e.g., a disappearance time). Merging two edges in a denormalized graph can be categorized as complete merging (i.e., the result of merging is that the edges are exactly the same) or incomplete merging (i.e., there are joint areas where the edges are identical, and there are also unjoined areas where each edge's ID references another unreferenced additional path or surface). As an example, complete merging can be processed as a one-to-other process, where one ID is forwarded to the other, or complete merging can be processed as a replacement process, where both are replaced by a newly generated edge ID. Generally, such merging should maintain directionality, so this merging is either a forward (matching direction) merging or a reverse (non-intersecting direction) merging. In another example, incomplete merging can be handled by combining a complete merging as described above using the one-to-other method with additionally generating up to two new edge IDs corresponding to the front or back end remnants of the disappearing source edge.

[0043] The addition, splitting, or merging of edges has already been discussed to some extent regarding changes to the anchor-level of the basic model. For example, since anchors essentially represent joining, adding new anchors could include naming the joined edges (e.g., the ID associated with the edge) and / or the anchors (e.g., the ID associated with the anchors).

[0044] Various aspects of this disclosure can be represented in various forms. For example, a computing system including memory for constructing a relational or hierarchical database can be used to store the basic model. The computing system may also include memory or hardware comprising instructions for performing updates to the basic model and / or for merging the basic model with other mapping information. In some implementations, the computing system may be hosted on a server or in a distributed computing system with cloud connectivity. This distributed computing system can provide advantages in data storage and access, improving the speed, stability, and reliability of the data underlying the basic model.

[0045] Example implementations of this disclosure may include a computing system having one or more processors and one or more non-transitory computer-readable media (CRMs) that jointly store data and instructions. Generally, the data includes a shared topological base model comprising multiple stable identifiers for edges and vertices corresponding to multiple canonicals of semantic features included in a geographic region. The CRM may also include instructions for performing one or more operations, which, when executed by the one or more processors, cause the system to perform the operations.

[0046] This shared basic model can be used to merge at least a portion of two different geographic datasets. Specifically, the merging process may include: obtaining a first geographic dataset comprising multiple first edges and first vertices corresponding to multiple semantic features, and at least a first anchor point corresponding to a specific real-world item. Generally, the first anchor points are stored as having a location defined relative to a specific first edge or a specific first vertex among the multiple first edges and first vertices. For example, the database may be defined as having anchor points defined as being associated with / referenced to one or more edges. Another operation may include obtaining a second geographic dataset comprising multiple second edges and second vertices corresponding to multiple semantic features. A stable identifier (ID) can then be identified from each geographic dataset, the ID being associated with a specific edge or vertex. Based on at least these operations, a second anchor point can be generated in the second geographic dataset based on a specific second edge or a specific second vertex.

[0047] In some implementations, the data including the basic topological model may also include at least one feature layer. An example aspect of a feature layer may include attributes indexed to one of the anchor points, one of the vertices, one of the edges, or any combination thereof. Example features may include descriptions (e.g., road names), geometry (e.g., road width, curvature, intersection type, etc.), buildings, coordinates, or other information. Another aspect of a feature layer may include hierarchy. For example, a feature layer may be defined as one that can only reference the feature layers below it, but not the feature layers above it. Generally, the graph, including edges, nodes, and anchor points, is considered the lowest level of hierarchy, which can provide advantages in terms of maintenance and ID stability.

[0048] In some implementations, attributes included in the feature layer can be used to support one or more merge operations. For example, identifying a specific second edge or a specific second vertex among multiple second edges and second vertices can include: obtaining one or more descriptors included in the second geographic dataset; comparing the one or more descriptors with at least one attribute included in the feature layer; determining the closest attribute based at least in part on the comparison; and determining the anchor point, vertex, or both to which the closest attribute is indexed. Therefore, in general, merge operations can include searching for similarities between the base model and the second dataset. Since the external dataset may not include the same denormalized reference, the feature layer can provide physical information, such as street names, coordinates, or other information that can be compared with the external reference. After identifying a match or close correspondence between the base model and the second dataset, attributes in the feature layer can be used to find the anchor point, vertex, or both to which the closest attribute is indexed. In some implementations, the anchor point, vertex, or both to which the closest attribute is indexed can then be used to map at least a portion of the second dataset by projecting the denormalized base model graph or a normalized form of the base model graph onto the second dataset. For example, anchor points corresponding to descriptor locations can be added to the second dataset. Then, anchor information, such as related edges and / or attributes from other layers, can be inherited from the base model.

[0049] Exemplary embodiments of this disclosure will now be discussed in more detail with reference to the accompanying drawings.

[0050] Example devices and systems

[0051] Figure 1 A block diagram of an example computing system 100 according to an example aspect of this disclosure is depicted. This example computing system 100 can store or transmit information such as a topology basic model 122 or 140 and / or a merged system 142. In one example implementation, system 100 may include a user computing device 102 and a server computing system 130 communicatively coupled via a network 180.

[0052] User computing device 102 can be any type of computing device, such as, for example, a personal computing device (e.g., a laptop or desktop), a mobile computing device (e.g., a smartphone or tablet), a game console or controller, a wearable computing device, an embedded computing device, or any other type of computing device.

[0053] User computing device 102 may include one or more processors 112 and memory 114. The one or more processors 112 may be any suitable processing device (e.g., processor core, microprocessor, ASIC, FPGA, controller, microcontroller, etc.) and may be a single processor or multiple processors operatively connected. Memory 114 may include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, disks, etc., and combinations thereof. Memory 114 may store data 116 and instructions 118 executed by processor 112 to cause user computing device 102 to perform operations.

[0054] In some implementations, the user computing device 102 may store or include a topological base model 122.

[0055] In some implementations, the topology base model 122 may be received from the server computing system 130 via network 180, stored in the user computing device memory 114, and then used by one or more processors 112 or otherwise implemented. In some implementations, the user computing device 102 may implement multiple parallel instances of a single topology base model 122 (e.g., to perform parallel merging operations between different sets of map data).

[0056] More specifically, the topology base model 122 can provide a stable reference for storing and / or indexing map features such as roads and buildings that can be represented as a network (e.g., a graph). The topology base model 122 can be divided into one or more layers, each of which can be accessed and / or downloaded individually depending on the application or use case.

[0057] Additionally or alternatively, the topology base model 140, or one or more features of the topology base model (such as the base model topology or one or more detail layers), may be included in, or otherwise stored and implemented by, the server computing system 130 communicating with the user computing device 102 according to a client-server relationship. For example, the topology base model 140 may be implemented by the server computing system 130 as part of a network service. Thus, the topology base model 122 may be stored and implemented at the user computing device 102, and / or the topology base model 140 may be stored and implemented at the server computing system 130. Since in some implementations the topology base model may be segmented into features including graphs (e.g., base layers) and one or more feature layers, each feature may be accessed individually and / or transferred between the user computing device 102 and the server computing system 130. Alternatively, for some implementations, the topology base model may not be segmented. For example, in some implementations the topology base model 122 may not be segmented into separate features to preserve indexes and / or other relationships.

[0058] User computing device 102 may also include one or more user input components 124 for receiving user input. For example, user input component 124 may be a touch-sensitive component (e.g., a touch-sensitive display or touchpad) that is sensitive to the touch of a user input object (e.g., a finger or stylus). Touch-sensitive components can be used to implement a virtual keyboard. Other example user input components include a microphone, a traditional keyboard, or other devices through which a user can provide user input.

[0059] Server computing system 130 includes one or more processors 132 and memory 134. The one or more processors 132 can be any suitable processing device (e.g., processor core, microprocessor, ASIC, FPGA, controller, microcontroller, etc.) and can be a single processor or multiple processors operatively connected. Memory 134 can include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, disks, etc., and combinations thereof. Memory 134 can store data 136 and instructions 138 executed by processor 132 to cause server computing system 130 to perform operations.

[0060] In some implementations, the server computing system 130 includes one or more server computing devices or is otherwise implemented by one or more server computing devices. When the server computing system 130 includes multiple server computing devices, such server computing devices can operate according to a sequential computing architecture, a parallel computing architecture, or some combination thereof.

[0061] As described above, server computing system 130 may store or otherwise include topology base model 140. In some cases, server computing system 130 may also include merging system 142, which may include various trained machine learning models. Example machine learning models include neural networks or other multi-layer nonlinear models. Example neural networks include feedforward neural networks, deep neural networks, recurrent neural networks, and convolutional neural networks. In an example implementation, merging system 142 may be used to identify correspondences between external (i.e., third-party) mapping data and data included in topology base model 140. In this way, merging system 142 may be used at least in part to generate instructions for fusing and / or updating topology base model 140 based on third-party data. For example, an example implementation may include obtaining a geographic dataset including a graphical representation of multiple edges and vertices representing real-world items in a geographic region, such as traffic reports near exit ramps. Merging system 142 may identify specific stable identifiers included in the topology base model based at least in part on information included in the geographic dataset, such as nearby road identifiers (e.g., road names, exit numbers, or other relevant information). Furthermore, in some cases, geographic datasets can share stable identifiers included in the topological base model via APIs or other applications that allow the geographic dataset to generate anchor points corresponding to specific real-world items. In some cases, the geographic dataset can then be used to update the topological base model to include anchor points based on the identification of specific edges and / or the generation of parameterized locations along those edges.

[0062] Network 180 can be any type of communication network, such as a local area network (e.g., intranet), a wide area network (e.g., the Internet), or some combination thereof, and can include any number of wired or wireless links. Generally, various communication protocols (e.g., TCP / IP, HTTP, SMTP, FTP), encodings or formats (e.g., HTML, XML) and / or protection schemes (e.g., VPN, Secure HTTP, SSL) can be used to carry communication on network 180 via any type of wired and / or wireless connection.

[0063] Figure 1 The illustration shows an example computing system that can be used to implement this disclosure. Other computing systems may also be used. For example, in some implementations, user computing device 102 may include merging system 142, or may be configured to access topology base model 140 from server computing system 130, instead of obtaining topology base model 122 on user computing device 102.

[0064] Example model properties

[0065] Figure 4A and Figure 4B Diagrams illustrating various aspects of the basic topological model are provided as examples for practicing the implementations disclosed herein and are not intended to limit the aspects to what is shown. For example, Figure 4A The diagrams illustrate how edges and anchors can define a network of paths, such as a crossroads. In each diagram, five anchors are depicted as circles, and edges are depicted as lines. Each edge is not limited to linking only two anchors, and therefore uses different line widths and / or dashed lines to depict the unique individual edges. Notably, in the rightmost image, each edge is shown linking only two anchors, illustrating an example of how a normalized representation can be produced by "cutting" each edge at any anchor point. Figure 4B Another aspect of this disclosure is illustrated. While parametric definitions are used to indicate relative positioning, it should be noted that any method used to generate relative positioning can be used in implementations of this disclosure. For example, the location along an edge that may be tied to a feature such as an intersection, a building facade, or other such information does not need to be specified to or tied to an exact coordinate location. Instead, the parametric location can be defined based on a defined backend and frontend. Furthermore, in some cases, it is not necessary to specify the location, which can be advantageous when the exact location information (e.g., information obtained from a third party) is not well defined but can still be represented as affecting the area along the edge.

[0066] Example model layout

[0067] Figures 5A-5D An example layout of the basic topological model is depicted. As shown in the figure, Figure 5A This displays a basic model representation, showing anchor points as circles and edges as line segments. Some implementations may include... Figures 5B-5D As one or more feature layers, these feature layers include those referenced to Figure 5A The characteristics and attributes of the basic model described in the text. For example, Figure 5B It shows further details of the road, including its geometry and lanes. Figure 5C Further details of the building are shown, such as entrances and / or exits, while Figure 5D This illustrates the relationship between building details and road details. In some implementations, these feature layers can be included as part of the basic topology model. In other implementations, they can include... Figures 5B-5D Some or all of the details displayed are part of an external (e.g., third-party) dataset. This information can be compared with... Figure 5A The basic model displayed is merged to update the basic model or associated feature layers.

[0068] Figure 6 Another example arrangement of a basic topological model representing a hierarchical structure is depicted. As shown, Figure 6 This includes a basic model topology that supports physical descriptions, semantic descriptions, and, in some cases, further layers of detail. Along with each layer, a diagram of an intersection between two streets is also provided. Using this hierarchical representation allows information to be projected onto the basic model topology without needing to track individual properties that are more likely to change over time. In some implementations, properties at higher levels can simply reference properties at lower levels. For example, properties of the semantic or physical description can reference the basic model topology; however, the reverse is not true.

[0069] Example aspects of the basic model topology may include anchoring all other layers to a common ID space. Therefore, the topology typically contains a common graph used to represent real-world locations or items of interest using edge, vertex, and anchor point representations. Example aspects of the physical layer may include shapes described using latitude, longitude, and / or elevation that can be referenced to data (e.g., WGS84 or other suitable coordinate systems). Elements of the physical layer may include polygons or polylines with width or a width function (band). Physical elements can be accessed as descriptive elements of edges within the common topology. In some cases, the physical layer can be derived by tracing the shape of roads from imagery, where the shape terminates at the natural boundaries of roads or road elements, or at edges such as road surfaces.

[0070] Source imagery can also be acquired from ground-based or aerial sources aligned with a globally aligned aerial-seeded 3D mesh. Figure 8A and Figure 8B The image shows an example of deriving physical properties from aerial imagery. Figure 8A and Figure 8B An aerial view of the intersection (8A) and an overlay of lines (8B) are shown to partially define aspects of the roads that make up the intersection (e.g., width, curvature, intersections, etc.). Figure 8C and Figure 8D The diagram illustrates how aviation information can be converted into... Figure 8C An image showing an example of a topological representation (e.g., a graph of edges, anchors, and / or vertices). Furthermore, this representation can be projected onto, for example... Figure 8D The mapped image shown is used in applications such as route generation in navigation.

[0071] Example model application

[0072] Figure 7An example merging operation is described for mapping geographic data from a first dataset and a second dataset using an example topological base model. As shown, map data 1 and map data 2 represent imagery of the same location. To identify the correspondence between two different representations of the same path network, the example base model can be used to generate corresponding topological maps. For example, map data 1 may model a highway as two segments, while map data 2 shows only one segment. Other differences may include the location of the merge or “entry ramp.” Pure geometric merging can produce serious errors due to the varying geometry in these representations (e.g., when using pure geometric merging, the closing markers from map data 1 are not located on the entry ramps in map data 2). Instead, according to this disclosure, mapping each dataset to a common representation such as a topological base model can be used to link differentiated topologies by generating mappings between road segments or by using anchor points to modify the junctions to indicate relative rather than exact locations. For example, by using a shared topological base model, closing markers can be placed on the entry ramps in the merged map data 2.

[0073] As another example embodiment for illustrative purposes, it can be applied Figure 7This invention illustrates a computational system according to the present disclosure, which includes data storing a topological base model and instructions for determining correspondences between features in two datasets (e.g., map data 1 and map data 2). These two map datasets can be obtained from various sources, including external third parties. The map data may include features such as street names, road geometry, or other aspects that can be used to look up (e.g., using database operations or other queries) or otherwise utilize the topological base model to determine a common reference and / or underlying representation. Here, the common reference and / or underlying representation is depicted as merged map data 1 and merged map data 2, which can be generated separately based on map data 1 and map data 2. However, this does not imply a limitation on possible different types of representations. Other representations of path segments and other features depicted in the map data can be generated, and may depend on the level of detail provided in the map datasets. Once a common reference has been generated, one or more correspondences between the datasets can be determined, as shown in the relationships: A(0,0.5)→H, A(0.5,1)→J, etc. Although this diagram only illustrates the relationships between edges, it should be understood that relationships between vertices (described here as circles or semicircles) can also be generated, at least in part, based on a common reference to stable identifiers in a shared underlying topological model. In some cases, this common reference can be used to transfer information between map datasets, such as by generating new features (e.g., anchors, edges, or vertices) in one dataset. For example, if map data 2 lacks a closure represented by a circled dash '-', the D→I relationship can be used to map the D closure at 0.8 to the I closure at 0.8. Thus, new features can be generated as part of map data 2 or a merged map data 2 to represent that closure (e.g., such as generating an anchor at that location).

[0074] Example Method

[0075] Figure 2 A flowchart depicts an example method for performing a merge according to an example embodiment of the present disclosure. Although for purposes of illustration and discussion, Figure 2 The steps are depicted in a specific order, but the method of this disclosure is not limited to the specific order or arrangement shown in the illustrations. Without departing from the scope of this disclosure, the steps of method 600 may be omitted, rearranged, combined, and / or adapted in various ways.

[0076] At 202, the computing system may obtain a first geographic dataset comprising a plurality of first edges and first vertices corresponding to a plurality of semantic features, and at least one first anchor point corresponding to a specific real-world item, the first anchor point having a position defined relative to a specific first edge or a specific first vertex among the plurality of first edges and first vertices. Obtaining the first geographic dataset may include accessing a library or repository storing data, generating or modifying geographic data such as aeronautical information by overlaying sensor information with a physical representation, or receiving data (e.g., from a third party).

[0077] In 204, the computing system can obtain a second geographic dataset comprising multiple second edges and second vertices corresponding to multiple semantic features. Generally, obtaining the second geographic dataset can occur in various ways, including but not limited to the examples provided for obtaining the first geographic dataset.

[0078] In section 206, the computing system can identify specific stability identifiers included in a shared basic topological model and associated with a particular first edge or a particular first vertex. As an example, identifying a specific stability identifier can include a table lookup, which can be performed using traditional database queries (e.g., using SQL), cloud database queries, or other search methods used to access reference ID information.

[0079] In step 208, the computing system can identify a specific second edge or a specific second vertex among multiple second edges and second vertices included in the second geographic dataset and associated with a specific stable identifier. One aspect of identifying a specific second edge includes creating a common reference for merging. By identifying the second edge or second vertex based on its association with a specific stable identifier that is also associated with the first edge or first vertex, the merging operation can reduce errors when joining data or mapping attributes to a new dataset.

[0080] In 210, the computational system can generate a second anchor point in a second geographic dataset based on a specific second edge or a specific second vertex, the second anchor point corresponding to a specific real-world item in the second geographic dataset. As described above, additional reference features can be added to one or both datasets by utilizing common reference points. Although this example illustrates the generation of a second anchor point in a second geographic dataset, it should be understood that other graphical elements such as edges can be generated and added to the second dataset and / or shared references, such as a topological base model that can be referenced or otherwise accessed by both the first and second geographic datasets (e.g., for additional merging operations).

[0081] At least according to Figure 2The combination of operations described herein can use two datasets to generate shareable information, such as anchor points in a second dataset, both datasets being associated with a topological base model including stable identifiers to reference real-world items using graphical representations. Furthermore, in some use cases, the first and second geographic datasets may not inherently include stable references, but one or both datasets may require such information to be obtained by merging with an example topological base map according to aspects of this disclosure. For example, obtaining a first geographic dataset comprising multiple first edges and first vertices corresponding to multiple semantic features and at least one first anchor point corresponding to a particular real-world item, the first anchor point having a position defined relative to a particular first edge or a particular first vertex among the multiple first edges and first vertices, may initially involve obtaining the geographic dataset. According to this disclosure, the geographic dataset can then be merged with the topological base model.

[0082] As an example, merging geographic datasets may include accessing mappings included in or associated with a second geographic dataset and performing a lookup operation on that mapping to identify a particular second edge or a particular second vertex based on a specific stable identifier, the mapping mapping multiple second edges and second vertices to multiple canonical edges and canonical vertices.

[0083] As another example, identifying a specific second edge or a specific second vertex among multiple second edges and second vertices may include: obtaining one or more descriptors included in a second geographic dataset, which provide information such as latitude, longitude, elevation, street name, or combinations thereof. The one or more descriptors may be compared to an example base model, for example, by comparing the one or more descriptors to at least one attribute included in a feature layer of the base model. Based at least in part on this comparison, the closest attribute may be determined (e.g., an attribute matching one or more descriptors such as a street name). As a result, the anchor point, vertex, or both to which the closest attribute is indexed may be identified. In some implementations, the anchor point, vertex, or both to which the closest attribute is indexed may be used at least in part to add multiple edges and vertices corresponding to multiple semantic features included in a first geographic dataset to the second dataset.

[0084] Figure 3Example operations are depicted that provide methods for updating the basic topological model at the graph level. In the figure, edge operation 300 is shown as the instructions and result implemented by a computer. At 302, the computational system can establish a unique ID associated with an edge to be added, and can also add an anchor point to the graph to describe the connectivity of the new edge. At 304, the computational system can add a demise time associated with an edge for deleting it from the graph. To allow for stability, the reference to the edge can be removed entirely; instead, a time indicator can be established to track the lifetime or period during which the edge was active. At 306, the computational system can add a forwarding reference to one of two edges, which directs requests to the edge with the forwarding reference to the other edge to merge the two edges. Other example merging operations are shown at 308 and 310. At 310, the computational system can split (e.g., divide) an edge into segments by adding one or more anchor points to it.

[0085] Additional disclosure

[0086] The technologies discussed here refer to servers, databases, software applications, and other computer-based systems, as well as the actions taken and the information sent to and from these systems. The inherent flexibility of computer-based systems allows for a wide variety of possible configurations, combinations, and divisions of tasks and functions between and within components. For example, the processes discussed here can be implemented using a single device or component, or multiple devices or components working in combination. Databases and applications can be implemented on a single system or distributed across multiple systems. Distributed components can operate sequentially or in parallel.

[0087] While the subject matter has been described in detail with respect to various specific example embodiments, each example is provided by way of explanation and not as a limitation of this disclosure. Changes, modifications, and equivalents of these embodiments will be readily apparent to those skilled in the art upon understanding the foregoing. Accordingly, this disclosure does not exclude the inclusion of such modifications, modifications, and / or additions to the subject matter, which will be quite apparent to those skilled in the art. For example, features illustrated or described as part of one embodiment may be used with another embodiment to produce yet another embodiment. Therefore, this disclosure is intended to cover such changes, modifications, and equivalents.

Claims

1. A computing system for processing geographic data, the computing system comprising: one or more processors; and one or more non-transitory computer-readable media that collectively store data and instructions; wherein the data collectively stored in the one or more non-transitory computer-readable media includes a common topological base model that includes a plurality of stable identifiers for a plurality of canonical edges and canonical vertices respectively corresponding to a plurality of semantic features included in a geographic area; and wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform: determining a correspondence between a first edge or first vertex included in a first geographic dataset and a second edge or second vertex included in a different second geographic dataset based at least in part on a common reference to one of the stable identifiers in the common topological base model by: identifying a particular second edge or a particular second vertex included in the plurality of second edges and second vertices included in the second geographic dataset and associated with the one of the stable identifiers, and generating a graphical element based on the particular second edge or the particular second vertex in the second geographic dataset, wherein the graphical element corresponds to a particular real-world item in the second geographic dataset and has a position defined relative to the particular second edge or the particular second vertex, and the graphical element has a corresponding graphical element that also corresponds to a particular real-world item in the first geographic dataset, and the first edge or first vertex and the second edge or second vertex correspond to a same semantic feature of the plurality of semantic features.

2. The computing system of claim 1, wherein, the one or more processors are configured to determine a correspondence between a first edge or first vertex included in a first geographic dataset and a second edge or second vertex included in a different second geographic dataset based at least in part on a common reference to one of the stable identifiers in the common topological base model by: obtaining the first geographic dataset, the first geographic dataset including a plurality of first edges and first vertices and at least one first anchor point respectively corresponding to the plurality of semantic features, the first anchor point having a first position defined relative to a particular first edge or a particular first vertex of the plurality of first edges and first vertices; obtaining a second geographic dataset including the plurality of second edges and second vertices respectively corresponding to the plurality of semantic features; and identifying one of the stable identifiers included in the common topological base model and associated with the particular first edge or the particular first vertex; wherein the graphical element includes a second anchor point in the second geographic dataset, and the corresponding graphical element includes the at least one first anchor point.

3. The computing system of claim 2, wherein, The data collectively stored in the one or more non-transitory computer- readable media further includes at least one property layer that includes one or more attributes of one or more of the plurality of semantic features, and wherein each of the one or more attributes is indexed to a particular one of the canonical edges or canonical vertices.

4. The computing system of claim 3, wherein, The common topological base model does not include references to the one or more attributes of the at least one property layer.

5. The computing system of claim 1, wherein, Identifying the particular second edge or the particular second vertex from the plurality of second edges and second vertices includes: accessing a mapping included in or associated with the second geographic dataset, the mapping mapping the plurality of second edges and second vertices to the plurality of canonical edges and canonical vertices; and performing a lookup operation on the mapping to identify the particular second edge or the particular second vertex based on one of the stable identifiers.

6. The computing system of claim 3, wherein, Identifying the particular second edge or the particular second vertex from the plurality of second edges and second vertices includes: obtaining one or more descriptors included in the second geographic dataset, wherein the one or more descriptors include: a latitude, a longitude, an elevation, a street name, or a combination thereof; comparing the one or more descriptors to at least one attribute included in the property layer; determining a closest attribute based at least in part on the comparison; and determining that the closest attribute is indexed to a canonical edge, a canonical vertex, or both.

7. A computing system comprising: one or more processors; and one or more non-transitory computer-readable media collectively storing: a topological base model representing a path network, the topological base model including: a graph including one or more anchors, one or more vertices, and one or more edges, wherein, at least one edge is linked to at least one vertex; and and at least one property layer including one or more attributes, wherein each of the one or more attributes is indexed to one of the anchors, one of the vertices, one of the edges, or a combination thereof, and wherein none of the anchors, vertices, or edges of the topological base model are indexed to the attributes, and the one or more non-transitory computer-readable media further store instructions for performing one or more operations for updating the topological base model, the one or more operations including: merging two edges in the graph by: adding a forwarding reference to one of the two edges, and wherein the forwarding reference directs a request to access the edge with the forwarding reference to the other of the two edges, creating a new and unique ID and replacing any IDs associated with both edges with the new and unique ID, or adding the forwarding reference to one of the two edges and adding one or two new and unique IDs to one or both edges.

8. The computing system of claim 7, wherein, the graph is un-normalized.

9. The computing system of claim 7, wherein, one of the one or more operations includes adding one edge to the graph, and wherein adding the one edge to the graph includes: establishing a unique ID associated with the one edge; and adding one anchor to the graph.

10. The computing system of claim 7, wherein, One of the one or more operations includes deleting one edge from the graph, and wherein deleting the one edge from the graph includes: adding a time of death associated with the one edge.

11. The computing system of claim 7, wherein, One of the one or more operations includes splitting an edge into one or more new edges, and wherein splitting the edge includes: adding an anchor point to the edge.

12. The computing system of claim 7, wherein, Each of the one or more anchor points includes a direction of movement along an edge linked to the anchor point.

13. The computing system of claim 7, wherein, The at least one property layer includes information related to a geometry block referencing one of the anchor points included in the graph.

14. The computing system of claim 7, wherein, The at least one property layer includes a plurality of attributes, and wherein each of the plurality of attributes includes a geometry shape and a reference ID for each edge.

15. A computing system comprising: one or more processors; and one or more non-transitory computer-readable media that collectively store: a hierarchical database and instructions, the hierarchical database includes: a graph comprising one or more anchors, one or more vertices, and one or more edges, wherein, each edge, each vertex, and each anchor point includes a unique and stable ID; a first property layer including one or more first attributes, wherein each of the one or more first attributes is indexed to one of the anchor points, one of the vertices, one of the edges, or a combination thereof; and a second property layer including one or more second attributes, wherein each of the one or more second attributes is indexed to one of the anchor points, one of the vertices, one of the edges, one of the first attributes, or a combination thereof; the instructions, when executed by the one or more processors, cause the computing system to perform one or more operations for updating the hierarchical database, the one or more operations including: merging two edges by: adding a forwarding reference to one of the two edges, and wherein the forwarding reference directs a request to access the edge with the forwarding reference to the other of the two edges, creating a new and unique ID and replacing any IDs associated with both edges with the new and unique ID, or adding the forwarding reference to one of the two edges and adding one or two new and unique IDs to one or both edges.

16. The computing system of claim 15, wherein, One of the one or more operations includes adding one edge, and wherein adding the one edge includes: establishing a unique ID associated with the one edge; and adding an anchor point to the graph.

17. The computing system of claim 15, wherein, One of the one or more operations includes deleting one edge, and wherein deleting the one edge includes: adding a time of death associated with the one edge. One of the one or more operations includes splitting an edge into one or more new edges, and wherein splitting the edge includes: adding an anchor point to the edge. Each of the one or more anchor points includes a direction of movement along an edge linked to the anchor point. The at least one property layer includes information related to a geometry block referencing one of the anchor points included in the graph. The at least one property layer includes a plurality of attributes, and wherein each of the plurality of attributes includes a geometry shape and a reference ID for each edge.

Citation Information

Patent Citations

  • System and method for providing a virtual database environment and generating digital map information

    US20070260628A1