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

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 correspondance 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 explicitely for projection onto a plane. See the examples below.

Author(s)

Martin Schlather, schlather@math.uni-mannheim.de

References

For calculating the earth coordinates as ellipsoid:

See Also

linkconstants, RMangle

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


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

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.