Latitudes and longitudes of nonzero data grid elements

`[lat,lon] = findm(Z,R)`

[lat,lon] = findm(latz,lonz,Z)

[lat,lon,val] = findm(...)

mat = findm(...)

`[lat,lon] = findm(Z,R)`

computes
the latitudes and longitudes of the nonzero elements of a regular
data grid, `Z`

. `R`

can be a geographic
raster reference object, a referencing vector, or a referencing matrix.

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 or 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.
Nearest-neighbor interpolation is used by default. NaN is returned
for points outside the grid limits or for which `lat`

or `lon`

contain
NaN. All angles are in units of degrees.

`[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.

The data grid can be the result of a logical operation. For instance, you can find all locations with elevations greater than 5500 meters.

load topo [lat, lon] = findm((topo>5500),topolegend); [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 with `setpostn`

:

heights = topo(setpostn(topo,topolegend,lat,lon)) heights = 5559 5515 5523 5731

`setpostn`

.Was this topic helpful?