Electric Vehicle Charging Process and Parking Guidance App

: This research work presents an information system to handle the problem of real-time guidance towards free charging slot in a city using past date and prediction and collaborative algorithms since there is no real-time system available to provide information if a charging spot is free or occupied. We explore the prediction approach using past data correlated with weather conditions. This approach will help the driver in the daily use of his electric vehicle, minimizing the problem of range anxiety, provide guidance towards charging spots with a probability value of being available for charging in a context for the app and smart cities. This work handles the uncertainty of the drivers to get a suitable and vacant place at a charging station because missing real-time information from the system and also during the driving process towards the free charging spot can be taken. We introduce a framework to allow collaboration and prediction process using past related data.


Introduction
Electric Vehicles (EV) provide an environment-friendly solution to combustion engine vehicles and modern cities' transportation [1], but there still exists some disadvantages of driving EVs, namely the autonomy of the batteries still being to low when compared to combustion engine vehicles [2], the time it takes to charge an EV, usually six to eight hours at home and thirty minutes at a high voltage Charging Station (CS) [1] and also because recharge rate occurs at different rates depending on the initial state of the charge [3], and the number of stations providing full recharge of batteries is quite rare [4].A diversity of challenges and opportunities are identified in [5] and one of the first work to show the importance of EV information in mobile Apps [6].
Another solution this study tries to tackle is the availability of the CS to recharge the EVs.As we know, charging an EV could be very time-consuming [7], so reaching a CS and all of the connectors are being used could be frustrating and make us wait in line.This type of problem could well be compared to the prediction problem for vehicles open parking spaces, as generally people with EVs leave their car parked in the CS and go on with their lives, as well as the meteorological effects on the willingness of users to leave their car at those places [8].
Taking into considerations we try to provide one of the first solutions to this problem, creating a probabilistic recommended system in a mobile app.
In this research work, we handle the problem of the need for real-time information of free charging spots for EV without a connection to the proprietary charging system.Since this connection is not available we apply prediction algorithms taking into account past charging sessions data correlated with hour, day, month and atmospheric conditions, city location and also a collaborative approach.We propose a kind of parking recommendation system that aims to present guidance towards this charging spots during the driving process, while considering the maximum distance the EV can reach and the braking regeneration that the EVs currently have.This is helpful information for EV drivers daily journey and the is one of the most important problems for the EV drivers when the availability for charging points is not enough taking into account the increasing number of EV.
Our approach combines information, mobile devices, prediction algorithms and communication technologies, Web services, geo-positioning techniques for deliverance and exchange of information and linear programming for optimal scheduling, guidance and prediction of electrical charging processes.

Literature Review
In this section we created a section related to EV (Section 2.1) and consider similar existing solution systems to guidance for EV towards a CS, where is needed a prediction process because most of the cases we do not have sensor information to check if a place is occupied or not (Section 2.2).

