2017-09-24 9 views
0

非負の値(各ピクセルは高さの値)を持つラスターマトリックスを持ち、左右対称を使用して5x5の移動ウィンドウでカスタム高さメトリックを計算したいマトリックスの端の周りのパディング。対称なpadValueをラスターでフォーカルファンクションに組み込む方法

私は(、ゼロを使用してパディング複製または対称)私はこれを行うには許可されQGISでpktools(空間フィルタ)(平均値、標準偏差、最大値)を使用して、いくつかの基本的な計算を、行っていました。

カスタム関数(高さ、歪度、尖度)を使って他のメトリックを計算したいので、私はpktoolsを使用できません。私はrasterfocal()関数を使用しようとしていますが、padValueは数値でなければなりません。これの周りに道があるので、私は対称の境界線を持つことができますか?あなたがpadValue = NAを試みることができる

> Warning message: In .local(x, ...) : NAs introduced by coercion 

はあなたに

答えて

1

ありがとう:

> f.CoH <- function(x) {sd(x)/mean(x)} 
> 
> CoH <- focal(raster, w=matrix(1,nrow=5,ncol=5), fun=f.CoH, pad=TRUE, 
> padValue="symmetric") 

しかし、次のエラーを取得する:私は、次のことを試してみました。

f.CoH <- function(x) {sd(x, na.rm = TRUE)/mean(x, na.rm = TRUE)} 

を標準偏差と平均がでパディングして得られたので、これはやや異なる結果にWRT「対称パディング」を与えることが考えてみましょう:

はまたのNAに対処するための機能を変更する必要があると思いますNAsと値を複製することによって異なる場合があります。

HTH

+0

代わりに値を複製する方法はありますか?私はNAsや0よりもこれを好むだろう。 – Danica

+1

あなたがそれをプログラムしない限り、私が知っているわけではありません。しかし、私の考えでは、NAsでいっぱいにするのは複製よりも優れています。少なくとも、あなたが得た統計は実際のデータに基づいていますが、データを複製すると偽のデータが導入され、 – lbusett

関連する問題