首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gstat中的克里金法

gstat中的克里金法
EN

Stack Overflow用户
提问于 2020-05-15 22:19:09
回答 1查看 59关注 0票数 0

我对运行1000次而没有错误的代码有一个问题。

错误消息:

代码语言:javascript
复制
"Error in bb[, "max"] : subscript out of bounds"

我不知道bb是什么意思。我认为是bbox,但这对于网格和点是一样的。

代码:

代码语言:javascript
复制
setwd("C:/Users/matev/desktop/")
getwd()
remove(list=ls())

library(gstat)                                        
library(rgdal)
library(lattice)

#input data
DF<-read.csv(file="UpperRukaragata.csv", sep=",", dec=".", header=T)
str(DF)

plot(DF$X,DF$Y, col=DF$Z, cex=11, pch=14)

coordinates(DF)<-~X+Y    
str(DF)
summary(DF$Ta2O5)
plot(DF)

# grid
x.range <- as.integer(range(DF@coords[,1]))
y.range <- as.integer(range(DF@coords[,2]))
str(x.range)

grd<-expand.grid(x=seq(from=x.range[1]+2.5, to=x.range[2]-2.5, by=5), y=seq(from=y.range[1]+2.5, to=y.range[2]-2.5, by=10))
coordinates(grd)<-~x+y
gridded(grd)<-T
plot(grd)

dimnames(coordinates(DF))
dimnames(coordinates(grd))
dimnames(grd@coords) <-list(NULL,c("X", "Y"))
dimnames(grd@bbox) <-list(c("X", "Y"))

bbox(DF)
bbox(grd)

#variogram  Z
v1<-variogram (Ta2O5~1, loc=DF)
plot(v1, type="p", plot.numbers=F, cex=0.65, pch=16)
vm1<-vgm(70, "Pen",70, 0)
(vmf1<-fit.variogram(v1, vm1))
print(plot(v1, plot.numbers = F, pch = 20, col = "darkblue", model = vmf1))

##ordinary kriging
Ta2O5<-krige(Ta2O5~1, DF, grd, model=vmf1 )

如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2020-05-19 14:19:31

我不清楚为什么会有一些行在那里,请评论以下内容:

代码语言:javascript
复制
#dimnames(coordinates(DF))
#dimnames(coordinates(grd))
#dimnames(grd@coords) <-list(NULL,c("X", "Y"))
#dimnames(grd@bbox) <-list(c("X", "Y"))

现在你可以运行所有的东西了,它就能工作了。更简单更好。

代码语言:javascript
复制
setwd("C:/Users/matev/desktop/")
getwd()
remove(list=ls())

library(gstat)                                        
library(rgdal)
library(lattice)

#input data
DF<-read.csv(file="UpperRukaragata.csv", sep=",", dec=".", header=T)
str(DF)

plot(DF$X,DF$Y, col=DF$Z, cex=11, pch=14)

coordinates(DF)<-~X+Y    
str(DF)
summary(DF$Ta2O5)
plot(DF)

# grid
x.range <- as.integer(range(DF@coords[,1]))
y.range <- as.integer(range(DF@coords[,2]))
str(x.range)

grd<-expand.grid(x=seq(from=x.range[1]+2.5, to=x.range[2]-2.5, by=5), y=seq(from=y.range[1]+2.5, to=y.range[2]-2.5, by=10))
coordinates(grd)<-~x+y
gridded(grd)<-T
plot(grd)

## Why doing this? comment it

#dimnames(coordinates(DF))
#dimnames(coordinates(grd))
#dimnames(grd@coords) <-list(NULL,c("X", "Y"))
#dimnames(grd@bbox) <-list(c("X", "Y"))

bbox(DF)
bbox(grd)

#variogram  Z
v1<-variogram (Ta2O5~1, loc=DF)
plot(v1, type="p", plot.numbers=F, cex=0.65, pch=16)
vm1<-vgm(70, "Pen",70, 0)
(vmf1<-fit.variogram(v1, vm1))
print(plot(v1, plot.numbers = F, pch = 20, col = "darkblue", model = vmf1))

##ordinary kriging
Ta2O5<-krige(Ta2O5~1, DF, grd, model=vmf1 )

spplot(Ta2O5)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61821439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档