Optimal EV Path and Important Constraints
Energy efficient and optimal routing, when applied to EVs, are not the same for a gas powered vehicles, since for the last one the only worry is simply understanding edge costs as energy values and applying standard algorithms.This new paradigm of energy-optimal routing for EVs must take into account multiple different heuristics, namely the recovery of some energy due to their kinetic and/or potential energy during deceleration phases, able to increase the cruising range of EVs up to 20% when in typical urban setting and hilly areas [4], meaning that edge costs could be negative [9], the costs of the edges may depend on parameters only known at query time [10], and at last, battery capacity limitations that implies that the cost of path is no longer just the sum of its edge costs, since additional energy losses or gains can occur from taking a path [7].
So, we can conclude that rather than finding the fast or short routes, there is a bigger necessity of finding energy-efficient routes and the goal of a guidance route is to start at a certain point and with a battery charge level and find a route to the destination point that respects the EVs constraints and reaching the endpoint with the maximum battery charge possible.If we ignore the battery constraints, the problem of finding the most energy-optimal path from a point to other can be described as just finding the shortest path between the two points, which can be typically solved using a regular shortest path algorithm, like Dijkstra's algorithm [4].Dijkstra's algorithm cannot be directly used in this type of problems, as edge costs for an EV can be negative and the battery constraints which seem to require special algorithmic treatment [9], also has the disadvantage of expanding more vertices than the actual need, as it can expand all vertices before the shortest path is found, showing a big running time [10].
An algorithm is developed in [4] that extends the generic shortest path algorithm by taking the initial constraints into account, namely, the route segments can only be feasible if the required energy to go through does not exceed the charging level of the battery.Other heuristics to take into account is there are road sections where the energy consumption is negative where the EVs battery can be recharged, due to elevation differences or changes in the cruising speed.Just like in [4], for [9] the battery constraints are never running out of energy, there can not be overcharging, meaning that the battery current charge status can never exceed the maximum charge level and that an EV cannot take a trip and end up with a higher charge status than the one it started with.So, to perform the decision, a route only is feasible if there is no point where the required energy charge exceeds the current charge level from the EV, and a route is less preferred if there is a point where the maximum capacity is already reached and energy can be recuperated.This algorithm computes the shortest path tree using one of the four expansion strategies Dijkstra, Expand, Expand-Distance and FIFO.The shortest path tree represents the solution of all shortest path problems with the source vertex and the strategy determines the order in which vertices are processed.
In [9] the battery constraints are modeled by cost function on the edges obeying the FIFO property.Results show that the current implementation of Dijkstra and the results from Contraction Hierarchies outperform those found by [4], where CH shows the lowest running time for a significant amount.Results also show that battery capacity constraints can be modelled as cost functions on the edges, and a transformation of the edge cost functions permits the application of Dijkstra's algorithm.
The model created in [10] takes into consideration some default parameters to calculate the amount of energy consumed or gained by the EV when passing by the edge of the network like the cars speed is always the speed limit of each road section.Other further parameters that influence vehicle energy consumption, such as its mass, wind resistance, friction coefficients, and more, are also taken into account.With these constraints in mind, the authors created a definition for the energy-optimal routing problem to find a path P in the graph from one source point to a destination point with a minimal path cost.Those paths correspond to energy-optimal routes which are feasible to use and where the remaining battery charge at the destination is maximal.The second contribution of this study is applying the A* algorithm, that determines the shortest path between two points, pursuing paths that appear to be the best routes to the destination based on the available information, with a non-trivial and consistent heuristic rather than the common Dijkstra's algorithm.A* is also know to be optimally efficient, as it expands the fewest numbers of vertices among all the search algorithms having access to the same heuristics.The weight function of the A* algorithm is then modified to take into account the battery constraints.The Energy-A* algorithm shows promising results, as it is faster than others algorithms used as a baseline, especially for smaller distances where the improvement is significant, and also shows fewer node expansions and consequently fewer evaluations of the energy cost function created.The approach described in [10] avoids the use of preprocessing techniques so that edge costs can be calculated dynamically, and it achieves an order of magnitude reduction in the time complexity of the algorithm from [4].
None of the methods used in [4,9,10] consider recharging decisions at the nodes, and this is where [3] has an input.So, the model generated in this study is modelled as a dynamic program based on a network with recharging capabilities at every node of the graph, except at the destination, recurring to two algorithms, Backward Recursion, that can be applied when the state space is discrete, and Approximate Dynamic Programming, that is useful for more general instances of the model.The underline goal is to create a minimum-cost path from the start point to the end, where the charge level of the vehicle always remains between a given minimum threshold and the maximum capacity of the EV battery, removing every unnecessary node where recharge does not happen, when there exists an optimal path where only recharging nodes exists.
A new method called "EV Assist Route" is proposed in [2], to show a route for EVs that will take into account stops with over CS to have extra battery charge when current remaining charge is not enough to reach the destination.This method starts by identifying the potential CS and then searches the most cost effective route passing through some selected CS, where the cost refers to the travelling distance or travel time from one point to another.This method takes into account various parameters, namely the remaining battery level, the battery level when fully charged, electric mileage, location information from the CS, charging efficiency from the CS, departure and destination points.Recurring to those parameters and applying the "EV Assist Route" method results on the optimal route for the EV, with information like the travel distance, travel time, the remaining battery level after reaching the destination point and the potential stopovers in the CS.Various cases are taken into account when developing this method, namely if the vehicle has enough battery to reach the destination, if it needs to stop for at least one CS to recharge, stopping in two or more CS and the case there is no route leading to the destination, where one of the options of travel distance and travel time can be prioritized, as quick CS can be farther away than a normal CS, which has more travel distance, but less time is needed to charge the battery levels.
For [7] EV-reachable node sets are composed by the feasible paths from the source node and strongly EV-connected node sets is a subset of the EV-reachable node sets, containing only the nodes that allow the returning to the source without running out of energy.Strong EV-connectivity is not an equivalence relation as the reflexivity could be compromised due to the existence of negative cost edges, as EVs are able to recuperate energy when going downhill and/or braking, requiring to model those as edge cost functions to obtain efficient running times.Picking up the techniques developed in [4,9], this study tries to answer the fundamental questions of route planning for EVs, namely the computing of a set of EV-reachable node and, also determine the minimal battery necessary to reaches a certain point.To give the shortest path to the destination node recurring to the most optimal route, Battery Switch Stations (BSS) are taken into account, those enable batteries exchanged in order to make the recharging not more time-consuming than a normal gas refuelling.Graph preprocessing techniques that allow efficient computation of EV-reachable and EV-connected sets at query time even in the presence of BSSs are also proposed.The generated paths to the destination are energy-optimized, hence avoiding going uphill as far as possible, only showing the necessary detours to visit the BSS when really needed, resulting on the most useful as possible routes.

