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

Extracting point data from a large shape file in R

我在 R 中从大型形状文件(916.2 Mb,4618197 个元素 - 从这里:https://earthdata.nasa.gov/data/near-real-time-data/firms/active-fire-data)提取点数据时遇到问题。我在 [=13] 中使用 readShapeSpatial =] 读取需要一段时间但最终有效的形状文件:

worldmap <- readShapeSpatial("shp_file_name") 

然后我有一个 data.frame 坐标,我想为其提取数据。然而,R 确实为此苦苦挣扎,要么失去连接,要么死机,即使只有一组坐标!

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

谁能告诉我更有效的方法?

或者我是否需要 运行 这个脚本在更强大的东西上(目前使用 mac mini 和 2.3 GHz 处理器)?

非常感谢!

'point data'是指经纬度坐标吗?如果是这种情况,您可以通过以下方式获取 shapefile 下的数据:

worldmap@data

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

View(worldmap@data)

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

worldmap$LATITUDE

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