RMtrafo: Transformation of coordinate systems

Description Usage Arguments Details Value Note References See Also Examples

View source: R/RMmodels.R

Description

The functions transform a coordinate system into another coordinate system. 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

1
2
3
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

Details

The functions transform between different coordinate systems.

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 correspondence with coord assuming that the earth is an ellipsoid.

The function RFearth2dist calculates distances, cf. dist, assuming that the earth is an ellipsoid.

Note

Important options are units and coordinate_system, see RFoptions.

Note also that the zenit must be given explicitly for projection onto a plane. See the examples below.

References

For calculating the earth coordinates as ellipsoid:

See Also

constants, RMangle, RMid, RMidmodel.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
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


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

RandomFields documentation built on Jan. 19, 2022, 1:06 a.m.