Update Pipline

Hamza 2026-03-30 09:24:33 +02:00
parent 0c2316a536
commit a2164929ba

@ -54,25 +54,25 @@ Two points belong to the same cluster only if:
The T-DBSCAN algorithm is optimized with **KD-Tree**, this will help find the nearest points faster, if further optimizations are needed then we should look into improving the **Cash Hits** and maybe change the algorithm to use **SIMD** and **Multi-Threading**.
# Douglas-Peucker Simplification
The DouglasPeucker Simplification algorithm (often called the RamerDouglasPeucker algorithm) is a technique used in computational geometry to reduce the number of points in a curve or line while preserving its overall shape.
The Douglas-Peucker Simplification algorithm (often called the Ramer-Douglas-Peucker algorithm) is a technique used in computational geometry to reduce the number of points in a curve or line while preserving its overall shape.
Imagine you have a line made of many points (like a GPS path or a drawn shape). The algorithm removes unnecessary points so the line becomes simpler—but still looks almost the same.
<img src="https://upload.wikimedia.org/wikipedia/commons/6/69/RDP%2C_varying_epsilon.gif" alt="RamerDouglasPeucker_algorithm" width="50%" height="auto" />
<img src="https://upload.wikimedia.org/wikipedia/commons/6/69/RDP%2C_varying_epsilon.gif" alt="Ramer-Douglas-Peucker_algorithm" width="50%" height="auto" />
### Why it's needed?
Having hours of **GPS records** will slow down OSRM Map Matching, so to speed it up, we reduce and simplify number of points, using line simplification algorithm.
We choosed Ramer-Douglas-Peucker Algorithm as it the most common algorithm but there is other like:
- VisvalingamWhyatt
- ReumannWitkam
- Visvalingam-Whyatt
- Reumann-Witkam
- Opheim simplification
- Lang simplification
- ZhaoSaalfeld
- Zhao-Saalfeld
- Imai-Iri
### How it works (step-by-step)
<img src="https://upload.wikimedia.org/wikipedia/commons/3/30/Douglas-Peucker_animated.gif" alt="RamerDouglasPeucker_algorithm" width="50%" height="auto" />
<img src="https://upload.wikimedia.org/wikipedia/commons/3/30/Douglas-Peucker_animated.gif" alt="Ramer-Douglas-Peucker_algorithm" width="50%" height="auto" />
- Start with endpoints
- Take the first and last point of the line segment.