使用rgdal在R中打开shapefile始终比使用maptools更好?

TMS*_*TMS 5 gis r shapefile r-maptools rgdal

我找到了两种在R中打开shapefile的基本方法 - 使用rgdalmaptools:

# 1
require(maptools)
shape_maptools <- readShapeLines("file.shp")

# 2
require(rgdal)
shape_rgdal <- readOGR(".", "file")
Run Code Online (Sandbox Code Playgroud)

两种情况下的数据结构看起来完全相同(类SpatialLinesDataFrame,包sp).但是,在rgdal正确读取投影时,maptools不会(您可能需要手动分配CRS):

> proj4string(shape_maptools)
[1] NA
> proj4string(shape_rgdal)
[1] "+proj=utm +zone=31 +ellps=intl +units=m +no_defs"
Run Code Online (Sandbox Code Playgroud)

那么,为什么我会maptools用来打开形状文件?我可能只会错误地手动分配CRS!

我可以得出结论,两种方式都是等价的,但使用rgdal是更安全的方式来打开shapefile吗?

小智 1

maptools::readShapeLines() 遇到包含空格字符的文件名问题,例如。德语元音变音。

rgdal可以处理这种情况