rgdal/readOGR - 无法从 .zip 读取 shapefile

标签 r ggplot2 gis rgdal

我正在尝试加载一个 zip 级别的 shapefile 来进行一些绘图,如下所示: https://github.com/hadley/ggplot2/wiki/plotting-polygon-shapefiles http://www.nceas.ucsb.edu/scicomp/usecases/ReadWriteESRIShapeFiles 等等

我的代码:

library(rgdal)
library(RColorBrewer)
library(ggplot2)
zipmap = readOGR(dsn="file.zip/", layer="myZIPmap")

我收到此错误:

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

我检查了驱动程序,但说实话我无法解释输出:

ogrDrivers()
             name write
1      AeronavFAA FALSE
2          ARCGEN FALSE
3          AVCBin FALSE
4          AVCE00 FALSE
5             BNA  TRUE
6             CSV  TRUE
7             DGN  TRUE
8             DXF  TRUE
9          EDIGEO FALSE
10 ESRI Shapefile  TRUE
11     Geoconcept  TRUE
12        GeoJSON  TRUE
13       Geomedia FALSE
14         GeoRSS  TRUE
15            GML  TRUE
16            GMT  TRUE
17       GPSBabel  TRUE
18  GPSTrackMaker  TRUE
19            GPX  TRUE
20            HTF FALSE
21         Idrisi FALSE
22            KML  TRUE
23   MapInfo File  TRUE
24         Memory  TRUE
25   MSSQLSpatial  TRUE
26           ODBC  TRUE
27        OpenAir FALSE
28         PCIDSK  TRUE
29            PDS FALSE
30         PGDump  TRUE
31           PGeo FALSE
32            REC FALSE
33            S57  TRUE
34           SDTS FALSE
35       SEGUKOOA FALSE
36           SEGY FALSE
37            SUA FALSE
38            SVG FALSE
39          TIGER  TRUE
40        UK .NTF FALSE
41            VFK FALSE
42            VRT FALSE
43         XPlane FALSE

file.info 给出:

 file.info(path="K:/2012 - IPD - Policy Maps/fe_2007_us_zcta500.zip/")
                                                             size isdir mode               mtime               ctime
    K:/2012 - IPD - Policy Maps/fe_2007_us_zcta500.zip/ 661131516 FALSE  666 2012-08-22 14:54:53 2012-08-22 14:50:43
                                                                      atime exe
    K:/2012 - IPD - Policy Maps/fe_2007_us_zcta500.zip/ 2012-08-22 14:58:38  no

鉴于我尝试过的互联网搜索,看来我不是唯一遇到此问题的人,但我一直无法找到答案。我不确定问题是否与 .zip 文件夹内的 shapefile 有关。由于它是一台工作计算机,我必须等待 IT 安装 WinZip,以便我可以提取 shapefile 并在 .zip 文件夹之外尝试。希望那是明天。

此外,包帮助指出“请注意,数据源目录中的杂散文件(例如 *.dbf)可能会导致伴随 *.shp 丢失的可疑错误。” .zip 文件夹包含以下内容:a.dbf、b.prj、c.shp、d.shp.xml、e.shx。

您能提供的任何帮助都会很棒! -亚历克斯

最佳答案

您应该能够使用 unzip 解压缩文件,而无需外部程序。要使用 readOGR 读取 shapefile,dsn 是“解压”文件所在的目录名称,layer 是不带扩展名的形状文件。在下面的示例中,将 myZIPmap 替换为适当的 shapefile 名称。

library(utils)
library(rgdal)

unzip("K:/2012 - IPD - Policy Maps/fe_2007_us_zcta500.zip")
zipmap <- readOGR(dsn = "K:/2012 - IPD - Policy Maps/fe_2007_us_zcta500", layer = "myZIPmap" )

关于rgdal/readOGR - 无法从 .zip 读取 shapefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12082174/

相关文章:

r - H2O的Auto ML功能如何平衡类别?

R:如何像在 Excel 中那样定义圆函数?

r - 当不存在任何值时,强制ggplot图例显示所有类别

mysql - 如何使用 ST_contains 从 MySQL 8 中的表中进行选择?

r - Shiny 的仪表板侧边栏中的可折叠菜单项

r - 计算R中每组连续连续值的长度

r - 如何根据管道中的汇总值对 geom_col 列进行排序

r - 警告信息 : Removed 4 rows containing missing values (geom_path) 的含义

iphone - 在 iPhone 上构建 "find nearest"位置感知应用程序的最佳方法是什么?

delphi - 在哪里可以找到 Delphi 的 map 控件?