1

我正在玩 RGooglemaps,并且已经能够在地图上绘制线条。我将我的 lats 和 longs 从 csv 加载到coords对象中。

我想暗示使用方向:PlotArrowsOnStaticMap

定义为:

    PlotArrowsOnStaticMap(MyMap, lat0, lon0, lat1 = lat0, lon1 = lon0, TrueProj = TRUE, FUN = arrows, add = FALSE, verbose = 1,...)

我将lat0定义为坐标[,'lat'] 之类的东西。我如何给lat1

该值是文件中的下一行 - 但我如何相对描述它?(伪代码中的坐标[+1,'lat']。

我应该做一些基本的阅读吗?

4

2 回答 2

4

一个不优雅的解决方法是为您的 lat 和 long 创建新列,与初始行相比,这些列上移一行。第一行的值被包裹到底部(如果这没有意义,则用 NA 替换)。

coords$lat.1<-coords$lat[c(2:length(coords$lat), 1)]
coords$lon.1<-coords$lon[c(2:length(coords$lon), 1)]

您现在有两列用于 lat(lat 和 lat1),两列用于 long(lon,lon1)。

与(坐标,PlotArrowsOnStaticMap(lat0=lat,lon0=lon,lat1=lat1,lon1=lon1...)

于 2012-03-21T11:01:04.917 回答
1

一些通常用于执行此操作的函数包括headtailembed

> tmp <- 1:10
> cbind( head(tmp,-1), tail(tmp,-1) )
      [,1] [,2]
 [1,]    1    2
 [2,]    2    3
 [3,]    3    4
 [4,]    4    5
 [5,]    5    6
 [6,]    6    7
 [7,]    7    8
 [8,]    8    9
 [9,]    9   10
> embed(tmp, 2)
      [,1] [,2]
 [1,]    2    1
 [2,]    3    2
 [3,]    4    3
 [4,]    5    4
 [5,]    6    5
 [6,]    7    6
 [7,]    8    7
 [8,]    9    8
 [9,]   10    9
于 2012-03-21T15:55:07.503 回答