New ideas, thought about needed features will be store in this file.
- Initial core
- Import file of specific format Done as CSV
- Export file of specific format Done as CSV
- Turn Restricted Shortest Path extension for CH-algorithm Propably not modify algorithm, but graph. Excluded: done with osm2ch - https://github.com/LdDl/osm2ch#osm2ch
- Thoughts and discussions about OSM graph and extensions Need some ideas about parsing and preparing. Excluded: osm2ch - https://github.com/LdDl/osm2ch#osm2ch
- Map matcher as another project Here is the one https://github.com/LdDl/horizon
- Bring OSM parser Excluded
- Bring OSM restrictions Excluded
- OneTwoMany function (contraction hierarchies) Done, may be some bench comparisons
- Replace int with int64 (OSM purposes) Done
- Separate benchmarks to BENCHMARK.md Done
- Better CSV format or another format (JSON / binary). W.I.P. Splitting single file to multiple
- Separate export functions
- Thread-safe QueryPool for concurrent shortest path queries Done
- Dynamic edge weight updates (lightweight recustomization) Done - allows updating edge weights without full CH rebuild. Inspired by CCH
- Parallel version as optional feature (See branch optional-parallelism). Status update: 22.08.2021
- Refactor code completely. May be add some simple variation of algorithm (or add docs/wiki, the best I've found so far: https://jlazarsfeld.github.io/ch.150.project/sections/1-intro/)
- Better heuristics for calculationg importance of each vertex.
- Max-cost path finder.
- N-best shortest pathes.
- Full Customizable Contraction Hierarchies (CCH) with nested dissection ordering - would require METIS or similar graph partitioning (need to investigate pure Go options). Reference - https://arxiv.org/abs/1402.0402