ペアワイズ ディゾルブ (Pairwise Dissolve) (解析)

概要

並列処理アプローチを使用して指定した属性に基づいてフィーチャを集約します。

[ディゾルブ (Dissolve)] の図

使用法

  • ディゾルブによって集約されるフィーチャの属性は、さまざまな統計情報を使用して、集計したり説明したりできます。属性の集計に使用される統計情報は、「統計タイプ + アンダースコア + 入力フィールド名」という命名規則に従って名前が付けられ、出力フィーチャクラスに単一フィールドとして追加されます。たとえば、POP という名前のフィールドで SUM 統計情報が使用されている場合は、SUM_POP という名前のフィールドが出力されます。

  • 出力フィーチャクラスには、非常に大きなフィーチャを作成できます。特に、[ディゾルブ フィールド] に一意の値が少なかったり、すべてのフィーチャを 1 つのフィーチャにディゾルブする場合に起こりやすくなります。非常に大きなフィーチャは、マップの描画時や編集時に、処理または表示上の問題や性能の低下を引き起こす可能性があります。ディゾルブが 1 台のコンピューター上に最大サイズのフィーチャを出力し、この出力を使用可能なメモリの少ないコンピューターに移動した場合にも、問題が発生する可能性があります。これらの問題を回避するには、[マルチパート フィーチャの作成] (Python では multi_part="SINGLE_PART") をオフにして、大きくなりそうなマルチパート フィーチャを多くの小さなフィーチャに分割します。極端に大きなフィーチャについては、処理、表示、またはパフォーマンスの問題を解決するために、[フィーチャの分割 (Dice)] ツールの使用によるフィーチャの分割が必要になる可能性があります。

  • すべての統計情報計算から NULL 値が除外されます。たとえば、10、5、および AVERAGENULL は 7.5 です ((10+5)/2)。COUNT の統計情報には、統計計算に含まれる値の数が戻されます。つまり、この場合は 2 です。

  • [ディゾルブ フィールド] パラメーターの [フィールドの追加] ボタンは、ModelBuilder だけで使用されます。ModelBuilder では、先のツールが実行されていないか、出力データが存在しないために、[ディゾルブ フィールド] パラメーターにフィールド名が表示されない場合があります。[フィールドの追加] ボタンで必要なフィールドを追加することで、ツールのダイアログ ボックスを完了して引き続きモデルを作成することができます。

  • [入力フィーチャ] ジオメトリ タイプがポイントまたはマルチポイントであり、[マルチパート フィーチャの作成] がオンの場合は (Python では multi_part="MULTI_PART")、出力がマルチポイント フィーチャクラスになります。一方、[マルチパート フィーチャの作成] がオフの場合は (Python では multi_part="SINGLE_PART")、出力がポイント フィーチャクラスになります。

  • [ペアワイズ ディゾルブ (Pairwise Dissolve)] ツールは、並列処理ファクター環境を優先します。この環境が設定されていない場合 (デフォルト) や 100 に設定されている場合、フル並列処理が有効になり、ツールはコンピューター上のすべての論理コアに作業を分配しようとします。この環境を 0 に設定すると、並列処理は無効になります。ファクターを 1 ~ 99 に指定すると、ツールは数式 (並列処理ファクター / 100 * 論理コア) の小数部を切り上げた整数を適用して、使用する論理コアの割合を決定します。この数式の結果が 0 または 1 の場合、並列処理は有効化されません。

構文

PairwiseDissolve(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part})
パラメーター説明データ タイプ
in_features

集約対象のフィーチャ。

Feature Layer
out_feature_class

集約されたフィーチャを含む、作成対象のフィーチャクラス。

Feature Class
dissolve_field
[dissolve_field,...]
(オプション)

フィーチャを集約するフィールド。

[フィールドの追加] ボタンは ModelBuilder でのみ使用され、ダイアログ ボックスを完了してモデルの作成を続行できるように、必要なフィールドを追加できます。

Field
statistics_fields
[[field, {statistic_type}],...]
(オプション)

属性値を含み、特定の統計情報の計算に使用される数値フィールドを指定します。複数の統計情報とフィールドの組み合わせを指定できます。すべての統計情報計算から NULL 値が除外されます。

テキスト属性フィールドは、最初と最後の統計情報を使用して集計されます。数値属性フィールドは、任意の統計情報を使用して集計されます。

使用できる統計情報タイプは次のとおりです。

  • 合計値 - 指定されたフィールドの値の合計を追加します。
  • 平均値 - 指定されたフィールドの平均を計算します。
  • 最小値 - 指定されたフィールドのすべてのレコードの中で最も小さい値を検出します。
  • 最大値 - 指定されたフィールドのすべてのレコードの中で最も大きい値を検出します。
  • 範囲 - 指定されたフィールドの値の範囲 (最大値 - 最小値) を検出します。
  • 標準偏差 - 指定されたフィールドの値の標準偏差を検出します。
  • 個数 - 統計情報の計算に含まれる値の数を検出します。NULL 値以外の値の数がカウントされます。フィールド内の NULL 値の数を調べるには、対象となるフィールドに対するカウントを作成し、NULL 値を含まない別のフィールド (OID など) に対するカウントを作成して、この 2 つの値の差を求めます。
  • 最初 - 入力の最初のレコードを検出し、その指定されたフィールドの値を使用します。
  • 最後 - 入力の最後のレコードを検出し、その指定されたフィールドの値を使用します。
  • 中央値 - 指定されたフィールドのすべてのレコードの中央値を計算します。
  • 分散 - 指定されたフィールドのすべてのレコードの分散を計算します。
  • 個別値 - 指定されたフィールドの個別値の数を数えます。
Value Table
multi_part
(オプション)

マルチパート フィーチャが出力フィーチャクラスで許可されるかどうかを指定します。

  • MULTI_PARTマルチパート フィーチャを許可します。これがデフォルトです。
  • SINGLE_PARTマルチパート フィーチャを許可しません。マルチパート フィーチャを作成する代わりに、各パーツにフィーチャが個別に作成されます。
Boolean

コードのサンプル

PairwiseDissolve (ペアワイズ ディゾルブ) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで PairwiseDissolve ツールを使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.PairwiseDissolve_analysis("taxlots", "C:/output/output.gdb/taxlots_dissolved",
                                ["LANDUSE", "TAXCODE"], "", "SINGLE_PART")
PairwiseDissolve (ペアワイズ ディゾルブ) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、この PairwiseDissolve ツールの使用方法を示します。

# Name: PairwiseDissolve_Example2.py
# Description: Dissolve features based on common attributes
 
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
 
# Set local variables
inFeatures = "taxlots"
tempLayer = "taxlotsLyr"
expression = arcpy.AddFieldDelimiters(inFeatures, "LANDUSE") + " <> ''"
outFeatureClass = "C:/output/output.gdb/taxlots_dissolved"
dissolveFields = ["LANDUSE", "TAXCODE"]
 
# Execute MakeFeatureLayer and SelectLayerByAttribute.  This is only to exclude 
#  features that are not desired in the output.
arcpy.MakeFeatureLayer_management(inFeatures, tempLayer)
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION", expression)
 
# Execute Dissolve using LANDUSE and TAXCODE as Dissolve Fields
arcpy.PairwiseDissolve_analysis(tempLayer, outFeatureClass, dissolveFields, "", 
                                "SINGLE_PART")

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック