這裏http://www.bom.gov.au/climate/data/我可以輸入一個變電站號碼,比如009572;選擇變量(比如溫度)及其類型(比如說最大值)。點擊「獲取數據」會將我帶到一個鏈接爲「所有年份的數據」的頁面。點擊它,你有一個zip文件。我知道this questions,但在這裏我沒有直接鏈接到一個zip文件。可以採用R來自澳大利亞氣象局網站的天氣數據自動提取?以編程方式提取澳大利亞BOM天氣數據與R
0
A
回答
1
下面是我做即時下載代碼,同時也解決了您的P_C問題。如果你想和發佈,你可以改進功能。
#daily code = 136
#monthy code = 139
bomdata<- function(station,code){
for(i in 1: length(station)){
p.url<-paste("http://www.bom.gov.au/jsp/ncc/cdio/weatherData/av?p_stn_num=",station[i],"&p_display_type=availableYears&p_nccObsCode=",code,sep ="")
download.file(p.url,"test.txt")
filelist <- list.files(pattern = ".txt")
foo<- file(filelist,"r")
text<- suppressWarnings(readLines(foo))
close(foo)
l<- regexpr(":",text[1])
m<- unlist(gregexpr(",", text[1], perl = TRUE))
pc<- substr(text[1],l[[1]]+1,l[[1]]+(m[2]-(l[[1]]+1)))
url<-paste("http://www.bom.gov.au/jsp/ncc/cdio/weatherData/av?p_display_type=dailyZippedDataFile&p_stn_num=",station[i],"&p_c=",pc,"&p_nccObsCode=",code,"&p_startYear=2013", sep ="")
suppressWarnings(download.file(url,paste(station[i],".zip",sep= ""), mode = "wb"))
unlink("test.txt")
}
}
例
bomdata(073137,136)
0
雖然我仍然無法看到如何使用download.file()來做到這一點,但下面幾乎提供了Chrome的「詢問下載之前保存每個文件的位置」這項工作。
system(paste('"C:/Documents and Settings/UserName/Local Settings/Application Data/Google/Chrome/Application/chrome.exe"',
'-url http://www.bom.gov.au/jsp/ncc/cdio/weatherData/av?p_display_type=dailyZippedDataFile&p_stn_num=009572&p_c=-18465084&p_nccObsCode=136'), wait = FALSE)
然後,我可以通過不同的站號使用paste0()和循環,如果我知道P_C = -18465084手段,它從站如何變化,以車站。
+0
稍微相關:http://www.gliffy.com/publish/3949748/ – andrekos
1
你可以試試這個,它是metvurst包使用的代碼序列。 metvurst
## SET URL FOR DATA DOWNLOAD
url <- "http://www.bom.gov.au/ntc/IDO70004/IDO70004_"
## YEARS TO BE DOWNLOADED
yr <- 1993:2012
## READ DATA FOR ALL YEARS FROM URL INTO LIST
fijilst <- lapply(seq(yr), function(i) {
read.csv(paste(url, yr[i], ".csv", sep = ""), na.strings = c(-9999, 999))
})
+0
是的,我仍然需要這樣的一個澳大利亞個人氣象站。您提供的代碼適用於此處列出的ID號/文件名稱http://www.bom.gov.au/oceanography/projects/spslcmp/data/data.shtml,該代碼不完全是澳大利亞。 – andrekos
相關問題
- 1. OpenLayers與澳大利亞地圖開始
- 2. 澳大利亞地理數據 - 簡單格式(可能是WKT)
- 3. 從網站在澳大利亞/緯度點提取海拔,,使用R
- 4. 澳大利亞/墨爾本和澳大利亞/維多利亞州在NodaTime中是如何處理的?
- 5. 將iphone應用程序提交到澳大利亞商店
- 6. 測試IP是否在澳大利亞
- 7. 如何糾正澳大利亞
- 8. Google CDN - 來自澳大利亞
- 9. Linq orderby culture(丹麥語,澳大利亞)
- 10. DateTime.Parse問題澳大利亞時區
- 11. GST問題澳大利亞店
- 12. 在澳大利亞域名主機
- 13. API爲澳大利亞郊區
- 14. Twilio載信息錯誤代碼61003與澳大利亞數
- 15. 如何在我的應用程序中以編程方式設置澳大利亞悉尼時區
- 16. 使用kksou中的郵政編碼查找澳大利亞城市的天氣joomla中的Google Weather Module
- 17. 顯示來自ISP /電話的數據(澳大利亞的Telstra.com.au)
- 18. 無法在澳大利亞創建Azure SQL數據庫
- 19. 驗證C#中的ACN(澳大利亞公司編號)
- 20. google.maps.Geocoder.geocode並不總是返回澳大利亞郵編
- 21. 澳大利亞郵政編碼API和php
- 22. 澳大利亞與美國的日期問題(我想!)
- 23. 對於澳大利亞號碼使用「tel:」的正確方法
- 24. 正則表達式澳大利亞電話號碼
- 25. 正則表達式來驗證澳大利亞手機號碼
- 26. 正則表達式澳大利亞的電話號碼爲Java
- 27. CDate識別澳大利亞日期格式?
- 28. 美國格式的Excel日期不是澳大利亞
- 29. 如何使用JavaScript獲取澳大利亞時區? (不是JQuery)
- 30. 如何股價從澳大利亞證券交易所取
這將是值得一讀http://forums.whirlpool.net.au/archive/1309587 – mnel
看那獲得通過的最終URL的拉鍊不同的參數文件(http://www.bom.gov.au/jsp/ncc/cdio/weatherData/av?p_display_type=dailyZippedDataFile&p_stn_num=009572&p_c=-18462391&p_nccObsCode=123&p_startYear=1985)並查看您是否可以將其與傳遞的值進行比較由HTML表單。如果有相當直接的匹配,也許你可以將URL粘貼在一起以便與R. – A5C1D2H2I1M1N2O1R2T1