2014-09-14 2 views
0

get.depth에 문제가 있습니다. 나는 Rarm 3.1.1을 W7에서 marmap 0.8와 함께 사용하고 있습니다. 예제와 내가 찾은 다른 스크립트는 잘 작동하지만 다음은 오류나 이상한 결과를 제공합니다.marmap 패키지 get.NOAA.bathy

library(marmap) 
search() 
gombathy<-getNOAA.bathy(-98, -79, 18,32) 
glat<-seq(27,29,1) 
glon<-rep(-93,length(glat)) 
data.frame(glon,glat) 
get.depth(gombathy, x=glon, y=glat, locator=FALSE) 
glat<-seq(27,30,1) 
glon<-rep(-93,length(glat)) 
data.frame(glon,glat) 
get.depth(gombathy, x=glon, y=glat, locator=FALSE) 

는 출력 :

[1] ".GlobalEnv"  "package:marmap" "package:stats"  "package:graphics" "package:grDevices" "package:utils"  "package:datasets" 
[8] "package:stringr" "package:methods" "Autoloads"   "package:base" 
Querying NOAA database ... 
This may take seconds to minutes, depending on grid size 
Building bathy matrix ... 
    glon glat 
1 -93 27 
2 -93 28 
3 -93 29 
Error in `$<-.data.frame`(`*tmp*`, "Depth", value = c(-1323L, -1284L, : 
    replacement has 4 rows, data has 3 
    glon glat 
1 -93 27 
2 -93 28 
3 -93 29 
4 -93 30 
    Lon Lat Depth.1 Depth.2 Depth.3 Depth.4 
1 -93 27 -1323 -129  -23  3 
2 -93 28 -1284 -128  -23  2 
3 -93 29 -1416 -104  -23  2 
4 -93 30 -1259 -103  -24  0 

몇 시간 후에는 :

Githup 에릭의 게시물을 본 후, 나는 위도 Lons의 예상대로 운영 프로그램의 각 0.00001를 추가했다.

get.depth(gombathy, x=glon, y=glat, locator=FALSE) 
    Lon  Lat Depth 

1 -92.99999 27.00001 -1259
2 -92.99999 28.00001 -103
3 -92.99999 29.00001 -24

답변

0

고마워 : 당신이 버그를 발견! get.depth()은 깊이가 요청 된 지점에 가장 가까운 bathy 개체의 셀 깊이를 반환하기 때문입니다. 귀하의 예에서는 포인트가 gombathy 인 4 개의 셀 중간에 위치하는데, 이는 이상한 행동을 담당합니다. 당신의 점의 약간 좌표를 변경하면

get.depth()에 대해 예상되는 동작에 이르게 :

glat<-seq(27.1,29.1,1) 
glon<-rep(-93.1,length(glat)) 

내가 버그를 수정하는 코드를 업데이트했습니다. 현재 github에서 새 버전을 설치하거나 marmap의 새 버전이 CRAN에 출시 될 때까지 기다릴 수 있습니다.

install.packages("devtools") 
library(devtools) 
install_github("marmap","ericpante") 
관련 문제