我正在尝试下载超通用裁剪边界从国家统计局定义的这里。我打算用它来显示一张带有ggplot的合唱图。
然而,当我使用readOGR时,我会得到下面的消息。
ogrInfo中的错误(dsn= dsn,层=层,编码=编码,use_iconv = use_iconv,:无法打开层)
下载和解压缩似乎是有效的,它作为一个ESRI形状文档出现。
我做错了什么?
library(tidyverse)
library(rgeos)
library(rgdal)
library(maptools)
dest_zip_file <- "Counties_December_2017_Ultra_Generalised_Clipped_Boundaries_in_England.zip"
shape_file_name <- "Counties_December_2017_Ultra_Generalised_Clipped_Boundaries_in_England"
download.file("http://geoportal1-ons.opendata.arcgis.com/datasets/c6404b30a373457e9d87f724dd57585c_4.zip?outSR={%22latestWkid%22:27700,%22wkid%22:27700}",
dest_zip_file)
unzip(dest_zip_file, paste0(shape_file_name,".shp"))
county_shapes <- readOGR(dsn = ".",
layer = shape_file_name,
verbose = TRUE)发布于 2020-03-17 18:51:06
您正在将您的文件夹解压缩到一个文件- .shp -实际上您应该有几个文件作为您的“形状文件”的一部分,包括.shx和.dbf文件。
您可以通过解压缩所有文件并读取代码来修复代码:
unzip(dest_zip_file)
county_shapes <- readOGR(dsn = ".",
layer = shape_file_name,
verbose = TRUE)另外,如果您正在寻找英国的地理边界,我总是推荐geoportal,在那里您经常可以通过API找到下载geojson的链接。例如,我找到了2017年县界的链接,并使用sf阅读
library(sf)
library(ggplot2)
county <- read_sf('https://opendata.arcgis.com/datasets/c6404b30a373457e9d87f724dd57585c_2.geojson')
ggplot() +
geom_sf(data = county)

https://stackoverflow.com/questions/60728066
复制相似问题