Comparison to Forecasting in Open Car Parks
The small and sparse network of CS also prove to be a disadvantage, when ideally is to have a dense network of CS, that can allow drivers to travel from one arbitrary source to an arbitrary target destination and have always an energetically reasonable route [11], but right now, CS is relatively scarce [3] and until a dense network of CS is established there is a requirement of planning the route of the trip taking into account the battery-powered EVs energy constraints, or the possibility of getting stranded with an empty battery is real [7], as well as doing a good management of the charging sessions on the CS.As we can see, for the process of electrification of the transport sector, the infrastructure is going to play a key role [12], so CS must have a good availability to encourage the adoption of EVs [13] and their locations must be well thought out as well, since an infrastructure dedicated to the charging processes, whether fast or not, requires a large investment [2] and can impact the queuing time in CS and the traffic conditions in the road network [1], important aspects that have revealed to significantly impacts the adoption of EVs.
In the past, EV infrastructures were limited to single and slow charging points in urban streets or parking lots, with little or none attention to their grid operation.With the continuous increase of EVs, the attention to those infrastructures has increased resulting in the implementation of fast-charging options for EVs and the option to parallel charge at different charging power levels, so a plan of CS in low-voltage networks for EV parallel charging is proposed [12], resulting in smaller charging sessions, thus increasing the availability of CS.Another aspect to take into account when building such infrastructures is the strategic location that needs to be suitable for EV users.Urban grids have a big potential to integrate CS, thanks to the proximity of houses and parking lots, however, the CS can have different impacts on the grid voltage, so the grid constraints should be taken into account when planning the installation of new CS.
There is a need to identify reasonable locations for the CS with few instances as possible so the EVs can achieve reachability and connectivity in the network [11].The authors of [14] say that EVs will only prevail if a road trip with an EV can be undertaken without taking no significant detour from the current paths.So, this study proposed a way to solve the problem of placement of the CS in a way that for every shortest path there are enough CS, meaning that the EV will not get stranded when starting with a fully loaded battery, called EV Shortest Path Cover.For [15] CS need to be extensively installed, especially on residential areas, in order to satisfy the need for the number of EVs.Two objectives for optimal placement of fast CS in residential areas are taken into account, namely the total-costs of installation for fast CS, the initial investment cost, the annual variance cost of operation and the travelling cost, and the real power loss in the transmission line of the distribution grid.
Behavioral models are used to predict when and where the vehicles are likely to be parked in the future in [13], using parking demand as a variable, as a way to help satisfy the demand for public charging of EVs, as well as land use attributes and trip characteristics.This study took a three-step approach, and in the first step, the parking locations and durations for all trips and for all stop that were 15 min or longer in duration, as those represent feasible candidates for public charging.The second step consists of using parking information for regression models that relate zone-level parking demands with land use attributes, as well as trip-level parking demand to individual trip characteristics.In the last step, the parking information is used as an input to identify the optimal location for the CS to satisfy as much demand as it is possible.With the help of Ordinary Least Squares, regression predictions were made to get the parking demand, also revealing that the more important factors are the number of population and job density in the area.Taking this into account, and drivers are unlikely to walk long distances for parking, the current locations with no existing CS, the parking demand and travel costs and applying a General Algebraic Modeling System, a location for the CS is revealed.Later, the authors apply for a mixed-integer program as a way to reduce total access cost.
A variant of placing CS in the network is proposed in [16], while taking into account the reasonability of routes and sparsity of the CS set, with the goal of placing CS in certain locations where the EV drivers do not need to leave the shortest path trips and make large detours for recharging.So a new and more practical model for placing CS for EVs is proposed, but with a larger complexity.For the development of this model, the authors looked to this problem as a Hitting Set problem, and used a modified greedy algorithm to compute the placement of loading stations, as the standard one showed many memory problems but maintaining the same approximation guarantee for small networks, showing up to a reduction of 40% of required loading stations by allowing detours.
Just like a normal parking space in an open parking lot or on the street-park, the parking spaces with electric charging properties can be influenced by weather factors.Temperature, rain and wind intensity can affect the parking occupancy [8], as bad weather conditions could lead to lower traffic flow than expected [17], meaning that people may be less susceptible to driving.The period of the day and time of year are also important [18], like holidays, weekdays and hour of the day could have a direct impact on park occupancy, in this case in the CS occupancy.The location of the CS can influence the usability of the station, [19], since if a parking spot is in the proximity of some type of shopping mall or close to an important public highway, or even if events happen regularly around the parking lot, like football games and concerts, those can cause a significant increase in the amount of traffic, consequently increasing the demand for free parking spaces [20].For [21] the parking cost and estimated queuing time outside the parking lot are important factors to be taken into consideration, which can be compared to the charging costs and the queue time to charge the EV.
The prediction of park availability on CS can be very useful and helpful as could improve the quality of life of the users, not wasting time on queues to charge their vehicle.Historical data is really important as it could give a notion of seasonal variations over time of charging sessions, as well as give a more insightful idea of the loading routines, allowing us to build a more robust and precise predictive model.
To build the predictive model [17] used methods like Gradient Boosting Decisions Trees, as it is very effective in training and on scoring.Algorithms used on model training for the [20] were Decision Trees, Support Vector Machine, Multilayer Perceptrons and Gradient Boosted Trees, concluding that Extreme Gradient Boosting has had the best accuracy result of all of them.For modelling the occupancy rates after applying different features and for prediction, methods like Regression Trees, Support Vector Regression and Neural Networks were used, and to prevent overfitting a 5-fold cross validation was made for training in [18].Predictions are made for periods of 15 min ahead and all three algorithms were used, showing better results on Regression Trees when comparing with the NN and SVR.

