2014-10-09 72 views
0

從以下代碼中獲取此錯誤消息。getNOAA.bathy,NOAA服務器停機?

library(marmap) 
bathy<- getNOAA.bathy(lon1 = 113, lon2 = 115, lat1 = 4, lat2 = 5, 
      resolution = 2) 

Error in file(file, "rt") : cannot open the connection 
In addition: Warning message: 
In file(file, "rt") : cannot open: HTTP status was '404 Not Found' 

的代碼已經在其他每一種情況,以便在想,如果諾阿ETOPO1服務器關閉,如果有人知道能正常工作?我通過電子郵件發送了服務器網站上的聯繫人,但也許有人在這裏有一個答案。

謝謝

+0

您是否嘗試過直接打開網址是什麼? – 2014-10-09 13:31:50

+0

剛剛做過了,感謝Andrew的調試提示;由於維護停機或容量問題,服務器暫時無法處理您的請求。請稍後再試。 Apache/2.2.15(紅帽)服務器在mapserver.ngdc.noaa.gov港口80 – 2014-10-09 23:34:47

回答

1

我只是試了一下,它對我來說工作得很好。未來,404 Not Found錯誤表示該服務無法通過服務器http://www.wikiwand.com/en/HTTP_404找到。如果再次發生,我會再試一次。他們的服務器可能會暫時關閉。

要獲取該函數正在使用的URL,您可以查看源代碼,並將其粘貼到瀏覽器中,然後添加您想查看的參數,看看它是R還是HTTP請求本身的問題HTTP代碼指出它不是一個R問題,但這種方法對調試有用)。

+0

嗨斯科特。感謝您的調試技巧。我今天早上直接嘗試了,由於維護停機或容量問題,服務器暫時無法處理您的請求。請稍後再試。 Apache/2.2.15(Red Hat)Server at mapserver.ngdc.noaa.gov Port 80 – 2014-10-09 23:32:44

0

只是更新下面的建議;我注意到MARMAP v0.9.2現在已經在服務器位置的這種變化中得到糾正,並且工作正常。

諾阿的約翰回覆了我。 getNOAA.bathy中使用的URL在前一段時間已經停用。他建議我將以下修改的URL替換成功能成功;

http://maps.ngdc.noaa.gov/mapviewer-support/wcs-proxy/wcs.groovy?filename=etopo1.xyz&request=getcoverage&version=1.0.0&service=wcs&coverage=etopo1&CRS=EPSG:4326&format=xyz&resx=0.016666666666666667&resy=0.016666666666666667&bbox=-90.08789062497661,22.248428704378167,-79.07958984372954,31.877557643332576

getNOAA.bathy2<- 
function (lon1, lon2, lat1, lat2, resolution = 4, keep = FALSE) 
{ 
x1 = x2 = y1 = y2 = NULL 
if (lon1 < lon2) { 
    x1 <- lon1 
    x2 <- lon2 
} 
else { 
    x2 <- lon1 
    x1 <- lon2 
} 
if (lat1 < lat2) { 
    y1 <- lat1 
    y2 <- lat2 
} 
else { 
    y2 <- lat1 
    y1 <- lat2 
} 
res = resolution * 0.0166666666666667 
FILE <- paste("marmap_coord_", x1, ":", y1, ":", x2, ":", 
       y2, "_res_", resolution, ".csv", sep = "") 
if (FILE %in% list.files()) { 
    cat("File already exists ; loading '", FILE, "'", sep = "") 
    exisiting.bathy <- read.bathy(FILE, header = T) 
    return(exisiting.bathy) 
} 
else { 
    WEB.REQUEST <- paste("http://maps.ngdc.noaa.gov/mapviewer-support/wcs-proxy/wcs.groovy?filename=etopo1.xyz&request=getcoverage&version=1.0.0&service=wcs&coverage=etopo1&CRS=EPSG:4326&format=xyz&resx=0.016666666666666667&resy=0.016666666666666667&bbox=-90.08789062497661,22.248428704378167,-79.07958984372954,31.877557643332576", 
         res, "&resy=", res, "&bbox=", x1, ",", y1, ",", x2, 
         ",", y2, sep = "") 
    cat("Querying NOAA database ...\n") 
    cat("This may take seconds to minutes, depending on grid size\n") 
    bath <- read.table(WEB.REQUEST) 
    cat("Building bathy matrix ...\n") 
    bath2 <- as.bathy(bath) 
    if (keep == TRUE) { 
    write.table(bath, file = FILE, sep = ",", quote = FALSE, 
       row.names = FALSE) 
    } 
    return(bath2) 
} 
}