context ("add-surface")
test_that ("basemap", {
expect_error (add_osm_surface (), "a non-null map must be provided")
expect_error (add_osm_surface (NULL), "map must be a ggplot2 object")
})
test_that ("obj", {
bbox <- get_bbox (c (-0.13, 51.5, -0.11, 51.52))
map <- osm_basemap (bbox = bbox, bg = "gray20")
expect_error (add_osm_surface (map), "obj must be provided")
expect_error (
add_osm_surface (map, NULL),
"obj must be a spatial object"
)
})
test_that ("add surface", {
bbox <- get_bbox (c (-0.13, 51.5, -0.11, 51.52))
map <- osm_basemap (bbox = bbox, bg = "gray20")
obj <- london$dat_BNR
expect_error (add_osm_surface (map, obj), "dat can not be NULL")
expect_error (
add_osm_surface (map, obj, NULL),
"'data' must be of a vector type, was 'NULL'"
)
expect_error (
add_osm_surface (map, obj, 1),
"dat must have at least 3 columns"
)
dat <- matrix (runif (12), nrow = 4)
expect_warning (
add_osm_surface (map, obj, dat),
"dat has no column names"
)
colnames (dat) <- c ("a", "b", "z")
expect_warning (
add_osm_surface (map, obj, dat),
"dat should have columns of x/y"
)
colnames (dat) <- c ("x", "y", "a")
expect_warning (
add_osm_surface (map, obj, dat),
"dat should have column named z"
)
bbdat <- get_bbox (c (-0.128, 51.502, -0.112, 51.518))
x <- seq (bbdat [1, 1], bbdat [1, 2], length.out = dim (volcano) [1])
y <- seq (bbdat [2, 1], bbdat [2, 2], length.out = dim (volcano) [2])
xy <- cbind (
rep (x, dim (volcano) [2]),
rep (y, each = dim (volcano) [1])
)
z <- as.numeric (volcano)
dat <- data.frame (x = xy [, 1], y = xy [, 2], z = z)
cols <- gray (0:50 / 50)
# polygons---------------------------------
expect_silent (map <- add_osm_surface (map,
obj = london$dat_BNR,
dat = dat, cols = cols
))
map <- osm_basemap (bbox = bbox, bg = "gray20")
expect_silent (map <- add_osm_surface (map,
obj = london$dat_BNR,
dat = dat, cols = cols,
bg = "orange"
))
# lines------------------------------------
map <- osm_basemap (bbox = bbox, bg = "gray20")
expect_silent (map <- add_osm_surface (map,
obj = london$dat_H,
dat = dat, cols = cols
))
map <- osm_basemap (bbox = bbox, bg = "gray20")
expect_silent (map <- add_osm_surface (map,
obj = london$dat_H,
dat = dat, cols = cols,
bg = "orange"
))
# points-----------------------------------
map <- osm_basemap (bbox = bbox, bg = "gray20")
expect_silent (map <- add_osm_surface (map,
obj = london$dat_T,
dat = dat,
cols = cols
))
map <- osm_basemap (bbox = bbox, bg = "gray20")
expect_silent (map <- add_osm_surface (map,
obj = london$dat_T,
dat = dat,
cols = cols, bg = "orange"
))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.