ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

マップ代数演算の演算子の操作

Spatial Analyst のライセンスで利用可能。

  • 演算子のルール
  • 演算子の優先順位

マップ代数演算では、入力されたラスターおよび数値に対する数学演算が演算子によって適用されます。

演算子は、一般に 2 つの入力 (オペランド) の間に置かれ、数学演算 (outVar = 3 + 7 など) を実行します。マップ代数演算では、オペランドはラスターまたは数値になります。演算子をラスターで使うには、ラスターはRaster オブジェクトでなければなりません。

次の表では、現在のマップ代数演算の演算子が、Python の演算子および旧バージョンである 9.x マップ代数演算の演算子に関してどのように実装されているかを即座に確認することができます。

操作Python 演算子マップ代数演算の演算子9.x マップ代数演算の演算子 *Spatial Analyst のジオプロセシング ツール
算術演算

加算

+

+

+

Plus

除算

/

/

/、div

Divide

整数除算

//

//

なし

なし

モジュロ

%

%

Mod

Mod

乗算

*

*

*

Times

累乗

**

**

なし

Power

減算

-

-

-

Minus

単項減算

-

-

-

Negate

単項加算

+

+

なし

なし

ブール演算

ブール型論理積

なし

&

&、and

Boolean And

ブール型論理否定 (補数)

なし

~

^、not

Boolean Not

ブール型排他的論理和

なし

^

!、xor

Boolean XOr

Boolean Or

なし

|

|、or

Boolean Or

関係演算

イコール

==

==

==、eq

Equal To

より大きい

>

>

>、gt

Greater Than

以上

>=

>=

>=、ge

Greater Than Equal

より小さい

<

<

<、lt

Less Than

以下

<=

<=

<=、le

Less Than Equal

不等号

!=

!=

^=、<>、ne

Not Equal

ビット演算

ビット単位の論理積

&

なし

&&

Bitwise And

ビット単位の論理否定 (補数)

~

なし

^^

Bitwise Not

ビット単位の排他的論理和

^

なし

!!

Bitwise XOr

ビット単位の左シフト

<<

<<

<<

Bitwise Left Shift

ビットの論理和

|

なし

||

Bitwise Or

ビット単位の右シフト

>>

>>

>>

Bitwise Right Shift

* 9.x マップ代数演算の演算子は、ArcGIS バージョン 9.x 以前の Spatial Analyst ツールバーの [マップ代数演算 単一出力 (Single Output Map Algebra)] (SOMA) ツールまたは [マップ代数演算 複数出力 (Multi Output Map Algebra)] (MOMA) ツールで使用されていた演算子シンボルを参照します。

演算子のルール

  • 演算子で数値のみが使用された場合、結果は数値になります。
    # outVar will be assigned 10
    outVar = 3 + 7
    
  • 演算子をラスターで使用する場合、ラスターはラスター オブジェクトでなければなりません。
    outRas = Raster("inraster1") + Raster("inraster2")
    
  • ラスター オペランドが使用された場合、結果はラスター オブジェクトになります。
    # In the following statement, 4 is added to each cell value in inraster1
    outRas = Raster("inraster1") + 4  
    outRas2 = Raster("inraster") + math.pi
    

    上のステートメントでは、Python math モジュールの pi が使われています。math モジュールには自然対数の底も含まれており (math.e)、これもマップ代数演算のステートメントで使用できます。

  • Raster オブジェクトや数値の前に付く演算子もあります。
    outRas = -Raster("inraster")
    
  • ブール型演算子 (~、&、^、|) は、1 つ以上の入力 (オペランド) がラスターの場合にブール型演算を実行します。どちらの入力 (オペランド) も数値の場合は、演算子によってビット単位の演算が実行されます。

ヒント:

演算子間のスペースは不要ですが、読みやすくするために入れることをお勧めします。

ツールと演算子をネストして、複雑なステートメントを作成することができます。

  • 複雑なステートメントの構築の詳細

演算子の優先順位

優先順位の値によって、実行される演算子の順序が決まります。優先順位の高い演算子が先に処理されます。2 つの演算子の優先順位が同じ値である場合は、式の中で左から右の順に処理されます。

括弧を使って優先順位の順序を無効にすることができます。指定された演算子にかかわらず、最も深い括弧内にある演算子が先に処理されます。

次の表は、マップ代数演算のすべての演算子を優先順位の低いものから高いものの順に示しています。同じ行に示されている演算子の優先順位は同じです。

マップ代数演算の演算子参照

<, <=, >, >=, ==, !=

Less Than、Less Than Equal、Greater Than、Greater Than Equal、Equal To、Not Equal

|

Boolean Or

^

Boolean XOr

&

Boolean And

<<, >>

Bitwise Left Shift、Bitwise Right Shift

+, -

Addition、Subtraction

*, /, //, %

Multiplication、Division、Integer Division、Modulo

+, -, ~

Unary Plus、Negate、Boolean Not

**

Power

関連トピック

  • マップ代数演算の規則の概要
  • An overview of the Map Algebra Operators
  • 複雑なステートメントの構築

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル