使用readShapeSpatial()时出错

时间:2014-10-30 23:55:16

标签: r shapefile

我正在尝试使用maptool使用以下代码:

stateShape <- readShapeSpatial("tl_2013_us_state")

但是我收到了错误:

Error in getinfo.shape(fn) : Error opening SHP file

我的目录是正确的

1 个答案:

答案 0 :(得分:3)

要读取空间数据,您需要.shp.shx.dbf个文件。如果缺少位,则会出现以下行为:

如果全部没有错误:

> m=readShapeSpatial("metro")

我们删除.dbf

> file.remove("metro.dbf")
[1] TRUE
> m=readShapeSpatial("metro")
Error in read.dbf(filen1) : unable to open DBF file

现在没有.shx

> file.remove("metro.shx")
[1] TRUE
> m=readShapeSpatial("metro")
Error in getinfo.shape(fn) : Error opening SHP file

看起来像你的错误。您是否也有相应的.shx文件?

Shapefile也可能有一个.prj文件,但readShapeSpatial忽略了这个,这就是你不应该使用它的原因。始终使用rgdal包:

> m = readOGR(".","metro")
OGR data source with driver: ESRI Shapefile 
Source: ".", layer: "metro"
with 5 features and 12 fields
Feature type: wkbPolygon with 2 dimensions
> summary(m)
Object of class SpatialPolygonsDataFrame
Coordinates:
        min       max
x -96.90567 -95.84013
y  40.99636  41.74546
Is projected: FALSE 
proj4string :
[+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0]

请注意正确设置的proj4string值。你不能通过readShapeSpatial得到它。