最小高度在km内

时间:2015-10-26 20:07:53

标签: r spatial raster

尝试使用R找到某个纬度和经度10公里内的最小高程。

到目前为止我已经

dem <- getData("SRTM", lat=42.90, lon=-78.85, path = datadir)
plot(dem)

我知道我需要创建空间点并最终缓冲/提取信息。

当我尝试:

buffdem <- buffer(dem, width=10000)

它不起作用,因为我没有任何要点。

我试过

dem <- getData("SRTM", lat=42.90, lon=-78.85, path = datadir)
coords <- data.frame(
  x = rnorm(100),
  y = rnorm(100)
)
coordinates(dem)

spdf = SpatialPointsDataFrame(coords, dem)

我收到以下错误:

  

validObject(.Object)中的错误:无效的类   “SpatialPointsDataFrame”对象:插槽“数据”中的无效对象   class“SpatialPointsDataFrame”:得到类“RasterLayer”,应该是或   扩展类“data.frame”

1 个答案:

答案 0 :(得分:2)

我认为这可以满足您的需求:

library(raster)
#elevation <- getData("SRTM", lat=42.90, lon=-78.85)
#poi <- cbind(lon=-78.85, lat=42.90)

使用较小的示例数据集进行更快下载:

elevation <- getData('alt', country='CHE')
poi <- cbind(8.13, 46.47)

e <- extract(elevation, poi, buffer=10000)

sapply(e, min, na.rm=TRUE)

顺便说一下,这是thisthis问题的副本。