MATLAB Answers

Spatially thin out trajectory of 3D points

2 views (last 30 days)
thord
thord on 24 Nov 2018
Answered: Rob Comer on 28 Jan 2020
Hello everyone,
I have a trajectory of 3D positions on the earth (geodetic coordinates latitude, longitude and ellipsoidal height).
It consists of standstill, low-dynamic and high-dynamic parts.
For plotting, memory and performance reasons I would like to spatially thin out my list of points in the trajectory (like for example keeping only points that are >0.5 m apart).
So I would like to ask if there is already a built-in function for this in MATLAB (or maybe the Mapping Toolbox) that I missed, or if I will have to write my own function?
Greetings

Answers (1)

Rob Comer
Rob Comer on 28 Jan 2020
You'll have to write your own function, but the ecefOffset function in Mapping Toolbox can help. Try something like this (assuming h is ellipsoidal height in meters):
[deltaX,deltaY,deltaZ] = ecefOffset(wgs84Ellipsoid,...
lat(1:end-1),lon(1:end-1),h(1:end-1),lat(2:end),lon(2:end),h(2:end));
delta = hypot(hypot(deltaX,deltaY),deltaZ);
Then look for elements of delta that are less than 0.5.

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!