R package doesn't detect updated version of GDAL - r

I am trying to shift from raster to the new terra R package, which requires a recent version of GDAL to be installed on my machine (MacOS 10.14.6).
I updated GDAL following the instructions here: http://www.alexchubaty.com/post/2020-01-08-using-latest-gdal-macos-redux/ and it seemed to work. When I run gdalinfo --version in the terminal it displays:
GDAL 3.1.1, released 2020/06/22
But when I load the terra library in R it still seems to link to an old version of GDAL (2.4.2):
> library(terra)
This is terra version 0.7.11 (alpha-release)
NOTE: You are using GDAL version 2.4.2
For full functionality you need at least version 3.0.4
Interestingly, rgdal package seems to detect the updated version:
> library(rgdal)
Loading required package: sp
rgdal: version: 1.5-12, (SVN revision 1018)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 3.1.2, released 2020/07/07
Path to GDAL shared files: /usr/local/Cellar/gdal/3.1.2/share/gdal
GDAL binary built with GEOS: TRUE
Loaded PROJ runtime: Rel. 7.1.0, August 1st, 2020, [PJ_VERSION: 710]
Path to PROJ shared files: /Users/jamesmccarthy/Library/Application Support/proj:/usr/local/opt/proj/share/proj:/usr/local/Cellar/proj/7.1.0/share/proj
PROJ CDN enabled:FALSE
Linking to sp version:1.4-2
To mute warnings of possible GDAL/OSR exportToProj4() degradation,
use options("rgdal_show_exportToProj4_warnings"="none") before loading rgdal.
Attaching package: ‘rgdal’
The following object is masked from ‘package:terra’:
project
Does anyone know how to get terra to link to the most recent version of GDAL? I'm guessing the old version is still installed somewhere on the machine.

I am guessing that you installed rgdal from source, but the binary version of terra from CRAN. So after doing (what you already did) from the command line:
brew install pkg-config
brew install gdal
You should get what you are looking for with the following R command
install.packages("terra", type = "source")
Or, for the cutting edge
remotes::install_github("rspatial/terra")
Good luck with terra!

Related

Update GDAL library with R in Window

I have been trying to update my GDAL installation to the current version but I can't get R to recognize the updated libraries.
I ran the updater through OSGEO4W to get the new libraries.
From the command prompt I can see gdal has been updated
gdalinfo --version
GDAL 3.1.4, released 2020/10/20
However, in R, even after reinstalling rgdal, it still shows the old version
> getGDALVersionInfo()
[1] "GDAL 3.0.4, released 2020/01/28"
How can I get R to work with the new gdal libraries?

How can I link R packages (e.g. `sf` or `mapview`) to the latest GDAL version?

I am trying to use a recent feature in the mapview package that requires a driver (fgb) available in the latest GDAL version (GDAL >= 3.1.0).
On my Windows machine I run
gdalinfo --version
GDAL 3.1.2, released 2020/07/07
but my rgdal (version 1.5-16) uses
> rgdal::getGDALVersionInfo()
[1] "GDAL 3.0.4, released 2020/01/28"
So how can I update the GDAL version used inside R and link it to my r-spatial packages?

Does installing the package rgdal also install GDAL on your computer?

