Spatially thin out trajectory of 3D points

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)

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.

Categories

Find more on Earth and Planetary Science in Help Center and File Exchange

Products

Release

R2018a

Asked:

on 24 Nov 2018

Answered:

on 28 Jan 2020

Community Treasure Hunt

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

Start Hunting!