2014-02-23 57 views
0

我假設(可能錯誤地)在最簡單的情況下geoR包中的variog輸出和sp包中的variogram輸出應該是相同的。比較變異函數和variog函數

我有這樣的數據集:

head(final) 
lat  lon elev seadist tradist samples rssi 
1 60.1577 24.9111 2.392  125 15.21606  200 -58 
2 60.1557 24.9214 3.195  116 15.81549  200 -55 
3 60.1653 24.9221 4.604  387 15.72119  200 -70 
4 60.1667 24.9165 7.355  205 15.39796  200 -62 
5 60.1637 24.9166 3.648  252 15.43457  200 -73 
6 60.1530 24.9258 2.733  65 16.10631  200 -57 

即發的(我猜)未投影數據,所以我項目他們

#data projection 
#convert to sp object: 
coordinates(final) <- ~ lon + lat #longitude first 
library(rgdal) 
proj4string(final) = "+proj=longlat +datum=WGS84" 
UTM <- spTransform(final, CRS=CRS("+proj=utm +zone=35V+north+ellps=WGS84+datum=WGS84")) 

生產變差,而不趨勢根據gstat

var.notrend.sp<-variogram(rssi~1, UTM) 
plot(var.notrend.sp) 

Plot gstat

試圖讓geoR相同的輸出我去

UTM1<-as.data.frame(UTM) 
UTM1<-cbind(UTM1[,6:7], UTM1[,1:5]) 
UTM1 
coords<-UTM1[,1:2] 
coords 
var.notrend.geoR <- variog(coords=coords, data=rssi,estimator.type='classical') 
plot(var.notrend.geoR) 

plot geoR

回答

0

幾個百分點。

  • gstat可以與未投影數據工作,並且將計算大圓距離
  • 設置「投影」是"+proj=longlat +datum=WGS84"數據不轉換到笛卡爾基於網格的系統(如UTM)

你在variogram的輸出中看到的是(理智地)使用大圓距的事實。如果您查看距離軸的比例,您會看到範圍很不相同,因爲geoR不知道(並且不能說明)您沒有使用基於網格的投影的事實。

如果要將蘋果與蘋果進行比較,請使用rgdalspTransform將座標系轉換爲適當的投影,然後創建具有相似規格的變異函數。 (請注意,gstat定義了一個截斷點(跨越數據的框的對角線長度除以三)。

經驗變異函數高度依賴於距離的定義和分類的選擇。 (請參閱輝煌的model-based geostatistics by Diggle and Ribeiro,尤其是第5章詳細討論這個問題。

+0

謝謝你的澄清答案。我明白分檔和截止不一樣,但他們看起來現在可以媲美我了。 – Irene

+0

對我來說不是這樣:你對兩者都使用默認值,並且圖表明確默認值是不同的。兩者的控制截止值和箱寬,使用相同的值,然後用數值比較輸出。很久以前,沒有發現任何讓我擔心的事情。 –