Conceptual Model
Some of the current problems faced by EVs previously stated like the autonomy of the batteries [2] and the charging times [1] are significant to cause some resistance to the global adoption of EVs.Another problem that occurs is the time that a user can spend waiting for a CS to be freed.While a combustion engine vehicle can go to a gas station and fully fill the gas tank in a matter of minutes, the amount of time it takes an EV to fully charge generally takes around 30 min at a high voltage CS [1].Taking this to account, it is unpleasant to reach a CS after driving and spending battery to it and all charging points are being used, leaving the user to, for at least 30 min, wait for a free charging connector.So, in this work, we present a based android application solution for this kind of problem, as we can see in Figure 1.At the center of the solution is the "Charge Time" android application that incorporates two main components, services from Google, namely the Maps API, Directions API, Elevation API and Firebase, and a predictive model developed in this study with the help of a charging sessions dataset and weather data.All of these components are explained in the following sections of the paper.

Android Application
The Android application, being the center of the solution, gives the user a way to interact and receive information about the CS.The first step when entering the application is the login, where the user needs to put his credentials to log in the application, and in case it is the first time logging in, the user can register a new account by providing the email, username and a password.This login is important so the user can keep points which are explained later on the study.After filling the login credentials and entering the app, the user is greeted with a three option menu, shown by the Figure 2, being explained in the next paragraphs.The first option of the application "Navigate", opening a new window with two input boxes that the user must fill.The first input being the destination where the user wants to travel to and the second the current battery level the EV has (in an ideal scenario, this information could be accessed trough the vehicle API).After filling those inputs, the user can confirm and a route to the closest and more likely to have an available place to charge is selected in the surroundings of the searched destination, by a decision algorithm created in this research.After that, a route is created using the Google Directions API, starting at the current location of the user to the respective CS.The CS is chosen by the decision algorithm, that takes into account various conditions: the first and most important is the maximum possible distance the EV can travel, meaning that all CS further than the maximum possible distance can not be taken into account, so they are automatically discarded and a pop-up window is sent to the user informing that the desired destination cannot be reached with the current vehicle battery.The second most important factor to take into account is the probability to have a free charging spot on each CS taking into consideration the time it takes the user to reach the CS.This can be achieved by the predictive model also being developed in this study.The route generated, just like in [2], provides information like the battery level the EV has at the end of the route, considering regenerative braking, if possible, the occupancy of the CS at arrival and the time it would take to reach the CS.The time it would take to reach the CS makes it possible to feed the predictive model with the time of arrival and is also used as the third condition, already taking into account the intensity of traffic, where the CS with less travel time has a higher possibility to be chosen.The last heuristic used is the distance to the CS, where the closest station to the destination the user provided has a bigger probability to be chosen.
The second option shown in the menu is "Check Map" and when clicked a map focused in the current user location appears.This map shows markers that represent the location of all of the CS, shown in the Figure 3, and when a marker is clicked a popup information board appears with information of the CS, as we can see in Figure 4.The information goes from the probability of having a free charging spot to the name, charging types, number of charging stations and connectors, working period, charging fees and a button that creates a route to the respective CS.In this case, the current state of the battery is not taken into account, since the initial battery level is not supplied, but information about the percentage of occupation in the CS at the end of the route is shown, as well as the duration it would take to reach the CS.The last option "Take a Photo" gives the user the option to collaborate with the system by taking a photo to a free charging spot on a CS, this way the system will know that a CS is free, making a re-validation on the probability of having a free charging spot.The photo taken is then sent to the server, being validated if it really represents an empty spot in the CS by a trained model, that it is out of scope on this study, and by the current location of the users, if it is in the surroundings of the CS.In case the photo veracity is checked, then the users will be rewarded with points that could result in discounts on the charging fees.

