Learn R Programming

RandomFields (version 3.1.16)

RMtrafo: Transformation of coordinate systems

Description

The functions transform a coordinate system into another. Currently, essentially only from the earth system to cartesian. RMtrafo is the internal basic function that also allows to reduce vectors to their norm.

Usage

RMtrafo(phi, new) RFearth2cartesian(coord, units=NULL, system="cartesian", grid=FALSE) RFearth2dist(coord, units=NULL, system="cartesian", grid=FALSE, ...)

Arguments

new
integer or character. One of the values RC_ISOTROPIC, RC_SPACEISOTROPIC, RC_CARTESIAN_COORD, RC_GNOMONIC_PROJ, RC_ORTHOGRAPHIC_PROJ, Or the corresponding RC_ISONAMES.

Note that RMtrafo only allows for integer values.

Default: RC_CARTESIAN_COORD

phi
optional submodel
coord
matrix or vector of earth coordinates
units
"km" or "miles"; if not given and RFoptions()$general$units != "" the latter is used. Otherwise "km".
system
integer or character. The coordinate system, e.g. "cartesian", "gnomonic", or "orthographic".
grid
logical. Whether the given coordinates are considered to be on a grid given by c(start, step, length).

Default: FALSE

...
the optional arguments of dist

Value

The function RMtrafo returns a matrix, in general. For fixed column, the results, applied to each row of the matrix, are returned.The function RFearth2cartesian returns a matrix in one-to-one correspondance with coord assuming that the earth is an ellipsoid.The function RFearth2dist calculates distances, cf. dist, assuming that the earth is an ellipsoid.

Details

The functions transform between different coordinate systems.

References

For calculating the earth coordinates as ellipsoid:

See Also

linkconstants, RMangle

Examples

Run this code

data(weather)
(coord <- weather[1:5, 3:4])

(z <- RFfctn(RMtrafo(new=RC_CARTESIAN_COORD), coord))
(z1 <- RFearth2cartesian(coord)) ## equals z
z1 - z ## 0, i.e., z1 and t(z) are the same
dist(z)


(d <- RFearth2dist(coord)) 
d - dist(z) ## 0, i.e., d and dist(z) are the same


## projecction onto planes
RFoptions(zenit=c(-122,   47))
RFearth2cartesian(coord, system="gnomonic")
RFearth2cartesian(coord, system="orthographic")





Run the code above in your browser using DataLab