When I look at the documentation of the package rgdal it says
"The R contributed package rgdal is available from CRAN as a source package for installation on platforms with the full build train and external dependencies."
GDAL is one of the external dependencies, so I though this meant that it would download off CRAN and be installed along with the package.
When I load the package rgdal into my R workspace, I get this message:
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 2.2.3, released 2017/11/20
Path to GDAL shared files: C:/Users/andersonch/Documents/R/win-library/3.5/rgdal/gdal
GDAL binary built with GEOS: TRUE
Loaded PROJ.4 runtime: Rel. 4.9.3, 15 August 2016, [PJ_VERSION: 493]
Path to PROJ.4 shared files: C:/Users/andersonch/Documents/R/win-library/3.5/rgdal/proj
Linking to sp version: 1.4-1
Again, I would have thought that means that there is a valid version of GDAL that the package is connecting to.
But when I try to use functions from the gdalUtils package, I get this warning message:
Warning messages:
1: In gdal_setInstallation(ignore.full_scan = ignore.full_scan, verbose = verbose) :
No GDAL installation found. Please install 'gdal' before continuing:
- www.gdal.org (no HDF4 support!)
- trac.osgeo.org/osgeo4w/ (with HDF4 support RECOMMENDED)
- www.fwtools.maptools.org (with HDF4 support)
2: In gdal_setInstallation(ignore.full_scan = ignore.full_scan, verbose = verbose) :
If you think GDAL is installed, please run:
gdal_setInstallation(ignore.full_scan=FALSE)"
Does this mean that I need to install gdal separately?

Problem with Rgdal package on R software version 3.5.1

I'm trying to load in R a shapefile but I can't do it.
When I load a Rgdal package I have this error message
"rgdal: version: 1.3-6, (SVN revision 773)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 2.2.3, released 2017/11/20
Path to GDAL shared files: C:/Users/Matteo/Documents/R/win-library/3.5/rgdal/gdal
GDAL binary built with GEOS: TRUE
Loaded PROJ.4 runtime: Rel. 4.9.3, 15 August 2016, [PJ_VERSION: 493]
Path to PROJ.4 shared files: C:/Users/Matteo/Documents/R/win-library/3.5/rgdal/proj
Linking to sp version: 1.3-1 "
What may have happened?
I tried to update the package but the problem remains.
My version of R is 3.5.1 and my PC is Windows
It doesn't look like an error message to me, just some loading notes.
You can confirm that the package is loaded, if you're using RStudio, under the "Packages" pane in the lower right-hand corner; the rgdal package should have a check mark next to it.
Alternatively, you can use print(.packages()), which will give you a list of all your loaded packages.

how to upgrade proj4 for rgdal

I use the R packages rgdal and rgeos extensively (currently with R v3.2.2). Recently, on my ubuntu machine (ubuntu v15.10), when I load the rgdal package, I see the following:
> library(rgdal)
Loading required package: sp
rgdal: version: 1.0-7, (SVN revision 559)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 1.11.1, released 2014/09/24
Path to GDAL shared files: /usr/local/share/gdal
Loaded PROJ.4 runtime: Rel. 4.9.1, 04 March 2015, [PJ_VERSION: 491]
Path to PROJ.4 shared files: (autodetected)
WARNING: no proj_defs.dat in PROJ.4 shared files
Linking to sp version: 1.2-1
I have seen on a recent r-sig-geo posting that this is a known issue, and that an update to the rgdal package has been released to fix this issue. However, despite reinstalling the rgdal package, reinstalling gdal and proj4 with the following:
sudo apt-get update && sudo apt-get install libgdal-dev libproj-dev
I see no difference. This problem generates hundreds of warning messages when I use the functions of these packages.
In comparison, on my mac, if I load the rgdal package, I see
> library(rgdal)
Loading required package: sp
rgdal: version: 1.0-7, (SVN revision 559)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 1.11.3, released 2015/09/16
Path to GDAL shared files: /usr/local/Cellar/gdal/1.11.3/share/gdal
Loaded PROJ.4 runtime: Rel. 4.9.2, 08 September 2015, [PJ_VERSION: 491]
Path to PROJ.4 shared files: (autodetected)
Linking to sp version: 1.2-0
So there are clearly updates to gdal and proj.4 that are not making it onto my linux machine.
Does anybody have any ideas how I can get the updates?
Thanks!
I ended up compiling both proj4 and gdal from source, by cloning the respective github repositories.
https://github.com/OSGeo/proj.4
https://github.com/OSGeo/gdal
Installing rgdal on ubuntu should work (have done it, 2 months ago, on the amazone webservers). And yes, I received errors, but i could fix it by adding a folder with extra files, which didn't were installed during the installation of RGDAL.

Resources