4

不規則な間隔のポイント データベースからラスター イメージを作成しようとしていました。データは次のようになります-

> 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 when I plot

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 やクリギング法を使用せずに、不規則な間隔のデータ ポイントのラスターを作成することは可能ですか? よろしくお願いします。

4

1 に答える 1

4

答えに対する明確な解決策は、Robert によってここで提供されています。

于 2013-12-02T15:27:58.063 に答える