Error in reading shape file with readOGR()
On Tue, 13 Feb 2018, Adam Fera wrote:
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.
The underlying GDAL logic expects an expanded path. Until I can check that
using path.expand() inside the functions at least for reading, perhaps
writing, use it as dsn = path.expand("~/relative/path/to/file/nypp_15c/").
I'd be grateful for feedback on whether this works as well as setwd().
sf uses enc2utf8(normalizePath(dsn)), so you could try normalizePath()
too - path.expand() handles ~ but not ../.. . readGDAL() handles relative
paths OK and uses normalizePath() internally.
Roger
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
Roger Bivand Department of Economics, Norwegian School of Economics, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; e-mail: Roger.Bivand at nhh.no http://orcid.org/0000-0003-2392-6140 https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en