The generation of travel time data is disclosed in which coordinates are received for a starting location (1901). A maximum travel time is received (1903) and processed graph data is read that includes nodes representing pre-filtered map features and edges representing travel times between nodes. A temporary graph is built (1907) of selected nodes that can be reached via selected edges within the maximum travel time. Candidate destinations are received (1908) and the travel time to these candidate destinations is tested (1909) with reference to the temporary graph.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A server computer configured to produce a list of destinations, having a processor configured to: receive co-ordinates for a starting location; receive a maximum travel time; read processed graph data comprising nodes representing pre-filtered map features and edges that include representations of travel times between said nodes; traverse said graph data to identify selected nodes that can be reached from said starting location via edges in said graph data within said maximum travel time; receive candidate destinations; for each candidate destination, identify whether it is geographically close to one of said selected nodes, and if so select it; and output for display a list including said selected candidate destinations.
A server application finds destinations reachable within a set travel time. It receives a starting location's coordinates and a maximum travel time. It reads a map database represented as a graph, where nodes are pre-filtered map features (like landmarks or intersections) and edges are travel times between them. It then explores the graph to find nodes reachable from the start within the maximum time. The system receives a list of potential destinations and checks if each is near a reachable node. Finally, it outputs a list of the reachable destinations.
2. The server computer of claim 1 , wherein said processor is also configured to: divide a geographical region repeatedly so that each divided region includes one exclusive graph node; create a two dimensional binary space partitioning tree; translate a starting location to a graph node with reference to said two dimensional binary space partitioning tree; and carry out said step of identifying identifying whether a candidate destination is geographically close to a selected node by referring to said two dimensional binary space partitioning tree.
Building upon the destination finder, the server improves location searching speed. The system pre-processes the map by recursively dividing it into regions, with each region containing one map node. This creates a binary space partitioning (BSP) tree. When a user starts a search, their location is quickly converted to the nearest graph node using the BSP tree. Likewise, potential destinations are verified against reachable nodes using the same BSP tree lookup. This increases location and proximity evaluation speed.
3. The server computer of claim 1 , including a cache, wherein said cache is configured to store a previously identified set of selected nodes to facilitate repeated searches from the same starting location but for different candidate destinations.
To optimize repeated destination searches from the same location, the server includes a cache. When a user searches from a specific starting point, the set of reachable map nodes within the maximum travel time (as identified in claim 1) is stored in the cache. If the same user searches again from the same location (but potentially for different destinations), the server retrieves the pre-calculated set of reachable nodes from the cache, instead of re-calculating it. This speeds up subsequent searches.
4. An application executable within a mobile device, configured to receive travel time data from the server of claim 1 .
A mobile app displays travel time data from a server. The app is configured to receive the destination list generated by a server that finds destinations reachable within a set travel time. The server receives a starting location's coordinates and a maximum travel time; reads a map database represented as a graph where nodes are map features and edges are travel times; explores the graph to find reachable nodes; receives candidate destinations; checks if each is near a reachable node; and outputs a list of the reachable destinations.
5. The mobile device of claim 4 , further comprising apparatus for generating location data representing the location of said mobile device, wherein said location data is conveyed to said server computer to identify a starting location.
The mobile app from the previous claim also determines the user's starting point. The phone uses its location services (like GPS) to generate location data. This location data (coordinates) is then sent to the server described in claim 1 to be used as the starting location for finding reachable destinations within a given travel time. So, the mobile app not only displays the results but also provides the location data needed for the search.
6. A method of generating travel time data, comprising the steps taken by a processor of: receiving coordinates for a starting location; receiving a maximum travel time; reading processed graph data comprising nodes representing pre-filtered map features and edges representing travel times between said nodes; traversing said graph data to identify selected nodes that can be reached from said starting location via edges in said graph data within said maximum travel time; receiving candidate destinations; for each candidate destination, identifying whether it is geographically close to one of said selected nodes, and if so selecting it; and outputting for display a list including said selected candidate destinations.
This describes a method for finding destinations reachable within a set travel time. First, the system receives a starting location's coordinates and a maximum travel time. It reads a map database represented as a graph, where nodes are pre-filtered map features (like landmarks or intersections) and edges are travel times between them. It then explores the graph to find nodes reachable from the start within the maximum time. The system receives a list of potential destinations and checks if each is near a reachable node. Finally, it outputs a list including the reachable destinations.
7. The method of claim 6 , wherein said edges represent variable travel times between adjacent nodes that are dependent upon a temporal component derived from non-exclusively one or more of the following, comprising: time of day, day of the week, time of the year and special activity periods; and said traversal of said graph data is carried out with reference to a time of travel so as to account for said temporal component.
In the travel time method of claim 6, the travel times between map nodes are dynamic. These times depend on factors like the time of day, day of the week, time of year, or if there are special events happening. When exploring the graph to find reachable destinations, the system accounts for these variable travel times based on the current or specified time of travel. This ensures that travel time estimates are accurate and reflect real-world traffic conditions.
8. The method of claim 6 , wherein coordinates of an actual starting location are transformed to a modified origin at the location of a node in said processed graph data.
In the travel time method of claim 6, the user's exact starting location is adjusted to align with the map data. The coordinates of the user's actual starting location are transformed to match the coordinates of the nearest node within the processed graph data. This adjustment ensures that the travel time calculations are based on the structured map data instead of raw GPS coordinates, potentially improving calculation accuracy and efficiency.
9. The method of claim 6 , wherein coordinates of each candidate destination are transformed to a modified destination at the location of a-its geographically close selected node.
In the travel time method of claim 6, the location of a potential destination is adjusted to align with the map data. The coordinates of each candidate destination are transformed to match the coordinates of its geographically closest selected (reachable) node. This allows travel time calculations to be performed relative to the map's node locations, potentially improving accuracy and calculation performance.
10. The method of claim 9 , wherein each candidate destination is transformed upon arrival, in preference to said building step, the building of said temporary graph being performed as a background process.
Building upon claim 9, the destination transformation happens on arrival rather than before, while the temporary graph is generated in the background. Instead of immediately adjusting the candidate destination's location to a nearby node, this transformation occurs when a new destination arrives for calculation. The creation of the "temporary graph" (reachable nodes) runs as a separate, background process. This allows quicker initial response times.
11. The method of claim 9 , wherein a candidate destination is rejected if it has a location that is displaced from said starting location by a first predetermined distance.
Building on claim 9's location transformation, candidate destinations are rejected if too close to the starting point. If a candidate destination's original location is within a defined minimum distance from the user's starting location, it's removed from the list of destinations. This filter avoids listing very nearby points, which might not be relevant for the search.
12. The method of claim 9 , wherein a candidate destination is rejected if it has a location that is displaced from its geographically close selected node by a second predetermined distance.
Building on claim 9's location transformation, candidate destinations are rejected if their transformed location differs greatly from their initial location. A candidate destination is discarded if the distance between its original GPS location and the location of its nearest reachable map node (to which it was transformed) exceeds a certain threshold. This prevents inaccurate results when the nearest node is actually far away from the intended destination.
13. The method of claim 6 , wherein said processed graph data is produced by processing map data to remove features that are not travel related.
In the travel time method of claim 6, the map data is pre-processed to remove unnecessary features. The initial map data is filtered to remove elements that don't relate to travel, such as building outlines or irrelevant geographical features. This reduces the complexity of the graph data, improving the speed and efficiency of the travel time calculations.
14. The method of claim 6 , wherein said map data is processed a plurality of times to produce a plurality of processed graph data sets, applicable to respective modes of transport.
Building upon travel time method of claim 6, multiple versions of the map data are processed. The map data is processed multiple times to create distinct graph data sets, each optimized for a specific mode of transport (e.g., walking, driving, public transit). This allows the system to generate travel time estimates tailored to the user's chosen mode of transportation.
15. The method of claim 6 , wherein a travel time for each selected node is calculated by subtracting travel times between nodes from said maximum travel time.
In the travel time method of claim 6, the time to reach selected nodes is tracked. For each selected node (a map feature reachable within the maximum travel time), the system calculates the remaining travel time. This is done by subtracting the travel time from the starting location to that node from the initial maximum travel time. This helps determine how long it takes to get to each reachable location.
16. The method of claim 6 , wherein said outputted list includes an indication of travel time for each selected candidate destination.
In the travel time method of claim 6, travel times for each selected candidate destination are included in the final list. The outputted list of reachable destinations includes an estimated travel time for each destination. This provides the user with more information than just the list of destinations; it also indicates how long it will take to reach each one.
17. The method of claim 16 , wherein said identified candidates are ranked in terms of travel time.
Building on claim 16, the candidate destinations are ordered by travel time. The reachable candidate destinations are ranked according to their respective travel times from the starting location. The destinations with the shortest travel times appear at the top of the list, providing a convenient ordering for the user.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 5, 2016
June 13, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.