Spatially thin out trajectory of 3D points
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(1 个)
Rob Comer
2020-1-28
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Geodesy and Mapping 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!