Nothing
test_that("playback", {
## Fake SF Data ##########################
data <- structure(list(
time = structure(c(1588259759.91989, 1588259770.0209,
1588259780.12191, 1588259790.22292, 1588259800.32393, 1588259810.42494,
1588259820.52595, 1588259830.62696, 1588259840.72797, 1588259850.82898,
1588259860.92999, 1588259871.031, 1588259881.13201, 1588259891.23302,
1588259901.33403, 1588259911.43504, 1588259921.53605, 1588259931.63706,
1588259941.73807, 1588259951.83908, 1588259961.94009, 1588259972.0411,
1588259982.14211, 1588259992.24312, 1588260002.34413, 1588260012.44514,
1588260022.54615, 1588260032.64716, 1588260042.74817, 1588260052.84918,
1588260062.95019, 1588260073.0512, 1588260083.15221, 1588260093.25322,
1588260103.35423, 1588260113.45524, 1588260123.55625, 1588260133.65726,
1588260143.75828, 1588260153.85929, 1588260163.9603, 1588260174.06131,
1588260184.16232, 1588260194.26333, 1588260204.36434, 1588260214.46535,
1588260224.56636, 1588260234.66737, 1588260244.76838, 1588260254.86939,
1588260264.9704, 1588260275.07141, 1588260285.17242, 1588260295.27343,
1588260305.37444, 1588260315.47545, 1588260325.57646, 1588260335.67747,
1588260345.77848, 1588260355.87949, 1588260365.9805, 1588260376.08151,
1588260386.18252, 1588260396.28353, 1588260406.38454, 1588260416.48555,
1588260426.58656, 1588260436.68757, 1588260446.78858, 1588260456.88959,
1588260466.9906, 1588260477.09161, 1588260487.19262, 1588260497.29363,
1588260507.39464, 1588260517.49565, 1588260527.59666, 1588260537.69767,
1588260547.79868, 1588260557.89969, 1588260568.0007, 1588260578.10171,
1588260588.20272, 1588260598.30373, 1588260608.40474, 1588260618.50575,
1588260628.60676, 1588260638.70777, 1588260648.80878, 1588260658.90979,
1588260669.0108, 1588260679.11181, 1588260689.21282, 1588260699.31383,
1588260709.41484, 1588260719.51585, 1588260729.61686, 1588260739.71787,
1588260749.81888, 1588260759.91989), class = c("POSIXct", "POSIXt")),
geometry = structure(
list(structure(c(11.5772219742974, 49.9435995815242), class = c("XY", "POINT", "sfg")),
structure(c(11.5772673739855,49.9435878842157),class = c("XY", "POINT", "sfg")),
structure(c(11.577312773651, 49.9435761868898),class = c("XY", "POINT", "sfg")),
structure(c(11.5773581732939,49.9435644895464),class = c("XY", "POINT", "sfg")),
structure(c(11.5774035729143,49.9435527921855),class = c("XY", "POINT", "sfg")),
structure(c(11.5774489725121,49.9435410948072),class = c("XY", "POINT", "sfg")),
structure(c(11.5774943720874,49.9435293974114),class = c("XY", "POINT", "sfg")),
structure(c(11.57753977164,49.9435176999982),class = c("XY", "POINT", "sfg")),
structure(c(11.5775851711701,49.9435060025675),class = c("XY", "POINT", "sfg")),
structure(c(11.5776305706777,49.9434943051193),class = c("XY", "POINT", "sfg")),
structure(c(11.5776759701626,49.9434826076537),class = c("XY", "POINT", "sfg")),
structure(c(11.577721369625,49.9434709101707),class = c("XY", "POINT", "sfg")),
structure(c(11.5777667690649, 49.9434592126701),class = c("XY", "POINT", "sfg")),
structure(c(11.5778121684821, 49.9434475151521),class = c("XY", "POINT", "sfg")),
structure(c(11.5778575678768, 49.9434358176167),class = c("XY", "POINT", "sfg")),
structure(c(11.5779029672489,49.9434241200638), class = c("XY", "POINT", "sfg")),
structure(c(11.5779483665984,49.9434124224934), class = c("XY", "POINT", "sfg")),
structure(c(11.5779536762059,49.9434380981275), class = c("XY", "POINT", "sfg")),
structure(c(11.5779526946093,49.9434696386675), class = c("XY", "POINT", "sfg")),
structure(c(11.5779517130123,49.9435011792074), class = c("XY", "POINT", "sfg")),
structure(c(11.5779507314147,49.9435327197471), class = c("XY", "POINT", "sfg")),
structure(c(11.5779497498166,49.9435642602867), class = c("XY", "POINT", "sfg")),
structure(c(11.5779487682181,49.9435958008262), class = c("XY", "POINT", "sfg")),
structure(c(11.577947786619,49.9436273413655), class = c("XY", "POINT", "sfg")),
structure(c(11.5779468050194,49.9436588819046), class = c("XY", "POINT", "sfg")),
structure(c(11.5779458234194,49.9436904224437), class = c("XY", "POINT", "sfg")),
structure(c(11.5779448418188,49.9437219629825), class = c("XY", "POINT", "sfg")),
structure(c(11.5779438602177,49.9437535035213), class = c("XY", "POINT", "sfg")),
structure(c(11.5779428786161,49.9437850440598), class = c("XY", "POINT", "sfg")),
structure(c(11.577941897014,49.9438165845983), class = c("XY", "POINT", "sfg")),
structure(c(11.5779409154114,49.9438481251366), class = c("XY", "POINT", "sfg")),
structure(c(11.5779399338083,49.9438796656747), class = c("XY", "POINT", "sfg")),
structure(c(11.5779389522047,49.9439112062128), class = c("XY", "POINT", "sfg")),
structure(c(11.5779379706006,49.9439427467506), class = c("XY", "POINT", "sfg")),
structure(c(11.5779369889959,49.9439742872884), class = c("XY", "POINT", "sfg")),
structure(c(11.5779360073908,49.944005827826), class = c("XY", "POINT", "sfg")),
structure(c(11.5779350257852,49.9440373683634), class = c("XY", "POINT", "sfg")),
structure(c(11.5779340441791,49.9440689089007), class = c("XY", "POINT", "sfg")),
structure(c(11.5779330625724,49.9441004494378), class = c("XY", "POINT", "sfg")),
structure(c(11.5779320809653,49.9441319899749), class = c("XY", "POINT", "sfg")),
structure(c(11.5779310993576,49.9441635305117), class = c("XY", "POINT", "sfg")),
structure(c(11.5779301177495,49.9441950710485), class = c("XY", "POINT", "sfg")),
structure(c(11.5779291361408,49.944226611585), class = c("XY", "POINT", "sfg")),
structure(c(11.5779281545317,49.9442581521215), class = c("XY", "POINT", "sfg")),
structure(c(11.577927172922,49.9442896926578), class = c("XY", "POINT", "sfg")),
structure(c(11.5779261913118,49.9443212331939), class = c("XY", "POINT", "sfg")),
structure(c(11.5779252097011,49.9443527737299), class = c("XY", "POINT", "sfg")),
structure(c(11.57792422809,49.9443843142658), class = c("XY", "POINT", "sfg")),
structure(c(11.5779232464783,49.9444158548015), class = c("XY", "POINT", "sfg")),
structure(c(11.5779222648661,49.9444473953371), class = c("XY", "POINT", "sfg")),
structure(c(11.5779212832534,49.9444789358726), class = c("XY", "POINT", "sfg")),
structure(c(11.5779203016402,49.9445104764078), class = c("XY", "POINT", "sfg")),
structure(c(11.5779193200265,49.944542016943), class = c("XY", "POINT", "sfg")),
structure(c(11.5779183384123,49.944573557478), class = c("XY", "POINT", "sfg")),
structure(c(11.5779173567976,49.9446050980129), class = c("XY", "POINT", "sfg")),
structure(c(11.5779163751823,49.9446366385476), class = c("XY", "POINT", "sfg")),
structure(c(11.5779153935666,49.9446681790822), class = c("XY", "POINT", "sfg")),
structure(c(11.5779144119504,49.9446997196166), class = c("XY", "POINT", "sfg")),
structure(c(11.5779134303337,49.9447312601509), class = c("XY", "POINT", "sfg")),
structure(c(11.5779124487164,49.9447628006851), class = c("XY", "POINT", "sfg")),
structure(c(11.577883894105,49.9447454656367), class = c("XY", "POINT", "sfg")),
structure(c(11.5778517199191,49.9447217145089), class = c("XY", "POINT", "sfg")),
structure(c(11.577819545765,49.9446979633717), class = c("XY", "POINT", "sfg")),
structure(c(11.5777873716427,49.944674212225), class = c("XY", "POINT", "sfg")),
structure(c(11.5777551975522,49.9446504610688), class = c("XY", "POINT", "sfg")),
structure(c(11.5777230234934,49.944626709903), class = c("XY", "POINT", "sfg")),
structure(c(11.5776908494664,49.9446029587277), class = c("XY", "POINT", "sfg")),
structure(c(11.5776586754712,49.9445792075429), class = c("XY", "POINT", "sfg")),
structure(c(11.5776265015077,49.9445554563486), class = c("XY", "POINT", "sfg")),
structure(c(11.577594327576,49.9445317051447), class = c("XY", "POINT", "sfg")),
structure(c(11.5775727043665,49.9445043209944), class = c("XY", "POINT", "sfg")),
structure(c(11.5775600454878,49.9444738501444), class = c("XY", "POINT", "sfg")),
structure(c(11.5775473866256,49.9444433792927), class = c("XY", "POINT", "sfg")),
structure(c(11.5775347277802,49.9444129084391), class = c("XY", "POINT", "sfg")),
structure(c(11.5775220689514,49.9443824375838), class = c("XY", "POINT", "sfg")),
structure(c(11.5775094101392,49.9443519667267), class = c("XY", "POINT", "sfg")),
structure(c(11.5774967513437,49.9443214958678), class = c("XY", "POINT", "sfg")),
structure(c(11.5774840925649,49.9442910250071), class = c("XY", "POINT", "sfg")),
structure(c(11.5774714338027,49.9442605541447), class = c("XY", "POINT", "sfg")),
structure(c(11.5774587750572,49.9442300832804), class = c("XY", "POINT", "sfg")),
structure(c(11.5774461163283,49.9441996124145), class = c("XY", "POINT", "sfg")),
structure(c(11.5774334576161,49.9441691415467), class = c("XY", "POINT", "sfg")),
structure(c(11.5774207989206,49.9441386706771), class = c("XY", "POINT", "sfg")),
structure(c(11.5774081402417,49.9441081998058), class = c("XY", "POINT", "sfg")),
structure(c(11.5773954815794,49.9440777289326), class = c("XY", "POINT", "sfg")),
structure(c(11.5773828229339,49.9440472580578), class = c("XY", "POINT", "sfg")),
structure(c(11.5773701643049,49.9440167871811), class = c("XY", "POINT", "sfg")),
structure(c(11.5773575056927,49.9439863163026), class = c("XY", "POINT", "sfg")),
structure(c(11.5773448470971,49.9439558454224), class = c("XY", "POINT", "sfg")),
structure(c(11.5773321885181,49.9439253745404), class = c("XY", "POINT", "sfg")),
structure(c(11.5773195299558,49.9438949036566), class = c("XY", "POINT", "sfg")),
structure(c(11.5773068714102,49.943864432771), class = c("XY", "POINT", "sfg")),
structure(c(11.5772942128812,49.9438339618837), class = c("XY", "POINT", "sfg")),
structure(c(11.5772815543689,49.9438034909946), class = c("XY", "POINT", "sfg")),
structure(c(11.5772688958733,49.9437730201036), class = c("XY", "POINT", "sfg")),
structure(c(11.5772562373943,49.943742549211), class = c("XY", "POINT", "sfg")),
structure(c(11.5772435789319,49.9437120783165), class = c("XY", "POINT", "sfg")),
structure(c(11.5772309204862,49.9436816074203), class = c("XY", "POINT", "sfg")),
structure(c(11.5772182620572,49.9436511365222), class = c("XY", "POINT", "sfg")),
structure(c(11.5772056036448,49.9436206656224), class = c("XY", "POINT", "sfg"))),
precision = 0,
bbox = structure(c(xmin = 11.5772056036448,ymin = 49.9434124224934, xmax = 11.5779536762059, ymax = 49.9447628006851),
class = "bbox"),
crs = structure(list(epsg = 4326L, proj4string = "+proj=longlat +datum=WGS84 +no_defs"), class = "crs"),
n_empty = 0L, class = c("sfc_POINT","sfc"), ids = 100L)),
row.names = c(NA, 100L), class = c("sf", "data.frame"),
sf_column = "geometry", agr = structure(c(time = NA_integer_),
.Label = c("constant","aggregate", "identity"), class = "factor"))
##############################
## Test Single Trail ######################
data$time <- as.numeric(data$time) * 1000
m <- leaflet() %>%
addTiles() %>%
addPlayback(data = data,
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
expect_is(m, "leaflet")
expect_identical(m$x$calls[[2]]$method, "addPlayback")
expect_identical(m$x$calls[[2]]$args[[1]],
leaflet.extras2:::to_jsonformat(data, "time"))
m <- m %>% removePlayback()
expect_is(m, "leaflet")
expect_identical(m$x$calls[[3]]$method, "removePlayback")
data$time <- as.numeric(data$time) * 1000
data$popup1 <- paste0("This is a popup for ", data$time)
m <- leaflet() %>%
addTiles() %>%
addPlayback(data = data,
popup = ~popup1,
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
expect_is(m, "leaflet")
expect_identical(m$x$calls[[2]]$method, "addPlayback")
expect_identical(m$x$calls[[2]]$args[[1]],
leaflet.extras2:::to_jsonformat(data, "time", popup = data$popup1))
data$time <- as.numeric(data$time) * 1000
data$label1 <- paste0("This is a popup for ", data$time)
m <- leaflet() %>%
addTiles() %>%
addPlayback(data = data,
label = ~label1,
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
expect_is(m, "leaflet")
expect_identical(m$x$calls[[2]]$method, "addPlayback")
expect_identical(m$x$calls[[2]]$args[[1]],
leaflet.extras2:::to_jsonformat(data, "time", label = data$label1))
m <- m %>% removePlayback()
expect_is(m, "leaflet")
expect_identical(m$x$calls[[3]]$method, "removePlayback")
## Date Time Column
datadt <- data
datadt$time <- as.Date(
seq.Date(Sys.Date() - nrow(datadt), Sys.Date(), length.out = nrow(datadt)))
m <- leaflet() %>%
addTiles() %>%
addPlayback(data = datadt,
options = playbackOptions(radius = 3,
tickLen = 1000000,
speed = 10000000000,
fadeMarkersWhenStale = TRUE,
dateControl = T,
staleTime = 1,
maxInterpolationTime = 5*60*1000),
pathOpts = pathOptions(weight = 5));
expect_is(m, "leaflet")
expect_identical(m$x$calls[[2]]$method, "addPlayback")
datadt$time <- as.numeric(datadt$time) * 86400000
expect_identical(m$x$calls[[2]]$args[[1]],
leaflet.extras2:::to_jsonformat(datadt, "time"))
## Other Time Column
dataot <- data
dataot$othertime <- as.POSIXct(
seq.POSIXt(Sys.time() - 1000, Sys.time(), length.out = nrow(dataot)))
dataot$time <- NULL
m <- leaflet() %>%
addTiles() %>%
addPlayback(data = dataot, time = "othertime",
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
expect_is(m, "leaflet")
expect_identical(m$x$calls[[2]]$method, "addPlayback")
dataotverify <- dataot
dataotverify$time <- as.numeric(dataotverify$othertime) * 1000
dataotverify$othertime <- NULL
expect_identical(m$x$calls[[2]]$args[[1]],
leaflet.extras2:::to_jsonformat(dataotverify, "time"))
## Errors
datanotime <- data
datanotime$time <- NULL
expect_error(
leaflet() %>%
addPlayback(data = datanotime,
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
)
## Test Multiple Trail ##########################
data1 <- data
data2 <- data
data1$time <- as.numeric(as.POSIXct(
seq.POSIXt(Sys.time() - 1000, Sys.time(), length.out = nrow(data1)))) * 1000
data2$time <- as.numeric(as.POSIXct(
seq.POSIXt(Sys.time() - 1300, Sys.time(), length.out = nrow(data2)))) * 1000
datam <- list(data1, data2)
m <- leaflet() %>%
addTiles() %>%
addPlayback(data = datam,
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
expect_is(m, "leaflet")
expect_identical(m$x$calls[[2]]$method, "addPlayback")
expect_identical(m$x$calls[[2]]$args[[1]],
lapply(datam, function(x) {leaflet.extras2:::to_jsonformat(x, "time")}))
## Other Time Column
data1 <- data
data2 <- data
data1$otertime <- as.POSIXct(
seq.POSIXt(Sys.time() - 1000, Sys.time(), length.out = nrow(data1)))
data2$otertime <- as.POSIXct(
seq.POSIXt(Sys.time() - 1300, Sys.time(), length.out = nrow(data2)))
data2$time <- NULL
data1$time <- NULL
datam <- list(data1, data2)
m <- leaflet() %>%
addTiles() %>%
addPlayback(data = datam, time = "otertime",
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
expect_is(m, "leaflet")
expect_identical(m$x$calls[[2]]$method, "addPlayback")
expect_identical(m$x$calls[[2]]$args[[1]],
lapply(datam, function(x) {leaflet.extras2:::to_jsonformat(x, "otertime")}))
## Errors
datanotime <- datam
expect_error(
leaflet() %>%
addPlayback(data = datanotime, time = "no",
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
)
## Test Example ###############
library(sp)
crds <- coordinates(leaflet::atlStorms2005[1,])[[1]][[1]]
df = data.frame(time = as.POSIXct(
seq.POSIXt(Sys.time() - 1000, Sys.time(), length.out = nrow(crds))))
spdf <- SpatialPointsDataFrame(crds, df)
m <- leaflet() %>%
addTiles() %>%
addPlayback(data = spdf,
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
expect_is(m, "leaflet")
expect_identical(m$x$calls[[2]]$method, "addPlayback")
expect_identical(m$x$calls[[2]]$args[[1]],
leaflet.extras2:::to_jsonformat(spdf, "time"))
crds1 <- coordinates(leaflet::atlStorms2005[10,])[[1]][[1]]
df1 = data.frame(time = as.POSIXct(
seq.POSIXt(Sys.time() - 1000, Sys.time(), length.out = nrow(crds1))))
spdf1 <- SpatialPointsDataFrame(crds1, df1)
spdfm <- list(spdf, spdf1)
m <- leaflet() %>%
addTiles() %>%
addPlayback(data = spdfm,
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
expect_is(m, "leaflet")
expect_identical(m$x$calls[[2]]$method, "addPlayback")
})
test_that("playback-error", {
expect_error(
leaflet() %>%
addPlayback(data = breweries91, time = "village",
options = playbackOptions(radius = 3),
pathOpts = pathOptions(weight = 5))
)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.