首页 > 解决方案 > 如何从用户编写的函数中正确返回 SpatialPolygonDataFrame?

问题描述

我正在尝试编写一个函数来导入形状文件,打印列名,myshapefile@data然后将形状文件存储为命名对象。但是,不是返回名称对象,return()而是在控制台中打印 shapefile 数据,而不是将其保存为环境中的对象。

这是草稿函数,其中shp.path是带有 shapefile 文件路径的字符串:

get.map <- function(shp.path) {

  country.map <- rgdal::readOGR(shp.path)
  message("You will need to know which column has state names:")
  names(country.map@data)
  return(country.map)
}

可能是内部需要一个函数return()来定义对象类,但是添加return(SpatialPolygonsDataFrame(country.map))会返回错误:

Error in nrow(data) : argument "data" is missing, with no default 

关于改用什么的任何建议?完全省略return()意味着该对象仅在本地定义,不能在下一个函数中调用。

标签: rmaps

解决方案


推荐阅读