从 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信息中读取。
我在 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信息中读取。