我正在尝试使用maptool使用以下代码:
stateShape <- readShapeSpatial("tl_2013_us_state")
但是我收到了错误:
Error in getinfo.shape(fn) : Error opening SHP file
我的目录是正确的
答案 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
得到它。