findm
Latitudes and longitudes of nonzero data grid elements
Syntax
[lat,lon] = findm(Z,R)
[lat,lon] = findm(latz,lonz,Z)
[lat,lon,val] = findm(...)
mat = findm(...)
Description
[lat,lon] = findm(Z,R)
computes the latitudes and
longitudes of the nonzero elements of a regular data grid,
Z
. Specify R
as a GeographicCellsReference
or
GeographicPostingsReference
object. The RasterSize
property of R
must be consistent with size(Z)
.
[lat,lon] = findm(latz,lonz,Z)
returns
the latitudes and longitudes of the nonzero elements of a geolocated
data grid Z
, which is an M-by-N logical or numeric
array. Typically latz
and lonz
are
M-by-N latitude-longitude arrays, but latz
may
be a latitude vector of length M and lonz
may be
a longitude vector of length N.
[lat,lon,val] = findm(...)
returns
the values of the nonzero elements of Z
, in addition
to their locations.
mat = findm(...)
returns
a single output, where mat = [lat lon]
.
This function works in two modes: with a regular data grid and with a geolocated data grid.
Examples
The data grid can be the result of a logical operation. For example, load elevation raster data and a geographic cells reference object. Then, find all locations with elevations greater than 5500 meters.
load topo60c
[lat,lon] = findm((topo60c > 5500),topo60cR);
[lat lon]
ans = 34.5000 79.5000 34.5000 80.5000 30.5000 84.5000 28.5000 86.5000
These points are in the Himalayas. Find the grid values at these locations using the
geographicToDiscrete
and
sub2ind
functions.
[row,col] = geographicToDiscrete(topo60cR,lat,lon); indx = sub2ind(size(topo60c),row,col); heights = topo60c(indx)
heights = 5559 5515 5523 5731