R: Geometric Anisotropy Correction

coords.aniso {geoR} | R Documentation

## Geometric Anisotropy Correction

### Description

Transforms or back-transforms a set of coordinates according to the geometric anisotropy parameters.

### Usage

    coords.aniso(coords, aniso.pars, reverse = FALSE)

### Arguments

`coords` | an n x 2 matrix with the coordinates to be transformed.
`aniso.pars` | a vector with two elements, psiA and psiR, the anisotropy angle and the anisotropy ratio, respectively. Notice that the parameters must be provided in this order. See section `DETAILS` below for more information on anisotropy parameters.
`reverse` | logical. Defaults to `FALSE`. If `TRUE` the reverse transformation is performed.

### Details

Geometric anisotropy is defined by two parameters:

Anisotropy angle

  defined here as the azimuth angle of the direction with greater spatial continuity, i.e. the angle between the y-axis and the direction with the maximum range.

Anisotropy ratio

  defined here as the ratio between the ranges of the directions with greater and smaller continuity, i.e. the ratio between maximum and minimum ranges. Therefore, its value is always greater or equal to one.

If `reverse = FALSE` (the default) the coordinates are transformed from the anisotropic space to the isotropic space. The transformation consists in multiplying the original coordinates by a rotation matrix R and a shrinking matrix T, as follows:

X_m = X %*% R %*% T ,

where X_m is a matrix with the modified coordinates (isotropic space) , X is a matrix with original coordinates (anisotropic space), R rotates coordinates according to the anisotropy angle psiA and T shrinks the coordinates according to the anisotropy ratio psiR.

If `reverse = TRUE`, the back-transformation is performed, i.e. transforming the coordinates from the isotropic space to the anisotropic space by computing:

X = X_m %*% solve( R %*% T ).

### Value

An n x 2 matrix with the transformed coordinates.

### Author(s)

Paulo Justiniano Ribeiro Jr. paulojus@leg.ufpr.br
Peter J. Diggle p.diggle@lancaster.ac.uk.

### References

Further information on the package geoR can be found at:
http://www.leg.ufpr.br/geoR.

### Examples

    op <- par(no.readonly = TRUE)
    par(mfrow=c(3,2))
    par(mar=c(2.5,0,0,0))
    par(mgp=c(2,.5,0))
    par(pty="s")
    ## Defining a set of coordinates
    coords <- expand.grid(seq(-1, 1, l=3), seq(-1, 1, l=5))
    plot(c(-1.5, 1.5), c(-1.5, 1.5), xlab="", ylab="", type="n")
    text(coords[,1], coords[,2], 1:nrow(coords))
    ## Transforming coordinates according to some anisotropy parameters
    coordsA <- coords.aniso(coords, aniso.pars=c(0, 2))
    plot(c(-1.5, 1.5), c(-1.5, 1.5), xlab="", ylab="", type="n")
    text(coordsA[,1], coordsA[,2], 1:nrow(coords))
    ##
    coordsB <- coords.aniso(coords, aniso.pars=c(pi/2, 2))
    plot(c(-1.5, 1.5), c(-1.5, 1.5), xlab="", ylab="", type="n")
    text(coordsB[,1], coordsB[,2], 1:nrow(coords))
    ##
    coordsC <- coords.aniso(coords, aniso.pars=c(pi/4, 2))
    plot(c(-1.5, 1.5), c(-1.5, 1.5), xlab="", ylab="", type="n")
    text(coordsC[,1], coordsC[,2], 1:nrow(coords))
    ##
    coordsD <- coords.aniso(coords, aniso.pars=c(3*pi/4, 2))
    plot(c(-1.5, 1.5), c(-1.5, 1.5), xlab="", ylab="", type="n")
    text(coordsD[,1], coordsD[,2], 1:nrow(coords))
    ##
    coordsE <- coords.aniso(coords, aniso.pars=c(0, 5))
    plot(c(-1.5, 1.5), c(-1.5, 1.5), xlab="", ylab="", type="n")
    text(coordsE[,1], coordsE[,2], 1:nrow(coords))
    ##
    par(op)

[Package geoR version 1.7-5.2 Index]