R Under development (unstable) (2024-09-03 r87093 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > suppressPackageStartupMessages(library(sp)) > suppressPackageStartupMessages(library(spacetime)) > suppressPackageStartupMessages(library(xts)) > > # example 0: construction with STFDF: > > ## IGNORE_RDIFF_BEGIN > if (require(maps, quietly = TRUE)) { + states.m = map('state', plot=FALSE, fill=TRUE) + IDs <- sapply(strsplit(states.m$names, ":"), function(x) x[1]) + + if (require(sf, quietly = TRUE)) { + sta = st_as_sf(states.m) + row.names(sta) = unique(IDs) + states = geometry(as(sta, "Spatial")) + + if (require(plm, quietly = TRUE)) { + data(Produc) + + yrs = 1970:1986 + time = xts(1:17, as.POSIXct(paste(yrs, "-01-01", sep=""), tz = "GMT")) + # deselect District of Columbia, polygon 8, which is not present in Produc: + Produc.st = STFDF(states[-8], time, Produc[(order(Produc[,2], Produc[,1])),]) + #stplot(Produc.st[,,"unemp"], yrs) + + # example 1: st from long table, with states as Spatial object: + # use Date format for time: + Produc$time = as.Date(paste(yrs, "01", "01", sep = "-")) + xy = coordinates(states[-8]) + Produc$x = xy[,1] + Produc$y = xy[,2] + #using stConstruct, use polygon centroids for location: + x = stConstruct(Produc, c("x", "y"), "time") + class(x) + stplot(x[,,"unemp"]) + + # alternatively, pass states: + Produc$state = gsub("TENNESSE", "TENNESSEE", Produc$state) + Produc$State = gsub("_", " ", tolower(Produc$state)) + x = stConstruct(Produc, "State", "time", states[-8]) + class(x) + #stplot(x[,,"unemp"], yrs) + + if (require(sf, quietly = TRUE)) { + # stConstruct multivariable, time-wide + fname = system.file("shape/nc.shp", package="sf")[1] + nc = as(read_sf(fname), "Spatial") + timesList = list( + BIR=c("BIR74", "BIR79"), + NWBIR=c("NWBIR74", "NWBIR79"), + SID=c("SID74", "SID79") + ) + t = xts(1:2, as.Date(c("1974-01-01","1979-01-01"))) + nc.st = stConstruct(as(nc, "data.frame"), geometry(nc), timesList, + TimeObj = t) + } + }}} Linking to GEOS 3.12.1, GDAL 3.8.4, PROJ 9.3.1; sf_use_s2() is TRUE > ## IGNORE_RDIFF_END > > proc.time() user system elapsed 1.84 0.26 2.10