QGISでnull値のラスタ値を0に変更しますか?


13

ヘルプが必要です... QGISに問題があります。ブールラスターを取得するために再分類したにもかかわらず、null値を持つように見えるラスターがいくつかあります:(

NULL値を0に変更するにはどうすればよいですか?

回答:


13

@RKの回答のほかに、芝生でr.nullを使用できます。

r.null-指定されたラスターマップのNULL値を管理します。

分類されたマップの特定の値をNULLに設定します。

r.null map=landcover.30m setnull=21,22

マップのNULL値を特定の値に設定します。

 r.null map=fields null=99

私はそれがあなたを助けることを願っています...


9

私が思うにRasterCalcプラグインがあなたの問題を解決することができるはずです。インストールしたら、次のクエリを使用できます(NULL値が-9999に対応すると仮定します。レイヤープロパティの[透明度]タブでこの値を確認できます)。

eq([your_raster] @ 1、-9999、0)

eqは等しいことを意味します。これは、RasterCalcに、NULL値を持つラスター内のすべてのピクセルの値を0に設定する必要があることを伝えます。単一のバンドラスターがあると仮定しています。


1
これは機能していないようです(QGIS 1.8 / Rastercalc 0.2.5)-ロードされたラスターで「式無効」を与える、例えばeq( EL_hm@1, NULL, 0 )
-Simbamangu

1
@ Simbamangu、NULLとして使用される実際の値(たとえば-9999)を使用する場合-これは機能します。例eq(EL_hm @ 1、-9999、0)
SS_Rebelious

1
@SS_Rebelious-編集でNULL値を設定()で設定できGeneral|Representation for NULL values、これを式に反映する必要があることを伝えたい場合があります。
シンバマング

2

これを解決したかどうかわかりませんか?もっと合理化された方法があるかもしれませんが、これは最新のQGIS(v2.8.1)でうまく機能します:

  1. 高さ/レベルの属性列を持つ新しいポリゴンを作成します。変更するラスター範囲よりも大きい範囲でポリゴン形状を描きます。
  2. ラスター>変換>ラスター化ツールを使用して、このポリゴンをラスター化します。
  3. GDAL分析ツール>データを入力しない>および有効化レイヤーとしてラスタライズされたポリゴンを使用します。
  4. 結果のラスタ​​ーファイルは、以前はデータがなかった値を持っているはずです。これらは、0未満のランダムな値(たとえば-9999)または0のいずれかです。0の場合は、必要なものが得られます。そうでない場合は、手順5を実行します。
  5. [SAGA]> [グリッド]-[ツール]> [モザイクラスタレイヤ]を使用して、塗りつぶされたラスタレイヤとラスタライズされたポリゴンを入力します。重なり合う領域で[3]最大を選択し、出力範囲を元のラスターに設定します。これにより、0を超えるすべての値を保持する新しいラスターが作成され、以前のデータなしの値には新しい値0が与えられます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.