Introduction of the projectThis application provides vehicle tracking for multiple users and along with that optimal routing techniques for all available vehicles nearby to the user. Based on the routing information, approximate distance and time taken to reach to the user will also be displayed.The user will also be able to track different possible vehicles used for transportation and routes he can take so as to reach his destination efficiently. Optimal routes is chosen based on Routing algorithms and based on the current latitude and longitudes of the vehicle. This project consist of two applicationsUser AppIt shows current location of the user on the Google Map based on latitude and longitude of the user. This project demonstrates to the user, all the available buses nearby to the user, it also shows tracking of all the vehicles whenever they move, they are also being shown and there routes are being shown and demonstrated. Optimal route and optimal bus is chosen based on the the distance and time of available buses. The best Possible route being chosen is shown and is used by the user, user then track that vehicle to reach the final destination. The distance between various routes is demonstrated in the user application. Driver AppThis is the app that a Driver have, whenever a driver opens that app, a new bus marker is shown in the app, when the driver closes the app, the bus marker removes from the app. Apart from that the tracking is shown to the user I.e. whenever the bus is moving,its path is tracked and shown to the user. We all know that if somehow we can track the transport in which we wish to travel, it will save a lot of our time and prevent unnecessary hassle To use this application, the user has to first create an account in the application. The user will also be able to track different possible vehicles used for transportation and routes he can take so as to reach his destination efficiently Computing best possible routes in road networks from a given source to a given target location is an everyday problem. Many people frequently deal with this question when planning trips with their cars. There are also many applications like logistic planning or trafﬁc simulation that need to solve a huge number of such route queries. Due to reasons such as High Computing powers Slow query times Routing: Routing refers to Selecting a path that a vehicle in large road networks has to follow in order to reach the destination. Optimal Routing: Optimal Routing refers to finding best possible route (out of number of available routes) in order to reach the destination. Parameters which we assumed for optimality are: Time Distance The Shortest Path Problem Computing best possible routes in road networks from a given source to a given target location is an everyday problem. Many people frequently deal with this question when planning trips with their cars. There are also many applications like logistic planning or trafﬁc simulation that need to solve a huge number of such route queries. Speedup Techniques: 1. Dijkstra’s Algorithm:-It computes the shortest path from source to destination easily. Search space of Dijkstra Algorithm Requirements that speedup techniques should fulfil are: The query time should be as fast as possible The result should be accurate:I.e. a provable optimal path is computed. The method should be scale invariant, I.e. it should be optimized not only for optimal paths,In other words,Running time of computation is high. If approach is uses some pre processing, then it should be sufficiently fast so that we can deal with very large road networks. Precomputed auxilary data should occupy only a moderate amount of space. Updating some edge weights(e.g. due to traffic jams) or replacing the entire cost function. Modified Dijkstra’s Algorithm:Bidirectional search: Executes Dijkstra’s algorithm simultaneously forwards from the source ‘s’ and backwards from the target ‘t’.Once some node has been has been visited from both directions,the shortest path can be derived from the information already gathered. Search space of the bidirectional version of the Dijkstra’s algorithm Complete Distance Problem: An extreme case would be precompute all shortest paths, this allows constant time queries,but is prohibitive for large graphs due to space and time constraints.Still, it turns out that for some hierarchical approches, this simple technique can be very useful when applied to the highest level. Highway hierarchies exploit the inherent hierarchical structure of road networks and classify roads by importance. A point-to-point query is then performed in a bidirectional fashion—forwards from the source and backwards from the target— disregarding more and more less important streets with increasing distance from source or target. Highway-node routing is a related bidirectional and hierarchical approach. Its conceptual simplicity and fast preprocessing allows the implementation of update routines that are able to react efﬁciently to unexpected events like trafﬁc jams. Transit-node routing provides extremely fast query times by reducing most requests to a few table lookups, exploiting the observation that when driving to somewhere ‘far away’, the current location is always left via one of only a few ‘important’ trafﬁc junctions. Our generic many-to-many algorithm can be instantiated based on certain bidirectional route planning techniques, for example, highway hierarchies or highway-node routing. It computes a complete |S|×|T| distance table, basically performing only |S| forward plus |T|backward queries instead of|S|times|T|bidirectional queries. Construction of a highway hierarchy of a road network with neighbourhood size, H=70. Construction: 1. Perform a local search 2. Switch to a highway network and perform a local search in the highway network. A diagram of a given Highway Searching techniques and Heuristics: Geometric A∗ Search. A technique from the ﬁeld of Artiﬁcial Intelligence, is a goal-directed approach, i.e., it adds a sense of direction to the search process. For each vertex, a lower bound on the distance to the target is required. In each step of the search process, the node v is selected that minimises the tentative distance from the source s plus the lower bound on the distance to the target t. This approach can be combined with bidirectional search. The performance of the A∗ search depends on a good choice of the lower bounds. If the geographic coordinates of the nodes are given and we are interested in the shortest (and not in the fastest) path, the Euclidean distance from v to t can be used as lower bound. Heuristic A∗ Search: In the last decades, commercial navigation systems were developed which had to handle ever more detailed descriptions of road networks on rather low-powered processors. Vendors resolved to heuristics still used today that do not give any performance guarantees. One heuristic is A∗ search with estimates on the distance to the target rather than lower bounds. Landmark-Based A∗ Search : ALT algorithm is presented that is based on A∗ search, Landmarks, and the Triangle inequality. After selecting a small number of landmarks, for all nodes v, the distances d(v,L) and d(L,v) to and from each landmark L are precomputed. For nodes v and t, the triangle inequality yields for each landmark Ltwo lower bounds d(L,t) −d(L,v) ≤ d(v,t) and d(v,L) −d(t,L) ≤ d(v,t). Precomputed Cluster Distances. The Precomputed Cluster Distances (PCD) technique, also uses precomputed distances for goal-directed search, yielding speedups comparable to ALT, but using less space. The network is partitioned into clusters and the shortest connection between any pair of clusters is precomputed. Then, during a query, upper and lower bounds can be derived that can be used to prune the search.