これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド pksetmask です。
プログラム:
NAME
pksetmask - ラスター イメージにマスク イメージ (無効な値を設定) を適用するプログラム
SYNOPSIS
PKセットマスク -i -m mask [-msknodata 値] -o 出力 [オプション] [高度な オプション]
DESCRIPTION
PKセットマスク オプションで提供されるマスクを設定します -m 入力ラスター データセットに変換します。 デフォルト
演算子は「=」です。 マスクが nodata 値を持つ入力ラスター データの値 (設定
オプション付き -msknodata) は nodata に設定されます (で設定されます) -データなし)。 その他の
演算子は ( より小さい)- オペレーター '<') より大きい (- オペレーター '<')。
OPTIONS
-i ファイル名, - 入力 ファイル名
入力画像
-m mask, - マスク mask
マスク画像
-msknodata 値, --msknodata 値
画像にデータがない場合のマスク値。 各マスクに XNUMX つの値を使用するか、複数の値を使用します
単一マスクの値。
-o ファイル名, - 出力 ファイル名
出力マスクファイル
-データなし 値, - データなし 値
有効でない場合に画像に入れる nodata 値
-v レベル, -詳細 レベル
詳細
詳細オプション
-p '<'|'='|'>', - オペレーター '<'|'='|'>'
演算子: < = > !。 それぞれに演算子を使用します -msknodata オプション
-ot type, - タイプ type
出力画像のデータ型({Byte / Int16 / UInt16 / UInt32 / Int32 / Float32 /
Float64 / CInt16 / CInt32 / CFloat32 / CFloat64})。 空の文字列:型を継承します
入力画像
-の GDALフォーマット, --oformat GDALフォーマット
出力画像形式(も参照) gdal_translate(1))。
-co オプション, --co オプション
出力ファイルの作成オプション。 複数のオプションを指定できます。
-ct ファイル名, --ct ファイル名
5 つの列を持つ ASCII 形式のカラーテーブル: id RGB ALFA (0: 透明、255:
個体)
実施例
使い方 a mask
XNUMX つのマスクで、いくつでもトリプルを提供できます (- オペレーター, --msknodata, - データなし)as
あなたは望んでいます。 すべてのオペレータはそのマスクに対して同時に作業を行います。 注意: 最初のオペレーター
テストが true のものが選択されます。 これについては次の例で説明します。
PKセットマスク -i 入力.tif -m マスク.tif - オペレーター='>' --msknodata 0 - データなし 0 - オペレーター='>' --msknodata 10 - データなし 10 -o 出力.tif
警告: 最初の演算子が優先されるため、XNUMX 番目の演算子は true とテストされません。
PKセットマスク -i 入力.tif -m マスク.tif - オペレーター='>' --msknodata 10 - データなし 10 - オペレーター='>' --msknodata 0 - データなし 1 -o 出力.tif
OK: 10 を超える値は 10、0 から 10 までの値は 1 になります。
使い方 の試合に マスク
複数のマスクでは、XNUMX つのトリプル (- オペレーター, --msknodata, - データなし)それぞれ
対応するマスク (同じ入力順序に従います)。 トリプルの数がそうでない場合は、
マスクの数と等しい場合、最初のトリプルのみがすべてのマスクに使用されます
同時に
PKセットマスク -i 入力.tif -m マスク1.tif - オペレーター '>' --msknodata 250 - データなし 1 -m マスク2.tif - オペレーター '>' --msknodata 100 - データなし 2 -o 出力.tif
Mask1.tif が 250 を超える場合、出力は 1 になります。Mask2 が 100 を超える場合、出力は
両方の演算子のテストが true の場合、最初の演算子が優先されます (出力は 2 になります)。
PKセットマスク -i 入力.tif -m マスク1.tif -m マスク2.tif - オペレーター '>' --msknodata 250 - データなし 1 -o 出力.tif
Mask1.tif または Mask2.tif のいずれかが 250 を超える場合、出力は 1 になります。
その他 例
PKセットマスク -i 入力.tif -m マスク.tif -o 出力.tif -ot バイト --msknodata 0 -データなし 255
input.tif から input.tif にピクセル値をコピーし、mask.tif を適用し、すべての値を に設定します。
255 (マスクは 0)。
PKセットマスク -i 入力.tif -m マスク.tif -o 出力.tif -ot バイト --msknodata 1 -データなし 255 - オペレーター 「!」
input.tif から Output.tif に値をコピーしますが、マスクが 255 でない場合はすべての値を 1 に設定します
PKセットマスク -i 入力.tif -m マスク1.tif -m マスク2.tif -o 出力.tif -ot バイト --msknodata 0 -データなし 255
XNUMX枚のマスクの適用。 ピクセル値を input.tif から output.tif にコピーし、すべてを設定します
いずれかのマスクが 255 の場合、値は 0 までです。
PKセットマスク -i 入力.tif -m マスク.tif -o 出力.tif -ot バイト --msknodata 0 --msknodata 1 -データなし 255 -データなし 255
ピクセル値を input.tif から Output.tif にコピーし、単一のマスクを適用し、すべての値を設定します
~ 255 (マスクは 0 または 1)。
よくあるご質問
Q1. 入力画像 (0 ~ 254 の値を持つバイト画像) をマスクでマスクしたい
入力画像の空間サブセットのみをカバーします。 の空間サブセット内で、
プライマリ マスクでは、プライマリ マスクが 0 に等しい場合、すべてのピクセルを 1 に設定する必要があります。
空間サブセットすべてのピクセル値を 255 に設定したいと考えています。
A1. これは、入力イメージを XNUMX 番目のマスクとして選択する XNUMX つのマスクを使用して実行できます。
条件が次のようになるように、XNUMX 次マスクに作用する XNUMX 次演算子を選択します。
常に true (例: < 255)。
24 年 1 月 2016 日 PKセットマスク(1)
onworks.net サービスを使用してオンラインで pksetmask を使用する