Documentation

This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

pixcenters

Compute pixel centers for georeferenced image or data grid

Syntax

[x,y] = pixcenters(R,height,width)
[x,y] = pixcenters(r,sizea)
[x,y] = pixcenters(..., 'makegrid')

Description

[x,y] = pixcenters(R,height,width) returns the spatial coordinates of a spatially-referenced image or regular gridded data set. R is either a 3-by-2 referencing matrix defining a 2-dimensional affine transformation from intrinsic pixel coordinates to map coordinates, or a MapCellsReference object. height and width are the image dimensions. If r does not include a rotation (i.e., r(1,1) = r(2,2) = 0), then x is a 1-by-width vector and y is a 1-by-height vector. In this case, the spatial coordinates of the pixel in row row and column col are given by x(col), y(row). Otherwise, x and y are each a height-by-width matrix such that x(col,row), y(col,row) are the coordinates of the pixel with subscripts (row,col).

[x,y] = pixcenters(r,sizea) accepts the size vector sizea = [height, width, ...] instead of height and width.

[x,y] = pixcenters(info) accepts a scalar struct array with the fields

 'RefMatrix' 3-by-2 referencing matrix 'Height' Scalar number 'Width' Scalar number

[x,y] = pixcenters(..., 'makegrid') returns x and y as height-by-width matrices even if r is irrotational. This syntax can be helpful when you call pixcenters from within a function or script.

Examples

[x,y] = pixcenters(R, size(Z));
h = surf(x,y,Z); axis equal; demcmap(Z)
set(h,'EdgeColor','none')
xlabel('x (easting in meters)')
ylabel('y (northing in meters)')
zlabel('elevation in feet')

Tips

pixcenters is useful for working with surf, mesh, or surface, and for coordinate transformations.