1

Gstat パッケージを使用して、R でユニバーサル cokriging を実行しようとしています。私は助けられたスクリプトを持っていますが、今は立ち往生していて、元のソースに助けを求めることができません。問題は、cokriged データの出力解像度を変更できないことです。補間されたマップを ArcMap にインポートしたいのですが、ポイントからラスターへの変換で解像度が非常に低くなります。

私のスクリプトは次のとおりです。

  library(raster)
library(gstat)
library(sp)
library(rgdal)
library(FitAR)

座標とサンプル値を含むデータセットを読み込みます:

kova<-read.table("katvus_point_modif3.txt",sep="    ",header=T)
coordinates(kova)=~POINT_X+POINT_Y

前と同じ座標で深度値をロードすると、これは私の共変量です:

Sygavus<-read.table("sygavus_point_cokrig.txt",sep="    ",header=T)
coordinates(Sygavus)=~POINT_X+POINT_Y

overlay <- over(kova,Sygavus)
kova$Sygavus <- overlay$Sygavus

これは、補間の境界を設定することになっています。ファイルは、ArcMap からエクスポートされたシェープファイルです。

border <- shapefile("area_2014.shp")
projection(kova)=projection(border)

これは cokriging 用のグリッドを作成することになっており、res= を使用して出力を希望する解像度を指定できるはずですが、どの数値を使用しても出力は変わりません

grid <- spsample(border,type="regular",res=25)

重なっているポイントを削除します。

zero <- zerodist(kova)
kova <- kova[-zero[,2],]              

深度共変量ラスター ファイルを読み込みます。これは、ArcMap から ASCII 形式への深度ラスター エクスポートです。

depth <- raster("htp_depth_covar.asc")
projection(depth)=projection(border)

overlay <- extract(depth,kova)
kova$depth <- overlay

な!オーバーレイ深度値からの値 (これらの値は、それぞれの座標で以前に読み込まれた深度共変量テーブルと同じである必要がありますが、その部分を除外すると、スクリプトは機能しなくなります)

kova <- kova[!is.na(kova$depth),]


kova.gstat <- gstat(id="Kova",formula=kova~depth,data=kova)
kova.gstat <- gstat(kova.gstat,id="Sygavus",formula=Sygavus~depth,data=kova)

var.kova <- variogram(kova.gstat)
plot(var.kova)

kova.gstat <- gstat(kova.gstat,id=c("Kova","Sygavus"),model=vgm(psill=cov(kova$kova,kova$Sygavus),model="Mat",range=12000,nugget=0))
kova.gstat <- fit.lmc(var.kova,kova.gstat,model=vgm(psill=cov(kova$kova,kova$Sygavus),model="Mat",range=12000,nugget=0))

plot(var.kova,kova.gstat$model)

overlay <- extract(depth,grid)
grid <- as.data.frame(grid)
grid$depth <- overlay
coordinates(grid)=~x1+x2
projection(grid)=projection(border)

krige <- predict.gstat(kova.gstat,grid)

spplot(krige,c("Kova.pred"))

write.table(krige, "kova.raster1.ck.csv", sep=";", dec=",", row.names=F)

gstat cokriging とスクリプト全体を理解するための助けをいただければ幸いです。

4

1 に答える 1

0

spsample再現可能な例を提供していないため、推測することしかできませんが、それは議論を無視していると思いres=25ます。代わりに試してn=1000から、その値を増やして解像度を高くしてください。

于 2015-03-25T09:06:59.263 に答える