Google API Services
The Google API services are of great importance in this application, as the entire application works around the maps service provided by Google.The Maps API allows the presence of a map based on Google Maps data, that the user can explore by clicking the "Check Map" or showing the route to the CS suggested by the "Navigate" option.Another service used in the application is the Directions API, that allows the application to obtain direction information and draw a route between two points, taking into consideration traffic stats.This service provides us with information for different transport modes, waypoints and travel times, as well as one or more travelling routes to the destination while checking the distance and time it takes from one point to another.In this application, the only considered transport mode is a car, since all of the studies focus on the EV.One more service used is the Elevation API, that provides a simple interface to query locations on the earth for elevation data and with this information we can calculate if any energy was gained and the exact amount of energy gained by the EV from the source to the destination by the braking, also called by regenerative braking, calculating the difference in elevation at the start and end of the path, just like in [9] where the height-dependent part of the cost of a path only depends on the point of start and the destination point, because all others height-dependent parts cancel each other out, unless overcharging takes place.In order to calculate the energy gains through the regenerative braking we use the Equation (1), resulting on the conversion of the vehicle kinetic energy into chemical energy stored in the battery, where it can be used later to drive the vehicle.
The kinetic energy (KE) stored in a moving vehicle is related to the mass in kilograms (m) and speed of the vehicle in meters per second (v).In order to know the regeneration gained by braking along the route of the vehicle we would need to have access to information on how the route was made, namely when the brakes were applied and in which situations.Since we do not have access to this information at the time of executing the "Navigate" option of the application, we only calculate the potential energy gains when the difference between the heights of the starting point and the end point is greater than 0 by a simplified Equation (2).
To get the potential energy (PE) gains we use the Equation (2), achieved by multiplying the mass (m) of the EV by the acceleration (a) the vehicle has by the difference in height (h) from the starting point to the destination point.There is always some loss of energy, either by the rolling resistance, mechanical friction and aerodynamics in the EV, resulting on the dissipation of energy into heating the road, the surrounding air and various spinning parts in the EV.In order to interpret these losses in a very simplistic way, we decided to multiply the PE by an efficiency factor of 0.7.
The acceleration is calculated by multiplying the earth surface gravitational value (g), with the value of 9.8, by the slope angle between the starting and ending points of the route.
By applying the ( 1) and ( 2) equations we can calculate the potential gains from regenerative braking, which can results in an increase of up to 25% in the distance travelled by the EV [22].
Other Google service used is Firebase that supplies the means to build an authentication system for the login and register option, as well as the database to keep information about the users and the CS.

Predictive Model
The predictive model is built on to the android application, but in a commercial use, it would be advisable to have this model in a server to reduce the total size of the application and the battery drainage.It would also increase performance and help build a more robust model.This predictive model is going to be built with the help of the open datasets of EV charging sessions in the city of Dundee, Scotland [23].The city of Dundee was awarded in 2018 as the most visionary city in Europe for EVs at a ceremony in Japan, due to its pioneering initiatives to encourage the use of EVs.The city council was able to develop the largest fleet of council electric cars in the UK, with almost 40% of council cars and vans being electric.On top of that, 15% of the city's taxis are electric [24].That said, we have access to four datasets, that combined make a total of a year of charging sessions around the Dundee city, as well as a dataset that gives us more information of each charging point.To help with the predictive power of the model, information about the historical weather in the city of Dundee was obtained with the development of a Web Crawler with the help of the Python Library Selenium.The historical data was obtained from 1 of September of 2017 up to 6 of September of 2018, matching the first and last record of the charging sessions in the Dundee combined dataset, taking 1 h and 20 min to gather all data.Further details from the predictive model and the data used in the creation of the model are explained in the following section.

