-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve Oasis service #196
Comments
Instead of using exact charge stations, may be we could try record cellid instead. It could also support for checking overlap and also has less amount. |
Draft design for
|
We are near to finish implementing POC version of OASIS service, for next step, we want to expericing several strategy which might be helpful for production
Charge station based routing
If
Orig
andDest
has some distance in between, let's say needs at least one charge time.We could find all charge stations which could be reached for start point and all charge stations are needed to reach destination, if there are overlap in between, then we could end up with single charge station, otherwise, calculate the best route based on charge station network, node is charge station, edge is reachable charge station for each charge station.
station1
could reachstation2
andstation3
,station2
could reachstation1
,station3
,station4
, andstation 3
could reachstation2
,station1
,station6
we could create following table and recorded in
db
:So let's say we limit this strategy to find charge strategy solution for at most 3 times charges, then we might just need db query and find whether there are duplicates in both query results.
The amount of results and db size is the concern, need experiments.
Just based on spatial index we could find all cells for certain query polygon, just need retrieve data inside the polygon after query.
Search charge stations along the route
When we drive our EV follow the route, if charge station candidates near to the route could pop up smartly, then we don't need complex algorithm to pick optimized charge stations, just drove off current route and find a charge station when energy is low.
So how to search charge stations along the route?
Usually, search service works like given center point and bounding box, it could return all related data back. But in search along route's case, its hard to define center point. Most accurate representation is extend the route as a polygon, search all charge station inside that polygon.
For example, given route in
blue
, if we could find all charge stations just ingreen area
then select charge station would be much easier.Based on S2 or H3, we could achieve that easier:
search shape
based on our logic and query at running time.The steps of solving problem of searching for suitable charge stations could be:
The drawback of this solution is, it assumes charge station could be found near to final route, which might not be the case, so I feel we could trigger charge station based route and search along route strategy at the same time and pick best result among them.
Tools
Google S2
Uber H3
BBolt DB
More info:
#231
The text was updated successfully, but these errors were encountered: