Repository navigation
Releases
Releases · LdDl/horizon
v0.12.0 Performance-wise changes
What's new
- No more bubble sorts in hot paths. See the ref.: #45
- Index-based BFS. See the ref.: #46
- Reduced allocations in projection calculation. See the ref.: #47
- Fixed bug in
FindNearestfunction which could led to incorrect early exists. See the ref.: #48 - Flatten hashmaps, added bbox pruning and cache polylines data. See the ref.: #50
v0.11.3 Minor fix on same-edge routing
What's new
- Resolve false sub-match breaks when consecutive GPS points project onto the same edge with different routing vertices.
- Use distance-based transition probability (length in meters) instead of time-based cost (geometrical similarity)
v0.11.2 CSV column lookup and cost resolver
What's new
Now Horizon is CSV-format-agnostic and enables time-based routing cost instead of distance-only (thanks to flexible lookup technique)
For the more information see the reference: #43
v0.11.1 Better handling of no-candidates and orphan candidates
What's new
- New
codes.gowith matcher code constants. Currently they are:
900 - OK,
901 - no candidates,
902 - orphan observation - Updated matcher enginge to preserve unmatched observations in results
- Do not call Viterbi on single point. Just use
2 * emission for probablity
For more info see PR: #39
v0.11.0 Tarjan SCC-based filtering and unlimited spatial search
What's new
- Now candidates (in shortest path/map match) are prioritized via Strongly Connected Components (SCC, Tarjan's Algorithm). Ref: https://en.wikipedia.org/wiki/
- It is possible now to not use radius (for both gRPC and HTTP API), so it fallbacks to optimized function
FindNearestwhich uses incremental frontier expansion instead of recalculating BFS per ring (cells around). Max distance of search in that case is(maxSearchRings * cellSize)
For for information check this PR: #38
v0.10.0 Breaking change: use WKT instead of GeoJSON for import
What's new
- New for import WKT is used instead of GeoJSON.
It is a breaking change, to to deal with it and get more information check PR: #37
v0.9.0 - Query pooling
What's new
- Update CH version
- Use thread-safe API of CH package via QueryPool (since it is breaking change)
- Queries became a little bit faster due new CH, but at the same time a little bit longer due thread-safeness. So changes are negligible in total.
For the more information see #36
v0.8.1 Allow Euclidean space spatial storage
What's new
- Now it is possible to define Euclidean spatial storage. Storage is based on R-tree thanks to https://github.com/tidwall/rtree
- Spatial storage is now interface
For the detailed info see this PR #35
v0.8.0 Sub-matching
v0.7.0 - gRPC API
What's new
- gRPC API is now prepared. There is a little difference between REST API and gRPC: most of it just field naming and arrangement, but you should be good to go.
- Server gRPC docs on http://ip:port/api/v0.1.0/grpc/docs/index.html
- Bumped golang.org/x/net version up to 0.38.0
- New binaries have been built