3D Curtain plot for Lidar data

3 views (last 30 days)
HRmatlab
HRmatlab on 4 Feb 2021
Commented: darova on 12 Feb 2021
I have geolocated lidar backscatter data from a flight that i need to plot.
The data are functions of time T and Altitude: Longitude(Time), Latitude(Time), LidarData(Time,Altitude).
The number of Time data points is >20,000 (entire flight) and number of Altitude data points is 600. So the LidarData is a large (20,000, 600) matrix.
In other words for each Time T have a location ( Longitude, Latitude) and LidarData at that location that extends from the ground to a specific altitude (the altitude for each location varies with time). All the 3D plots in Matlab allow a mesh, surface or scatter plot of X,Y,Z data.
I can plot individual scatter3 plots for each time (location) but with >20,000 points it takes a long time and the plot is imposisble to manipulate (change view angle, colorbar scale, etc.). Is there a better way to do this?
There is an existing (related) question on this but could not find an any answers: https://www.mathworks.com/matlabcentral/answers/4496-4d-curtain-plot

Answers (1)

darova
darova on 11 Feb 2021
Can you plot only part of it?
clc,clear
[x,y,z] = peaks(100);
i = 1:5:100;
surf(x(i,i),y(i,i),z(i,i))
  2 Comments
darova
darova on 12 Feb 2021
@HRmatlab's comment
Thank you for the suggestion. Yes I have plotted small segments.
Plotting the entire data set using a loop and scatter3 produces the desired plot but it takes > 30 minutes and makes the plot impossible to adjust (rotate, zoom, etc.).
The surf (or mesh) plots require an x, y mesh grid in other words x, y, z have to be NxM arrays.
I have x(N), y(N), z(N,M). Converting x,y to gridded arrays will slow things down.
But i will take another look. Than you for the feedback.
darova
darova on 12 Feb 2021
Try griddata or scatteredInterpolant to create matrices and use surf

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!