autokriging和SpatialPixel网格文件

问题描述

我正在尝试在自动地图包中使用autoKrige。 我的数据看起来像

head(LL12)

  Location Longitude  Latitude   percent
1       L1  16.48476 -28.60737 1.0000000
2       L3  16.90045 -29.24154 1.0000000
3       L4  16.99268 -28.44906 0.6363636
4       L5  17.06871 -29.67825 1.0000000
5       L6  17.09935 -29.00169 0.6000000
6       L7  17.25630 -28.82418 1.0000000

并且我正在尝试在南非地图中绘制该图。

首先,我在Create Grid in R for kriging in gstat之后获得了网格

SAGrd <- makegrid(SApol_border,n = 1000)

colnames(SAGrd) <- c('lon','lat')

SAGrd_pts <- SpatialPoints(coords = SAGrd,proj4string=CRS(proj4string(SApol_border)))


SAGrd_pts_in <- SAGrd_pts[SApol_border,]

plot(SAGrd_pts_in)

plot(SAGrd_pts_in)

enter image description here

然后将其转换为SpatialPixel数据框

SAGrd_pts_in = as(SAGrd_pts_in,"SpatialPixelsDataFrame") 

但是plot(SAGrd_pts_in)给出了以下错误消息:

.subset2(x,i,精确=精确)错误:下标超出范围

当我想在自动kriging中使用以下行时,也会给出错误消息

krigLL12_fit <- autoKrige(percent~1,SA.grid,LL12spdf) # percent is the variable of interest in the spdf LL12spdf

错误消息:

autoKrige中的错误(百分比〜1,SA.grid,LL12spdf): 输入数据或new_data位于LongLat中,请重新投影。 输入数据:+ proj = longlat + ellps = wgs84 + towgs84 = 0,0 + no_defs new_data:不适用 另外:警告消息: 1:在proj4string(input_data)中: CRS对象具有注释,该注释在输出中丢失 2:在proj4string(input_data)中: CRS对象具有注释,该注释在输出中丢失 3:在showSRID(uprojargs,格式=“ PROJ”,多行=“ NO”)中: 基于CRS定义中的wgs84椭球的废弃数据未知, 但保留+ towgs84 =值

在这主题上是新手,无法意识到我需要做的事情或要纠正的事情,坐标单元在网格和数据文件中看起来是相同的。我还拟合了自变量,并尝试在autokrige中使用,但是它也不起作用。 thnx。

解决方法

我发现了问题:需要将NA应用于crs的网格文件,然后将其转换为Spatial Pixels文件而不是Spatial Pixels Data Frame。 我对此进行了扩展,并提供了代码和结果 https://gis.stackexchange.com/questions/375476/0-0-kriging-error-messages-grid-file-problem-automap-gstat

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...