Чтение файла формы с помощью readOGR verses readShapePoly

Я прочитал шейп файл, используя readShapePoly в пакете maptools, но не могу прочитать тот же файл с readOGR. Я надеюсь, кто-то может помочь мне прочитать шейп файл с помощью readOGR.

Я загрузил файл orcounty.shp здесь: http://geography.uoregon.edu/geogr/topics/maps.htm

Я также загрузил связанные файлы: orcounty.shx, orcounty.sbx, orcounty.sbn и orcounty.dbf и поместил все пять файлов в папку: c:/users/mark w miller/gis_in_R/shapefile_example/

Следующий код считывает шейп файл и отображает некоторые атрибуты:

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:

Однако, когда я пытаюсь прочитать тот же файл формы, используя следующий код, я получаю сообщение об ошибке:

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)

В сообщении об ошибке говорится:

Error in ogrInfo(dsn = dsn, layer = layer, encoding = encoding, use_iconv = use_iconv) : 
  Cannot open file

Я могу читать Natural Earth http://www.naturalearthdata.com/ shapefiles, используя:

library(rgdal)

setwd("c:/users/mark w miller/gis_in_R/")

# read shapefile
wmap <- readOGR(dsn="ne_110m_physical", layer="ne_110m_land")

Итак, по-видимому, существует разница между шейп файлами Natural Earth и шейп файлом Oregon orcounty.shp.

Благодарим вас за любые советы о том, как читать orcounty.shp с помощью readOGR. Мой вопрос похож на вопрос здесь: rgdal/readOGR - невозможно прочитать шейп файл из .zip

Ответ 1

Попробуйте удалить последний путь//из файла.

readOGR(dsn = 'c:/users/mark w miller/gis_in_R/shapefile_example',
        layer = 'orcounty')

Ответ 2

Для тех, кто заканчивается здесь с этой ошибкой в ​​ящике Linux, я обнаружил, что проблема связана с ярлыком на домашнем пути. то есть.

# Works
readOGR(dsn="/home/user/dir", layer="file")

# Doesn't work
readOGR(dsn="~/dir", layer="file")

Я понятия не имею, почему.

Ответ 3

Я использовал файл ne_110m_land

Попробуйте следующее:

setwd('D:/JMSR/codes.R/mapas')
unzip("ne_110m_land.zip")
ogrInfo(".", "ne_110m_land")
wmap <- readOGR(".", "ne_110m_land")