Nothing
# nocov start
.onLoad = function(...) {
has_ggplot2_3.0 =
requireNamespace("ggplot2", quietly = TRUE) &&
utils::packageVersion("ggplot2") >= "3.0.0"
if (has_ggplot2_3.0)
s3_register("ggplot2::autoplot", "sfnetwork")
has_spatstat =
requireNamespace("spatstat.linnet", quietly = TRUE) &&
requireNamespace("spatstat.geom", quietly = TRUE)
if (has_spatstat) {
suppressPackageStartupMessages({
s3_register("spatstat.linnet::as.linnet", "sfnetwork")
})
}
has_sf_1.0 =
requireNamespace("sf", quietly = TRUE) &&
utils::packageVersion("sf") >= "1.0"
if (has_sf_1.0)
s3_register("s2::as_s2_geography", "sfnetwork")
invisible()
}
# Register S3 helper
# Code copied from: https://github.com/r-lib/vctrs/blob/master/R/register-s3.R
# As suggested here: https://vctrs.r-lib.org/reference/s3_register.html
# (To avoid taking a dependency on vctrs for this one function,
# please feel free to copy and paste the function source into your own
# package.)
s3_register = function(generic, class, method = NULL) {
stopifnot(is.character(generic), length(generic) == 1)
stopifnot(is.character(class), length(class) == 1)
pieces = strsplit(generic, "::")[[1]]
stopifnot(length(pieces) == 2)
package = pieces[[1]]
generic = pieces[[2]]
caller = parent.frame()
get_method_env = function() {
top = topenv(caller)
if (isNamespace(top)) {
asNamespace(environmentName(top))
} else {
caller
}
}
get_method = function(method, env) {
if (is.null(method)) {
get(paste0(generic, ".", class), envir = get_method_env())
} else {
method
}
}
method_fn = get_method(method)
stopifnot(is.function(method_fn))
# Always register hook in case package is later unloaded & reloaded
setHook(
packageEvent(package, "onLoad"),
function(...) {
ns = asNamespace(package)
# Refresh the method, it might have been updated by `devtools::load_all()`
method_fn = get_method(method)
registerS3method(generic, class, method_fn, envir = ns)
}
)
# Avoid registration failures during loading (pkgload or regular)
if (!isNamespaceLoaded(package)) {
return(invisible())
}
envir = asNamespace(package)
# Only register if generic can be accessed
if (exists(generic, envir)) {
registerS3method(generic, class, method_fn, envir = envir)
}
invisible()
}
.onAttach = function(libname, pkgname) {
if (sf::sf_extSoftVersion()["proj.4"] < "6.0.0") {
packageStartupMessage(paste0(
'Warning: It seems that you are using an old version of PROJ. If you ',
'use the built-in roxel dataset, please remember to reassign its CRS, ',
'i.e. sf::st_crs(roxel) = sf::st_crs("EPSG:4326"), before running any ',
'example.'
))
}
}
# nocov end
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.