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

回答 (1 件)

Rob Comer
Rob Comer 2020 年 1 月 28 日

0 投票

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.

カテゴリ

ヘルプ センター および File ExchangeEarth and Planetary Science についてさらに検索

製品

リリース

R2018a

質問済み:

2018 年 11 月 24 日

回答済み:

2020 年 1 月 28 日

Community Treasure Hunt

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

Start Hunting!

Translated by