Sections
Introduction
Since Tracks include time with their contained Points, adding or removing Points has 2 problems:
For adding Points, timestamps must be generated.
For moving existing Points, keeping the original timestamps changes Track speeds in inaccurate ways & may lead the Point to being removed in other cleaning operations, such as smoothing by speed.
By moving the point:
L1' < L1
L2' < L2
T' = T
Speed = L / ΔT
Speed' > Speed, since L1'/ΔT > L1/ΔT
Considerations
When Track Point is bad, keeping the time has no correlative value except for being roughly in the right place at that time. This same value can be deduced by the Points before & after the bad Point.
Removing Points does not cause problems beyond speeds being inaccurate but still in bounds within that Path segment, determined by neighboring valid Points.
Solution
Determine speed of Path Segment from the Points before & after the Point being added/moved.
Interpolate timestamp of each added/moved Point using this constant speed & changing distances to closest connected Points along the Path.
Example
Below is an example of a Track, with corresponding speeds of it’s segments (derived from Track Points) and it’s Points (derived from Track Segments). The example also shows how the timestamp values are derived and what that does for the segment & Point speeds for the inserted/moved Points.
Attachments:
PointInsertion2a-20231104-020208.jpg (image/jpeg)
PointInsertion2b-20231104-020240.jpg (image/jpeg)