5

我发现了两种在 R 中打开 shapefile 的基本方法——使用rgdalmaptools

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

# 2
require(rgdal)
shape_rgdal <- readOGR(".", "file")

两种情况下的数据结构似乎完全相同(SpatialLinesDataFrame 类,sp 包)。但是,虽然rgdal正确读取投影,maptools但没有(您可能必须手动分配 CRS):

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

那么,我为什么要使用maptools打开形状文件呢?我可能只会犯手动分配 CRS 的错误!

我可以得出结论,这两种方法是等效的,但是使用rgdal打开 shapefile 总是更安全的方法吗?

4

2 回答 2

4

以下比较maptools和来自国家生态分析与综合中心可能会让您感兴趣rgdalPBSMapping

“使用 R 读写 ESRI Shapefile”

于 2013-10-14T21:07:51.353 回答
1

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

rgdal可以处理这种情况

于 2013-07-26T10:00:40.887 回答