ラベル | 説明 | データ タイプ |
入力フィーチャ | 集約対象のフィーチャ。 | Feature Layer |
出力フィーチャクラス | 集約されたフィーチャを含む、作成対象のフィーチャクラス。 | Feature Class |
ディゾルブ フィールド (オプション) | フィーチャが集約されるフィールド。 | Field |
統計フィールド (オプション) | 特定の統計の計算に使用される属性値を含むフィールド (複数可) を指定します。 複数の統計とフィールドの組み合わせを指定できます。 すべての計算から NULL 値が除外されます。 デフォルトでは、ツールはどの統計も計算しません。 テキスト属性フィールドは、最初と最後の統計を使用して集計されます。 数値属性フィールドは、任意の統計を使用して集計されます。 使用できる統計タイプは次のとおりです。
| Value Table |
マルチパート フィーチャの作成 (オプション) | マルチパート フィーチャを出力に含めるかどうかを指定します。
| Boolean |
連結区切り文字 (オプション) | [連結] オプションを [統計フィールド] パラメーターに使用した場合に、値の連結に使用する文字。 デフォルトでは、ツールは区切り文字なしで値を連結します。 | String |
サマリー
並列処理アプローチを使用して指定した属性に基づいてフィーチャを集約します。
ディゾルブ操作に代替ツールを使用できます。 詳細については、[ディゾルブ (Dissolve)] ツールのドキュメントをご参照ください。
図
使用法
ディゾルブ処理によって集約されるフィーチャの属性は、さまざまな統計情報を使用して、集計したり類型化したりできます。 属性の集計に使用される統計情報は、統計タイプの命名規則としてアンダースコアと入力フィールド名を使用して、出力フィーチャクラスに単一フィールドとして追加されます。 たとえば、POP という名前のフィールドに SUM の統計情報が使用されている場合、出力には SUM_POP という名前のフィールドが含まれます。
出力フィーチャクラスには、非常に大きなフィーチャを作成できます。 これは、[ディゾルブ フィールド] パラメーター値の一意の値が少ない場合やすべてのフィーチャを 1 つのフィーチャにディゾルブする場合に重要です。 非常に大きなフィーチャは、マップの描画時や編集時に、処理または表示上の問題や性能の低下を引き起こす可能性があります。 ディゾルブが 1 台のコンピューター上に最大サイズのフィーチャを出力し、この出力を使用可能なメモリの少ないコンピューターに移動する場合にも、問題が発生する可能性があります。 これらの問題を回避するには、[マルチパート フィーチャを作成] パラメーターをオフにして、大きくなりそうなマルチパート フィーチャを多くの小さなフィーチャに分割します。 極端に大きなフィーチャについては、処理、表示、または性能の問題を解決するために、[フィーチャの分割 (Dice)] ツールを使用してフィーチャを分割できます。
すべての統計計算から NULL 値が除外されます。 たとえば、10、5、および NULL の AVERAGE は 7.5 です ((10+5)/2)。 COUNT の統計情報には、統計計算に含まれる値の数が戻されます。つまり、この場合は 2 です。
[入力フィーチャ] パラメーター値のジオメトリ タイプがポイントまたはマルチポイントであり、[マルチパート フィーチャの作成] パラメーターがオンの場合は、出力がマルチポイント フィーチャクラスになります。 一方、[マルチパート フィーチャの作成] パラメーターがオフの場合は、出力がポイント フィーチャクラスになります。
デフォルトでは、入力の曲線フィーチャが密集化して出力されます。 出力で曲線をサポートするには、[曲線セグメントの維持] 環境を使用します。
[ペアワイズ ディゾルブ (Pairwise Dissolve)] ツールは、並列処理ファクター環境を優先します。 この環境が設定されていない場合 (デフォルト) や 100 に設定されている場合、フル並列処理が有効になり、ツールはコンピューター上のすべての論理コアに作業を分配しようとします。 この環境を 0 に設定すると、並列処理は無効になります。 ファクターを 1 ~ 99 に指定すると、ツールは数式 (並列処理ファクター / 100 * 論理コア) の小数部を切り上げた整数を適用して、使用する論理コアの割合を決定します。 この数式の結果が 0 または 1 の場合、並列処理は有効化されません。
パラメーター
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 値が除外されます。 デフォルトでは、ツールはどの統計も計算しません。 テキスト属性フィールドは、最初と最後の統計を使用して集計されます。 数値属性フィールドは、任意の統計を使用して集計されます。 使用できる統計タイプは次のとおりです。
| Value Table |
multi_part (オプション) | マルチパート フィーチャを出力に含めるかどうかを指定します。
| Boolean |
concatenation_separator (オプション) | CONCATENATION オプションを statistics_fields パラメーターに使用した場合に、値の連結に使用する文字。 デフォルトでは、ツールは区切り文字なしで値を連結します。 | String |
コードのサンプル
次の 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 関数を使用する方法を示します。
# 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")