【问题标题】:Interpolate Spatial Data插值空间数据
【发布时间】:2015-01-24 18:56:35
【问题描述】:

我有一个非常大的数据集,其中包括经度/纬度和平均降水量 (appt)。我正在尝试插入一些额外的数据点,以创建所选州平均降水量的ggplot。但是,我不确定如何准确地插入数据。 interp 函数的结果是产生NAs。

在给定经度/纬度的情况下,我将如何插入额外的数据点(~5,000 appt)?

为什么我在使用interp 函数时得到NAs?

输入:

data <- structure(list(longitude = c(-91.40953, -90.30213, -89.26907, 
  -93.32515, -94.13632), latitude = c(33.403216, 34.505369, 32.438327, 
  36.283347, 39.28965), APPT = c(90.4899996121724, 50.4899996121724, 
  30.4899996121724, 70.4899996121724, 93.4899996121724)), .Names = c("longitude", 
  "latitude", "APPT"), row.names = c(NA, 5L), class = "data.frame")

当前代码:

library(akima)

sp_data <- interp(x = data$longitude,
                  y = data$latitude,
                  z = data$APPT)

dInterp <- data.frame(expand.grid(x = sp_data$x,
                                  y = sp_data$y), z = c(sp_data$z))

电流输出:head(dInterp)

          x        y  z
1 -94.13632 32.43833 NA
2 -94.01152 32.43833 NA
3 -93.88672 32.43833 NA
4 -93.76192 32.43833 NA
5 -93.63711 32.43833 NA
6 -93.51231 32.43833 NA

【问题讨论】:

  • 我不确定你到底要问什么,但我曾经用类似的输入数据(经度、纬度、雨)回答了另一个问题,即interpolated,然后用@绘制987654332@;见here
  • @Henrik 感谢您的帖子。我检查了它并能够得到一个等高线图。我想要做的只是向我的数据集添加额外的值,这样当我在地图上绘制它们时,它会填补很多漏洞......我认为interp() 是我需要的。
  • interp 仅进行插值,因此输入数据之外的网格上的任何点都是 NA。要进行外推,请设置extrap=TRUE

标签: r ggplot2 geospatial interpolation


【解决方案1】:

问题是akima::interp 没有填写每个条目。因此,当您查看数据的唯一一个“角落”时,您只会看到 NA。您需要“向下滚动”才能查看插值。它只填充有数据的区域:

library(akima) # should have been part of the question:

 contourplot(z ~ x+y, data=dInterp)

73   -90.14268 32.61400       NA
74   -90.01788 32.61400       NA
75   -89.89308 32.61400       NA
76   -89.76828 32.61400       NA
77   -89.64347 32.61400 40.94645
78   -89.51867 32.61400 37.13339
79   -89.39387 32.61400 33.32033
80   -89.26907 32.61400       NA
81   -94.13632 32.78968       NA
82   -94.01152 32.78968       NA

还有:

112  -90.26748 32.78968       NA
113  -90.14268 32.78968       NA
114  -90.01788 32.78968 51.40291
115  -89.89308 32.78968 47.58984
116  -89.76828 32.78968 43.77678
117  -89.64347 32.78968 39.96372
118  -89.51867 32.78968 36.15065
119  -89.39387 32.78968       NA
120  -89.26907 32.78968       NA
121  -94.13632 32.96535       NA

以及该数据框中的许多其他值集群,有 1600 行。

【讨论】:

  • 谢谢!在大数据文件中玩弄这个之后,它似乎在纬度/经度之外做点。我只是想为给定的纬度/经度创建额外的点,所以当我在地图上绘制它时,它会填充孔。我是否使用了正确的功能?
猜你喜欢
  • 2015-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-08
  • 2018-11-10
  • 2019-04-29
  • 2021-03-11
  • 2019-04-29
相关资源
最近更新 更多