尝试使用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”
答案 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)