回答:
以下に例を示します。
library(raster)
# example data
x <- raster(system.file("external/test.grd", package="raster"))
長方形の範囲を取得するには
e <- extent(x)
# coerce to a SpatialPolygons object
p <- as(e, 'SpatialPolygons')
NAではないセルを囲むポリゴンを取得するには
# make all values the same. Either do
r <- x > -Inf
# or alternatively
# r <- reclassify(x, cbind(-Inf, Inf, 1))
# convert to polygons (you need to have package 'rgeos' installed for this to work)
pp <- rasterToPolygons(r, dissolve=TRUE)
# look at the results
plot(x)
plot(p, lwd=5, border='red', add=TRUE)
plot(pp, lwd=3, border='blue', add=TRUE)
r > -Inf
基本R
です。c(1,NA,3,NA) > -Inf
仕組みを確認してください。代替(reclassify
)を追加しました。代替手段は機能しますが、大きなオブジェクトには適していません。
rasterToPolygons()
部品を処理するのを待っているだけで、すぐにあなたの答えを評価します。-Inf
非常に便利になるビットをありがとう!
aggregate
、違いはとにかく見えないので、最初に使用することを検討できます。
aggregate()
on rを実行した後のセルが100個だけであっても、処理されていません(16 GB RAMを搭載したコンピューター)。問題は、結果のポリゴンからDEMを抽出する必要があるため、境界をできるだけネイティブに保つ必要があることです。ラスターをさらにダウンサンプリングすると、その境界が失われます。回避策はありますか?
r <- r > -Inf
部分に関するドキュメントを見つけることができないようです。正確に何をしていますか?そして、それはvalues(r)[!is.na(values(r))] <- 1
(rのNA以外のすべての場所を1に設定する)とどのくらい違いますか。