Plotting a surface plot for latitude, longitude and depth

44 views (last 30 days)
Neil Spiteri on 5 Jan 2016
Commented: Youssef Wehbe on 1 Apr 2020
Hi guys
I have a number of latitude, longitude and depth data points which I want to plot as a surface. Each latitude and longitude coordinates correspond to a unique depth value. I was thinking of using the mesh to plot the surface, but I am not sure how to do it. Any help?
Thanks!
francesco lanzillo on 10 Mar 2017
Hey I have the same problem! Did you manage to solve it? thank you

Mani Ahmadian on 5 Jan 2016
Hi, I think this code solves your problem:
function utm_plot(long, lat, altitude)
clc
close all
[X, Y]=meshgrid(long, lat)
figure('name','3D Plot', 'NumberTitle','off')
surfc(X, Y, altitude)
colorbar()
axesm utm
grid on
hold on
legend()
end
Neil Spiteri on 5 Jan 2016
Edited: Neil Spiteri on 5 Jan 2016
I tried that, but I got this error "The surface Z must contain more than one row or column." where Z in my case corresponds to altitude

Chad Greene on 5 Jan 2016
Your scattered data points must be fit to a surface. There are a number of ways to get a surface from scattered data, so you'll have to make some decisions.
First, convert lat and lon to some proper projected x and y coordinates. This is necessary because spacing of latitude lines does not equal spacing of longitude lines. Fitting to a surface will require some even spacing in x and y. If you have the Mapping Toolbox, convert to map x,y coordinates with the projfwd function.
With your scattered data in x,y coordinates, you might want to try gridfit to generate a surface. The two big decisions you'll have to make with gridfit are
1. spatial resolution, which affects the time it takes to solve gridfit, and
2. smoothness parameter. Tuning the smoothness parameter may take some trial and error. It's essentially fitting a pliable plate to your scattered data points. The smoothing parameter defines how stiff that plate is.
After gridfit you can plot with surf, pcolor, imagesc, mesh, etc.
Youssef Wehbe on 1 Apr 2020
Hi Chad - I have an aircraft dataset and would like to plot a 3D flight track (lat,lon,elev) and color the markers according to a depth (dust concentration in my case). Any help is greatly appreciated!

Ka Mirul on 27 Jan 2018
This video may help you (SGP4 Propagator) : https://youtu.be/u4UPmUPInAY Good luck.