Mapping with R on Mac: Installation
I’m learning geocomputation with R by following the awesome content in this book: https://geocompr.robinlovelace.net/spatial-class.html
It’s well written and easy to follow. But I bumped into a couple issues when I was trying to install the required packages, which were not mentioned in the book. In case anyone else face the same problem, here are the steps I took to make it work.
Step 1: Install Homebrew if you haven’t yet
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Step 2: On Mac, a few requirements must be met to install sf package in R. More information can be found here at github.com/r-spatial/sf.
If you have never installed GDAL before, install it with Homebrew first
brew install gdal
Then, upgrade to gdal 2 so that you can install the sf package later. To do that, nlink gdal 1.x
brew unlink gdal
Then, tap into osgeo4mac
brew tap osgeo/osgeo4mac && brew tap --repair
Then, install GDAL 2.X
brew install proj
brew install geos
brew install udunits
brew install gdal2 --with-armadillo --with-complete --with-libkml --with-unsupported
Finally, link GDAL 2.X
brew link --force gdal2
If you want to verify your installation (version number may vary):
$ gdal-config --version
2.3.1
$ gdal-config --libs
-L/usr/local/Cellar/gdal2/2.3.1/lib -lgdal
$ gdal-config --cflags
-I/usr/local/Cellar/gdal2/2.3.1/include
Step 3: Install packages
When I was trying to install sf in R, it threw me an error saying “tar: Failed to set default locale”. I managed to solve this issue by running system('defaults write org.R-project.R force.LANG en_US.UTF-8')
in R console, then restart your R.
Then install all the follow packages. Worked like a charm.
install.packages("sf")
install.packages("raster")
install.packages("spData")
install.packages("spDataLarge", repos = "https://nowosad.github.io/drat/",type = "source")
Now if you run the following the code in R, there shouldn’t be any error.
library(sf)
library(raster)
library(spData)
library(spDataLarge)