Development of the Predictive Model
As was said in the previous chapter, the predictive model was built using two combined datasets and applying predictive algorithms, one of the datasets is from the Dundee City representing the EV charging sessions and the other is a weather dataset gathered by a web crawler.The algorithm chosen is evaluated in this chapter, as various algorithms are tested and examined to decide which one is the most desirable, taking into consideration the accuracy levels and the performance, since the execution time is important.The developed approach can be applied to any case with the previous datasets of the charging process and weather dataset.

Charging Sessions Dataset
Firstly, there are five datasets in public access from the Dundee City Council in the matters of the EV Charging Sessions divided by charging points.Four of the datasets correspond to the charging sessions, representing each a time set of three months, a year in total data, and the last dataset represents information about each CS.
The charging dataset was combined using the four datasets, with data from 1 of September of 2017 to 6 of September of 2018, resulting in a total of 67,112 records with the following columns: CP ID, that uniquely identifies each charging point; Connector ID, the identifier of the connector since each charging point can have more than one connector; starting time and end time of the charging session; and the address of the charging point.In this study, we focused on three areas of Dundee, namely Queen Street Park, Dundee Ice Arena and Public Works Department, all of those charging points are open 24 h per day with zero cost associated and for public access.Removing rows with missing values resulted in a total of 66,783 records.In short, the CS under study is characterized by the information presented in Table 1.Having said that, we then removed every row with missing values, as well as every charging sessions with a duration of less than one minute or of more than two days, as we found those to most probably be wrong measures or misunderstandings by the users.After that, we have chosen three locations to continue the study and filtered the complete dataset to have a dataset per location, namely in the Queen Street Park (QSP) location, for Dundee Ice Arena (DIA) location and for Public Works Department location (PWD).Those locations were chosen because these are the locations with the highest number of recharging sessions, more specifically the dataset from QSP has a total amount of 8147 rows, the DIA dataset has 5209 rows and the PWD dataset has a total of 6264 rows.
We then divided the data from the charging session into intervals of fifteen minutes, as a way to predict the occupancy in the charging sessions every fifteen minutes, making it more dynamic and immediate, in case any connector of the station turns unoccupied.The average charging time is 3 h and 26 min for all CS and, more specifically, 51 min for QSP, 29 min for DIA station and 2 h and 35 min for PWD, and so, it is interesting to keep a low time interval for prediction to realize when the stations have a place available.To all of those records, a column called 'occupied' was added, and for the respective datetime, meaning that for every fifteen minutes we would count how many connectors from the CS were occupied, as a way to know the total number of connectors being used for that location.

Weather Dataset
As mentioned earlier, weather conditions can be important in forecasting parking spaces, which can be equated with the problem we are trying to address.Having said that, we are concentrating on obtaining meteorological data to help predict the occupation of CS, and this data was obtained via Web Crawler, developed using the Selenium Python Library from [25], within range of day 1 of September of 2017 to day 6 of September of 2018, matching the earliest and latest date in the charging sessions dataset.This historical data was gathered with an interval of 3 h between each measurement, collecting information like: datetime, showing the time and date of the measurement; temperature, in Celsius; wind speed, in kilometers per hour; clouds, cloud cover amount in percentage; humidity, in percentage; precipitation, in millimeters of water per hour; and atmospheric pressure in millibars.

