根据经纬度输出,在R的“ i&j”坐标中找到最近的邻居

时间:2019-04-22 17:31:13

标签: r indexing latitude-longitude nearest-neighbor

我有一个经度和纬度数据的模型网格。我正在R中随机采样此数据以产生经/纬度坐标。我想找到我要排序的经度和纬度的索引,但我对R的语法不熟悉。

我之前已经在MATLAB中解决了这个问题(有很多帮助!!!),要查看该语言的解决方案,请查看这篇文章:

Finding the nearest neighbor to a single point in MATLAB

我现在想在R中进行类似的索引搜索。

如上所述,我并不完全熟悉R的语法,但这是我要运行的代码示例:

example_index_matrix<- rnorm(n=100, m = 29.745004, sd = 0.0005) # Creates random values that, in this case, I'm pretending is my matrix of potential latitude values
randlatcity <- rnorm(n=15, m = 29.745004, sd = 0.0005) # Creates random values
randlatcity <- randlatcity[randlatcity>=29.606953 & randlatcity<=29.875413] # Truncates the random values to fall within a range of minimum and maximum values

lat_snips <- c(randlatcity[1],randlatcity[2],randlatcity[3],randlatcity[4],randlatcity[5],randlatcity[6],randlatcity[7],randlatcity[8],randlatcity[9],randlatcity[10],randlatcity[11],randlatcity[12],randlatcity[13],randlatcity[14],randlatcity[15]) # Grabs random points, assigning them to a matrix


#latindices = matrix(nrow=dim(lat_snips)[1],ncol = dim(lat_snips)[2],0) # This line doesn't work but its supposed to specify a matrix of "0" values with length of "lat snips"
for (i in length(lat_snips)){
  min_index = min(example_index_matrix-lat_snips[i])
  latindices[i] = index(min_index)
}

基本上,我先创建一个索引点的随机矩阵,然后创建一个纬度点的随机矩阵。我想从索引点的随机矩阵中减去纬度点,并找到最接近我定义的每个纬度的索引值。

此代码应在您使用的任何计算机上运行!

基本上,我先创建一个索引点的随机矩阵,然后创建一个纬度点的随机矩阵。我想从索引点的随机矩阵中减去纬度点,并找到最接近我定义的每个纬度的索引值。

此代码应在您使用的任何计算机上运行!

0 个答案:

没有答案