Plotting a surface plot for latitude, longitude and depth
34 次查看(过去 30 天)
显示 更早的评论
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!
1 个评论
回答(3 个)
Mani Ahmadian
2016-1-5
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
Chad Greene
2016-1-5
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.
1 个评论
Youssef Wehbe
2020-4-1
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!
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!