project.M3.1.to.M3.2 {M3} | R Documentation |
Project coordinates based on projection in the first file to the projection given in the second
Description
Project coordinates based on projection in the first Models3-formatted file to the projection given in the second Models3-formatted file.
Usage
project.M3.1.to.M3.2(x, y, from.file, to.file, units, ...)
Arguments
x |
x-coordinates in model units from projection in first file |
y |
y-coordinates in model units from projection in first file |
from.file |
Name of Models3-formatted file with the same
model projection as |
to.file |
Name of Models3-formatted file with the model
projection to which you want |
units |
Units of |
... |
Other arguments to pass to |
Details
This function calls get.proj.info.M3
which reads
the projection information (using the package ncdf4) and
transforms it to strings that are understood by functions in
sf.
Value
A list containing the elements coords
and units
.
The element coords
contains a matrix of coordinates using
projection in to.file
. The element units
contains
the units of the coordinates, which are the same as those specified
for input x
and y
.
Warning
This function assumes the projections in
from.file
and to.file
are Lambert conic conformal or
polar stereographic.
Author(s)
Jenise Swall
See Also
project.lonlat.to.M3
, project.M3.to.lonlat
, get.proj.info.M3
Examples
## Find the path to a demo file with lambert conic conformal projection.
lcc.file <- system.file("extdata/ozone_lcc.ncf", package="M3")
## Read in the ozone for July 4 for eastern U.S.
lcc.oz <- get.M3.var(file=lcc.file, var="O3",
lcol=90, ucol=130, lrow=30, urow=80,
ldatetime=as.Date("2001-07-04"),
udatetime=as.Date("2001-07-04"))
## Get the cell centers for this subset.
east.ctrs <- expand.grid(lcc.oz$x.cell.ctr, lcc.oz$y.cell.ctr)
plot(east.ctrs, cex=0.3, xlab="x", ylab="y")
## Find map lines on this projection, superplot.
lcc.state.bds <- get.map.lines.M3.proj(file=lcc.file)$coords
lines(lcc.state.bds, col="darkblue")
## Find the path to a demo file with polar stereographic projection.
polar.file <- system.file("extdata/surfinfo_polar.ncf", package="M3")
## Put the cell centers from the subsetted ozone data on this polar
## stereographic projection.
polar.oz <- project.M3.1.to.M3.2(east.ctrs[,1], east.ctrs[,2],
from.file=lcc.file,
to.file=polar.file,
units=lcc.oz$hz.units)
## Plot the cells centers and boundary lines on the polar
## stereographic projection.
dev.new()
plot(polar.oz$coords)
polar.state.bds <- get.map.lines.M3.proj(file=polar.file)$coords
lines(polar.state.bds, col="darkblue")