Plotting a surface plot for latitude, longitude and depth
조회 수: 29 (최근 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!