0

R を使用して地理参照されたラスター イメージの各ピクセルの色値を抽出したいと思います。前の質問で述べたように、後で tif (または geotif) をプロットするためにそれらのピクセルの色が必要です ( R - を使用した地理参照されたラスター イメージの元の色を参照)。 ggplot2- および raster-packages )。データ バンドを持つラスター イメージはバンド値を暗黙的に使用して色を割り当てることができない (パターンの塗りつぶしを表すことができない) ため、これらのピクセルの色が必要になることは間違いありません。colortable可能なすべての 256 色がベクトルにリストされている場所にアクセスする方法は既に知っています。ただし、この形式ではマップされません。ラスター画像を読み込み、マップされていない画像を抽出するために使用するコードは次のcolortableとおりです。

raster1 <- raster(paste(
       workingDir, "/HUEK200_Durchlaessigkeit001_proj001.tif",
       sep="", collapse=""))
raster1.pts <- rasterToPoints(raster1)
raster1.df <- data.frame(raster1.pts)
colTab <- attr(raster1, "legend")@colortable

ご協力ありがとうございました!

4

1 に答える 1

0

ここの質問で引用した質問の下に回答を投稿しました。解決策は両方の質問スレッドに適用されるため、ここでは完全には繰り返しません。

R - ggplot2 および raster-packages を使用したジオリファレンスされたラスター イメージの元の色

空間ラスター イメージ オブジェクトの最初のデータ バンドが正確に色を反映していることがわかりました。のそれぞれの色を参照するために、ラスター内のすべての一意の可能な値を持つ のベクトルを使用しましたcolTab。これは直接には可能ではありません。なぜなら、これから始まる値0は R では有効なインデックスではないからです。それに対処するために名前付きインデックスを導入しただけです。これで、 にリストされたインデックスを持つ色のみが、スケーリングされた塗りつぶしのパラメータvalTabとして渡され、プロットされた結果は、元の色を持つジオリファレンスされたラスター イメージになります。colours

于 2013-10-06T14:18:02.870 に答える