.onLoad <- function(libname, pkgname)
{
#increase download timeout to prevent aborted downloads
.RnightlightsEnv$oldTimeout <- options("timeout")
options("timeout" = pkgOptions("downloadTimeout"))
#display credits
credits <- "Rnightlights
When using the data please credit the various agencies:
DMSP data collected by US Air Force Weather Agency
Image and data processing by NOAA's National Geophysical Data Center
(https://eogdata.mines.edu/dmsp/downloadV4composites.html)
---
VIIRS data produced by
Earth Observation Group, Payne Institute for Public Policy
(https://eogdata.mines.edu/download_dnb_composites.html)
Maps produced and distributed by GADM
The data are freely available for academic use and other non-commercial use.
Redistribution, or commercial use, is not allowed without prior permission.
Using the data to create maps for academic publishing is allowed.
(https://gadm.org)"
printCredits(credits)
}
######################## .RnightlightsENV ###################################
#' A package-wide hidden environment
#'
#' A package-wide hidden environment used to store variables/settings and
#' functions to retrieve them
#'
.RnightlightsEnv <- new.env(parent = emptyenv())
######################## .onAttach ###################################
.onAttach <- function(libname, pkgname)
{
# Set global variables in .onAttach since we want the package to be
# usable without active loading via library(Rnightlights)
#
#Setup the data path, possibly by prompting the user. if not found
if(is.null(getNlDataPath()))
{
message(Sys.time(), ": dataPath is not set. Running setupDataPath")
setupDataPath()
}
#if path is set but it is not found create it
if(!dir.exists(dataPath <- getNlDataPath()))
{
message(Sys.time(), ": ", dataPath, " does not exist. Creating")
setNlDataPath(dataPath)
}
#Create any missing data dirs
#Upgrade also checks for this so this may make the upgrade one redundant
createNlDataDirs()
#try to speed up the code
#does this work?
#also enabled in DESCRIPTION file
compiler::enableJIT(3)
upgradeRnightlights()
#load saved stats into memory
readSavedNlStats()
}
.onUnload <- function(libpath)
{
}
.onDetach <- function(libpath)
{
#restore the previous timeout option
options("timeout" = .RnightlightsEnv$oldTimeout)
#remove our hidden environment
suppressWarnings(rm(.RnightlightsEnv))
}
######################## .Last.lib ###################################
#' @export
.Last.lib <- function(libpath)
{
# Clean up the environment and delete temp files when the package is
# detached.
#
# Use .Last.lib rather than .onDetach or .onUnload which may not be run
# at the end of the session. And rather than reg.finalizer which is
# called when gc() runs which we do not want to happen for nlCleanup()
# especially since we do call gc() in some instances.
#cleanup by removing any global vars created etc
nlCleanup()
compiler::enableJIT(0)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.