用R创建大圆图

bre*_*dly 3 for-loop r map great-circle

所有,我正在尝试创建一个带有"Great Circles"的地图,类似于Nathan Yau在这篇文章中所做的.但是,我正在尝试为整个世界做这件事,并且所有人都进入一个地方.我似乎遇到了循环部分的问题.如果我只使用一个纬度/长度组合,一切正常.一旦我扩大了我的桌子,我就会得到错误(Error in .pointsToMatrix(p1):矢量的长度错误,应该是2)我是R的100%newb并且会喜欢一些帮助

lat.txt

LAT,LONG  
39.164141,-121.640625
Run Code Online (Sandbox Code Playgroud)

R命令

library(maps)  
library(geosphere)  
lat_me <- 45.213004  
lon_me <- -68.906250  
map("world", col="#f2f2f2", plot = TRUE, fill=TRUE, bg="white")  
data <- read.csv("/Users/blah/R/latlon/lat.csv",sep=",", header=TRUE)  
for (i in 1:length(data)) {  
  inter <- gcIntermediate(c(data$LONG, data$LAT), c(lon_me, lat_me), n=50, addStartEnd=TRUE)  
  lines(inter,col="red")  
}
Run Code Online (Sandbox Code Playgroud)

Set*_*eth 6

我看到你索引你的循环,i但不包括在循环内的任何地方.我想你想循环遍历你的数据行.因此,将索引范围更改为1:nrow(data),并包含要为每个i绘制的行的索引.

for( i in 1:nrow(data)){
inter <- gcIntermediate(c(data$LONG[i], data$LAT[i]), 
                        c(lon_me, lat_me), 
                        n=50, 
                        addStartEnd=TRUE)
...
}
Run Code Online (Sandbox Code Playgroud)