WO2022220741A1 - A method and system for route computation - Google Patents

A method and system for route computation Download PDF

Info

Publication number
WO2022220741A1
WO2022220741A1 PCT/SG2022/050196 SG2022050196W WO2022220741A1 WO 2022220741 A1 WO2022220741 A1 WO 2022220741A1 SG 2022050196 W SG2022050196 W SG 2022050196W WO 2022220741 A1 WO2022220741 A1 WO 2022220741A1
Authority
WO
WIPO (PCT)
Prior art keywords
link
links
origin
destination
geospatial
Prior art date
Application number
PCT/SG2022/050196
Other languages
French (fr)
Inventor
Xuan Hoa PHAM
Mohit SINDHWANI
Siew Kiat CHAN
Original Assignee
Quantum Inventions Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Quantum Inventions Pte Ltd filed Critical Quantum Inventions Pte Ltd
Publication of WO2022220741A1 publication Critical patent/WO2022220741A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3461Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types, segments such as motorways, toll roads, ferries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Definitions

  • the present disclosure relates broadly to a method and a routing system for route computation.
  • One function of the central server is to compute and provide one or more available routes between an origin and a destination. Upon matching a driver with a passenger, the server will determine and communicate a route for the driver to reach the passenger. Thereafter, upon pick-up of the passenger at the passenger’s location, the driver is provided with another route to the desired destination of the passenger.
  • the server As the routing requests are made with the expectation of a response in real-time, it is imperative for the server to be able to compute and to provide the routes in a timely fashion, e.g., within sub-seconds. However, the server may be inundated with requests e.g., during peak periods and is hence unable to handle the computations in a timely fashion, especially as the size of the map increases.
  • a method of route computation by a routing system comprising: receiving a routing request, the routing request comprising an origin location and a destination location; identifying an origin link near the origin location, and identifying a destination link near the destination location; retrieving one or more pre-determined lists of unrouteable links from a database; comparing the origin link and destination link with one or more lists of unrouteable links; and performing the route computation if the origin link and the destination link are not within the one or more lists of unrouteable links.
  • the identified origin link may be a link nearest to the origin location, and the identified destination link may be a link nearest the destination location.
  • the method may further comprise identifying an alternative destination link if the destination link is found within the one or more lists of unrouteable links; identifying an alternative origin link if the origin link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative destination link and/or the alternative origin link, if the alternative destination link and alternative origin link are identified.
  • Identifying the alternative origin link may further comprise: identifying links near the origin location; and selecting one of the identified links near the origin location as the alternative origin link, said alternative origin link being the link nearest to the origin location and which is not within the one or more lists of unrouteable links.
  • Identifying the alternative destination link may further comprise: identifying links near the destination location; and selecting one of the identified links near the destination location as the alternative destination link, said alternative destination link being the link nearest to the destination location and which is not within the one or more lists of unrouteable links.
  • Identifying links near the origin location may comprise identifying links within a boundary threshold; and identifying links near the destination location comprises identifying links within the boundary threshold.
  • the pre-determined one or more lists of unrouteable locations may be generated by obtaining geospatial data from the database, said geospatial data comprising a plurality of geospatial links; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial link to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
  • Selecting a start link may comprise selecting a link which is near a popular location.
  • a different start link may be selected as the start link, if the number of links in the one or more pre-determined list comprises more than 10%, 20%, 30%, 40% or 50% of a total number of geospatial links.
  • the different start link may be selected from a link located in an area which is not connected to the start link.
  • the geospatial links are added to the one or more pre-determined lists if there are no possible paths from both the start link and the different start link, to the other geospatial link.
  • the generated list may be an unrouteable destination list.
  • the other geospatial generated list may further comprise an unrouteable origin list and the method may further comprise for each one of the other geospatial links: determining if a possible path is routeable to the start link from the other geospatial link; and adding the other geospatial link to the unrouteable origin list, if there are no possible paths to the start link from the other geospatial link.
  • a system for route computation comprising: an application interface configured to receive a routing request, the routing request comprising an origin location and a destination location; and a processing module configured to identify an origin link near the origin location, and to identify a destination link near the destination location; retrieve one or more pre-determined lists of unrouteable links from a database; compare the origin link and destination link with one or more lists of unrouteable links; and perform the route computation if the origin link and the destination link are not within the one or more lists of unrouteable links.
  • the identified origin link may be a link nearest to the origin location, and the identified destination link may be a link nearest the destination location.
  • the processing module may be further configured to identify an alternative destination link if the destination link is found within the one or more lists of unrouteable links; identify an alternative origin link if the origin link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative destination link and/or the alternative origin link, if the alternative destination link or alternative origin link is identified.
  • Identifying the alternative origin link may further comprise: identifying links near the origin location; and selecting one of the identified links near the origin location as the alternative origin link, said alternative origin link being the link nearest to the origin location and which is not within the one or more lists of unrouteable links.
  • Identifying the alternative destination link may further comprise: identifying links near the destination location; and selecting one of the identified links near the destination location as the alternative destination link, said alternative destination link being the link nearest to the destination location and which is not within the one or more lists of unrouteable links.
  • Identifying links near the origin location may comprise identifying links within a boundary threshold; and identifying links near the destination location comprises identifying links within the boundary threshold.
  • the processing module may be configured to generate the pre-determined one or more lists of unrouteable locations by obtaining geospatial data from the database, said geospatial data comprising a plurality of geospatial links; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial link to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
  • the selected start link may be a link which is near a popular location.
  • the processing module may be configured to select a different start link as the start link, if the processing module determines that the number of links in the one or more pre-determined list comprises more than 10%, 20%, 30%, 40% or 50% of a total number of geospatial links.
  • the different start link may be selected from a link located in an area which is not connected to the start link.
  • the geospatial links are added to the one or more pre-determined lists if there are no possible paths from both the start link and the different start link, to the other geospatial link.
  • the generated list may be an unrouteable destination list.
  • the other geospatial generated list may further comprise an unrouteable origin list, and the processing module may be further configured to determine if a possible path is routeable to the start link from the other geospatial link; and add the other geospatial link to the unrouteable origin list, if there are no possible paths to the start link from the other geospatial link.
  • a non-transitory tangible computer readable storage medium having stored thereon software instructions that, when executed by a computer processor of a system for route computation, cause the computer processor to perform a method of route computation, by executing the steps comprising, receiving a routing request, the routing request including an origin location and a destination location; identifying an origin link near the origin location, and identifying a destination link near the destination location; retrieving one or more pre-determined lists of unrouteable links from a database; comparing the origin link and destination link with one or more lists of unrouteable links; and performing the route computation if the origin link and destination link are not within the one or more lists of unrouteable links.
  • the steps may further comprise generating the pre-determined one or more lists of unrouteable locations by obtaining geospatial data from the database, said geospatial data comprising a plurality of geospatial links; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial links to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
  • FIG. 1 is a schematic flowchart illustrating a method of route computation in an exemplary embodiment.
  • FIG. 2 is a schematic flowchart illustrating a method of generating one or more lists of unrouteable links, in another exemplary embodiment.
  • FIG. 3 is a schematic diagram of a system for route computation in an exemplary embodiment.
  • Exemplary embodiments described below may provide a method and a system for route computation.
  • a location may be a place identified/defined by a user (e.g., origin location and destination location defined in a user’s routing request).
  • a link is a digital representation of a position on a digital map (e.g., a link may be an entire road or a segment of a road), and various links (e.g., origin link, destination link) may be identified and stored as a set of latitude and longitude coordinates. For example, a link may be stored as a set of latitude and longitude coordinates flat": 11.521432, "Ing": 104.892398).
  • a link may also comprise other parameters, such as road category and directionality of traffic flow.
  • a link can be connected to one or more other links directly.
  • FIG. 1 is a schematic flowchart illustrating a method of route computation in an exemplary embodiment.
  • the method 100 for route computation may be performed based on map data representing maps of different regions and countries etc.
  • map data may be stored at and may be retrieved from a database (e.g., a map database).
  • the various links may be identified by, for example, latitude and longitude coordinates in the map data.
  • a routing request is received, the routing request including an origin location and a destination location.
  • an origin link and a destination link are identified, said origin link being a link near the origin location and said destination link being a link near the destination location.
  • one or more pre-determined lists of unrouteable links are retrieved from a database.
  • the origin link and the destination link are compared with the one or more lists of unrouteable links.
  • the route computation is performed if the origin link and destination link are not within the one or more lists of unrouteable links.
  • the routing request is described to include one origin location and one destination location.
  • the routing request may include one origin location and a plurality of destination locations to be traversed in sequence, a plurality of origin locations and one destination location, or a plurality of origin locations and a plurality of destination locations.
  • the routing request may comprise one origin location and a plurality of destination locations so that route computation may be performed between the origin location and each of the plurality of destination locations to eventually determine the one destination location from the plurality of destination locations, which is both routeable and the nearest to the origin location.
  • routing request is received at step 102.
  • there may be one or more routing requests received at step 102 i.e., at step 102, at least one routing request is received).
  • the identified origin link is a link nearest to the origin location
  • the identified destination link is a link nearest the destination location
  • the method 100 may further comprise identifying an alternative destination nearest link if the destination link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative destination link.
  • the one or more lists may also be referred to as no-path-found (NPF) lists.
  • the method 100 may further comprise identifying an alternative origin link if the origin link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative origin link. That is, if the origin link (e.g., identified at step 104) matches a link in the one or more of the NPF lists, the alternative origin link is used.
  • identifying the alternative origin link may further comprise: identifying links near the origin location; and selecting one of the identified links near the origin location as the alternative origin link, said alternative origin link being the link nearest to the origin location and which is not within the one or more lists of unrouteable links. This may be achieved by going through the links nearby origin locations in order of proximity to the origin location, and comparing each one of these links for matches with the NPF lists. The first link which is not found in the NPF list may then be considered or identified as the alternative origin link.
  • the method 100 may further comprise identifying an alternative destination link if the destination link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative destination link.
  • identifying the alternative destination link further comprises: identifying links near the destination location; and selecting one of the identified links near the destination links as the alternative destination link, said alternative destination link being the link nearest to the destination location and which is not within the one or more lists of unrouteable links. This may be achieved by going through the links near the destination location in order of proximity to the destination location, and comparing each one of these links for matches with the NPF lists. The first link which is not found in the NPF list may then be considered or identified as the alternative destination link.
  • identifying links near the origin location may further comprise identifying links within a boundary threshold; and identifying links near the destination location comprises identifying links within the same or another boundary threshold.
  • the boundary threshold is a parameter which specifies a maximum distance threshold from the origin or destination location.
  • the maximum distance threshold may be determined by the system.
  • the boundary threshold may be defined by the system such that only links within a defined distance of e.g., 100m of the origin/destination location may be considered as alternatives.
  • the threshold may also factor accessibility constraints, such as steep cliffs or staircases, between the alternative origin/destination links and the origin/destination location respectively.
  • the boundary threshold may usefully compensate for instances where the origin or destination link is an unrouteable link due to e.g., bad data input such as poor map data quality.
  • Alternative origin or destination links which are both near a routeable origin or destination location respectively, and within a maximum distance away from the origin or destination location respectively may therefore be quickly found.
  • the process to identify the alternative origin/destination links may be an iterative process where a next nearest link which is routeable (i.e., not found within the one or more lists of unrouteable links), is identified as the alternative origin/destination link. For example, where an origin/destination link is found in the one or more unrouteable lists, candidate links which are near the origin/destination locations are identified.
  • the candidate links nearest to the origin/destination location is checked if it is found within the one or more lists of unrouteable links. If not, the candidate is deemed routeable and hence may be used as the alternative origin/destination links. In other words, candidate links are checked for routability in order of proximity to the origin/destination link, before it is determined as the alternative origin/destination link, for performing the route computation.
  • the boundary threshold is a maximum distance threshold which defines a maximum distance from which the alternative origin/distance link may be found from the origin/distance location. In other words, identifying links near the origin/destination location as candidate links is restricted to links which are within the maximum distance threshold (e.g., 100m) from the origin/destination location.
  • the routing request further comprises a route type information.
  • Route type information may, for example, be one or more criterion used for route computation, such as having the minimum amount of traffic/congestion enroute, having the minimum number of tolls cost enroute, the fastest route (in relation to time taken to travel from the origin location to the destination location) and the shortest route etc.
  • a route may be computed based on the route type information.
  • the routing request may be received from an e.g., user device.
  • the user device allows the routing request to comprise a user-defined origin location, a user-defined destination location, and a user-defined route type (i.e., route type information). That is, the user device may allow users to provide an input on their desired origin location, their desired destination location, and desired destination location, and their preferred one or more criterion for route computation. A route computed based on these user-defined locations and/or criterions may thus be usefully obtained.
  • the computed route may be transmitted to the user device.
  • FIG. 2 is a schematic flowchart illustrating a method of generating one or more lists of unrouteable links, in another exemplary embodiment.
  • the geospatial map data is obtained from the database, said geospatial map data comprising a plurality of geospatial links.
  • the routing server/system obtains geospatial map data comprising links and connectors from the database and loads it into its memory.
  • a start link is then selected (e.g., randomly) from the plurality of geospatial links. That is, a first location on the geospatial/map data is identified as the start location, and a link nearest to the start location is identified.
  • a popular point on a map e.g., a point of interest
  • the popular point may, for example, be chosen randomly in city areas or popular places.
  • a Breadth First Search algorithm may be used for example to explore the network, starting from the chosen start link. If there are no possible paths to the particular other geospatial link from the start link, the particular other geospatial link is added to the one or more pre-determined lists, e.g., a no-path-found (NPF) origin link list.
  • NPF no-path-found
  • a search is used to attempt to traverse to all links of the entire map. If any of the links are not routeable, they are considered unreachable links and these links are assigned as NPF links to be stored in the NPF link list.
  • NPF links or unrouteable links
  • a different start location is selected and steps 204 to 206 are repeated.
  • the large number of NPF links found may indicate a poorly selected start location that is relatively inaccessible, resulting in many other links being unrouteable from the start location. It will be appreciated that the number of NPF links may be considered large if they exceed a threshold number.
  • the threshold number may be 10%, 20%, 30%, 40% or 50% of the total number of links, wherein the threshold number is defined by the system and the threshold number is map dependent (i.e., source and country variable). In various exemplary embodiments, the threshold number may alternatively be defined by a user. In the exemplary embodiments, the selection of a different start location may involve selecting a different start link located in the same connected area (such as a same contiguous land mass) as the originally identified start link.
  • the selection of a different start location may involve selecting a different start link located in a land mass not contiguously connected to the originally identified start link (i.e., not in a same connected area).
  • the list of NPF links is stored (e.g., in a database) for use during route computation (see method 100).
  • steps 202, 204, 206 and 208 of the method 200 are pre-routing steps.
  • the pre-generated lists of unrouteable links are stored in the database which may be retrieved and utilized during route computation. That is, the pre-determined one or more lists of unrouteable links may be generated before the method 100 for route computation is performed.
  • the steps 202, 204, 206 and 208 taken to generate the lists before the method 100 may form part of the pre-routing steps.
  • the lists may be retrieved and used when the method 100 is implemented to determine whether or not the origin and/or destination links indicated in the routing request is an unrouteable link (see comparison performed at step 108) and, if affirmative, to find an alternative origin and/or destination links respectively. Thereby, the occurrence of route computation based on an unrouteable origin and/or destination links would be reduced.
  • the pre-determined lists may usefully allow the method 100 to be performed more efficiently and may alleviate the issue of bad data input such as poor map data quality.
  • the locality may comprise a number of islands, each island not routeable or accessible to each other. That is the islands are not connected to each other or in areas not connected to each other.
  • a plurality of start link locations is desired, with each start link selected from e.g., a link near a popular location on each island. Thereafter, the other links may be traversed for each start link. Links which are not routeable for each start link may thus be added to the NPF links list.
  • the method of generating one or more lists of unrouteable links may comprise the following: Firstly, starting from an unexplored bi-directional link (e.g., a link nearest to a start location), a Breadth First Search algorithm is implemented to explore the network to find other routeable links. With each explored link, the explored link is labelled as “explored”. Eventually, all routeable links from the start bi-directional link are marked as “explored”, and these routeable links form a first subset of the network of links (i.e., they are representative of links found on e.g., a first contiguous landmass or connected area).
  • an unexplored bi-directional link e.g., a link nearest to a start location
  • a Breadth First Search algorithm is implemented to explore the network to find other routeable links. With each explored link, the explored link is labelled as “explored”.
  • all routeable links from the start bi-directional link are marked as “explored”, and these routeable links form a first subset of the network of links (i
  • the above steps are repeated, starting from another unexplored bi-directional link, to explore another subset of the network (e.g., for another different contiguous landmass). This may be repeated as many times as necessary, e.g., until there are no unexplored bi-directional links remaining.
  • the subsets of the network are sorted by the number of ‘Explored’ links in descending order.
  • the subsets e.g., 1 or 2 or 3... subsets
  • These chosen subsets may be representative of the number of islands (with disconnected networks) of the country, such that each subset is representative of links on a particular island (or disconnected network).
  • NPF links list will then be formed based on the rest of the not-chosen subsets and the remaining unexplored uni-directional links.
  • the generated list is an unrouteable destination link list.
  • the generated lists may further comprise an unrouteable origin link list. Generating a separate list of unrouteable locations by origin links can advantageously allow obtaining a more accurate result when determining whether or not the origin and/or destination link is an unrouteable link (see comparison performed at step 108).
  • the unrouteable origin list may be detected by, for example, reversed loading grids and routing from the same popular point.
  • the direction is reversed and it is determined if a possible path is routeable to the start link from the other geospatial link. If that is not possible (i.e., no possible path is routeable to the start link from the other geospatial link), the other geospatial link is added to the unrouteable origin list.
  • the travel direction of the links in the network may be reversed and Breadth First Search algorithm may be used to search from the start link on the reversed network.
  • the unrouteable origin link list (i.e., NPF origin link list) contains links which cannot be routed from. This would include, for example, a link of an entrance into a carpark or a shopping mall. Conversely, a link at an exit from a carpark would be an NPF link if it were used as a destination link, but can be considered a valid origin link.
  • the NPF origin links may be determined through the pre-routing steps (e.g., steps 202, 204, 206 and 208 of FIG. 2).
  • the exemplary method 200 may be applied to map data of countries with several islands. For example, one or more popular points on each island may be chosen to perform or carry out the method 200, in order to generate the NPF lists for each island.
  • the exemplary method 200 may be implemented via a HTTP server or a web server such as an Online Routing Server (ORS) or integrated in a map data preparation tool.
  • the map data may be stored at a database which is remotely located from ORS.
  • all available network data may be loaded into a memory for better performance.
  • the unrouteable link lists may be written and stored as binary files in the database for retrieval and use by the ORS or other systems. These link IDs, road names and other related information may be written in WKT format into a CSV file for verification purposes.
  • NPF links may be loaded into memory of the ORS for the purposes of the route computation (see method 100) while starting up and initializing the system.
  • the creation of NPF files may be done by the ORS, which may be triggered by sending a POST request via http or it can be done by a map preparation tool.
  • the creation of NPF files may be performed via a NPF finder module.
  • a method of optimized path finding to avoid unnecessary computation may be provided.
  • a method of optimizing routing performance may be provided.
  • the method may be implemented via a HTTP server or a web server, such as in the form of an Online Routing Server (ORS).
  • ORS Online Routing Server
  • the origin and/or destination links may be unrouteable links (i.e. , No Path Found links). This may happen be due to the poor map quality such as in an open-source map for example.
  • the ORS may perform unnecessary computations on unrouteable origin/destination links, as the ORS is unaware that the links are unrouteable. This affects the throughput of the router (or routing server) and also potentially the accuracy of the route produced by the ORS.
  • the ORS would typically proceed with routing computation with the next nearest links as the origin/destination. This may lead to yet further unnecessary computations, if the next nearest links are also unrouteable.
  • the exemplary embodiments may address these issues and may reduce the need to perform unnecessary route computation if the link can be known to be not connected to the rest of the network.
  • the issues may be addressed by checking a link routing status first (via pre-routing steps e.g., steps 102, 104 and 106).
  • an attempt may be made to find an alternative link (e.g., the next nearest link) to compute the route, till it exhausts all the links within a boundary threshold. That is, in exemplary embodiments, there would be a sequential check (in order of proximity to the original link or original location) if other links near the original link are within the NPF link lists to identify an alternative link which is not within the NPF link list, before performing the route computation.
  • a nearby routeable link may be eventually found/identified if there is a nearby routeable path to a destination. This nearby routeable link may not necessarily be the nearest link to the destination link, as the nearest link may be an unrouteable link. In essence, a nearest link, which is routeable and which falls within the boundary threshold, is identified as the alternative link.
  • FIG. 3 is a schematic diagram of a system for route computation.
  • the system 300 may be configured to carry out the method 100 described with reference to FIG. 1 and the method 200 described with reference to FIG. 2.
  • like numerals are used for exemplary implementations of similar steps as described in FIGs. 1 and 2.
  • the system 300 comprises an application interface 302 configured to receive a routing request, the routing request including an origin location and a destination location.
  • the system 300 further comprises a processing module 304 coupled to the application interface 302.
  • the processing module 304 is configured to identify an origin link near the origin location, and to identify a destination link near the destination location; retrieve one or more pre-determined lists of unrouteable links from a database 306 (coupled to the processing module 304); compare the origin link and destination link with one or more lists of unrouteable links; and perform the route computation if the origin link and the destination link are not within the one or more links of unrouteable links.
  • the processing module 304 is further configured to carry out the steps of generating the one or more lists of unrouteable links (method 200 of FIG. 2).
  • the generated lists are transmitted to the database 306 for storage.
  • the processing module 304 carries out the pre-routing steps (method 200 of FIG. 2) before performing route computation (method 100 of FIG. 1), so that the generated list of unrouteable links may be utilised during route computation.
  • the database 306 is configured to store the pre determined list of unrouteable links.
  • Said list of unrouteable links may comprise an unrouteable origin list (i.e., a list of one or more unrouteable origin links(s)) and/or an unrouteable destination list (i.e., a list of one or more unrouteable destination links(s)).
  • the unrouteable origin list may be stored separately from the unrouteable destination list.
  • the unrouteable origin and destination lists may both be retrieved and be utilised individually for route computation.
  • the origin and destination lists may be stored at a memory module coupled to the processing module 304.
  • the database 306 is further configured to also store geospatial map data.
  • the system 300 may comprise a plurality of databases 306, and there may be a database configured to store the pre-determined lists of unrouteable links and there may be another database configured to store the geospatial map data (i.e., a geospatial map database).
  • Geospatial Map data stored in the database 306 may comprise link connectivity (i.e., how one link is connected to other links), link cost (e.g., based on distance and time), link details (e.g., name, latitude and longitude coordinates and road category), and landmark data such as name, type, and latitude and longitude coordinates.
  • the system 300 may be in communication, either wirelessly or in a wired-fashion, to a one or more user devices (not shown).
  • the user device(s) may allow a user to input, for example, a user-defined origin, a user-defined location, and a user-defined route type information, which may be transmitted to the system 300 in the routing request.
  • the application interface 302 is configured to receive the routing request in the form of an API call.
  • the routing request may be received from the one or more user devices coupled to the system 300.
  • the computed route may be transmitted to the one or more user devices via the system 300.
  • the system 300 may additionally be coupled to an online engine (also not shown).
  • the one or more user devices may also be coupled to the online engine.
  • the route computed by the system 300 may be output to the online engine for retrieval by the one or more user devices.
  • the online engine may for example be coupled to a database (separate from the database 306) which may store the computed route, and the one or more user devices may retrieve the computed route from the database.
  • the application interface 302 and the processing module 304 may form part of a web server such as an Online Routing Server (ORS).
  • ORS Online Routing Server
  • NPF No Path Found
  • a non-transitory tangible computer readable storage medium having stored thereon software instructions may be provided.
  • the instructions when executed by a computer processor of a system for route computation by a routing system, cause the computer processor to perform a method of route computation by a routing system, by executing the steps comprising, receiving a routing request, the routing request including an origin location and a destination location; identifying an origin link near the origin location, and identifying a destination link near the destination location; retrieving one or more pre-determined lists of unrouteable links from a database; comparing the origin link and destination link with one or more lists of unrouteable links; and performing the route computation with the origin link and destination link that are not in one or more lists of unrouteable links.
  • a non-transitory tangible computer readable storage medium having stored thereon software instructions may be provided.
  • the instructions, when executed by a computer processor of a system may further comprise generating the pre-determined one or more lists of unrouteable links by obtaining geospatial data from the database; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial link to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
  • the non-transitory tangible computer readable storage medium may also further contain instructions for a computer processor to perform the exemplary methods and possible alternatives, as described in at least e.g., FIG. 1 and FIG. 2 above.
  • Coupled or “connected” as used in this description are intended to cover both directly connected or connected through one or more intermediate means, unless otherwise stated.
  • An algorithm is generally relating to a self-consistent sequence of steps leading to a desired result.
  • the algorithmic steps can include physical manipulations of physical quantities, such as electrical, magnetic or optical signals capable of being stored, transmitted, transferred, combined, compared, and otherwise manipulated.
  • Such apparatus may be specifically constructed for the purposes of the methods, or may comprise a general purpose computer/processor or other device selectively activated or reconfigured by a computer program stored in a storage member.
  • the algorithms and displays described herein are not inherently related to any particular computer or other apparatus. It is understood that general purpose devices/machines may be used in accordance with the teachings herein. Alternatively, the construction of a specialized device/apparatus to perform the method steps may be desired.
  • the computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a suitable reader/general purpose computer. In such instances, the computer readable storage medium is non-transitory. Such storage medium also covers all computer-readable media e.g., medium that stores data only for short periods of time and/or only in the presence of power, such as register memory, processor cache and Random Access Memory (RAM) and the like.
  • the computer readable medium may even include a wired medium such as exemplified in the Internet system, or wireless medium such as exemplified in Bluetooth technology.
  • the computer program when loaded and executed on a suitable reader effectively results in an apparatus that can implement the steps of the described methods.
  • the example embodiments may also be implemented as hardware modules.
  • a module is a functional hardware unit designed for use with other components or modules.
  • a module may be implemented using digital or discrete electronic components, or it can form a portion of an entire electronic circuit such as an Application Specific Integrated Circuit (ASIC).
  • ASIC Application Specific Integrated Circuit
  • the disclosure may have disclosed a method and/or process as a particular sequence of steps. However, unless otherwise required, it will be appreciated the method or process should not be limited to the particular sequence of steps disclosed. Other sequences of steps may be possible. The particular order of the steps disclosed herein should not be construed as undue limitations. Unless otherwise required, a method and/or process disclosed herein should not be limited to the steps being carried out in the order written. The sequence of steps may be varied and still remain within the scope of the disclosure.
  • the word “substantially” whenever used is understood to include, but not restricted to, “entirely” or “completely” and the like.
  • terms such as “comprising”, “comprise”, and the like whenever used are intended to be non restricting descriptive language in that they broadly include elements/components recited after such terms, in addition to other components not explicitly recited.
  • reference to a “one” feature is also intended to be a reference to “at least one” of that feature.
  • Terms such as “consisting”, “consist”, and the like may, in the appropriate context, be considered as a subset of terms such as “comprising”, “comprise”, and the like.

Abstract

A method of route computation by a routing system, a system for route computation and a non-transitory tangible computer readable storage medium having stored thereon software instructions that, when executed by a computer processor of a system for route computation, cause the computer processor to perform a method for route computation are provided. The method of route computation comprises: receiving a routing request, the routing request comprising an origin location and a destination location; identifying an origin link near the origin location, and identifying a destination link near the destination location; retrieving one or more pre-determined lists of unrouteable links from a database; comparing the origin link and destination link with one or more lists of unrouteable links; and performing the route computation if the origin link and the destination link are not within the one or more lists of unrouteable links.

Description

A METHOD AND SYSTEM FOR ROUTE COMPUTATION
TECHNICAL FIELD
The present disclosure relates broadly to a method and a routing system for route computation.
BACKGROUND
With the advent of digital maps, ride-hailing and delivery service providers have experienced evolutionary changes in recent times. Service providers are no longer reliant upon drivers with intimate knowledge of local roads. Instead, the driver is provided with route information between an origin and a destination, by a remotely located central server.
One function of the central server is to compute and provide one or more available routes between an origin and a destination. Upon matching a driver with a passenger, the server will determine and communicate a route for the driver to reach the passenger. Thereafter, upon pick-up of the passenger at the passenger’s location, the driver is provided with another route to the desired destination of the passenger.
As the routing requests are made with the expectation of a response in real-time, it is imperative for the server to be able to compute and to provide the routes in a timely fashion, e.g., within sub-seconds. However, the server may be inundated with requests e.g., during peak periods and is hence unable to handle the computations in a timely fashion, especially as the size of the map increases.
This may be alleviated by increasing the number of servers. However, it will be appreciated that increasing the number of servers is not cost-effective. In view of the above, there exists a need for a method and a system for route computation that seeks to address at least one of the above problems.
SUMMARY
In accordance with an aspect of the present disclosure, there is provided a method of route computation by a routing system, the method comprising: receiving a routing request, the routing request comprising an origin location and a destination location; identifying an origin link near the origin location, and identifying a destination link near the destination location; retrieving one or more pre-determined lists of unrouteable links from a database; comparing the origin link and destination link with one or more lists of unrouteable links; and performing the route computation if the origin link and the destination link are not within the one or more lists of unrouteable links.
The identified origin link may be a link nearest to the origin location, and the identified destination link may be a link nearest the destination location.
The method may further comprise identifying an alternative destination link if the destination link is found within the one or more lists of unrouteable links; identifying an alternative origin link if the origin link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative destination link and/or the alternative origin link, if the alternative destination link and alternative origin link are identified.
Identifying the alternative origin link may further comprise: identifying links near the origin location; and selecting one of the identified links near the origin location as the alternative origin link, said alternative origin link being the link nearest to the origin location and which is not within the one or more lists of unrouteable links.
Identifying the alternative destination link may further comprise: identifying links near the destination location; and selecting one of the identified links near the destination location as the alternative destination link, said alternative destination link being the link nearest to the destination location and which is not within the one or more lists of unrouteable links.
Identifying links near the origin location may comprise identifying links within a boundary threshold; and identifying links near the destination location comprises identifying links within the boundary threshold.
The pre-determined one or more lists of unrouteable locations may be generated by obtaining geospatial data from the database, said geospatial data comprising a plurality of geospatial links; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial link to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
Selecting a start link may comprise selecting a link which is near a popular location.
A different start link may be selected as the start link, if the number of links in the one or more pre-determined list comprises more than 10%, 20%, 30%, 40% or 50% of a total number of geospatial links.
The different start link may be selected from a link located in an area which is not connected to the start link.
The geospatial links are added to the one or more pre-determined lists if there are no possible paths from both the start link and the different start link, to the other geospatial link.
The generated list may be an unrouteable destination list.
The other geospatial generated list may further comprise an unrouteable origin list and the method may further comprise for each one of the other geospatial links: determining if a possible path is routeable to the start link from the other geospatial link; and adding the other geospatial link to the unrouteable origin list, if there are no possible paths to the start link from the other geospatial link.
In accordance with another aspect of the present disclosure, there is provided a system for route computation, the system comprising: an application interface configured to receive a routing request, the routing request comprising an origin location and a destination location; and a processing module configured to identify an origin link near the origin location, and to identify a destination link near the destination location; retrieve one or more pre-determined lists of unrouteable links from a database; compare the origin link and destination link with one or more lists of unrouteable links; and perform the route computation if the origin link and the destination link are not within the one or more lists of unrouteable links.
The identified origin link may be a link nearest to the origin location, and the identified destination link may be a link nearest the destination location.
The processing module may be further configured to identify an alternative destination link if the destination link is found within the one or more lists of unrouteable links; identify an alternative origin link if the origin link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative destination link and/or the alternative origin link, if the alternative destination link or alternative origin link is identified.
Identifying the alternative origin link may further comprise: identifying links near the origin location; and selecting one of the identified links near the origin location as the alternative origin link, said alternative origin link being the link nearest to the origin location and which is not within the one or more lists of unrouteable links.
Identifying the alternative destination link may further comprise: identifying links near the destination location; and selecting one of the identified links near the destination location as the alternative destination link, said alternative destination link being the link nearest to the destination location and which is not within the one or more lists of unrouteable links. Identifying links near the origin location may comprise identifying links within a boundary threshold; and identifying links near the destination location comprises identifying links within the boundary threshold.
The processing module may be configured to generate the pre-determined one or more lists of unrouteable locations by obtaining geospatial data from the database, said geospatial data comprising a plurality of geospatial links; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial link to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
The selected start link may be a link which is near a popular location.
The processing module may be configured to select a different start link as the start link, if the processing module determines that the number of links in the one or more pre-determined list comprises more than 10%, 20%, 30%, 40% or 50% of a total number of geospatial links.
The different start link may be selected from a link located in an area which is not connected to the start link.
The geospatial links are added to the one or more pre-determined lists if there are no possible paths from both the start link and the different start link, to the other geospatial link.
The generated list may be an unrouteable destination list.
The other geospatial generated list may further comprise an unrouteable origin list, and the processing module may be further configured to determine if a possible path is routeable to the start link from the other geospatial link; and add the other geospatial link to the unrouteable origin list, if there are no possible paths to the start link from the other geospatial link.
In accordance with another aspect of the present disclosure, there is provided a non-transitory tangible computer readable storage medium having stored thereon software instructions that, when executed by a computer processor of a system for route computation, cause the computer processor to perform a method of route computation, by executing the steps comprising, receiving a routing request, the routing request including an origin location and a destination location; identifying an origin link near the origin location, and identifying a destination link near the destination location; retrieving one or more pre-determined lists of unrouteable links from a database; comparing the origin link and destination link with one or more lists of unrouteable links; and performing the route computation if the origin link and destination link are not within the one or more lists of unrouteable links.
The steps may further comprise generating the pre-determined one or more lists of unrouteable locations by obtaining geospatial data from the database, said geospatial data comprising a plurality of geospatial links; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial links to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
BRIEF DESCRIPTION OF THE DRAWINGS
Exemplary embodiments of the invention will be better understood and readily apparent to one of ordinary skill in the art from the following written description, by way of example only, and in conjunction with the drawings, in which:
FIG. 1 is a schematic flowchart illustrating a method of route computation in an exemplary embodiment. FIG. 2 is a schematic flowchart illustrating a method of generating one or more lists of unrouteable links, in another exemplary embodiment.
FIG. 3 is a schematic diagram of a system for route computation in an exemplary embodiment.
DETAILED DESCRIPTION
Exemplary embodiments described below may provide a method and a system for route computation.
Detailed examples of various exemplary, non-limiting embodiments are described below.
In exemplary embodiments described herein, a location may be a place identified/defined by a user (e.g., origin location and destination location defined in a user’s routing request). A link is a digital representation of a position on a digital map (e.g., a link may be an entire road or a segment of a road), and various links (e.g., origin link, destination link) may be identified and stored as a set of latitude and longitude coordinates. For example, a link may be stored as a set of latitude and longitude coordinates flat": 11.521432, "Ing": 104.892398). A link may also comprise other parameters, such as road category and directionality of traffic flow. A link can be connected to one or more other links directly. For example, where the link is a road segment, the ends of the road segment may be connected directly to other road segments, implying direct connectivity between the link and these other links (road segments). A link may also be indirectly connected to another link by traversing through an intermediary link. A route between two links can be computed, if they are connected either directly or indirectly. Where two links are not connected, either directly or indirectly via intermediary links, no route can be obtained. Where no route can be obtained between a link near a user-defined origin location and a link near a user-defined destination location, a user’s routing request cannot be satisfied. FIG. 1 is a schematic flowchart illustrating a method of route computation in an exemplary embodiment.
In the exemplary embodiment, the method 100 for route computation may be performed based on map data representing maps of different regions and countries etc. Such map data may be stored at and may be retrieved from a database (e.g., a map database).
In the exemplary embodiment, the various links (e.g., origin links, destination links, unrouteable links, map links) may be identified by, for example, latitude and longitude coordinates in the map data.
In the exemplary embodiment, in the method 100, at step 102, a routing request is received, the routing request including an origin location and a destination location. At step 104, an origin link and a destination link are identified, said origin link being a link near the origin location and said destination link being a link near the destination location. At step 106, one or more pre-determined lists of unrouteable links are retrieved from a database. At step 108, the origin link and the destination link are compared with the one or more lists of unrouteable links. At step 110, the route computation is performed if the origin link and destination link are not within the one or more lists of unrouteable links.
In the exemplary embodiment, the routing request is described to include one origin location and one destination location. In various exemplary embodiments, the routing request may include one origin location and a plurality of destination locations to be traversed in sequence, a plurality of origin locations and one destination location, or a plurality of origin locations and a plurality of destination locations. In one example, the routing request may comprise one origin location and a plurality of destination locations so that route computation may be performed between the origin location and each of the plurality of destination locations to eventually determine the one destination location from the plurality of destination locations, which is both routeable and the nearest to the origin location. These alternative combinations of the number of origin and destination locations included in the routing request will be readily understood and are not herein described in further detail for brevity. It will be appreciated that in each of these scenarios, the origin links and destination links may be identified and compared with one or more lists of unrouteable links before route computation is performed.
In the exemplary embodiment, it is also described that a single routing request is received at step 102. However, it is to be understood that in various exemplary embodiments, there may be one or more routing requests received at step 102 (i.e., at step 102, at least one routing request is received).
In the exemplary embodiment, in the method 100, the identified origin link is a link nearest to the origin location, and the identified destination link is a link nearest the destination location.
In the exemplary embodiment, the method 100 may further comprise identifying an alternative destination nearest link if the destination link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative destination link. The one or more lists may also be referred to as no-path-found (NPF) lists.
In the exemplary embodiment, the method 100 may further comprise identifying an alternative origin link if the origin link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative origin link. That is, if the origin link (e.g., identified at step 104) matches a link in the one or more of the NPF lists, the alternative origin link is used.
In the exemplary embodiment, identifying the alternative origin link may further comprise: identifying links near the origin location; and selecting one of the identified links near the origin location as the alternative origin link, said alternative origin link being the link nearest to the origin location and which is not within the one or more lists of unrouteable links. This may be achieved by going through the links nearby origin locations in order of proximity to the origin location, and comparing each one of these links for matches with the NPF lists. The first link which is not found in the NPF list may then be considered or identified as the alternative origin link. Similarly, in the exemplary embodiment, the method 100 may further comprise identifying an alternative destination link if the destination link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative destination link. That is, if the destination link matches a link in one or more of the NPF lists, the alternative destination link is used. Further, identifying the alternative destination link further comprises: identifying links near the destination location; and selecting one of the identified links near the destination links as the alternative destination link, said alternative destination link being the link nearest to the destination location and which is not within the one or more lists of unrouteable links. This may be achieved by going through the links near the destination location in order of proximity to the destination location, and comparing each one of these links for matches with the NPF lists. The first link which is not found in the NPF list may then be considered or identified as the alternative destination link.
In the exemplary embodiment, identifying links near the origin location may further comprise identifying links within a boundary threshold; and identifying links near the destination location comprises identifying links within the same or another boundary threshold.
In an exemplary embodiment, the boundary threshold is a parameter which specifies a maximum distance threshold from the origin or destination location. The maximum distance threshold may be determined by the system. For example, the boundary threshold may be defined by the system such that only links within a defined distance of e.g., 100m of the origin/destination location may be considered as alternatives. Further, the threshold may also factor accessibility constraints, such as steep cliffs or staircases, between the alternative origin/destination links and the origin/destination location respectively.
The boundary threshold may usefully compensate for instances where the origin or destination link is an unrouteable link due to e.g., bad data input such as poor map data quality. Alternative origin or destination links which are both near a routeable origin or destination location respectively, and within a maximum distance away from the origin or destination location respectively may therefore be quickly found. In an exemplary embodiment, the process to identify the alternative origin/destination links may be an iterative process where a next nearest link which is routeable (i.e., not found within the one or more lists of unrouteable links), is identified as the alternative origin/destination link. For example, where an origin/destination link is found in the one or more unrouteable lists, candidate links which are near the origin/destination locations are identified. The candidate links nearest to the origin/destination location is checked if it is found within the one or more lists of unrouteable links. If not, the candidate is deemed routeable and hence may be used as the alternative origin/destination links. In other words, candidate links are checked for routability in order of proximity to the origin/destination link, before it is determined as the alternative origin/destination link, for performing the route computation.
In an exemplary embodiment, the boundary threshold is a maximum distance threshold which defines a maximum distance from which the alternative origin/distance link may be found from the origin/distance location. In other words, identifying links near the origin/destination location as candidate links is restricted to links which are within the maximum distance threshold (e.g., 100m) from the origin/destination location.
In the exemplary embodiment, the routing request further comprises a route type information. Route type information may, for example, be one or more criterion used for route computation, such as having the minimum amount of traffic/congestion enroute, having the minimum number of tolls cost enroute, the fastest route (in relation to time taken to travel from the origin location to the destination location) and the shortest route etc. In the exemplary embodiment, after it is determined that route computation is to be performed (see step 110), a route may be computed based on the route type information.
In the exemplary embodiment, the routing request (see step 102) may be received from an e.g., user device. In the exemplary embodiment, the user device allows the routing request to comprise a user-defined origin location, a user-defined destination location, and a user-defined route type (i.e., route type information). That is, the user device may allow users to provide an input on their desired origin location, their desired destination location, and desired destination location, and their preferred one or more criterion for route computation. A route computed based on these user-defined locations and/or criterions may thus be usefully obtained.
In the exemplary embodiment, after the route computation is performed, the computed route may be transmitted to the user device.
FIG. 2 is a schematic flowchart illustrating a method of generating one or more lists of unrouteable links, in another exemplary embodiment.
In the method 200, at step 202, the geospatial map data is obtained from the database, said geospatial map data comprising a plurality of geospatial links. In particular, the routing server/system obtains geospatial map data comprising links and connectors from the database and loads it into its memory.
At step 204, a start link is then selected (e.g., randomly) from the plurality of geospatial links. That is, a first location on the geospatial/map data is identified as the start location, and a link nearest to the start location is identified. In an exemplary embodiment, a popular point on a map (e.g., a point of interest) may be used. The popular point may, for example, be chosen randomly in city areas or popular places.
At step 206, for each one of the other geospatial links (which is not the start location), it is determined whether a possible path is routeable from the start link to the other geospatial link. In one exemplary embodiment, a Breadth First Search algorithm may be used for example to explore the network, starting from the chosen start link. If there are no possible paths to the particular other geospatial link from the start link, the particular other geospatial link is added to the one or more pre-determined lists, e.g., a no-path-found (NPF) origin link list.
In other words, starting from a selected start location, a search is used to attempt to traverse to all links of the entire map. If any of the links are not routeable, they are considered unreachable links and these links are assigned as NPF links to be stored in the NPF link list. In an example embodiment, in the event a large number of NPF links (or unrouteable links) are found, a different start location is selected and steps 204 to 206 are repeated. The large number of NPF links found may indicate a poorly selected start location that is relatively inaccessible, resulting in many other links being unrouteable from the start location. It will be appreciated that the number of NPF links may be considered large if they exceed a threshold number. The threshold number may be 10%, 20%, 30%, 40% or 50% of the total number of links, wherein the threshold number is defined by the system and the threshold number is map dependent (i.e., source and country variable). In various exemplary embodiments, the threshold number may alternatively be defined by a user. In the exemplary embodiments, the selection of a different start location may involve selecting a different start link located in the same connected area (such as a same contiguous land mass) as the originally identified start link.
In an alternative embodiment, the selection of a different start location may involve selecting a different start link located in a land mass not contiguously connected to the originally identified start link (i.e., not in a same connected area).
At step 208, the list of NPF links is stored (e.g., in a database) for use during route computation (see method 100).
In the exemplary embodiment, steps 202, 204, 206 and 208 of the method 200 are pre-routing steps. After step 208, the pre-generated lists of unrouteable links (or lists of no-path-found links) are stored in the database which may be retrieved and utilized during route computation. That is, the pre-determined one or more lists of unrouteable links may be generated before the method 100 for route computation is performed. The steps 202, 204, 206 and 208 taken to generate the lists before the method 100 may form part of the pre-routing steps. By generating the lists before the method 100 is performed, the lists may be retrieved and used when the method 100 is implemented to determine whether or not the origin and/or destination links indicated in the routing request is an unrouteable link (see comparison performed at step 108) and, if affirmative, to find an alternative origin and/or destination links respectively. Thereby, the occurrence of route computation based on an unrouteable origin and/or destination links would be reduced. In other words, the pre-determined lists may usefully allow the method 100 to be performed more efficiently and may alleviate the issue of bad data input such as poor map data quality.
It is recognised that that due to geographic barriers, there may be a large number of links that are not routeable from one start link. For example, the locality may comprise a number of islands, each island not routeable or accessible to each other. That is the islands are not connected to each other or in areas not connected to each other. In this example, a plurality of start link locations is desired, with each start link selected from e.g., a link near a popular location on each island. Thereafter, the other links may be traversed for each start link. Links which are not routeable for each start link may thus be added to the NPF links list.
Thus, in one exemplary embodiment, the method of generating one or more lists of unrouteable links (i.e., NPF links list) may comprise the following: Firstly, starting from an unexplored bi-directional link (e.g., a link nearest to a start location), a Breadth First Search algorithm is implemented to explore the network to find other routeable links. With each explored link, the explored link is labelled as “explored”. Eventually, all routeable links from the start bi-directional link are marked as “explored”, and these routeable links form a first subset of the network of links (i.e., they are representative of links found on e.g., a first contiguous landmass or connected area). Thereafter, the above steps are repeated, starting from another unexplored bi-directional link, to explore another subset of the network (e.g., for another different contiguous landmass). This may be repeated as many times as necessary, e.g., until there are no unexplored bi-directional links remaining. Next, the subsets of the network are sorted by the number of ‘Explored’ links in descending order. Next, the subsets (e.g., 1 or 2 or 3... subsets) with the top or largest number of routeable links are chosen. These chosen subsets may be representative of the number of islands (with disconnected networks) of the country, such that each subset is representative of links on a particular island (or disconnected network). Next, NPF links list will then be formed based on the rest of the not-chosen subsets and the remaining unexplored uni-directional links.
In the exemplary embodiment, the generated list is an unrouteable destination link list. In alternative exemplary embodiments, the generated lists may further comprise an unrouteable origin link list. Generating a separate list of unrouteable locations by origin links can advantageously allow obtaining a more accurate result when determining whether or not the origin and/or destination link is an unrouteable link (see comparison performed at step 108).
In the exemplary embodiment, the unrouteable origin list (NPF origin links) may be detected by, for example, reversed loading grids and routing from the same popular point. For example, with reference to steps 204 and 206 above, after the start link is identified, instead of determining if a possible path is routeable from the start link to the other geospatial links, the direction is reversed and it is determined if a possible path is routeable to the start link from the other geospatial link. If that is not possible (i.e., no possible path is routeable to the start link from the other geospatial link), the other geospatial link is added to the unrouteable origin list. In other words, the travel direction of the links in the network may be reversed and Breadth First Search algorithm may be used to search from the start link on the reversed network.
The unrouteable origin link list (i.e., NPF origin link list) contains links which cannot be routed from. This would include, for example, a link of an entrance into a carpark or a shopping mall. Conversely, a link at an exit from a carpark would be an NPF link if it were used as a destination link, but can be considered a valid origin link. In the exemplary embodiment, the NPF origin links may be determined through the pre-routing steps (e.g., steps 202, 204, 206 and 208 of FIG. 2).
The exemplary method 200 may be applied to map data of countries with several islands. For example, one or more popular points on each island may be chosen to perform or carry out the method 200, in order to generate the NPF lists for each island.
The exemplary method 200 may be implemented via a HTTP server or a web server such as an Online Routing Server (ORS) or integrated in a map data preparation tool. The map data may be stored at a database which is remotely located from ORS.
In the exemplary embodiment, all available network data (or as much as possible) may be loaded into a memory for better performance. In the exemplary embodiment, in the ORS, the unrouteable link lists may be written and stored as binary files in the database for retrieval and use by the ORS or other systems. These link IDs, road names and other related information may be written in WKT format into a CSV file for verification purposes.
In the exemplary embodiment, NPF links may be loaded into memory of the ORS for the purposes of the route computation (see method 100) while starting up and initializing the system.
In the exemplary embodiment, the creation of NPF files (e.g., NPF links lists; see step 208) may be done by the ORS, which may be triggered by sending a POST request via http or it can be done by a map preparation tool. In the exemplary embodiment, the creation of NPF files may be performed via a NPF finder module.
In the exemplary embodiments, a method of optimized path finding to avoid unnecessary computation may be provided. In other words, a method of optimizing routing performance may be provided.
In the exemplary embodiments, the method may be implemented via a HTTP server or a web server, such as in the form of an Online Routing Server (ORS). It has been recognised that typically, when the ORS performs routing between origin and destination links, the origin and/or destination links may be unrouteable links (i.e. , No Path Found links). This may happen be due to the poor map quality such as in an open-source map for example. As such, the ORS may perform unnecessary computations on unrouteable origin/destination links, as the ORS is unaware that the links are unrouteable. This affects the throughput of the router (or routing server) and also potentially the accuracy of the route produced by the ORS.
Further, after performing the first unnecessary route computation and discovering that the link is unrouteable, the ORS would typically proceed with routing computation with the next nearest links as the origin/destination. This may lead to yet further unnecessary computations, if the next nearest links are also unrouteable. The exemplary embodiments may address these issues and may reduce the need to perform unnecessary route computation if the link can be known to be not connected to the rest of the network. In the exemplary embodiments, the issues may be addressed by checking a link routing status first (via pre-routing steps e.g., steps 102, 104 and 106).
Further, if that link is found to be not routeable, an attempt may be made to find an alternative link (e.g., the next nearest link) to compute the route, till it exhausts all the links within a boundary threshold. That is, in exemplary embodiments, there would be a sequential check (in order of proximity to the original link or original location) if other links near the original link are within the NPF link lists to identify an alternative link which is not within the NPF link list, before performing the route computation. In exemplary embodiments, a nearby routeable link may be eventually found/identified if there is a nearby routeable path to a destination. This nearby routeable link may not necessarily be the nearest link to the destination link, as the nearest link may be an unrouteable link. In essence, a nearest link, which is routeable and which falls within the boundary threshold, is identified as the alternative link.
An exemplary system for route computation is described with reference to FIG. 3.
FIG. 3 is a schematic diagram of a system for route computation. In the exemplary embodiment, the system 300 may be configured to carry out the method 100 described with reference to FIG. 1 and the method 200 described with reference to FIG. 2. For ease of reference, like numerals are used for exemplary implementations of similar steps as described in FIGs. 1 and 2.
In the exemplary embodiment, the system 300 comprises an application interface 302 configured to receive a routing request, the routing request including an origin location and a destination location. The system 300 further comprises a processing module 304 coupled to the application interface 302. The processing module 304 is configured to identify an origin link near the origin location, and to identify a destination link near the destination location; retrieve one or more pre-determined lists of unrouteable links from a database 306 (coupled to the processing module 304); compare the origin link and destination link with one or more lists of unrouteable links; and perform the route computation if the origin link and the destination link are not within the one or more links of unrouteable links.
In the exemplary embodiment, the processing module 304 is further configured to carry out the steps of generating the one or more lists of unrouteable links (method 200 of FIG. 2). The generated lists are transmitted to the database 306 for storage. In the exemplary embodiment, the processing module 304 carries out the pre-routing steps (method 200 of FIG. 2) before performing route computation (method 100 of FIG. 1), so that the generated list of unrouteable links may be utilised during route computation.
In the exemplary embodiment, the database 306 is configured to store the pre determined list of unrouteable links. Said list of unrouteable links may comprise an unrouteable origin list (i.e., a list of one or more unrouteable origin links(s)) and/or an unrouteable destination list (i.e., a list of one or more unrouteable destination links(s)). In the exemplary embodiment, the unrouteable origin list may be stored separately from the unrouteable destination list. During route computation, the unrouteable origin and destination lists may both be retrieved and be utilised individually for route computation. In another exemplary embodiment, the origin and destination lists may be stored at a memory module coupled to the processing module 304.
In the exemplary embodiment, the database 306 is further configured to also store geospatial map data. In some alternative exemplary embodiments however, the system 300 may comprise a plurality of databases 306, and there may be a database configured to store the pre-determined lists of unrouteable links and there may be another database configured to store the geospatial map data (i.e., a geospatial map database). Geospatial Map data stored in the database 306 may comprise link connectivity (i.e., how one link is connected to other links), link cost (e.g., based on distance and time), link details (e.g., name, latitude and longitude coordinates and road category), and landmark data such as name, type, and latitude and longitude coordinates.
In the exemplary embodiment, the system 300 may be in communication, either wirelessly or in a wired-fashion, to a one or more user devices (not shown). The user device(s) may allow a user to input, for example, a user-defined origin, a user-defined location, and a user-defined route type information, which may be transmitted to the system 300 in the routing request.
In the exemplary embodiment, the application interface 302 is configured to receive the routing request in the form of an API call. The routing request may be received from the one or more user devices coupled to the system 300. After the route computation is performed, the computed route may be transmitted to the one or more user devices via the system 300.
In the exemplary embodiment, the system 300 may additionally be coupled to an online engine (also not shown). The one or more user devices may also be coupled to the online engine. In the exemplary embodiment, the route computed by the system 300 may be output to the online engine for retrieval by the one or more user devices. The online engine may for example be coupled to a database (separate from the database 306) which may store the computed route, and the one or more user devices may retrieve the computed route from the database.
In the exemplary embodiment, the application interface 302 and the processing module 304 may form part of a web server such as an Online Routing Server (ORS). In some alternative exemplary embodiments, a No Path Found (NPF) finder module 308 may be comprised in the processing module 304.
In another exemplary embodiment, a non-transitory tangible computer readable storage medium having stored thereon software instructions may be provided. The instructions, when executed by a computer processor of a system for route computation by a routing system, cause the computer processor to perform a method of route computation by a routing system, by executing the steps comprising, receiving a routing request, the routing request including an origin location and a destination location; identifying an origin link near the origin location, and identifying a destination link near the destination location; retrieving one or more pre-determined lists of unrouteable links from a database; comparing the origin link and destination link with one or more lists of unrouteable links; and performing the route computation with the origin link and destination link that are not in one or more lists of unrouteable links. In another exemplary embodiment, a non-transitory tangible computer readable storage medium having stored thereon software instructions may be provided. The instructions, when executed by a computer processor of a system may further comprise generating the pre-determined one or more lists of unrouteable links by obtaining geospatial data from the database; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial link to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
The non-transitory tangible computer readable storage medium may also further contain instructions for a computer processor to perform the exemplary methods and possible alternatives, as described in at least e.g., FIG. 1 and FIG. 2 above.
The terms "coupled" or "connected" as used in this description are intended to cover both directly connected or connected through one or more intermediate means, unless otherwise stated.
The description herein may be, in certain portions, explicitly or implicitly described as algorithms and/or functional operations that operate on data within a server/computer memory or an electronic circuit. These algorithmic descriptions and/or functional operations are usually used by those skilled in the information/data processing arts for efficient description. An algorithm is generally relating to a self-consistent sequence of steps leading to a desired result. The algorithmic steps can include physical manipulations of physical quantities, such as electrical, magnetic or optical signals capable of being stored, transmitted, transferred, combined, compared, and otherwise manipulated.
Further, unless specifically stated otherwise, and would ordinarily be apparent from the following, a person skilled in the art will appreciate that throughout the present specification, discussions utilizing terms such as “identifying”, “calculating”, “determining”, “generating”, “initializing”, “outputting”, and the like, refer to action and processes of an instructing processor/computer system, or similar electronic circuit/device/component, that manipulates/processes and transforms data represented as physical quantities within the described system into other data similarly represented as physical quantities within the system or other information storage, transmission or display devices etc.
The description also discloses relevant device/apparatus for performing the steps of the described methods. Such apparatus may be specifically constructed for the purposes of the methods, or may comprise a general purpose computer/processor or other device selectively activated or reconfigured by a computer program stored in a storage member. The algorithms and displays described herein are not inherently related to any particular computer or other apparatus. It is understood that general purpose devices/machines may be used in accordance with the teachings herein. Alternatively, the construction of a specialized device/apparatus to perform the method steps may be desired.
In addition, it is submitted that the description also implicitly covers a computer program, in that it would be clear that the steps of the methods described herein may be put into effect by computer code. It will be appreciated that a large variety of programming languages and coding can be used to implement the teachings of the description herein. Moreover, the computer program if applicable is not limited to any particular control flow and can use different control flows without departing from the scope of the invention.
Furthermore, one or more of the steps of the computer program if applicable may be performed in parallel and/or sequentially. Such a computer program if applicable may be stored on any computer readable medium. The computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a suitable reader/general purpose computer. In such instances, the computer readable storage medium is non-transitory. Such storage medium also covers all computer-readable media e.g., medium that stores data only for short periods of time and/or only in the presence of power, such as register memory, processor cache and Random Access Memory (RAM) and the like. The computer readable medium may even include a wired medium such as exemplified in the Internet system, or wireless medium such as exemplified in Bluetooth technology. The computer program when loaded and executed on a suitable reader effectively results in an apparatus that can implement the steps of the described methods. The example embodiments may also be implemented as hardware modules. A module is a functional hardware unit designed for use with other components or modules. For example, a module may be implemented using digital or discrete electronic components, or it can form a portion of an entire electronic circuit such as an Application Specific Integrated Circuit (ASIC). A person skilled in the art will understand that the example embodiments can also be implemented as a combination of hardware and software modules.
Additionally, when describing some embodiments, the disclosure may have disclosed a method and/or process as a particular sequence of steps. However, unless otherwise required, it will be appreciated the method or process should not be limited to the particular sequence of steps disclosed. Other sequences of steps may be possible. The particular order of the steps disclosed herein should not be construed as undue limitations. Unless otherwise required, a method and/or process disclosed herein should not be limited to the steps being carried out in the order written. The sequence of steps may be varied and still remain within the scope of the disclosure.
Further, in the description herein, the word “substantially” whenever used is understood to include, but not restricted to, "entirely" or “completely” and the like. In addition, terms such as "comprising", "comprise", and the like whenever used, are intended to be non restricting descriptive language in that they broadly include elements/components recited after such terms, in addition to other components not explicitly recited. For an example, when “comprising” is used, reference to a “one” feature is also intended to be a reference to “at least one” of that feature. Terms such as “consisting”, “consist”, and the like, may, in the appropriate context, be considered as a subset of terms such as "comprising", "comprise", and the like. Therefore, in embodiments disclosed herein using the terms such as "comprising", "comprise", and the like, it will be appreciated that these embodiments provide teaching for corresponding embodiments using terms such as “consisting”, “consist”, and the like. Further, terms such as "about", "approximately" and the like whenever used, typically means a reasonable variation, for example a variation of +/- 5% of the disclosed value, or a variance of 4% of the disclosed value, or a variance of 3% of the disclosed value, a variance of 2% of the disclosed value or a variance of 1% of the disclosed value. Furthermore, in the description herein, certain values may be disclosed in a range. The values showing the end points of a range are intended to illustrate a preferred range. Whenever a range has been described, it is intended that the range covers and teaches all possible sub-ranges as well as individual numerical values within that range. That is, the end points of a range should not be interpreted as inflexible limitations. For example, a description of a range of 1% to 5% is intended to have specifically disclosed sub-ranges 1% to 2%, 1% to 3%, 1% to 4%, 2% to 3% etc., as well as individually, values within that range such as 1%, 2%, 3%, 4% and 5%. The intention of the above specific disclosure is applicable to any depth/breadth of a range.
It will be appreciated by a person skilled in the art that other variations and/or modifications may be made to the specific embodiments without departing from the scope of the invention as broadly described. For example, in the description herein, features of different exemplary embodiments may be mixed, combined, interchanged, incorporated, adopted, modified, included etc. or the like across different exemplary embodiments. The present embodiments are, therefore, to be considered in all respects to be illustrative and not restrictive.

Claims

1. A system for route computation, the system comprising: an application interface configured to receive a routing request, the routing request comprising an origin location and a destination location; and a processing module configured to identify an origin link near the origin location, and to identify a destination link near the destination location; retrieve one or more pre-determined lists of unrouteable links from a database; compare the origin link and destination link with one or more lists of unrouteable links; and perform the route computation if the origin link and the destination link are not within the one or more lists of unrouteable links.
2. The system of claim 1 , wherein the identified origin link is a link nearest to the origin location, and the identified destination link is a link nearest the destination location.
3. The system as claimed in claim 2, wherein the processing module is further configured to identify an alternative destination link if the destination link is found within the one or more lists of unrouteable links; identify an alternative origin link if the origin link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative destination link and/or the alternative origin link, if the alternative destination link or alternative origin link is identified.
4. The system as claimed in claim 3 wherein identifying the alternative origin link further comprises: identifying links near the origin location; and selecting one of the identified links near the origin location as the alternative origin link, said alternative origin link being the link nearest to the origin location and which is not within the one or more lists of unrouteable links.
5. The system as claimed in claim 3 or 4 wherein identifying the alternative destination link further comprises: identifying links near the destination location; and selecting one of the identified links near the destination location as the alternative destination link, said alternative destination link being the link nearest to the destination location and which is not within the one or more lists of unrouteable links.
6. The system as claimed in claims 1 to 5, wherein identifying links near the origin location comprises identifying links within a boundary threshold; and identifying links near the destination location comprises identifying links within the boundary threshold.
7. The system as claimed in any one of claim 1 to 6, wherein the processing module is configured to generate the pre-determined one or more lists of unrouteable locations by obtaining geospatial data from the database, said geospatial data comprising a plurality of geospatial links; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial link to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
8. The system as claimed in claim 7, wherein the selected start link is a link which is near a popular location.
9. The system as claimed in claims 7 or 8, wherein the processing module is configured to select a different start link as the start link, if the processing module determines that the number of links in the one or more pre-determined list comprises more than 10%, 20%, 30%, 40% or 50% of a total number of geospatial links.
10. The system as claimed in claim 9 wherein the different start link is selected from a link located in an area which is not connected to the start link.
11 . The system as claimed in claim 10 wherein the wherein the geospatial links are added to the one or more pre-determined lists if there are no possible paths from both the start link and the different start link, to the other geospatial link.
12. The system as claimed in claims 7 to 11 , wherein the generated list is an unrouteable destination list.
13. The system as claimed in claims 7 to 12, wherein the other geospatial generated list further comprises an unrouteable origin list, and the processing module is further configured to determine if a possible path is routeable to the start link from the other geospatial link; and add the other geospatial link to the unrouteable origin list, if there are no possible paths to the start link from the other geospatial link.
14. A method of route computation by a routing system comprising a processing module and a database, the method comprising: receiving a routing request, the routing request comprising an origin location and a destination location; identifying an origin link near the origin location, and identifying a destination link near the destination location; retrieving one or more pre-determined lists of unrouteable links from a database; comparing the origin link and destination link with one or more lists of unrouteable links; and performing the route computation if the origin link and the destination link are not within the one or more lists of unrouteable links.
15. The method as claimed in claim 14, wherein the identified origin link is a link nearest to the origin location, and the identified destination link is a link nearest the destination location.
16. The method as claimed in claim 15, further comprising identifying an alternative destination link if the destination link is found within the one or more lists of unrouteable links; identifying an alternative origin link if the origin link is found within the one or more lists of unrouteable links; and performing the route computation based on the alternative destination link and/or the alternative origin link, if the alternative destination link and alternative origin link are identified.
17. The method as claimed in claim 16, wherein identifying the alternative origin link further comprises: identifying links near the origin location; and selecting one of the identified links near the origin location as the alternative origin link, said alternative origin link being the link nearest to the origin location and which is not within the one or more lists of unrouteable links.
18. The method as claimed in claim 16 or 17 wherein identifying the alternative destination link further comprises: identifying links near the destination location; and selecting one of the identified links near the destination location as the alternative destination link, said alternative destination link being the link nearest to the destination location and which is not within the one or more lists of unrouteable links.
19. The method as claimed in claims 14 to 18, wherein identifying links near the origin location comprises identifying links within a boundary threshold; and identifying links near the destination location comprises identifying links within the boundary threshold.
20. The method as claimed in claims 14 to 19, wherein the pre-determined one or more lists of unrouteable locations are generated by obtaining geospatial data from the database, said geospatial data comprising a plurality of geospatial links; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial link to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
21 . The method as claimed in claim 20, wherein selecting a start link comprises selecting a link which is near a popular location.
22. The method as claimed in claims 20 or 21 , wherein a different start link is selected as the start link, if the number of links in the one or more pre-determined list comprises more than 10%, 20%, 30%, 40% or 50% of a total number of geospatial links.
23. The method as claimed in claim 22 wherein the different start link is selected from a link located in an area which is not connected to the start link.
24. The method as claimed in claim 23, wherein the geospatial links are added to the one or more pre-determined lists if there are no possible paths from both the start link and the different start link, to the other geospatial link.
25. The method as claimed in claims 20 to 24, wherein the generated list is an unrouteable destination list.
26. The method as claimed in claims 20 to 25, wherein the other geospatial generated list further comprises an unrouteable origin list, the method further comprising for each one of the other geospatial links: determining if a possible path is routeable to the start link from the other geospatial link; and adding the other geospatial link to the unrouteable origin list, if there are no possible paths to the start link from the other geospatial link.
27. A non-transitory tangible computer readable storage medium having stored thereon software instructions that, when executed by a computer processor of a system for route computation, cause the computer processor to perform a method of route computation, by executing the steps comprising, receiving a routing request, the routing request including an origin location and a destination location; identifying an origin link near the origin location, and identifying a destination link near the destination location; retrieving one or more pre-determined lists of unrouteable links from a database; comparing the origin link and destination link with one or more lists of unrouteable links; and performing the route computation if the origin link and destination link are not within the one or more lists of unrouteable links.
28. The non-transitory tangible computer readable storage medium as claimed in claim 27, wherein the steps further comprise generating the pre-determined one or more lists of unrouteable locations by obtaining geospatial data from the database, said geospatial data comprising a plurality of geospatial links; selecting a start link from the plurality of geospatial links; for each one of the other geospatial links: determining if a possible path is routeable from the start link to the other geospatial link; and adding the other geospatial links to the one or more pre-determined list, if there are no possible paths from the start link to the other geospatial link.
PCT/SG2022/050196 2021-04-12 2022-04-06 A method and system for route computation WO2022220741A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG10202103715R 2021-04-12
SG10202103715R 2021-04-12

Publications (1)

Publication Number Publication Date
WO2022220741A1 true WO2022220741A1 (en) 2022-10-20

Family

ID=83641071

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2022/050196 WO2022220741A1 (en) 2021-04-12 2022-04-06 A method and system for route computation

Country Status (1)

Country Link
WO (1) WO2022220741A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090323701A1 (en) * 2002-01-25 2009-12-31 Level 3 Communications, Llc Routing engine for telecommunications network
CN101685016A (en) * 2008-09-23 2010-03-31 中国科学院声学研究所 Two-dimensional navigation path planning method based on vector electronic chart
US9737268B1 (en) * 2010-02-24 2017-08-22 Sprint Communications Company L.P. Facilitating navigation data updates
CN109211238A (en) * 2018-08-28 2019-01-15 成都恒高科技有限公司 A kind of positioning in real time is anti-to pass through optimization method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090323701A1 (en) * 2002-01-25 2009-12-31 Level 3 Communications, Llc Routing engine for telecommunications network
CN101685016A (en) * 2008-09-23 2010-03-31 中国科学院声学研究所 Two-dimensional navigation path planning method based on vector electronic chart
US9737268B1 (en) * 2010-02-24 2017-08-22 Sprint Communications Company L.P. Facilitating navigation data updates
CN109211238A (en) * 2018-08-28 2019-01-15 成都恒高科技有限公司 A kind of positioning in real time is anti-to pass through optimization method

Similar Documents

Publication Publication Date Title
CN109067725B (en) Network flow abnormity detection method and device
WO2014203475A1 (en) Map updating system, map updating method and program
CN104596531A (en) Navigation route generation method, navigation route generation apparatus, and server
US20120022782A1 (en) Technique for determining points of interest for a navigation device
US20080052276A1 (en) System and method for location-based searches and advertising
CN111460068A (en) Interest point searching method, readable storage medium and electronic device
EP3635337B1 (en) Systems and methods for selecting a poi to associate with a navigation maneuver
CN103843010A (en) Retrieving images
CN103309917A (en) Path searching method and path search device
US9245040B2 (en) System and method for automatic searches and advertising
US20100241352A1 (en) System and method for location-based searches and advertising
JP2007198769A (en) System, method, server, and program for retrieval of movement route
CN111831766A (en) Interest point searching method, readable storage medium and electronic device
CN108592927B (en) Destination prediction method and system based on historical travel route
CN113608628A (en) Interest point input method, device, equipment and storage medium
CN110657813B (en) Method and device for optimizing planned roads in map
WO2022220741A1 (en) A method and system for route computation
JP2004094932A (en) Communication terminal device and information processor of pay-back system
CN109708652B (en) Information processing apparatus, information providing system, information providing method, and storage medium
KR102472406B1 (en) Apparatus and method of managing poi information
JP6693560B2 (en) Image search program, image search method, and image search device
JP2021179350A (en) Information processing device, display system, display control method, and program
CN109492159A (en) A kind of content delivery method, content push device and electronic equipment
CN109813323B (en) Adaptive path navigation method/system, computer readable storage medium and terminal
CN109000662B (en) Navigation method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22788555

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22788555

Country of ref document: EP

Kind code of ref document: A1