Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

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

Figure contains an axes object. The axes object contains an object of type contour.

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

Figure contains an axes object. The axes object contains an object of type image.

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