Spatstat,R 中的插值数据点

Spatstat, Interpolating data points in R

我有协变量数据,即降雨量。我还有一个点模式,代表特定区域内地图上的定居点。我有一个问题,我所在地区的部分地区包含海洋,但是海上没有定居点,但降雨数据确实涉及海域。我希望将降雨值设置为附近陆地点的降雨值。

知道怎么做吗? 也许为了找到哪个降雨量 x 和 y 坐标代表海洋,我想创建一个包含所有平方公里中心点的数据框,然后导入匹配位置的降雨值,并查看哪些位置没有值。但我卡住了。这是我的代码:

> window<- data.frame(Lon=c(-1.560367, -1.078330 ), Lat=c( 50.576342, 51.243823))
> coordinates(window) <- ~Lon + Lat
> 
> 
> proj4string(window) = CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0")
> 
> proj4string(winch2) <- latlong
> 
> window <- spTransform(window, bng)
> 
> (floor (coordinates (window) / 1000) + 0.5) * 1000
> 
> W2<- owin(c(431500,464500), c( 75500, 149500))
> 
> Region<-Settlements[W2]     ###Settlements is my data
> 
> rain_im[W2]    ###rain is my covariate as a pixel image
> 
> as.data.frame(rain_im[W2])  ###Converted this into a pixel image
> 
> `summary(Region)`



Marked planar point pattern:  308 points
Average intensity 1.261261e-07 points per square unit

Coordinates are given to 2 decimal places
i.e. rounded to the nearest multiple of 0.01 units

marks are numeric, of type ‘double’
Summary:
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
   2.375   19.000   47.500  103.029   88.364 5500.000 

Window: rectangle = [431500, 464500] x [75500, 149500] units
Window area = 2.442e+09 square units

请更清楚地描述您的数据。你说你有 "covariate data which is rainfall": 这个数据是什么格式?它是像素图像(其像素值是雨量),还是雨量计位置和记录的雨量的数据框?你有一些位于海上的像素的雨协变量值:你想用这些值做什么?你有什么数据可以告诉你哪些位置在海里,哪些在陆地上?

如果您有定义海岸线的多边形数据,您可以将其转换为 owin window 对象,例如 Land。然后,如果您的降雨数据是像素图像 Rain,您可以 ClipRain <- Rain[Land, drop=FALSE] 将像素图像限制在陆地区域(将 NA 分配给海上的任何像素)。

如果您在某些位置有降雨数据,比如带有降雨值标记的点模式 RainRecords,则 Smooth(RainRecords, sigma) 是包含降雨核平滑插值的像素图像,并且nnmark(RainRecords)是一张像素图,其中每个像素值是最近记录位置的降雨量。通过对这些图像进行裁剪或采样,您可能可以获得所需的内容。