Read shape file with readOGR verses readShapePoly
Solution 1
Try to remove your last '/' from file path.
readOGR(dsn = 'c:/users/mark w miller/gis_in_R/shapefile_example',
layer = 'orcounty')
Solution 2
For anyone ending up here with this error on a Linux box, I found the problem was using a home path shortcut. i.e.
# Works
readOGR(dsn="/home/user/dir", layer="file")
# Doesn't work
readOGR(dsn="~/dir", layer="file")
I have no idea why.
Solution 3
I used the file ne_110m_land
Try with this:
setwd('D:/JMSR/codes.R/mapas')
unzip("ne_110m_land.zip")
ogrInfo(".", "ne_110m_land")
wmap <- readOGR(".", "ne_110m_land")
Mark Miller
Mostly use R, JAGS, MARK, and some C My GitHub page: https://github.com/IcterusGalbula
Updated on July 17, 2022Comments
-
Mark Miller almost 2 years
I have read a shapefile using
readShapePoly
in themaptools
package, but cannot read that same file withreadOGR
. I am hoping someone may be able to help me read the shapefile withreadOGR
.I downloaded the file
orcounty.shp
from here: http://geography.uoregon.edu/geogr/topics/maps.htmI also downloaded the associated files:
orcounty.shx
,orcounty.sbx
,orcounty.sbn
, andorcounty.dbf
and put all five files in the folder:c:/users/mark w miller/gis_in_R/shapefile_example/
The following code reads the shapefile and displays some attributes:
library(maptools) setwd('c:/users/mark w miller/gis_in_R/shapefile_example/') # Oregon county census data (polygons) orcounty.poly <- readShapePoly('orcounty.shp', proj4string=CRS("+proj=longlat")) orcounty.line <- readShapeLines('orcounty.shp', proj4string=CRS("+proj=longlat")) # see projection summary(orcounty.poly) Object of class SpatialPolygonsDataFrame Coordinates: min max x -124.55840 -116.46944 y 41.98779 46.23626 Is projected: FALSE proj4string : [+proj=longlat] Data attributes:
However, when I try to read that same shapefile using the following code I receive an error:
library(rgdal) # read shapefile oregon.map <- readOGR(dsn="c:/users/mark w miller/gis_in_R/shapefile_example/", layer="orcounty") # convert to dataframe oregon.map_df <- fortify(oregon.map)
The error message says:
Error in ogrInfo(dsn = dsn, layer = layer, encoding = encoding, use_iconv = use_iconv) : Cannot open file
I can read Natural Earth http://www.naturalearthdata.com/ shapefiles using:
library(rgdal) setwd("c:/users/mark w miller/gis_in_R/") # read shapefile wmap <- readOGR(dsn="ne_110m_physical", layer="ne_110m_land")
So, apparently there is a difference between the Natural Earth shapefiles and the Oregon shapefile
orcounty.shp
.Thank you for any advice on how to read
orcounty.shp
withreadOGR
. My question is similar to the question here: rgdal / readOGR - unable to read shapefile from .zip -
Josip Rodin over 8 yearsThe tilde expression (
~
) is usually expanded by the Unix shell. If you're passing it into an R library call, it will probably be read literally. -
MikeRSpencer over 8 yearsOK, thanks. Often it works in R, for reading files, setting working directories. In this instance it didn't.