【发布时间】:2018-05-30 02:37:32
【问题描述】:
我有两个数据框,每个 1000 x 1000,一个带有经度的数据框 (lon) 和一个带有纬度的数据框 (lat),指定像素(或栅格)数组的坐标,我不知道如何组合将两个数据帧合并为一个 1000 x 1000 空间点数据帧(或等效数据)。空间点数据帧的第一个单元格将具有由 lon[1,1] 和 lat[1,1] 等指定的坐标。有没有简单的方法可以做到这一点?我想我可以逐列执行,然后按顺序将空间点对象绑定在一起,但这似乎有点啰嗦。有什么想法吗?
按照建议尝试:
lat.t <- data.frame(seq(10, 15, 1), seq(20, 25, 1),
seq(30, 35, 1),seq(40, 45, 1))
colnames(lat.t) <- c("1", "2", "3", "4")
lon.t <- data.frame(seq(90, 95, 1), seq(100, 105, 1),
seq(110, 115, 1), seq(120, 125, 1))
colnames(lon.t) <- c("1", "2", "3", "4")
coords <- cbind(lon = unlist(lon.t), lat= unlist(lat.t))
sp.ob <- SpatialPoints(coords)
当我认为我需要一个 4 x 4 以便 lon/lat 与栅格匹配时,它会给出一个 16 行的两列 sp.ob。
如果我这样做:
coords <- cbind(lon =lon.t , lat= lat.t)
sp.ob <- SpatialPoints(coords)
我确实得到了 4 x 4,但前 4 列中都是 lon,最后 4 列中都是 lat,如果我查看以下内容,我认为这不会给我正确的 lon/lat 对:
sp.ob[1]
例如。
【问题讨论】:
-
请提供一个工作示例。
-
不确定 1000x1000 的“spatialpointsdataframe”是什么意思。我认为这种类型的对象是以“长”格式记录的。为什么不制作 5 x 5 的 lat 和 lon 的玩具版本并显示所需的内容。
-
非常感谢您的建议-这是一个有用的刺激,让我思考得更清楚一点!