Data Analysis
Before starting to apply algorithms, we combined the three datasets, from each location with the weather dataset, through the datetime column.All of the three datasets where composed by nine columns, namely occupied and datetime from the CS, as well as the temperature, humidity, wind speed, clouds, pressure and precipitation from the weather dataset.
After having combined the datasets, we started to check if the weather features had an influence in the occupation of the CS by analysing the correlation between every weather features and the target, 'occupied'.Correlation can give us a relationship between two values indicating that as one variable changes in value, the other variable tends to change its value in a specific direction.In this case, we used the Pearson's Correlation Coefficients, where the correlation coefficient value can range between −1 and 1, measuring both the strength and direction of the linear relationship between two continuous variables.Strength reveals that the greater the absolute the correlation coefficient is, the stronger is the relationship, meaning that as one value changes, the other will also change, where a coefficient of zero represents no linear relationship.As for direction, the sign of the correlation coefficient reveals the direction of the relationship, where positive coefficients indicate that when a value increases, the value of the other variable also tends to increase, and when the coefficient is negative represents that as a one variable increases the other tends do decreases.Having said that the correlation values between the target 'occupied' and the weather features can be seen in Table 2.By analyzing Table 2 we can conclude that the weather features do not show a high correlation with the loading sessions.The charging of the EV is necessary in case of lack of battery in the EV, where weather conditions do not condition it, as the drivers need to have the vehicle operational.Having said that, we decided to remove the weather data for the creation of the predictive model.

Testing Algorithms
In this section and taking into consideration the above findings, we started the testing of algorithms to predict the occupancy of the CS, but firstly we transformed the occupied columns to represent an occupation tax, instead the true value, as it results in better predictions, meaning that for the case of the DIA location, if there are 2 cars charging in it at the same time, that means the CS is full, having a 100% occupation tax.The algorithms chosen to test this were Distributed Random Forest (DRF), Neural Networks (NN) and Gradient Boosting Machine (GBM), from the python library H2O [26].Those algorithms were applied to the three different locations datasets and evaluated using a five cross-validation, resulting in the outcomes for the accuracy metric present in Table 3. Considering the results obtained, we can verify that the algorithm that presented the best results was the DRF, reaching around 70% accuracy values and having the second lowest average run time of all the three algorithms tested.The best value as we can see is using the DRF algorithm with the DIA location, reaching a robust and efficient accuracy value of 74%, the other locations, QSP and PWD also had good values, almost 65% and 70%, respectively.The NN algorithm showed the worst values in accuracy, while also presenting high run times, and so this option was discarded.The GBM algorithm presents the lowest run time values, and although this metric is important for the efficiency of the application and the predictive models, the accuracy difference is high enough to choose the DRF as the adopted algorithm.
To conclude, the algorithm chosen for the creation of the predictive models is the Distributed Random Forest.These models are built using historical information with an interval of 15 min about the charging sessions, namely the occupancy rate in each charging station for a given month, day, hour and minutes the session occur.

Results Evaluation
For this assessment we considered two examples of EV, the first being the Renault Zoe and the second being the Nissan Leaf.These vehicles were chosen because they are two of the most common EV in Europe [27].The way in which the EV is driven has a lot of influence on its energy consumption, from the velocity, braking force, number of times it has been braked, etc, and as we do not have information on consumption along the route, we then use an average consumption for each of the EVs taking into account their characteristics.

Test Example: Renault Zoe
The Renault Zoe R90 model has a total weight of 1455 kg and a reach of 260 km with a battery of 41 kWh and an average consumption of 15.8 kWh per 100 km [28].
So, in the following example we started at Braemar, Ballater, UK, with an elevation of 323 m with a Renault Zoe at 55% of battery level.We then used the "Navigate" option with Broughty Ferry, UK as the final destination which is 44 m above the water level.
As we can see in the Figure 5, the user inserted Broughty Ferry on the first input box and the current battery percentage has 55%.After this, the user would click on navigate and the decision algorithm would run to calculate the weight of each option.This algorithm takes into consideration the three heuristics previously announced for each CS, firstly the occupancy of the CS at the time of arrival, secondly the duration it takes from the current location of the user to the CS, and lastly the distance from the CS to the destination provided by the user, in this case Broughty Ferry.The algorithm features and weight results for the Renault Zoe can be seen on Table 4.The algorithm takes the percentage of occupancy as a higher priority, and the CS with the lowest occupancy was the DIA location with 0% occupancy at the time of arrival, while PWD location had a value of 6% and the QSP location an occupancy of 25%.In the case of the duration, the route with less time was for the DIA location at a distance of 6038 s, about 1 h and 38 min.For the rest of the CS, we had a total duration of 6202 s (1 h and 43 min) for the PWD location and 6819 s (1 h and 53 min) for the QSP location.For the distance from destination to the CS, the shortest is the QSP CS with only 841 m away, while the rest of the CS are more than 7 kilometers away.So, taking in those values, we generated the weight value, to decide which CS suits best, where CS with the highest weight value is chosen as the optimal CS and the route to that CS is made.The CS with the highest value was the QSP, with a total of 202.80 weight, so the route to this CS is made while showing the duration to the CS in bold, as well as the battery level at the destination and the occupancy percentage of the CS while arriving the CS.In this case the route to the CS takes around 1 h and 38 min, resulting on an occupancy of 25% at the estimated time of arrival, with a total of 13% battery level, seen in Figure 6.
As the elevation is higher at the start (323.13m) then in the end (9.73 m) there is a reduced energy gain, more specifically 4 watts.It is not a very large gain, but it tends to have a greater contribution in cases of routes with a greater difference in height and where the route is not so long.In this case, the EV ended the route on the QSP CS with 13 percent battery charge.

