How to create a spherical graph with points that are latitude and longitude?
Ältere Kommentare anzeigen
I have a list of locations given in lat and long. How can I graph them in a sphere so that it looks like a globe?
Akzeptierte Antwort
Weitere Antworten (1)
Chad Greene
am 2 Aug. 2017
If you don't have the Mapping Toolbox, you can always use the standard Matlab function sph2cart to represent the Earth as a sphere of radius 6371 km like this:
lat = 180*rand(500,1)-90;
lon = 360*rand(500,1);
T = 15+10*cosd(lat);
[x,y,z] = sph2cart(deg2rad(lon),deg2rad(lat),6371);
scatter3(x,y,z,40,T,'filled');
axis tight equal
cmocean thermal

Above I used the cmocean thermal colormap, but you can skip that line if you prefer. To put those data points in context, I'll use border data from my borders function, convert the borders to cartesian coordinates the same way as above, and plot with the scattered points:
hold on
C = load('borderdata.mat');
for k = 1:246
[xtmp,ytmp,ztmp] = sph2cart(deg2rad(C.lon{k}),deg2rad(C.lat{k}),6371);
plot3(xtmp,ytmp,ztmp,'k')
end
axis off

1 Kommentar
Chad Greene
am 2 Aug. 2017
I answered a similar question here, where I also made the globe opaque and included lines of latitude and longitude.
Kategorien
Mehr zu Map Display finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!