map2lonlat {oce} | R Documentation |
Convert from x-y coordinates to longitude and latitude. This is normally called internally within oce; see ‘Bugs’.
map2lonlat(x, y, init=c(0,0))
x |
a vector containing the x component of points in the projected space,
or a list containing items named |
y |
a vector containing the y coordinate of points in the projected space
(ignored if |
init |
a vector containing the initial guesses for longitude and latitude, presently ignored. |
A projection must already have been set up, by a call to
mapPlot
or lonlat2map
. It should be noted that not
all projections are handled well; see ‘Bugs’.
A list containing longitude
and latitude
, with NA
values indicating points that are off the globe as displayed.
oce
uses project in the rgdal
package to handle projections. Only those projections that have inverses are
permitted within oce
, but this does not mean that all data can
be inverted with map2lonlat
. For example, as of June 2015, the
rgdal version of the Winkel Tripel projection (from mapPlot(,
..., projection="+proj=wintri", ...)
) handles "off globe" data poorly,
either taking what seems to be an infinite time to do the calculation, or even
crashing R. This is due to a loop in the rgdal C code (file
PJ_aitoff.c
) failing to converge for "off globe" points. Not all setups
have this difficulty, however, and since the problem was reported to the
PROJ.4 team (email exchanges from April 10 to April 13, 2015), one can hope
for a PROJ.4 solution sometime in 2015, propagating to R and thereafter
rgdal in due course.
Dan Kelley
lonlat2map
does the inverse operation.
## Not run: library(oce) ## Cape Split, in the Minas Basin of the Bay of Fundy cs <- list(longitude=-64.49657,latitude=45.33462) xy <- lonlat2map(cs, projection="+proj=merc") map2lonlat(xy) ## End(Not run)