![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/173863/image.png)
plotting lat, lon, altitude, variable
8 views (last 30 days)
Show older comments
I have 3 vectors of latitude, longitude, and elevation respectively. I also have a corresponding 3d matrix of size latitude*longitude*elevation which contains some data (Temperature). I want to display the Temperature data in 3d space. What is the best way to do this? Note: I don't want to use trisurf because it requires reshaping the matrix into 3 separate vectors, with which I found difficulty in tracking the data points.
Many thanks.
-Sagar
0 Comments
Accepted Answer
Chad Greene
on 11 Mar 2015
% Some data:
[lon,lat,z] = meshgrid(-180:3:180,-90:2:90,0:50:1000);
T = 20 - .1*abs(lat) - .01*z + sind(lon);
% Plot dataset:
pcolor3(lon,lat,z,T);
% Add labels:
xlabel('longitude')
ylabel('latitude')
zlabel('elevation (m)')
title('temperature or something')
axis tight
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/173863/image.png)
0 Comments
More Answers (3)
Sagar
on 15 Mar 2015
1 Comment
Chad Greene
on 16 Mar 2015
Or similarly,
in = ingeoquad(lat,long,[0 40],[-20 70]);
long(~in) = NaN;
lat(~in) = NaN;
See Also
Categories
Find more on Climate Science and Analysis 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!