makerefmat
(Removed) Construct affine spatial-referencing matrix
makerefmat
has been removed. Create a raster reference object using
the georefcells
, georefpostings
, georasterref
, maprefcells
, maprefpostings
, or maprasterref
function instead. For more information, see Version History.
Syntax
R = makerefmat(x11, y11, dx, dy)
R = makerefmat(lon11, lat11, dlon, dlat)
R = makerefmat(param1, val1, param2, val2, ...)
Description
R = makerefmat(x11, y11, dx, dy)
, with scalars
dx
and dy
, constructs a referencing matrix that
aligns image or data grid rows to map x and columns to map
y. Scalars x11
and y11
specify the map location of the center of the first (1,1) pixel in the image or the first
element of the data grid.
dx
is the difference in x (or longitude) between
pixels in successive columns, and dy
is the difference in
y (or latitude) between pixels in successive rows.
Pixels cover squares on the map when abs(dx) = abs(dy)
. To achieve
the most typical kind of alignment, where x increases from column to
column and y decreases from row to row, make dx
positive and dy
negative. In order to specify such an alignment along
with square pixels, make dx
positive and make dy
equal to -dx
:
R = makerefmat(x11, y11, dx, -dx)
R = makerefmat(x11, y11, dx, dy)
, with two-element vectors
dx
and dy
, constructs the most general possible
kind of referencing matrix.
In this general case, each pixel can become a parallelogram on the map, with neither
edge necessarily aligned to map x or y. The
vector [dx(1) dy(1)]
is the difference in map location between a pixel
in one row and its neighbor in the preceding row. Likewise, [dx(2)
dy(2)]
is the difference in map location between a pixel in one column and its
neighbor in the preceding column.
To specify pixels that are rectangular or square (but possibly rotated), choose
dx
and dy
such that prod(dx) + prod(dy) =
0
. To specify square (but possibly rotated) pixels, choose
dx
and dy
such that the 2-by-2 matrix
[dx(:) dy(:)]
is a scalar multiple of an orthogonal matrix (that is,
its two eigenvalues are real, nonzero, and equal in absolute value). This amounts to either
rotation, a mirror image, or a combination of both. Note that for scalars
dx
and dy
,
R = makerefmat(x11, y11, [0 dx], [dy 0])
is equivalent to
R = makerefmat(x11, y11, dx, dy)
R = makerefmat(lon11, lat11, dlon, dlat)
, with longitude preceding
latitude, constructs a referencing matrix for use with geographic coordinates.
R = makerefmat(param1, val1, param2, val2, ...)
uses parameter
name-value pairs to construct a referencing matrix for an image or raster grid that is
referenced to and aligned with a geographic coordinate system. There can be no rotation or
skew: each column must fall along a meridian, and each row must fall along a parallel. Each
parameter name must be specified exactly as shown, including case.
Parameter Name | Data Type | Value |
---|---|---|
RasterSize | Two-element size vector [M N] | The number of rows ( With R = makerefmat('RasterSize', ... size(RGB), ...) RGB is
M-by-N-by-3 . However, in cases like this, only the
first two elements of the size vector will actually be used. The higher
(non-spatial) dimensions will be ignored. The default value is [1
1]. |
LatitudeLimits | Two-element row vector of the form: [southern_limit,
northern_limit] , in units of degrees. | The limits in latitude of the geographic quadrangle bounding the georeferenced raster. The default value is [0 1]. |
LongitudeLimits | Two-element row vector of the form: [western_limit,
eastern_limit] , in units of degrees. | The limits in longitude of the geographic quadrangle bounding the
georeferenced raster. The elements of the 'LongitudeLimits'
vector must be ascending in value. In other words, the limits must be
unwrapped. The default value is [0 1]. |
ColumnsStartFrom | String scalar or character vector | Indicates the column direction of the raster (south-to-north vs.
north-to-south) in terms of the edge from which row indexing starts. Values are
'south' or 'north' and they can be
shortened, and are case-insensitive. In a typical terrain grid, row indexing
starts at southern edge. In images, row indexing starts at northern edge. The
default value is 'south' . |
RowsStartFrom | String scalar or character vector | Indicates the row direction of the raster (west-to-east vs. east-to-west)
in terms of the edge from which column indexing starts. Values are:
'west' or 'east' and they can be
shortened, and are case-insensitive. Rows almost always run from west to east.
The default value is 'west' . |
Examples
Create a referencing matrix for an image with square, four-meter pixels and with its upper left corner (in a map coordinate system) at x = 207000 meters, y = 913000 meters. The image follows the typical orientation: x increasing from column to column and y decreasing from row to row.
x11 = 207002; % Two meters east of the upper left corner y11 = 912998; % Two meters south of the upper left corner dx = 4; dy = -4; R = makerefmat(x11, y11, dx, dy)
More About
Version History
See Also
maprasterref
| georasterref
| georefpostings
| georefcells
| maprefcells
| maprefpostings