Google Maps
Google Maps
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/333117435
Google Maps
18 14,361
3 authors, including:
Pratik Kanani
Dwarkadas J. Sanghvi College of Engineering
79 PUBLICATIONS 216 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Pratik Kanani on May 9, 2020.
Google Maps
Heeket Mehta Pratik Kanani Priya Lande
Dept. of Computer Engineering Dept. of Computer Engineering Dept. of Computer Engineering
Dwarkadas J Sanghvi college of Dwarkadas J Sanghvi college of Dwarkadas J Sanghvi college of
Engineering, University of Engineering, University of Engineering, University of
Mumbai, India Mumbai, India Mumbai, India
ABSTRACT This devised an algorithm to find the shortest route from the source
to the destination.
paper gives a perspective about how Google Maps, one of the
world's most influential application works. Google Maps was ALGORITHM:-
initially coded in C++ programming language by its founders - 1.1.1Choose an initial node in the weighted graph which serves
Lars and Jens Eilstrup Rasmussen. Formerly it was named as a source node.
'Where 2 Technologies', which was later acquired by Google
Inc. in 2004, which renamed this web-application to Google 1.1.2The distance of the other nodes is intialised as infinity
Maps. Earlier it had limited features restricted to navigation, but with respect to the source node.
today it provides overwhelming features like street-view, ETA
1.1.3An empty set N containsns the nodes to which the shortest
and other interesting features.
path has been found.
It gives an overview about the algorithms and procedures
1.1.4The distance of the source node with respect to itself is
employed by Google Maps to carry out analysis and enable zero. It is added to N and thus termed as 'active node'.
users to carry out desired operations. Various features provided
by Google Maps are portrayed in this paper. It describes the 1.1.5Consider the neighboring nodes of the active node which
algorithms and procedures used by Google Maps to find the are connected to it by a weighted edge. Sum up the
shortest path, locate one's position, geocoding and other such distance with the weight of the edge.
elegant features it provides its users.
1.1.6If the neighboring nodes already have some distnace
Keywords assigned, then update the distance if the newly obtained
Heuristics, A* algorithm, Dijkstra's algorithm, Street View, distance in step 5 is less than the current value.
Rosette, Optical flow, Ceres Solver, Geocoding, Triangulation, 1.1.7Now, choose the node which has the minimum distance
Trilateration, WAAS, GNSS, Geo-Positioning System [GPS]. assigned to it and insert it into N. The newly inserted node
is now the 'active node'.
1. INTRODUCTION Google 1.1.8Repeat steps 5 to 7 until the destination node is included
Maps is one of the most sought after innovation in the history of in the set N or if there are no more labeled nodes in N.
technology. The advent of this feature by the tech giant Google
PSEUDO CODE:-
Inc. Google Map enables people to navigate and find the
shortest and most convenient route to their desired destination. function dijkstra_algorithm (graph, S) // S represent source
According to a recent survey, Google Maps has acquired almost for each node N in graph:
64 million users. Moreover, it has included new features like
street-view, location of hospitals, cafes, police-stations and distance[N] := infinity
many more helpful features. The algorithms, techniques and
prev[N] := NULL
technology used by Google Maps is cutting-edge and highly
advanced. The team of engineers at Google, preserve and if (node N != S), add node N to the set Q
analyze myriad datasets including historic and real-time data,
distance[S] := 0
which is what makes Google Maps so progressive and accurate.
The prediction models continuous valued functions ie, predicts Q:= set of all nodes in graph
new values. Also ML models can be used and applied on
traditional computing techniques to improve the existing while Q is not empty:
accuracies [1-5]. Z := node in Q with minimum distance
2. GOOGLE MAPS: ALGORITHMS AND TECHNIQUES for each unvisited neighbor N of Z:
1.1 Dijikstra's Algorithm dist := distance[Z]+ edge_weight(Z,N)
Google maps employs Graph data
if dist<distance[N] // new value less than previous distance
structures for calculation of the shortest path from the source
(point A) to the destination (point B). Graph data structure distance[N] := distprev := Z
connecting of various nodes and multiple edges these nodes.
return distance[ ] , prev[ ] ……[6]
Dijkstra's algorithm is an effective and proficient algorithm The time complexity of Dijkstra's original algorithm is given
proposed by Edsger.W. Dijkstra to navigate the shortest distance
and path to reach a given destination. The nodes of the graph by O( | | ) , but when it is implemented based on minimum-
are connected by weighted edges, which represents the distance priority queue implemented by Fibonacci Heaps, then the time
to be traversed to reach there. Thus Dijkstra complexity reduces to O (|E| + |V|log|V|).
41
Machine Translated by Google
Google maps deals with a mammoth of data, thus the number of Owing to the high accuracy, flexibilty, ability to deal with mammoth
nodes in the graph are myriad. Thus, graph algorithms like Dijkstra's graphs and its stark advantages over Dijkstra's algorithm, Google
algorithm may fail due to the increased time and space complexity. Maps has shifted to deploying A* algorithm for obtaining the shortest
The drastic increase in the size of the graph limits the efficiency of path between the source and destination.
the algorithm. Heuristic algorithms like A* algortihm prove to be
implementable.
ALGORITHM:-
A* is similar to Dijkstra's algorithm, which uses a heurisitc function to 1) Initialise two lists -
navigate a better and more efficient path. A* algorithm assigns higher
priority to the nodes which are supposed to be better (checks for a) Open_list
parameters like time requirement, distance and other such
b)Closed_list
parameters) than the others, while Dijkstra explores all the nodes.
Therefore it is meant to be faster than Dijkstra's algorithm, even if the 2) Insert the source node into the open_list
memory requirement and operations per node are more, since it
explores a lot less nodes and the gain is good in any case. [7] 3) Keep the total cost of the source node as zero
a) Check the node with minimum total cost (least f(x)) present
1.2 A* (A-star) Algorithm A* algortihm is a in the open_list
flexible, more efficient and cutting-edge algorithm which Google Maps
b) Rename the above node as X
currently utilises to find the shortest path between a given source and
destination. It has a wider range of contexts therefore, it can deal with c) Pop X out of the open_list
larger graphs which is preferable over Dijkstra's algorithm.A* is like
d) Generate the successors to X
Greedy Best-First-Search. A* algorithm is widely used since its
mechanism involves combining the pieces of information that Dijkstra e) Set X as the parent node of all these successors
algorithm uses (It favors the vertices close to the source) and
information that Greedy Best-First-Search uses (choosing nodes 5) for each successor:
close to the goal).[8 ]
a) if successor is the same as the destination:stop
b) else:
One of the difference between A* and Dijkstra's algorithm is that A*
algorithm, being a heuristic algorithm, has two cost functions : successor.g(x) = Xg(x) + distance between successor
and X
g(x) :- The actual cost to reach a vertex (same applies to successor.h(x) = distance from destination [goal] to
Dijkstra) successor (using heuristics)
h(x) :- Approximate cost to reach goal node from node n. (This is the successor.f(X) = successor.g(x) + suucessor.h(x)
heuristic part of the cost function)
c) if a node with same position as successor is present in
f(x) :- Total estimated cost of each node open_list, but having a lower cost [f(x)] than successor,
then skip the successor
The cost calculated by A* algorithm shouldn't be overestimated, since
it is a heuristic algorithm. Hence, the actual cost to reach the d) if a node with the same position as the successor is present
destination node, from any given node n should be either greater in the closed_list , but having a lower cost [f(x)], then skip
than or equal to h(x). This is called Admissible Heuristic. this successor, else insert the node into the open_list
Hence, one can represent the estimated total cost of each node by : end for loop
node = element in open list with lowest cost //f(x) should be minimum
42
Machine Translated by Google
neighbor.parent = node
return neighbors
node = node.parent Furthermore, the images captured by rosettes are aligned and
adjusted corresponding to all the points from the overlap region.
add node to path These images are then stitched using softwares to obtain desired
panoramic, 3-D views. To generate the final results, the warping
return path
is formatted as a spline-based flow field with spatial regularization.
3. STREET VIEW – GOOGLE MAPS In 2007, the Google Google's open source Ceres Solver is used to compute the spline
parameters. [ten]
Maps team introduced an outstanding feature called Street View.
This brilliant innovation proved to be a milestone in the history of Therefore, after carrying out such complicated procedures, the
navigation and GPS. Street View, the newly introduced feature, images can be corrected, aligned and warped as pleased.
provided a 3- dimensional, HD, Panaromic view of many Google Maps' street-view feature is being refined and remodeled
neighborhoods, streets, avenues, and other such areas merely since their team is exploring more and new every places day. The
from one's mobile phone or computer. Surprisingly, these images expanse of street-view coverage is almost fully completed in
are manually taken by Google Maps team using a car specially numerous developed countries and is dramatically increasing in
fitted with multi-camera rig and other necessary equipments for the developing countries.
actually taking pictures of the neighborhoods they drive by. The Statistically, the Government of India reported that 14 miles are
following images depict the cars and cameras used to generate being covered each day by the Google Maps' Street View team.
the street view. The implementation of such a 3-D, Panoramic feature which
enables the users to view and virtually travel along the extreme
corners of the world is truly a technological breakthrough. [11]
43
Machine Translated by Google
44
Machine Translated by Google
a particular object is accessed using a hypothetical grid system, Thus, in the modern time, myriad factors apart from average
and then locating/plotting the specific co-ordinates (latitude, speed of the user on a specific route, the shortest path and
longitude, altitude) to obtain the required location of the object distance between two points have to be taken into consideration
on a given map. in order to determine and compute the estimated time of arrival.
45
Machine Translated by Google
[6] Dijkstra's Algorithm pseudocode (2019, January 22). Cincinnati“GPS: Location-Tracking Technology” (2019, March
Programiz[Online].Available: 2).
https://www.programiz.com/dsa/dijkstra-algorithm [Online].Available:https://pdfs.semanticscholar.org/e52d /
b090bf49541473de29ca164647578aa70c9f.pdf?_ga=2.1
[7] Difference and advantages between Djiksta and A star
[Duplicate] (2019, January 27).Stack Overflow. 91753129.284091150.1552310180-1625978761.1550899332
[Online].Available:https://stackoverflow.com/questions/1
3031462/difference-and-advantages-between-dijkstra-a [13] Patrick Bertagna, GTX Corp., 10.26.10, “How does a GPS
star tracking system work?” – EE|Times (2019, February 22).