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

时间:2012-08-22 22:14:28

标签: 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

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

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

您可以提供任何帮助都很精彩! -Alex

1 个答案:

答案 0 :(得分:7)

您应该能够解压缩文件而无需使用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" )