R:将单独的经度数据框和纬度数据框合并为空间点 [英] R: combining a separate data frame of longitude and one of latitude into spatial points

查看:19
本文介绍了R:将单独的经度数据框和纬度数据框合并为空间点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个数据帧,每个1000x1000,一个带有经度的数据帧(长)和一个带有纬度的数据帧(经度),指定像素(或栅格)数组的坐标,我被如何将这两个数据帧组合成一个1000x1000空间点数据帧(或等效物)困住了。空间点数据框的第一个单元格将具有由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以便经度/经度与栅格匹配时,它提供了一个具有16行的两列sp.ob。

如果我只是:

coords <- cbind(lon =lon.t , lat= lat.t)
sp.ob <- SpatialPoints(coords)

我确实得到了一个4x4,但所有长度都在前4列,然后都在最后4列,如果我用以下方式查看内容,我认为这不能给我正确的经度/纬度对

sp.ob[1]

例如。

推荐答案

试试:

lon <- data.frame(matrix(rnorm(10000), 100, 100))
lat <- data.frame(matrix(rnorm(10000), 100, 100))

cbind(lon = unlist(lon), lat = unlist(lat))

或:

cbind(lon = unlist(t(lon)), lat = unlist(t(lat)))

根据需要的顺序(按行或按列)

这篇关于R:将单独的经度数据框和纬度数据框合并为空间点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