[R-sig-Geo] Extend spacetime ST
Edzer Pebesma
edzer.pebesma at uni-muenster.de
Sat Jun 6 15:47:10 CEST 2015
Chris, I'd use the following for a class "watch_circ" that extends ST
and adds a character ID slot:
> setClass("watch_circ", contains = "ST", slots = c(ID = "character"))
> showClass("watch_circ")
Class "watch_circ" [in ".GlobalEnv"]
Slots:
Name: ID sp time endTime
Class: character Spatial xts POSIXct
Extends: "ST"
>
On 06/06/2015 07:58 AM, chris english wrote:
> Hi,
>
> I am attempting to extent spacetime ST to include an ID class for a
> spacetime watch circle object. I am doing this in order to be able to
> relatively easily test that I have unique ID(s) across several similar
> objects for plotting purposes.
>
> I can build my watch circle:
>
>> setClass("watch_circ",
> + slots = c(sp = "Spatial", time = "xts", ID = "character",
> + endTime = "POSIXct"),
> + validity = function(object) {
> + stopifnot(length(object at sp) >= 1)
> + stopifnot(nrow(object at time) >= 1)
> + stopifnot(is.char(object at ID))
> + stopifnot(nrow(object at time) == length(object at endTime))
> + # do the tzones if not set, if set
> + tz1 = attr(object at time, "tzone")
> + tz2 = attr(object at emdTime, "tzone")
> + tz1.set = (!is.null(tz1) && !nchar(tz1)==0)
> + tz2.set = (!is.null(tz2) && !nchar(tz2)==0)
> + stopifnot(tz1 == tz2)
> + if (tz1.set)
> + stopifnot(tz1 == tz2)
> + if (any(names(object at time) %in% names(object at sp)))
> + stop("name conflict: attribute names in sp and time slot must differ")
> + return(TRUE)
> + }
> + )
>> getClassDef('watch_circ')
> Class "watch_circ" [in ".GlobalEnv"]
>
> Slots:
>
> Name: sp time ID endTime
> Class: Spatial xts character POSIXct
>
> But not extend ST.
>
>> setClass("watch_circ_1", representation = "ST")
>> getClassDef('watch_circ_1')
> Class "watch_circ_1" [in ".GlobalEnv"]
>
> Slots:
>
> Name: sp time endTime
> Class: Spatial xts POSIXct
>
> Extends: "ST"
>> ?what am I doing wrong here?
>
> This is probably due to my shallow understanding of the difference between
> slots and representation, and possibly this whole operation is unnecessary
> if plot checks sp for unique ID(s) among objects.
>
> Thanks in advance,
>
> Cheers,
> Chris
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
--
Edzer Pebesma
Institute for Geoinformatics (ifgi), University of Münster,
Heisenbergstraße 2, 48149 Münster, Germany; +49 251 83 33081
Journal of Statistical Software: http://www.jstatsoft.org/
Computers & Geosciences: http://elsevier.com/locate/cageo/
Spatial Statistics Society http://www.spatialstatistics.info
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: OpenPGP digital signature
URL: <https://stat.ethz.ch/pipermail/r-sig-geo/attachments/20150606/7dd02e2e/attachment.bin>
More information about the R-sig-Geo
mailing list