空间数据科学与 R 语言

探索和实践

作者

黄湘云

发布日期

2022年4月5日

前言

本书是在 RStudio IDE 内用 Quarto 编辑的,为可重复性,写作环境由 Docker 搭建,基础环境来自 rocker 项目提供的空间数据 geospatial 镜像。首先安装 Docker 桌面客户端,拉取远程镜像文件:

brew install --cask homebrew/cask/docker
docker pull rocker/geospatial

然后从下载的镜像启动容器,配置 RStudio Server 登陆账户、映射本地端口 8282 和挂载本地文件目录。

docker run -itd -p 8282:8787 --rm --name=sdsr \
  --privileged=true -v "/${PWD}:/home/rstudio" \
  -e USER=rstudio -e PASSWORD=cloud2016 rocker/geospatial:latest

打开网址 http://localhost:8282,输入账户 rstudio 和密码 cloud2016,登陆后即可进入开发环境。书籍写作还用到其它一些 R 包和 LaTeX 宏包,需额外安装。

代码
# 安装 R 包
install.packages(c("mapproj", "showtext", "styler"))
# 安装 LaTeX 宏包
tinytex::tlmgr_install(readLines("texlive.txt"))

quarto 包将书籍发布到 https://bookdown.org/

代码
quarto::quarto_publish_site(input = "_book", name = "sdsr")

因此,本书完整编译环境如下:

代码
xfun::session_info(packages = c(
  "tinytex", "rmarkdown", "bookdown", "quarto", "showtext",
  "maps", "mapproj", "sf", "sp", "raster"
))
R version 4.1.3 (2022-03-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.4 LTS

Locale:
  LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
  LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
  LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
  LC_PAPER=en_US.UTF-8       LC_NAME=C                 
  LC_ADDRESS=C               LC_TELEPHONE=C            
  LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

Package version:
  base64enc_0.1.3    bookdown_0.25      bslib_0.3.1        class_7.3.20      
  classInt_0.4.3     DBI_1.1.2          digest_0.6.29      e1071_1.7.9       
  evaluate_0.15      fastmap_1.1.0      fs_1.5.2           glue_1.6.2        
  graphics_4.1.3     grDevices_4.1.3    grid_4.1.3         highr_0.9         
  htmltools_0.5.2    jquerylib_0.1.4    jsonlite_1.8.0     KernSmooth_2.23.20
  knitr_1.38         later_1.3.0        lattice_0.20.45    magrittr_2.0.3    
  mapproj_1.2.8      maps_3.4.0         MASS_7.3.55        methods_4.1.3     
  processx_3.5.3     proxy_0.4.26       ps_1.6.0           quarto_1.1        
  R6_2.5.1           rappdirs_0.3.3     raster_3.5.15      Rcpp_1.0.8.3      
  rlang_1.0.2        rmarkdown_2.13     rstudioapi_0.13    s2_1.0.7          
  sass_0.4.1         sf_1.0.7           showtext_0.9.5     showtextdb_3.0    
  sp_1.4.6           stats_4.1.3        stringi_1.7.6      stringr_1.4.0     
  sysfonts_0.8.8     terra_1.5.21       tinytex_0.38       tools_4.1.3       
  units_0.8.0        utils_4.1.3        wk_0.6.0           xfun_0.30         
  yaml_2.3.5        

LaTeX version used: 
  TeX Live 2022 with tlmgr 2022-02-28

Pandoc version: 2.17.1.1