Skip to content
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

Oasis - Extend oasis service's graph - multiple orig and destination #242

Closed
5 of 6 tasks
CodeBear801 opened this issue Mar 20, 2020 · 0 comments · Fixed by #339
Closed
5 of 6 tasks

Oasis - Extend oasis service's graph - multiple orig and destination #242

CodeBear801 opened this issue Mar 20, 2020 · 0 comments · Fixed by #339
Assignees
Labels
NewFeature New feature or feature improvement Prototype Proof of concept Refactor Rewrite existing code in order to improve its readability, reusability or structure

Comments

@CodeBear801
Copy link

CodeBear801 commented Mar 20, 2020

Subtask of #231, more information go to #282

update on 04302020
Original thinking is: before algorithm of Dijkstra starts, add all reachable charge stations from orig based on current energy into Graph, and for destination, add all charge station which is possible to charge there and reach destination. Treat those points as origs and destinations for the algorithm

But I think we could hide those logic in the interface of connectivityQuerier

// Querier used to return topological information of charge stations
type Querier interface {
	// NearByStationQuery finds near by stations by given stationID and return them in recorded sequence
	// Returns nil if given stationID is not found or no connectivity
	NearByStationQuery(stationID string) []*QueryResult

	// GetLocation returns location of given station id
	// Returns nil if given stationID is not found
	GetLocation(stationID string) *nav.Location
}
  • For the middle points, which is charge stations, it need to support get connectivity by calling NearByStationQuery
  • For orig point, Querier need to support user query with a special string which represent for orig and returns all reachable charge stations, so information like currentEnergyLevel need to pass into implementation of Querier
  • We also need special logic to connects destination into station graph

Tasks

@CodeBear801 CodeBear801 self-assigned this Mar 20, 2020
@CodeBear801 CodeBear801 added NewFeature New feature or feature improvement Prototype Proof of concept labels Mar 26, 2020
CodeBear801 added a commit that referenced this issue May 4, 2020
CodeBear801 added a commit that referenced this issue May 4, 2020
@CodeBear801 CodeBear801 added the Refactor Rewrite existing code in order to improve its readability, reusability or structure label May 5, 2020
wangyoucao577 added a commit that referenced this issue May 7, 2020
)

* feat: implement station connecivity graph based on pre-build data
issue: #242

* feat: implement station connectivity graph based on pre-build data
issue: #242

* fix: update comments
issue: #242

* fix: remove debug code.

* fix: add comments for putlic functions
issue: #325

* fix: update comments
issue: #325

* fix: update changelog-fork.md.

Co-authored-by: Jay Zhang <[email protected]>
CodeBear801 added a commit that referenced this issue May 8, 2020
* feat: implement station connectivity graph based on pre-build data
issue: #242
CodeBear801 added a commit that referenced this issue May 13, 2020
CodeBear801 added a commit that referenced this issue May 13, 2020
)

* feat: integrate station connectivity finder with service
issue: #242

* fix: add filter in node_graph to avoid visiting unreachable stations
issue: #338
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NewFeature New feature or feature improvement Prototype Proof of concept Refactor Rewrite existing code in order to improve its readability, reusability or structure
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant