ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

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

ArcGIS Online

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

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcGIS Help

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

Spatial Analyst クラス使用の概要

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

  • Spatial Analyst クラスの使用

クラスはオブジェクトの作成に使用でき、多くの場合、インスタンスとして参照できます。オブジェクトをインスタンス化すると、そのプロパティとメソッドを使用できます。近傍クラスやリマップ クラスなどの Spatial Analyst クラスは、ジオプロセシング ツールのパラメーターを実行するためのショートカットとしてよく使用されます。Spatial Analyst クラスを使用しない場合、これらのパラメーターはもっと複雑な文字列が必要になります。

文字列よりクラスを使用した方が、パラメーターの作成と管理がずっと簡単になります。パラメーターにクラスを使用することには、次のような利点があります。

  • クラスは、パラメーターの多様な引数に対するヘルプとオートコンプリート機能を提供します。
  • 結果オブジェクトから、パラメーターの個々の引数をクエリできます。
  • クラスの個々の引数を簡単に変更して、さらに解析することができます。

マップ代数演算における Spatial Analyst クラスの使用の詳細については、以下をご参照ください。

  • クラスの作成
  • クラスのクエリ
  • クラス内の引数の変更
  • Python でのクラスの使用方法

クラスを使用すると簡単に実装できるアプリケーションの例を以下に示します。

  • クラス タイプまたは個々の引数値の判定:

    たとえば、入力半径タイプと検索距離をクエリすると、IDW 内挿法に適用する乗数値がわかります。

  • 入力値の変更:

    たとえば、フォーラムでの公開された入力に基づいて、適地選定モデルの入力再分類値を変更して、リマップ テーブルを再作成せずに、さまざまなシナリオの出力への影響を調べることができます。

  • 感度解析の実行:

    たとえば、適地選定モデルのリマップ テーブルで、終了と開始の値を 5 パーセントずつ増やしながら何度も変更することで、入力条件のわずかな変更が出力にどのような影響するかを調べることができます。

  • エラー解析の実行:

    たとえば、パラメーターの引数をランダムに変更しながらモデルを複数回実行し、データのエラーや不確実性に対する影響を調べることができます。

Spatial Analyst クラスの使用

Spatial Analyst ジオプロセシング ツールの一部のパラメーターは、入力としてクラス オブジェクトを使用します。通常、パラメーターは単純な文字列、データセット名、パス、キーワード、フィールド名、許容値、およびドメインとして定義されます。一部のパラメーターはより複雑で、一連のプロパティまたは値を定義します。これらのパラメーターを長い複雑なテキスト文字列を使用して定義する代わりに、クラス (近傍やリマップ テーブルなど) を使用することができます。クラス コンストラクターの入力要件を理解すると、クラス オブジェクトの作成、クエリ、変更、保存が容易になります。

Spatial Analyst クラスの引数として使用される入力には、さまざまなタイプがあります。

  • スカラー
  • 文字列
  • Python リストまたはリストのリスト
  • その他のクラス

読みやすくするために、クラスを変数に設定し、ツールではその変数を使用することをお勧めします。たとえば、次のような質問です。

Neighborhood = NbrRectangle(5, 5, "MAP")
outRas = FocalStatistics("inRas", Neighborhood, "MEAN")

ただし、クラスをツールのパラメーター内に定義することもできます。

outRas = FocalStatistics("inRas", NbrRectangle(5, 5, "MAP"), "MEAN")

固定数の入力で作成したクラス

一部のクラスは、固定数の単純なスカラーまたは文字列の引数を使用して作成されます。たとえば、5 マップ単位の半径で円形の近傍を作成する場合、次のようになります。

Neighborhood = NbrCircle(5, "MAP")
outRas = FocalStatistics("inRas", Neighborhood, "MAXIMUM")

これら各クラスは、入力引数の位置が事前に決定されています。これらのクラスは、処理するツール パラメーターに基づいてグループ化できます。

  • ファジー クラス

    (FuzzyGaussian、FuzzyLarge、FuzzyLinear、FuzzyMSLarge、FuzzyMSSmall、FuzzyNear、FuzzySmall)

  • 水平方向ファクター クラス

    (HfBinary、HfForward、HfInverseLinear、HfLinear、HfTable)

  • KrigingModel クラス

    (KrigingModelOrdinary、KrigingModelUniversal)

  • 近傍クラス

    (NbrAnnulus、NbrCircle、NbrIrregular、NbrRectangle、NbrWedge、NbrWeight)

  • 半径クラス

    (RadiusFixed、RadiusVariable)

  • 時間クラス

    (TimeWithinDay、TimeSpecialDays、TimeMultipleDays、TimeWholeYear)

  • 変換関数クラス

    TfExponential、TfGaussian、TfLarge、TfLinear、TfLogarithm、TfLogisticDecay、TfLogisticGrowth、TfMSLarge、TfMSSmall、TfNear、TfPower、TfSmall、TfSymmetricLinear)

  • 垂直方向ファクター クラス

    (VfBinary、VfLinear、VfSymLinear、VfInverseLinear、VfSymInverseLinear、VfCos、VfSec、VfCosSec、VfSecCos、VfTable)

Python リストを使用して作成したクラス

TopoBoundary、TopoLake、および TopoStream クラスなど、もっと複雑なクラスもあります。これらには複数の入力が必要で、[トポ → ラスター (Topo to Raster)] ツールのパラメーターに使用されます。複数の入力は Python リストを使って定義され、リストへの入力の数は状況によって (言い換えると、解析に必要な入力の数) によって変わります。

たとえば、TopoBoundary クラス コンストラクターは、1 つ以上の inFeature 入力を含むリストを想定しています。この inFeatures として識別されるリストは、結果オブジェクトのプロパティになります。inFeatures リスト内のアイテムをクエリまたは操作するには、リスト内のエントリとしてそれぞれを処理する必要があります (「クラスのクエリ」をご参照ください)。

inBoundary = TopoBoundary(["inBound1.shp", "inBound2.shp"])

リスト内のリストで作成したクラス

特定の状況によってパラメーターに入力される入力エントリの数が決まるツールもあります。この種の入力パラメーターは、リスト内のリストで作成されたクラスから生成されます。リスト内のリストからクラスが作成されるツールとしては、次の 3 つのグループがあります。

  • 再分類テーブル (RemapRange、RemapValue)
  • 加重再分類テーブル (オーバーレイおよび合計) (WOTable、WSTable)
  • Topo クラス (サブセット) (TopoContour、TopoPointElevation、TopoSink)

たとえば、リマップ クラスは入力としてテーブルを想定しています。テーブルは、startValue、endValue、および分類される newValue を示すレコードのリストによってモデル化されます。テーブルは、結果オブジェクトのプロパティになります。テーブル入力をクエリまたは操作するには、リスト内のリストにあるエントリとして処理する必要があります (「クラスのクエリ」をご参照ください)。

# Usage: RemapRange([[startValue, endValue, newValue],...])
myRemapRange = RemapRange([[-3, -1.75, 1], [-1.75, -0.5, 2], [-0.5, 0.75, 3], 
                           [0.75, 2, 4], [2, 3.25, 5], [3.25, 4.5, 6],
                           [4.5, 5.75, 7], [5.75, 7, 8]])
outReclassRR = Reclassify("inRas", "VALUE", myRemapRange)

リスト内の一連のクラスから作成されたクラス

一部のツールは、一連のクラスを入力とするクラス パラメーターを使用します。一連のクラスは、リストで構成されます。リスト内の一連のクラスを必要とするクラス (Extract by Points や Extract by Rectangle など) は、一般に指定されたジオメトリによってデータを抽出します。

関連トピック

  • マップ代数演算とは
  • Python でのクラスの使用
  • Python の関数の使用
  • 複数値入力の操作
このトピックへのフィードバック

ArcGIS for Desktop

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

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル