从R中的大型文件中提取点数据

时间:2015-05-11 11:29:51

标签: r gis shapefile maptools

我无法从R中的大型文件(916.2 Mb,4618197元素 - 来自此处:{{3}})中提取点数据。我在readShapeSpatial中使用maptools读取形状文件需要一段时间但最终有效:

worldmap <- readShapeSpatial("shp_file_name") 

然后我有一个data.frame坐标,我想要提取数据。然而,R真的很挣扎,要么失去联系,要么冻结,即使只有一组坐标!

pt <-data.frame(lat=-64,long=-13.5)
pt<-SpatialPoints(pt)
e<-over(pt,worldmap)

有人能告诉我更有效的方法吗?

或者是否需要在更强大的功能上运行此脚本(目前使用带有2.3 GHz处理器的mac mini)?

非常感谢!

1 个答案:

答案 0 :(得分:1)

“点数据”是指经度和纬度坐标?如果是这种情况,您可以使用以下方法获取shapefile下的数据:

worldmap@data

您可以像对待任何其他数据框一样查看此内容,例如:

View(worldmap@data)

您也可以像往常一样访问此数据框中的列,除非您不需要@data,例如:

worldmap$LATITUDE

最后,建议使用readOGR包中的rgdal而不是maptools::readShapeSpatial,因为前者会读取CRS /投影信息。