Professional Documents
Culture Documents
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION
Crude oil prices have been increasing globally amid the US renewing oil export
sanctions on Iran. At the same time, the Indian rupee has been tumbling to all-time
lows against the dollar, which makes oil imports more expensive. India is the world's
third-largest importer of oil and its appetite for fuel is on the rise, driven by its
expanding economy, a growing manufacturing sector and urbanisation. It relies on
imports for 80 per cent of its oil demand. In 2017, India's net imports are nearly
198.8 million tons of crude oil and its products and about 75% of India's electricity
generation is from fossil fuels. India has one of the world's fastest growing energy
markets and is expected to be the second-largest contributor to the increase in global
energy demand by 2035, accounting for 18% of the rise in global energy
consumption. Given India's growing energy demands and limited domestic oil and
gas reserves, the country has ambitious plans to expand its renewable and most
worked out nuclear power programme.
But until then the citizens of India need to make an active effort to reduce fuel
consumption in every possible way.
There is a growing public tension in India induced by extravagant taxes on fossil fuels
by the government. The Centre currently levies a total excise duty of Rs 19.48 per
litre of petrol and Rs 15.33 per litre on diesel. In addition to this, the states levy Value
Added Tax (VAT), Mumbai has the highest VAT of 39.12 per cent on petrol, while
Telangana levies the highest VAT of 26 per cent on diesel. Delhi charges a VAT of
27 per cent on petrol and 17.24 per cent on diesel. The lowest being in Andaman and
Nicobar Islands where 6% sales tax is charged on both the fuels. A cut in taxes on
petrol and diesel is ruled out for now as neither the central government nor some
states have the appetite to stomach revenue loss from such a move.
The Centre mopped up Rs 2.29 lakh crore from excise duty on petroleum products in
2017-18 and Rs 2.42 lakh crore in 2016-17. Even a price cut by Rs 1 per litre can
vastly affect these numbers.
Rising fuel prices affect the common man in various aspects of his life. In this project
we aim to take advantage of the varying prices of petrol and diesel across every state
in India to guide cross-country travellers and help them make informed decisions
about refueling their vehicles.
Our applications uses information provided by the user about car mileage, size of
fuel tank and source and destination, and then cross references it with the fuel prices
across various states the user shall travel through, to compute a plan. This will guide
the user to fill specific amounts of fuel at various points in their journey, such that the
total cost spent on fuel would be minimum.
1.2 MOTIVATION
The rising fuel prices have affected every consumer’s day-to-day expenditure, the
impact of this has been felt across India. This inspired us to take advantage of any
possible discrepancy currently present on the tax on crude oil in this country. Most
efforts taken to tackle this problem are related to use of public transport, purchasing
eco-friendly cars and using alternative fuels and technologies. We propose to taking it
a step further by taking advantage of the tax difference, and providing a new
perspective to saving money.
We propose to design and develop an android application, that accepts user’s car
information and route details that shall guide the user to an optimum refueling
schedule, using daily updated fuel prices of every state.
CHAPTER 2
LITERATURE SURVEY
global positioning
system
8 The Accuracy Jen-Yung Lin, 2013 GPS system
Enhancement of Bo-Kai Yang,
GPS Track in Tuan Anh Do
Google Map Hsing-Chung
Chen
9 Items-mapping and Jennifer C. 2016 Dijkstra’s,
Route Optimization Dela Cruz, Bellman-Ford
in a Grocery Store Glenn V. and
using Dijkstra’s, Magwili, Juan FloydWarshall
Bellman-Ford and Pocholo E. Algorithms
FloydWarshall Mundo, Giann
Algorithms Paul B.
Gregorio,
Monique
Lorraine L.
Lamoca,
Jasmin A.
Villaseñor
10 RouteBoxer Library Aryo 2016 Finding
for Google Android Pinandito, required
Platform Mochamad locations on
Chandra path.
Saputra,
Rizal Setya
Perdana
Literature Gap:
In this literature survey we are able to understand the application of Route Boxer
Algorithm to identify areas along the route. We will be able to effectively track the
vehicle in route. This algorithm does not give us a way to identify state borders or
how long it would take before the vehicle reaches a state border.
Our research on fluctuations in fuel prices does not account for government taxation
levied on crude oil.
CHAPTER 3
SOFTWARE REQUIREMENTS
SPECIFICATION
3.1 INTRODUCTION
Discrepancies on taxation of crude oil can be leveraged to develop real time refueling
schedule that allows minimum fuel expenditure. Any cross-country traveller is viable
to implement our solution including travel agencies, national delivery agencies, and
tourists. Our project aims to provide any android user, with Android KitKat
Operating system and above, to run our proposed application. On initializing the
application a basic internet connection is required to update fuel prices due to their
daily changes.
● User:
● Initialization : enter car details
● Start : Enter route details
● Check : find optimal route
● Notify: time to refuel
● Admin:
● Login
● Modify algorithm for more accuracy
● Updates
● Monitor application functions
from other nodes in the network. The network is free from malicious node
and misbehaving node attacks.
● Reliability: Our system can provide user an efficient search each time. So
the user can reliable on the system. Because system can guarantees user to
provide his/her interested data every time in least amount of time.
● Google SpreadSheet:
Google Sheets is a spreadsheet program included as part of a free, web-based
software service. The app allows users to create and edit files online while
collaborating with other users in real-time. Google SpreadSheet itself acts as a
database.
● Android Studio:
● GoogleMap
The main class of the Google Maps Android API. This class is responsible for
downloading and displaying map tiles and for displaying and responding to map
controls.
The GoogleMap object is not created directly by the application but is instead created
when MapView or MapFragment instances are created. A reference to the
GoogleMap object can be obtained within application code via a call to the getMap()
method of a MapView, MapFragment or SupportMapFragment instance.
MapView :-
A subclass of the View class, this class provides the view canvas onto which the map
is drawn by the GoogleMap object, allowing a map to be placed in the user interface
layout of an activity.
SupportFragmentMap :-
A subclass of the Fragment class, this class allows a map to be placed within a
Fragment in an Android layout.
Marker :-
The purpose of the Marker class is to allow locations to be marked on a map.
Markers are added to a map by obtaining a reference to the GoogleMap object
associated with a map and then making a call to the addMarker() method of that
object instance. The position of a marker is defined via Longitude and Latitude.
Markers can be configured in a number of ways, including specifying a title, text and
an icon. Markers may also be made to be “draggable”, allowing the user to move the
marker to different positions on a map.
Shapes :-
The drawing of lines and shapes on a map is achieved through the use of the Polyline,
Polygon and Circle classes.
UiSettings :-
The UiSettings class provides a level of control from within an application of which
user interface controls appear on a map. Using this class, for example, the application
can control whether or not the zoom, current location and compass controls appear on
a map. This class can also be used to configure which touch screen gestures are
recognized by the map.
My Location Layer :-
When enabled, the My Location Layer displays a button on the map which, when
selected by the user, centers the map on the user’s current geographical location. If the
user is stationary, this location is represented on the map by a blue marker. If the user
is in motion the location is represented by a chevron indicating the user’s direction of
travel.
Description of Approach 1:
This approach calculates the most ideal route by decomposing into sub-problems and
solving each one recursively.
Description of Approach 2:
This approach generates all possible refuelling schedule and generates a Directed
Acyclic graph (DAG). Using Djikstra’s algorithm we find shortest optimal path.
RouteBoxer Algorithm:
RouteBoxer is an algorithm that generates bounding boxes that covers an area for a
specified route or pathway within a particular distance. RouteBoxer algorithm was
introduced by Google Developer Community as part of an open source project Google
Maps utility library v3. The algorithm main purpose is finding area that cover the
provided route within a particular distance away from it. The area is represented by a
set of bounding boxes. This bounding boxes allow applications to search for objects
that is contained within the area.
1. Overlay and center a grid on the bounding box of the route polyline with square
cells spaced at specified distance to cover the entire route. The grid is extended one
cell further out in each direction.
2. Mark every cell in the grid that intersect with each path vertex. Intermediate cells
between two consecutive cells, which are not share an edge, are also marked.
4. Obtain all marked cells, as these cells guarantee that any points within specified
distance from the route will be in one of them.
5. Merge marked cells, which adjoin horizontally, into a set of one cell tall of
non-overlapping rectangular boxes.
6. Compare each box to the next boxes and merge it if one or more adjoins boxes,
which has the same width and horizontal position, are exists.
7. Merged marked cells, which adjoin vertically, into a set of one cell wide of
non-overlapping rectangular boxes.
8. Compare each box to the next column boxes and merge it if one or more adjoins
boxes, which has the same height and vertical position, are exists.
10.Return one set of boxes, which has the least in number, to the application.
RouteBoxer algorithm guarantees that the returned boxes will cover the area from a
specific distance along the route . These boxes can be used by an application, which
uses the RouteBoxer algorithm, to find any attractions, venues, or specific places
which are located inside of them from a database. The more boxes that the algorithm
returns, the more searching processes it will make. However, the accuracy of covered
area around the route paths and the number of generated boxes are affected by the size
of the bounding box.
.
A route is a pathway that could be taken in getting from one origin location to another
location as destination. A route is represented by sequence of multiple point of
locations and every location point is represented by a pair of latitude and longitude
coordinate values. Therefore, a single route could be represented by a collection of
latitude and longitude vertex values, while the order of the vertices represents the
route's pathway. Latitude and longitude values in GCS are available in Degrees
Minutes Seconds (DMS) format or in decimal degrees. All longitude and latitude
values used in the implementation is designed to be in the decimal degree format.
Nevertheless, any DMS latitude or longitude coordinate value in form of degree (a),
minute (m), and second (s) could be converted into decimal degrees (D) by using:
D = a + (m/60) + (s/3600)
The second parameter that RouteBoxer algorithm requires is a numeric value that
represents the distance away from the route or pathways and its surrounding area.
This value also had to be converted into decimal degree. As the Earth circumference
near the equator is 40,075.16 km , the distance of 1 degree of latitude or longitude
near the equator would be 111.32 km away. The specified distance (d) in meters could
be converted into latitude or longitude decimal degree values using . Lastly,
RouteBoxer algorithm should return a collection of bounding boxes that represents
the area with a previously specified distance along the route.
D = d / (1.1132 * 105 )
The spiral model combines the idea of iterative development with the systematic and
controlled aspects of the waterfall model. This Spiral model is a combination of
iterative development process model and sequential linear development model, i.e. the
waterfall model with a very high emphasis on risk analysis. It allows incremental
releases of the product or incremental refinement through each iteration around the
spiral. Choosing the spiral model makes sense as it enables constant development of
the application adhering to the feedback received from the users. This leads to
constant requirement verification and validation in several stages of the prototypes.
Stage 1: Identification
● In the baseline spiral, it all starts with gathering the requirements from the
clients. Identifications of system, sub-system and unit requirements are
performed in this stage as the project is executed.
● A continuous communication is held between the system analyst and the client
to gain a thorough understanding over the project. As soon as this spiral is
accomplished, the project is deployed into the identified phase.
Stage 2: Design
● Design stage begins with a design plan that has the basics of the design in the
baseline spiral which includes architectural, logical and physical design of the
product followed by final design in the resulting spirals.
Stage 3: Construct
● Build stage includes the construction of the existing product at each spiral. In
order to get the input from the client, POC is developed during the baseline
spiral when the product is about to shape up its design.
● At that point in the resulting spirals, a model of the product with version
number – “Build” is created. This would be having a clear idea on
requirements and design factors. These builds are further sent to client for
input.
● The playing point of the spiral lifecycle model is that it takes into
consideration components of the product that are supposed to be included as
per the requirement. This guarantees that there is no clash with the earlier
completed designs.
● This technique is reliable with methodologies that have various software
builds. Considering to make a move in an organized way from the activity of
maintenance to the transition of the project.
● An alternate positive angle is that the spiral model compels involvement of the
in the framework advancement exertion. Also, there is a risk of executing the
spiral in a loop which is indefinite. Hence, a strict management is necessary to
establish while dealing with it. For this purpose, disciplinary change is
requested to follow in order to deploy the project successfully.
● Plan of execution
● Project Estimate:
Estimating is figuring out how much time and money is required for
completion. Usually developer will not really know the requirement. Usually
management will have a number in mind when they ask for your estimate
● Cost Estimation :
The project cost can be found using any one of the model. COCOMO-1 Model
COCOMO-2 Model Model -1: The basic COCOMO model computes software
development efforts as a function of program size expressed in estimated lines
of code. Model-2: The intermediate COCOMO model computes software
development efforts as a function of program size and a set of cost drivers that
include subjective assessment of the product, hardware, personnel, project
attributes Model-3: The advanced COCOMO model incorporates all
characteristics of the intermediate version with a assessment of the cost drivers
impact on each step of the software engineering process. Following is the
basic COCOMO -2nd model.
Hence according COCOMO -2nd model the time required for completion of
the project is 9 ( 9.40) months.
● Cost of Project :
Equation for calculation of cost of project using COCOMO 2nd model is:
C = D * Cp
Where,
C = Cost of project
D = Duration in month
Cp = Cost incurred per person-month,
Cp=Rs.5000/- (per person/month) (approx.)
C = 9 ∗ 5000 = 45000/- Hence according COCOMO 2nd model the cost of
project is 45000/-(approx.)
CHAPTER 4
SYSTEM DESIGN
Description:-
The user gives an input of the path that he has to take. After getting the path we
identify the states that the path travels through. The data about the fuel prices of those
states is retrieved from our Google Database Spreadsheet. Now the user path input
and the fuel prices data is used to implement the algorithm which gives us a refueling
schedule.
This diagram accurately describes the user’s interaction with various modules of our
proposed application.
The sequence diagram is a pictorial representation of the sequence of actions that take
place during the use of our application. It shows the order of steps taken by user,
application and the database server.
CHAPTER 5
OTHER SPECIFICATION
5.1 ADVANTAGES
5.2 LIMITATIONS
5.3 APPLICATIONS
● This application will be useful for transport agencies that have many of their
vehicles traveling continually all over the country by reducing their cost of
fuel consumption.
CHAPTER 6
CONCLUSION
We propose to create an application that guides us, while travelling across state
borders, to a vehicle refueling regime for minimum fuel expenditure. By taking
advantage of varying taxation methodology amongst the states of India, we will have
successfully managed to minimise expenditure on fuel.
Future Enhancements:
Based on the current work, we can extend the system to various other parts of the
world where difference in fuel prices exists. In European countries where
international vehicular travelling is very popular, our system can vastly reduce
expenditure on fuel. This is applicable to tourists with rental cars, transport agencies
and travel agencies.Additionally we can expand our database for alternative fuels
like Compressed Natural Gas (CNG) and and Liquified Petroleum Gas (LPG).
Looking further into the future this algorithm is viable for electric vehicles to
recharge their batteries since price of electricity also varies from place to place in
India and various other countries.
CHAPTER 7
REFERENCES
[2] The Logistics Network system based on the Google Maps API, Cong FU, Yan
Wang, Yanqing Xu, Qingquan LI, 2010.
[3] E-Land Design of Mobile Application for Land Information System using
Android based Google Maps API, Putu Gede Agus Andika Putra, Adi Setiawan ,
2017.
[4] The Dynamics of Petroleum Pricing and the Impact of Petroleum Product Prices
on Key Sectors of the Economy, Arijeeth Srivastav,Neerajakshi P,Kezia Idikkula
Muthalaly , 2017.
[5] Determine The Best Option for Nearest Medical Services Using Google Maps
API, Haversine and TOPSIS Algorithm, Yuda Dian Harja,Riyanarto Sarno , 2018.
[6] Real-Time Energy Pricing and Fuels Consumption Models , Ievgen Pichkalov,
Anna Kyselova, Gennadiy Kyselov , 2017.
[7] Autonomous tracking controller for photovoltaic systems using global positioning
system , Kamil Plachta , 2018.
[8] The Accuracy Enhancement of GPS Track in Google Map, Jen-Yung Lin, Bo-Kai
Yang, Tuan Anh Do , Hsing-Chung Chen , 2013.
[12] Ganguly, Amrita and Das Koushik , Impacts of Falling Crude Oil Prices and
Reduction of Energy Subsidies on the Indian Economy: A CGE Modelling
Approach” Vision, 20 (4) 345-360, 2016.
[13] Report of the expert group to advice on pricing methodology for diesel,
domestic LPG and PDS Kerosene, headed by Kirit S Parikh, available online at
http://ppac.org.in/WriteReadData/Reports/201406070259104211804RS
_3_Expert_Group_Report_Oct2013.pdf.
[14] S.-Y. Yang and C.-L. Hsu, "A location-based services and Google map based
information master system for tour guiding," Computers and Electrical Engineering,
vol. 54, pp. 87-105, 2016.
[15] E. S. Lee, H.-J. Shyur and H.-S. Shih, "An extension of TOPSIS for group
decision making," Mathematical and Computer Modelling, vol. 45, no. 7-8, pp.
801-813, April 2007.
[16] Google Developers. (2016, June 1). "Introduction to the Google Maps Android
API, "in Google Developers [Online].
https://developers.google.com/maps/documentation/android-api/intro
[19] Sellu, Denis.. “Search for places along a route with Google Maps and
RouteBoxer”. CookiesHQ [Online]. Available:
http://cookieshq.co.uk/posts/search-places-along-a-route-with-googlemaps-and-routbo
xer/, 2016.