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

サマリー

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

ディゾルブ操作に代替ツールを使用できます。 詳細については、[ディゾルブ (Dissolve)] ツールのドキュメントをご参照ください。

ペアワイズ ディゾルブ ツールの図

使用法

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

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

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

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

  • デフォルトでは、入力の曲線フィーチャが密集化して出力されます。 出力で曲線をサポートするには、[曲線セグメントの維持] 環境を使用します。

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

パラメーター

ラベル説明データ タイプ
入力フィーチャ

集約対象のフィーチャ。

Feature Layer
出力フィーチャクラス

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

Feature Class
ディゾルブ フィールド
(オプション)

フィーチャが集約されるフィールド。

Field
統計フィールド
(オプション)

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

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

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

  • [合計] - 指定したフィールドの値が加算されます。
  • [平均] - 指定したフィールドの平均が計算されます。
  • [最小] - 指定したフィールドのすべてのレコードから最も小さい値を検出します。
  • [最大] - 指定したフィールドのすべてのレコードから最も大きい値を検出します。
  • [範囲] - 指定したフィールドの値の範囲 (最大 - 最小) が計算されます。
  • [標準偏差] - 指定したフィールド内の値の標準偏差が計算されます。
  • [個数] - 計算に含まれる値の数を検出します。 NULL 値以外の値の数がカウントされます。 フィールド内の NULL 値の数を調べるには、対象となるフィールドに対するカウントを作成し、NULL 値を含まない別のフィールド (OID など) に対するカウントを作成して、この 2 つの値の差を求めます。
  • [最初] - 入力の最初のレコードの指定したフィールドの値を使用します。
  • [最後] - 入力の最後のレコードの指定したフィールドの値を使用します。
  • [中央値] - 指定したフィールドのすべてのレコードの中央値を計算します。
  • [分散] - 指定したフィールドのすべてのレコードの分散を計算します。
  • [個別値] - 指定したフィールドの個別値の数を数えます。
  • [連結] - 指定したフィールドの値を連結します。 この値は、[連結区切り文字] パラメーターを使用して区切ることができます。
Value Table
マルチパート フィーチャの作成
(オプション)

マルチパート フィーチャを出力に含めるかどうかを指定します。

  • オン - マルチパート フィーチャを出力に含めます。 これがデフォルトです。
  • オフ - マルチパート フィーチャを出力に含めません。 個々のフィーチャがパートごとに作成されます。
Boolean
連結区切り文字
(オプション)

[連結] オプションを [統計情報フィールド] パラメーターに使用した場合に、値の連結に使用する文字。

String

arcpy.analysis.PairwiseDissolve(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part}, {concatenation_separator})
名前説明データ タイプ
in_features

集約対象のフィーチャ。

Feature Layer
out_feature_class

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

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

フィーチャが集約されるフィールド。

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

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

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

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

  • SUM - 指定したフィールドの値が合計されます。
  • MEAN - 指定したフィールドの平均が計算されます。
  • MIN - 指定したフィールドのすべてのレコードから最も小さい値を検出します。
  • MAX - 指定したフィールドのすべてのレコードから最も大きい値を検出します。
  • RANGE - 指定したフィールドの値の範囲 (最大 - 最小) が計算されます。
  • STD - 指定したフィールド内の値の標準偏差が計算されます。
  • COUNT - 計算に含まれる値の数を検出します。 NULL 値以外の値の数がカウントされます。 フィールド内の NULL 値の数を調べるには、対象となるフィールドに対するカウントを作成し、NULL 値を含まない別のフィールド (OID など) に対するカウントを作成して、この 2 つの値の差を求めます。
  • FIRST - 入力の最初のレコードの指定したフィールドの値を使用します。
  • LAST - 入力の最後のレコードの指定したフィールドの値を使用します。
  • MEDIAN - 指定したフィールドのすべてのレコードの中央値を計算します。
  • VARIANCE - 指定したフィールドのすべてのレコードの分散を計算します。
  • UNIQUE - 指定したフィールドの個別値の数を数えます。
  • CONCATENATE - 指定したフィールドの値を連結します。 この値は、concatenation_separator パラメーターを使用して区切ることができます。
Value Table
multi_part
(オプション)

マルチパート フィーチャを出力に含めるかどうかを指定します。

  • MULTI_PARTマルチパート フィーチャを出力に含めます。 これがデフォルトです。
  • SINGLE_PARTマルチパート フィーチャを出力に含めません。 個々のフィーチャがパートごとに作成されます。
Boolean
concatenation_separator
(オプション)

CONCATENATION オプションを statistics_fields パラメーターに使用した場合に、値の連結に使用する文字。

String

コードのサンプル

PairwiseDissolve の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.analysis.PairwiseDissolve("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"]
 
# Run MakeFeatureLayer and SelectLayerByAttribute.  This is only to exclude 
#  features that are not desired in the output.
arcpy.management.MakeFeatureLayer(inFeatures, tempLayer)
arcpy.analysis.SelectLayerByAttribute(tempLayer, "NEW_SELECTION", expression)
 
# Run Dissolve using LANDUSE and TAXCODE as Dissolve Fields
arcpy.analysis.PairwiseDissolve(tempLayer, outFeatureClass, dissolveFields, "", 
                                "SINGLE_PART")

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック