Difference between revisions of "BwUniCluster2.0/Software/R/Rgdal"

From bwHPC Wiki
Jump to: navigation, search
(Installation of rgdal/rgeos)
Line 1: Line 1:
= Installation instructions =
 
   
  +
= General information =
Consider starting an interactive job for compiling. Copy and paste the following to your shell.
 
   
  +
Installation of rgdal and rgeos allows to use the following tools for handling spatial structures in R
  +
  +
* the 'Geospatial' Data Abstraction Library [https://gdal.org/ GDAL]
  +
* Projection/transformation operations from the [https://proj.org/ PROJ] library
  +
* Interface to the open source Geometry Engine [https://libgeos.org/ GEOS]
  +
  +
= Installation =
  +
  +
Please enter the following code, presented in the boxes below, directly into your shell/command line on bwUniCluster.
  +
  +
== Install external programs ==
  +
  +
First, we download the sources of GDAL, PROJ, GEOS and install the three programs.
  +
  +
We will gather them in a folder src, unpack there and then compile.
  +
  +
We strongly recommend to use a interactive session with multiple cores.
  +
  +
<pre>
  +
salloc -n 4 -t 30 -p dev_single
  +
</pre>
  +
  +
  +
First, provide the source directory (if not yet existing)
 
<pre>
 
<pre>
module load math/R
 
# Get sources
 
 
mkdir -p ~/src
 
mkdir -p ~/src
 
cd ~/src
 
cd ~/src
  +
</pre>
wget http://download.osgeo.org/gdal/2.2.2/gdal-2.2.2.tar.gz
 
wget http://download.osgeo.org/geos/geos-3.6.2.tar.bz2
 
wget http://download.osgeo.org/proj/proj-4.9.3.tar.gz
 
# Not using git version
 
#git clone https://github.com/OSGeo/proj.4.git
 
   
  +
Then, download and install PROJ
# Build gdal
 
  +
<pre>
tar xf gdal-2.2.2.tar.gz
 
cd gdal-2.2.2
+
PROJ_VER=6.3.2
  +
wget http://download.osgeo.org/proj/proj-$PROJ_VER.tar.gz
./configure --prefix=$HOME/sw
 
  +
tar xf proj-$PROJ_VER.tar.gz
make -j4
 
  +
cd proj-$PROJ_VER
  +
./configure --prefix=$HOME/sw/R
  +
make -j 8
 
make install
 
make install
 
cd ..
 
cd ..
  +
</pre>
   
  +
Then, install gdal
# Build geos
 
  +
tar xf geos-3.6.2.tar.bz2
 
  +
<pre>
cd geos-3.6.2
 
  +
GDAL_VER=3.4.1
./configure --prefix=$HOME/sw
 
  +
wget http://download.osgeo.org/gdal/$GDAL_VER/gdal-$GDAL_VER.tar.gz
make -j4
 
  +
tar xf gdal-$GDAL_VER.tar.gz
  +
cd gdal-$GDAL_VER
  +
./configure --prefix=$HOME/sw/R --with-proj=$HOME/sw/R
  +
make -j 8
 
make install
 
make install
 
cd ..
 
cd ..
  +
</pre>
   
  +
Finally, install GEOS
# Build proj.4
 
  +
<pre>
# Not using git version
 
  +
GEOS_VER=3.9.2
#cd proj.4
 
  +
wget http://download.osgeo.org/geos/geos-$GEOS_VER.tar.bz2
#git checkout 4.9.3 -b 4.9.3
 
  +
tar xf geos-$GEOS_VER.tar.bz2
#git branch
 
  +
cd geos-$GEOS_VER
#autoreconf -i
 
  +
./configure --prefix=$HOME/sw/R
tar xf proj-4.9.3.tar.gz
 
  +
make -j 8
cd proj-4.9.3
 
./configure --prefix=$HOME/sw
 
make -j4
 
 
make install
 
make install
 
cd ..
 
cd ..
  +
</pre>
   
  +
== Installing the R packages ==
# Set up environment (you may want to put these lines in your ~/.bashrc as well)
 
export PATH=$PATH:$HOME/sw/bin
 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/sw/lib
 
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/sw/lib/pkgconfig
 
export MANPATH=$MANPATH:$HOME/sw/man
 
export GDAL_DATA=$HOME/sw/share/gdal
 
export CFLAGS=-I$HOME/sw/include
 
   
  +
In order to install the two R packages, we need R to understand where we installed the 3 underlying programs, so we export the necessary paths.
# Install rgdal and rgeos packages from within R session
 
  +
  +
<pre>
  +
export LD_LIBRARY_PATH=$HOME/sw/R/lib:$LD_LIBRARY_PATH
  +
export PATH=$PATH:$HOME/sw/R/bin
  +
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/sw/R/lib/pkgconfig
  +
export GDAL_DATA=$HOME/sw/R/share/gdal
  +
</pre>
  +
  +
  +
Additionally, the R package installation features compilation of built-in C++ code, for which we specify compilation options ('compiler flags')
  +
  +
<pre>
  +
export CFLAGS=-I$HOME/sw/R/include
  +
export CXX="icpc -std=c++11"
  +
</pre>
  +
  +
  +
Now, we install rgdal and rgeos from within R
  +
  +
<pre>
  +
module load math/R/4.1.2
 
R -q
 
R -q
  +
> install.packages("rgdal")
# Problem with too many arguments
 
  +
> install.packages("rgeos")
#install.packages("rgdal", configure.args = c("--with-proj-include=~/sw/include", "--with-proj-lib=~/sw/lib", "--with-proj-share=~/sw/share/proj"))
 
install.packages("rgdal")
+
> library("rgdal")
install.packages("rgeos")
+
> library("rgeos")
library("rgdal")
 
library("rgeos")
 
 
</pre>
 
</pre>
  +
  +
== Preparations to use the rgdal/rgeos packages ==
  +
Since rgdal and rgeos depend on the external programs we installed, we recommend to add the export commands
  +
  +
<pre>
  +
export LD_LIBRARY_PATH=$HOME/sw/R/lib:$LD_LIBRARY_PATH
  +
export PATH=$PATH:$HOME/sw/R/bin
  +
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/sw/R/lib/pkgconfig
  +
export GDAL_DATA=$HOME/sw/R/share/gdal
  +
</pre>
  +
  +
to your [[BwUniCluster_2.0_Slurm_common_Features#sbatch_Examples | batch job scripts]] that use rgdal and rgeos or to run them directly in the command line if you use an [[BwUniCluster_2.0_Batch_Queues | interactive session]].
  +
  +
----
  +
[[Category:BwUniCluster]]
  +
[[Category:BwUniCluster_2.0]]

Revision as of 15:59, 23 June 2022

1 General information

Installation of rgdal and rgeos allows to use the following tools for handling spatial structures in R

  • the 'Geospatial' Data Abstraction Library GDAL
  • Projection/transformation operations from the PROJ library
  • Interface to the open source Geometry Engine GEOS

2 Installation

Please enter the following code, presented in the boxes below, directly into your shell/command line on bwUniCluster.

2.1 Install external programs

First, we download the sources of GDAL, PROJ, GEOS and install the three programs.

We will gather them in a folder src, unpack there and then compile.

We strongly recommend to use a interactive session with multiple cores.

salloc -n 4 -t 30 -p dev_single


First, provide the source directory (if not yet existing)

mkdir -p ~/src
cd ~/src

Then, download and install PROJ

PROJ_VER=6.3.2
wget http://download.osgeo.org/proj/proj-$PROJ_VER.tar.gz
tar xf proj-$PROJ_VER.tar.gz
cd proj-$PROJ_VER
./configure --prefix=$HOME/sw/R
make -j 8 
make install
cd ..

Then, install gdal

GDAL_VER=3.4.1
wget http://download.osgeo.org/gdal/$GDAL_VER/gdal-$GDAL_VER.tar.gz
tar xf gdal-$GDAL_VER.tar.gz
cd gdal-$GDAL_VER
./configure --prefix=$HOME/sw/R --with-proj=$HOME/sw/R
make -j 8
make install
cd ..

Finally, install GEOS

GEOS_VER=3.9.2
wget http://download.osgeo.org/geos/geos-$GEOS_VER.tar.bz2
tar xf geos-$GEOS_VER.tar.bz2
cd geos-$GEOS_VER
./configure --prefix=$HOME/sw/R
make -j 8 
make install
cd ..

2.2 Installing the R packages

In order to install the two R packages, we need R to understand where we installed the 3 underlying programs, so we export the necessary paths.

export LD_LIBRARY_PATH=$HOME/sw/R/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$HOME/sw/R/bin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/sw/R/lib/pkgconfig
export GDAL_DATA=$HOME/sw/R/share/gdal


Additionally, the R package installation features compilation of built-in C++ code, for which we specify compilation options ('compiler flags')

export CFLAGS=-I$HOME/sw/R/include
export CXX="icpc -std=c++11"


Now, we install rgdal and rgeos from within R

module load math/R/4.1.2
R -q
> install.packages("rgdal")
> install.packages("rgeos")
> library("rgdal")
> library("rgeos")

2.3 Preparations to use the rgdal/rgeos packages

Since rgdal and rgeos depend on the external programs we installed, we recommend to add the export commands

export LD_LIBRARY_PATH=$HOME/sw/R/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$HOME/sw/R/bin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/sw/R/lib/pkgconfig
export GDAL_DATA=$HOME/sw/R/share/gdal

to your batch job scripts that use rgdal and rgeos or to run them directly in the command line if you use an interactive session.