Documentation

meshlsrm

3-D lighted shaded relief of regular data grid

Syntax

meshlsrm(Z,R)
meshlsrm(Z,R,[azim elev])
meshlsrm(Z,R,[azim elev],cmap)
meshlsrm(Z,R,[azim elev],cmap,clim)
h = meshlsrm(...)

Description

meshlsrm(Z,R) displays the regular data grid Z colored according to elevation and surface slopes. R can be a referencing vector, a referencing matrix, or a geographic raster reference object.

If R is a geographic raster reference object, its RasterSize property must be consistent with size(Z).

If R is a referencing vector, it must be a 1-by-3 with elements:

[cells/degree northern_latitude_limit western_longitude_limit]

If R is a referencing matrix, it must be 3-by-2 and transform raster row and column indices to/from geographic coordinates according to:

[lon lat] = [row col 1] * R

If R is a referencing matrix, it must define a (non-rotational, non-skewed) relationship in which each column of the data grid falls along a meridian and each row falls along a parallel. By default, shading is based on a light to the east (90 deg.) at an elevation of 45 degrees. Also by default, the colormap is constructed from 16 colors and 16 grays. Lighting is applied before the data is projected. The current axes must have a valid map projection definition.

meshlsrm(Z,R,[azim elev]) displays the regular data grid Z with the light coming from the specified azimuth and elevation. Angles are specified in degrees, with the azimuth measured clockwise from North, and elevation up from the zero plane of the surface.

meshlsrm(Z,R,[azim elev],cmap) displays the regular data grid Z using the specified colormap. The number of grayscales is chosen to keep the size of the shaded colormap below 256. If the vector of azimuth and elevation is empty, the default locations are used. Color axis limits are computed from the data.

meshlsrm(Z,R,[azim elev],cmap,clim) uses the provided color axis limits, which by default are computed from the data.

h = meshlsrm(...) returns the handle to the surface drawn.

Examples

Create a new colormap using demcmap, with white colors for the sea and default colors for land. Use this colormap for a lighted shaded relief map of the world.

korea = load('korea.mat');
Z = korea.map;
R = georasterref('RasterSize', size(Z), ...
  'Latlim', [30 45], 'Lonlim', [115 135]);
worldmap(Z, R)
meshlsrm(Z, R, [45, 65])

More About

expand all

Tips

This function effectively multiplies two colormaps, one with color based on elevation, the other with a grayscale based on the slope of the surface, to create a new colormap. This produces an effect similar to using a light on a surface, but with all of the visible colors actually in the colormap. Lighting calculations are performed on the unprojected data.

Was this topic helpful?