Function on a Linear Network
Create a function on a linear network.
linfun(f, L)
f |
A |
L |
A linear network (object of class |
This creates an object of class "linfun"
.
This is a simple mechanism for handling a function
defined on a linear network, to make it easier to display
and manipulate.
f
should be a function
in the R language,
with formal arguments x,y,seg,tp
(and optional additional
arguments) where x,y
are
Cartesian coordinates of locations on the linear network,
seg, tp
are the local coordinates.
The function f
should be vectorised: that is,
if x,y,seg,tp
are numeric vectors of the same length
n
, then v <- f(x,y,seg,tp)
should be a vector of length n
.
L
should be a linear network (object of class "linnet"
)
on which the function f
is well-defined.
The result is a function g
in the R language which belongs to
the special class "linfun"
. There are several methods
for this class including print
, plot
and as.linim
.
This function can be called as g(X)
where X
is an "lpp"
object,
or called as g(x,y)
or g(x,y,seg,tp)
where
x,y,seg,tp
are coordinates. If the original function f
had additional arguments, then these may be included in the call
to g
, and will be passed to f
.
A function in the R\ language.
It also belongs to the class "linfun"
which has methods
for plot
, print
etc.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au and Rolf Turner r.turner@auckland.ac.nz
methods.linfun
for methods applicable to
"linfun"
objects.
f <- function(x,y,seg,tp) { x+y } g <- linfun(f, simplenet) plot(g) X <- runiflpp(3, simplenet) g(X) Z <- as.linim(g) f <- function(x,y,seg,tp, mul=1) { mul*(x+y) } g <- linfun(f, simplenet) plot(g) plot(g, mul=10) g(X, mul=10) Z <- as.linim(g, mul=10)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.