0

Spatial Point DF spo(不規則な形状の関心領域をカバーする) があります。crs 変換のため、データは通常のグリッド上にありません。

私の目標は、定義済みの解像度と対象地域の範囲を持つラスターです (このマスター ラスターには、より多くの空間ポイント データがマップされます)。

問題は私が

rasterize(spo, raster(ncol, nrow, extent, crs), spo$param)

関心のある領域内で NA のモアレ パターンが得られないように調整する必要がありnrowます。には補間機能ncolがないため、事前定義された (より高い) 解像度は使用できません。rasterize

spiこれに対する解決策として、関心のある領域全体をカバーし (のmeuse.gridのようにlibrary(raster); data(meuse.grid))、マスター グリッドとして機能する何らかの Spatial Pixel DF が必要になるのではないかと考えました。次に、それを使用してデータを補間できます。

idw(param~1,spo,spi)

これにより、選択した解像度で関心のある領域を完全にカバーできます。しかし、ポイント データから SpatialPixelsDataFrame を作成するにはどうすればよいでしょうか。

したがって、私の見解では、質問は次のように要約されます: meuseデータセットからmeuse.gridを生成する方法は?

ここで間違ったアプローチを取っている可能性があります。別の方法を使用して、私が求めていることをより簡単に達成できるかどうかを教えてください。

4

1 に答える 1

1

関心領域の境界を定義する多角形がある場合 (そうするべきです)、それは簡単です。1 つのアプローチは、polygrid関数 fromを使用することgeoRです。これは、それ自体が単なるラッパーでSpatialPointsありexpand.gridoverlay

ROIと呼ばれる関心領域を定義する多角形があると仮定しましょう

この場合、meuse.grid から作成します。

 data(meuse.grid)
 coordinates(meuse.grid) = ~x+y
 x <- chull(meuse.grid@coords)
 borders <- meuse.grid@coords[c(x,x[1]),]

 ROI <- SpatialPolygons(list(Polygons(list(Polygon(borders)), ID = 'border')))

実際には、使用polygridするには、関心領域を定義するポリゴンの座標のみが必要です。

この ROI の領域をカバーする 10 m グリッドを作成するには、次の呼び出しを作成できます。polygrid

# get the bounding box for ROI an convert to a list
bboxROI <- apply(bbox(ROI), 1, as.list)
# create a sequence from min(x) to max(x) in each dimension
seqs <- lapply(bboxROI, function(x) seq(x$min, x$max, by= 10))

# rename to xgrid and ygrid
names(seqs) <- c('xgrid','ygrid')

thegrid <- do.call(polygrid,c(seqs, borders = list(ROI@polygons[[1]]@Polygons[[1]]@coords)))
于 2012-12-13T00:32:11.383 に答える