簡體   English   中英

如何在沒有插值的情況下從不規則點數據制作 RASTER

[英]How to make RASTER from irregular point data without interpolation

我試圖從不規則間隔的點數據庫制作光柵圖像。 數據看起來像-

> head(s100_ras)
         x       y         z
1 267573.9 2633781 213.29545
2 262224.4 2633781  69.78261
3 263742.7 2633781  51.21951
4 259328.4 2633781 301.98413
5 264109.8 2633781 141.72414
6 255094.8 2633781  88.90244

我希望在我創建的網格中使用這些“z”值

# Create a fine mesh grid
my_mesh=expand.grid(seq(min(s100_ras$Y),max(s100_ras$Y),l=100),
                    seq(min(s100_ras$X),max(s100_ras$X),l=100))

我還希望將 z 值分配為數據點之外的那些網格點的“NA”。 網格上的點如下所示: https : //drive.google.com/file/d/0B6GUNg-8d30vYzlwTkhvaHBFTnc/edit?usp= sharing

plot(my_mesh)
points(s100_ras$Y, s100_ras$X, pch="*", col='blue')

問題是我不確定如何在此基礎上進行構建,以下步驟不起作用,因為我的網格和數據點的比例不同!!

library(rgdal)
library(raster)
xyz<-cbind(my_mesh, s100_ras)
r <- rasterFromXYZ(xyz)
image(r)

如果我嘗試僅使用數據點(沒有任何網格)制作柵格,R 會拋出錯誤,因為我的數據間隔不規則!

library(sp)
s100_ras <- data.frame(expand.grid(x = s100_ras$Y, y = s100_ras$X), 
                       z = as.vector(s100_ras$mean))
coordinates(s100_ras) <- ~x+y
proj4string(s100_ras) <- CRS("+proj=utm +zone=46 +datum=WGS84")
gridded(s100_ras) = TRUE

suggested tolerance minimum: 0.916421 
Error in points2grid(points, tolerance, round) : 
  dimension 1 : coordinate intervals are not constant

此外,我試圖使用“光柵包”的“光柵化”功能(用於不規則網格),但無法解決它:(。我知道如何插值並制作規則網格,但為了原創性,我想避免插值。是否可以在沒有 idw 或克里金方法的情況下制作不規則間隔數據點的柵格?提前致謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM