% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/xyzm.R
\name{xy}
\alias{xy}
\alias{xyz}
\alias{xym}
\alias{xyzm}
\alias{xy_dims}
\alias{as_xy}
\alias{as_xy.default}
\alias{as_xy.wk_xy}
\alias{as_xy.matrix}
\alias{as_xy.data.frame}
\title{Efficient point vectors}
\usage{
xy(x = double(), y = double(), crs = wk_crs_auto())

xyz(x = double(), y = double(), z = double(), crs = wk_crs_auto())

xym(x = double(), y = double(), m = double(), crs = wk_crs_auto())

xyzm(
  x = double(),
  y = double(),
  z = double(),
  m = double(),
  crs = wk_crs_auto()
)

xy_dims(x)

as_xy(x, ...)

\method{as_xy}{default}(x, ..., dims = NULL)

\method{as_xy}{wk_xy}(x, ..., dims = NULL)

\method{as_xy}{matrix}(x, ..., crs = NULL)

\method{as_xy}{data.frame}(x, ..., dims = NULL, crs = NULL)
}
\arguments{
\item{x, y, z, m}{Coordinate values.}

\item{crs}{A value to be propagated as the CRS for this vector.}

\item{...}{Passed to methods.}

\item{dims}{A set containing one or more of \code{c("x", "y", "z", "m")}.}
}
\value{
A vector of coordinate values.
}
\description{
Efficient point vectors
}
\examples{
xy(1:5, 1:5)
xyz(1:5, 1:5, 10)
xym(1:5, 1:5, 10)
xyzm(1:5, 1:5, 10, 12)

# NA, NA maps to a null/na feature; NaN, NaN maps to EMPTY
as_wkt(xy(NaN, NaN))
as_wkt(xy(NA, NA))

}
