Skip to content
Prev 26322 / 29559 Next

Error in reading shape file with readOGR()

Hello, Amos,

I came across this posting because I had a similar problem using R for
mapping within GNU Emacs Org Mode on GNU/Linux.  I work on a research team
that uses a shared directory for data analysis.  This makes it imperative
to use relative pathnames so that everyone can use the exact same code, the
exact same way, and achieve the exact same result.  Unfortunately, the
readOGR function in the rgdal package does not allow the use of relative
pathnames in the dsn (data source name) argument.

To get around this, I use the setwd and getwd functions.  I use setwd to
set the working directory to the directory with the shapefile.  Then, I use
the getwd function as the dsn argument.  Since setwd() can handle relative
pathnames and getwd() prints the absolute pathname, this allows the user a
way around the dsn= argument requiring an absolute pathname.  This worked
for my research team and allowed us all to use the same code for mapping in
R.

My R code looks something like this:

## SET WORKING DIRECTORY TO BE UNIFORM
setwd("~/relative/path/to/file/nypp_15c/")

## IMPORT THE SHAPEFILE TO A SPATIAL DATA.FRAME
library(rgdal)
precincts.2015 <- readOGR(
    dsn=getwd(),
    layer="nypp")

I would like to thank all the R developers, in particular Professor Bivand,
for their extremely useful contributions in creating software for
geospatial data analysis.

I hope this helps,

Adam G. Fera