Mostrar datos topográficos
Este ejemplo muestra varias formas de representar la topografía de la Tierra. Los datos que se utilizan en este ejemplo fueron facilitados por el Centro Nacional de Datos Geofísicos, NOAA, Departamento de Comercio de los Estados Unidos, en la actualización de datos 88-MGG-02.
Acerca de los datos topográficos
El archivo de datos, topo.mat
, contiene datos topográficos. topo
representa los datos de altitud y topomap1
representa un mapa de colores para la altitud.
load topo topo topomap1 % load data whos('topo','topomap1')
Name Size Bytes Class Attributes topo 180x360 518400 double topomap1 64x3 1536 double
Crear un diagrama de contorno
Una forma de visualizar datos topográficos es crear un diagrama de contorno. Para mostrar el contorno de los continentes de la Tierra, represente puntos con altitud cero. Los primeros tres argumentos de entrada para contour
especifican los valores X, Y y Z del diagrama de contorno. El cuarto argumento especifica los niveles de contorno que se desea representar.
x = 0:359; % longitude y = -89:90; % latitude figure contour(x,y,topo,[0 0]) axis equal % set axis units to be the same size box on % display bounding box ax = gca; % get current axis ax.XLim = [0 360]; % set x limits ax.YLim = [-90 90]; % set y limits ax.XTick = [0 60 120 180 240 300 360]; % define x ticks ax.YTick = [-90 -60 -30 0 30 60 90]; % define y ticks
Ver datos como imágenes
Puede crear una imagen de la topografía utilizando los datos de elevación y un mapa de colores personalizado. Los datos topográficos se tratan como un índice en el mapa de colores personalizado. Establezca el valor CDataMapping
de la imagen en 'scaled'
para escalar linealmente los valores de los datos al intervalo del mapa de colores. En este mapa de colores, los tonos de verde muestran los datos de altitud, y los tonos de azul representan la profundidad por debajo del nivel del mar.
image([0 360],[-90 90], flip(topo), 'CDataMapping', 'scaled') colormap(topomap1) axis equal % set axis units to be the same size ax = gca; % get current axis ax.XLim = [0 360]; % set x limits ax.YLim = [-90 90]; % set y limits ax.XTick = [0 60 120 180 240 300 360]; % define x ticks ax.YTick = [-90 -60 -30 0 30 60 90]; % define y ticks
Utilizar la aplicación de texturas
La aplicación de texturas aplica una imagen en 2D sobre una superficie en 3D. Para asignar la topografía a una superficie esférica, establezca el color de la superficie, especificado con la propiedad CData
, en los datos topográficos, y la propiedad FaceColor
en 'texturemap'
.
clf [x,y,z] = sphere(50); % create a sphere s = surface(x,y,z); % plot spherical surface s.FaceColor = 'texturemap'; % use texture mapping s.CData = topo; % set color data to topographic data s.EdgeColor = 'none'; % remove edges s.FaceLighting = 'gouraud'; % preferred lighting for curved surfaces s.SpecularStrength = 0.4; % change the strength of the reflected light light('Position',[-1 0 1]) % add a light axis square off % set axis to square and remove axis view([-30,30]) % set the viewing angle