-
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
High level design for OASIS service #141
Comments
Requirement:
POC version
More detailsWant to divide functionality to 3 kind of situations:
Version 2
|
The design of StationFinderInterface: type stationFinder interface {
prepare()
iterate()
calcCost(another stationFinder)
} There are several kind of stationFinder: origStationFinder, destStationFinder, midStationFinder The target is, for client code should look like this: stations := NewStationFinder()
.prepare()
.calcCost(anotherStationFinder)
for v, _ := range stations.iterate() {
// do things
} |
* feat: initial implementation for one charge station select. issue: #143 * feat: Implement feature for one charge station find. issue: #143 * fix: fix oasis/main based on api change. issue: #143 * fix: refactor code issue: #143 * fix: refactor code issue: #143 * fix: refactor code issue: https://github.com/Telenav/osrm-backend/issnues/143 * fix: add unit test for basic_finder issue: issue: https://github.com/Telenav/osrm-backend/issnues/143 * fix: add unit test for iterator_algorithm issue: #143 * fix: add unit test for single charge station logic issue: #143 * fix: remove comments in handler.go issue: #143 * fix: add doc file and remove untested code. issue: #143 * fix: refactor code. issue: #143 * fix: uncomment code in main issue: #143 * fix: refine code issue: #143 * fix: add protect number for overlap stations request issue: #141 * fix: update code based on comments. - remove redudent else - remove int type for const - add more context for log output when osrm route returns empty route result. issue: #176
Subtask of #120
POC Strategy description
1. Pass in destination and user's current energy level
2. Calculate route for given origin point and dest point
3. Pick segment gaps from route which is used for energy search
4. Query for search service for charge points
5. Query for table service for all distance&duration in each group. Ie, orig -> all charge points in the first segment gaps., all charge points in the first segment gaps to second gaps, ... , to destination
6. A high level graph is generated, use Dynamic Programming to pick the best strategy
7. Generate result and make charge station candidates as way points.
Architecture
Component design
Corner cases
Parameter input
Communication with OSRM
Communication with Search
Integration
The text was updated successfully, but these errors were encountered: