3
ラスタ値をSpatialPoints
に変更するには、単に[
を使用します。変更された値(右)とSpatialPoints(左)とラスタと空間ポリゴンを使用してラスタ値を変更する
r1 <- r
r1[rTpS] <- 99999
plot(r1)
r <- raster(system.file("external/test.grd", package="raster"))
rTp <- rasterToPoints(r, spatial = T)
set.seed(666)
rTpS <- rTp[sample(1:length(rTp), 500),]
plot(r)
plot(rTpS, add = TRUE, pch = ".")
次に、空間点の下にラスタ値は、次のように変更されます
したがって、ポリゴンは同じように動作すると仮定しました。したがって、このラスタデータセットからいくつかのポリゴンを生成します。
rst <- as.integer(stretch(r, 0, 10))
rTpol <- rasterToPolygons(rst, dissolve = T)
rTpol <- rTpol[rTpol$layer > 3,]
plot(r)
plot(rTpol, add = T)
rst[rTpol[,]] <- 100
plot(rst)
# also tried
# rst[rTpol] <- 100
しかし、私はポリゴンの一部SpatialPolygons
、何とかID(か何か)以下のラスタ値を変更しようとします。しかし、それが妙に変更された値(右)とSpatialPolygons(左)とラスターと100
、私の質問は、ポリゴン内のラスタの値を変更する方法です。
良い解決策ですが、あなたのオリジナルのソリューションは、よりエレガントだった---と働いている必要があること:
結果は次のようになります。このバグは、(今後リリース予定の)ラスターバージョン2.5-16で修正されました。 – RobertH
@RobertH:ラスターパッケージへの更新がすでに進行中であるかどうか知っていますか? – loki