I am currently doing an assignment on how to compress a trajectory. Given a trajectory T1 in figure 1, and I want to get a compressed version as T2. For segments p0~p3 and p6~p9 in T2, I can obtain them using traditional line simplification algorithms, such as Douglas-Peucker algorithm. However, in my opinion, segment p3~p6 is very important for further analysis, so, I want to preserve this part while compression T1.

How can I do it?

Trajectory Compression

Segment p3~p6 can be called fluctuant part. It is composited with points that with relative slower speed and continuous direction changes. May be there are any other accurate definitions to describe this part.


Convex hull approach?

Take 1st 4 points and create 2 polygons, 1st being simple polygon connecting points in original order, close it to 1st point.

Calculate convex hull of points and compare the areas of 2 polygons. If areas are different this is 'wrong' shape.

Proceed with point 1..4, etc. Count how many times each point participate in wrong polygon. For example shown it is going to be something like


I'd say everything <>0 is a twisty section


This planar curve seems to be partially defined as bezier-curve or something like that (p0-p3) and (p6-p9) and so far you can determine the 'bending' or 'curvature' (not quite sure if this is the correct term for the second derivation in pn) and then define criteria whether a point is to keep or not (bending 'very small' and no sign change for example). If the curve is obviously not differentiable (this in my opinion is the accurate definition you're asking for) like in p3-p6 (line segments) the points are to be kept anyway.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.