我在这里有一组 945 个地理编码位置。每个位置都有一个 ID 和一个给定的人口:
"ID","LON","LAT","POPULATION"
1,86.648064,22.80682,386
2,86.65358,22.81848,655
3,86.670502,22.78508,624
4,86.685028,22.842409,708
5,86.716599,22.866791,987
6,86.734879,22.87911,415
7,86.736687,23.112619,715
我正在尝试计算每个位置 10 公里半径内所有村庄的总人口。
计算每个点的距离很简单:
coords = read.csv("filepath/coords.csv", header=T, stringsAsFactors=F)
coords.matrix = data.matrix(coords[,c(2,3)])
library(sp)
dist = list()
for(i in 1:nrow(coords.matrix)) {
dist[[i]] = (spDistsN1(coords.matrix, coords.matrix[i,], longlat=T)) #See: http://hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/sp/html/spDistsN1.html
}
dist = do.call(rbind, dist)
这给了我这个945X945 矩阵。但是如何将这些单元格与 ID 和相应的群体相关联?