Test Example: Nissan Leaf
The Nissan Leaf weights 1580 kg with a 38 kWh battery capacity as a total of range of 230 km, resulting on an average of 16.5 kWh consumption per 100 km [29].
Taking into consideration the Nissan Leaf characteristics and starting at Leuchars Station, UK with a total of 30% battery level.In this example we executed the "Navigate" option with the Dundee Ice Arena as the destination, as a way to evaluate once more the decision algorithm.In Table 5 we can check the features and weight results from the decision algorithm for the Nissan Leaf example.In this case the difference between the two points is 89.65 m, where the final destination has a height of 100.60 m and a total of 10.94 m at the starting point, so there are no energy gains taken into consideration.
As previously mentioned, the heuristic with the highest priority is the occupancy rate of the stations, and the station with the lowest occupancy rate in this case was PWD with an occupancy rate of 18%.The QSP station had an occupancy rate of 25% and the DIA station an occupancy rate of 50%.In terms of duration of the route, the route to PWD is the shortest with 1884 s, a total of 31 min.For QSP and DIA, we have 1902 s (approximately 32 min) and 2037 s (34 min), respectively.In terms of distance from the final destination to the CS, the shortest distance is at the DIA station with 54 m distance from the provided destination, to the PWD station we have a distance of 2429 m and to the QSP station we have a total of 9443 m distance.After finding all these values, we were able to calculate the weight of each station to choose the best option for charging, and in this case we verified that the station with the highest weight is the DIA station with a value of 194.55, being this the selected one.The Leaf reaches the DIA CS with a total of 19% of battery and a occupancy at the estimated time of arrival of 50%.
For the Check Map feature, the user decides which CS wants to move to.For example, the user chooses the location to navigate to manually and the application takes care of creating the route to the selected CS.As the battery information is not provided in this case, the application does not take this information into account, only showing the occupancy information upon arrival.

Conclusions
This work introduces a novel approach to handle the problem of real-time guidance to free CS near the desired destination location for EV drivers.As the number of electric cars gets bigger this problem will be increasingly more important, where the allocation of new CS will be a necessity.If this increase does not happen in a controlled and intelligent way, the current CS will become too crowded which can present a huge challenge for EV drivers as well as for the traffic surrounding the CS, as most of the times they do travels that can be performed with available charge because there is a big uncertainty about getting a free charging spot.A prediction approach can handle and mitigate this problem when no real-time connection is available to these proprietary systems.This information is vital when the CS implementation is lower than the EV market penetration.This predictions model can reduce this problem proving probabilistic information about the availability and, as we were able to conclude with this study.A predictive model was built for the three studied locations showing good accuracy results for the CS, by combining a total of one year of charging sessions data proving to be a reliable solution.The model developed could also be implemented in other cities, requiring only the input of datetime features, namely the day, month, hour and minutes of future charging, thus allowing the model to return a value of the occupancy rate.Current solutions also provide information about the usage of CS and with this, it is possible to identify zones where there is a need for more CS because several EV can not charge in the desirable location.This could be useful information for future studies of the location of CS.
Author Contributions: G.A. conducted the investigation, developed the application and implemented the algorithms.J.C.F. was responsible for the technical support.R.P. was responsible for the methodological support.

Figure 3 .
Figure 3. Location of CS on the map.

Figure 4 .
Figure 4. Pop-up information board on a CS.

Figure 5 .
Figure 5. Navigate option with Broughty Ferry as the destination.

Figure 6 .
Figure 6.The route to the CS chosen from the decision algorithm.

Table 2 .
Correlation of weather features with the target 'occupied'.

Table 3 .
Accuracy and average run time results.

Table 4 .
Navigate option with Broughty Ferry as the destination.

Table 5 .
Decision algorithms heuristics results for the Nissan Leaf example.