R: Extract Something From a landsat Object

[[,landsat-method {oce} | R Documentation

## Extract Something From a landsat Object

### Description

Users are isolated from the details of the two-byte storage system by using the `[[` operator.

### Usage

    ## S4 method for signature 'landsat'
    x[[i, j, ...]]

### Arguments

`x` | An landsat object, i.e. one inheriting from `landsat-class`.
`i` | The item to extract.
`j` | Optional additional information on the `i` item (ignored).
`...` | Optional additional information (ignored).

### Details

Accessing band data. The data may be accessed with e.g. `landsat[["panchromatic"]]`, for the panchromatic band. If a new “band” is added with `landsatAdd`, it may be referred by name. In all cases, a second argument can be provided, to govern decimation. If this is missing, all the relevant data are returned. If this is present and equal to `TRUE`, then the data will be automatically decimated (subsampled) to give approximately 800 elements in the longest side of the matrix. If this is present and numerical, then its value governs decimation. For example, `landsat[["panchromatic",TRUE]]` will auto-decimate, typically reducing the grid width and height from 16000 to about 800. Similarly, `landsat[["panchromatic",10]]` will reduce width and height to about 1600. On machines with limited RAM (e.g. under about 6GB), decimation is a good idea in almost all processing steps. It also makes sense for plotting, and in fact is done through the `decimate` argument of `plot,landsat-method`.

Accessing derived data. One may retrieve several derived quantities that are calculated from data stored in the object: `landsat[["longitude"]]` and `landsat[["latitude"]]` give pixel locations. Accessing `landsat[["temperature"]]` creates an estimate of ground temperature as follows (see [4]). First, the “count value” in band 10, denoted b_10 say, is scaled with coefficients stored in the image metadata using lambda_L=b_10*M_L+A_L where M_L and A_L are values stored in the metadata (e.g. the first in `landsat@metadata$header$radiance_mult_band_10`) Then the result is used, again with coefficients in the metadata, to compute Celcius temperature T=K_2/ln(epsilon*K_1/λ_L+1)-273.15. The value of the emissivity epsilon is set to unity by `read.landsat`, although it can be changed easily later, by assigning a new value to `landsat@metadata$emissivity`. The default emissivity value set by `read.landsat` is from [11], and is within the oceanic range suggested by [5]. Adjustment is as simple as altering `landsat@metadata$emissivity`. This value can be a single number meant to apply for the whole image, or a matrix with dimensions matching those of band 10. The matrix case is probably more useful for images of land, where one might wish to account for the different emissivities of soil and vegetation, etc.; for example, Table 4 of [9] lists 0.9668 for soil and 0.9863 for vegetation, while Table 5 of [10] lists 0.971 and 0.987 for the same quantities.

Accessing metadata. Anything in the metadata can be accessed by name, e.g. `landsat[["time"]]`. Note that some items are simply copied over from the source data file and are not altered by e.g. decimation. An exception is the lat-lon box, which is altered by `landsatTrim`.

### Author(s)

Dan Kelley

### See Also

Other things related to `landsat` data: `landsat-class`, `landsatAdd`, `landsatTrim`, `landsat`, `plot,landsat-method`, `read.landsat`, `summary,landsat-method`

[Package oce version 0.9-20 Index]