図
使用法
ディゾルブによって集約されるフィーチャの属性は、さまざまな統計情報を使用して、集計したり類型化したりできます。属性の集計に使用される統計情報は、「統計タイプ + アンダースコア + 入力フィールド名」という命名規則に従って名前が付けられ、出力フィーチャクラスに単一フィールドとして追加されます。たとえば、POP という名前のフィールドに合計 (SUM) の統計情報が使用されている場合、SUM_POP という名前のフィールドが出力されます。
[ディゾルブ (Dissolve)] は、出力フィーチャクラスに非常に大きなフィーチャを作成する可能性があります。特に、[ディゾルブ フィールド] パラメーターに一意の値が少なかったり、すべてのフィーチャを 1 つのフィーチャにディゾルブする場合に起こりやすくなります。非常に大きなフィーチャは、マップの描画時や編集時に、処理または表示上の問題や性能の低下を引き起こす可能性があります。ディゾルブが 1 台のコンピューター上に最大サイズのフィーチャを出力し、この出力を使用可能なメモリの少ないコンピューターに移動した場合にも、問題が発生する可能性があります。これらの問題を回避するには、[マルチパート フィーチャを作成] パラメーターを使用して、大きくなりそうなマルチパート フィーチャを多くの小さなフィーチャに分割する、シングルパート フィーチャを作成します。[ディゾルブ (Dissolve)] ツールで作成された極端に大きなフィーチャについては、処理、表示、または性能の問題を解決するために、[フィーチャの分割 (Dice)] ツールの使用によるフィーチャの分割が可能です。
すべての統計情報計算から NULL 値が除外されます。たとえば、10、5、NULL の平均は 7.5 (= (10 + 5) / 2) です。カウントには、統計計算に含まれる値の数が戻されます。つまり、この場合は 2 です。
このツールは非常に大きなデータセットをタイル化し、パフォーマンスとスケーラビリティを向上します。詳細については、「大きなデータセットのジオプロセシング」をご参照ください。
物理メモリの使用可能な容量は、1 つの出力フィーチャに処理およびディゾルブできる入力フィーチャの量 (と複雑さ) の制限となる場合があります。この制限のために、ディゾルブ処理に使用可能以上のメモリを要求したことによるエラーが発生する可能性があります。これを防ぐために、[ディゾルブ (Dissolve)] は適応型分割アルゴリズムを使用して入力フィーチャを分割処理する場合があります。分割されたフィーチャを判定するには、このツールの結果に [頻度 (Frequency)] ツールを実行し、[頻度フィールド] パラメーターに対して、ディゾルブ処理で使用したのと同じフィールドを指定します。頻度値が 2 のレコードが分割されています。ArcGIS で使用できないほど大きなフィーチャが作成されないように、タイル境界は出力フィーチャ内に保持されます。
注意:
適応型分割アルゴリズムを使用して入力を分割処理したディゾルブの出力に対して、再び [ディゾルブ (Dissolve)] を実行しても、出力中のフィーチャの数はほとんど減りません。出力フィーチャの最大サイズは、実行時に使用可能なメモリサイズによって決まります。そのため、タイルを含む出力は、ディゾルブがこれ以上リソースを使用すると、メモリ不足や使用不可能なフィーチャなどを引き起こす恐れがあることを示しています。さらに、ディゾルブで作成された出力に対して、再び [ディゾルブ (Dissolve)] を実行すると、ほとんど成果を得られずに相当な性能低下を招くだけでなく、予期しない障害を引き起こす可能性さえあります。
[ラインの接合] パラメーターはライン入力に対してのみ適用されます。デフォルトが指定された場合、ラインをシングル フィーチャにディゾルブします。そうでなければ、共通の端点 (疑似ノード) を持つ 2 つのラインだけが 1 つの連続したラインにマージされます。
[入力フィーチャ] ジオメトリ タイプがポイントまたはマルチポイントであり、[マルチパート フィーチャの作成] がオンの場合は (Python では MULTI_PART)、出力がマルチポイント フィーチャクラスになります。一方、[マルチパート フィーチャの作成] がオフの場合は (Python では SINGLE_PART)、出力がポイント フィーチャクラスになります。
構文
Dissolve(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part}, {unsplit_lines})
パラメーター | 説明 | データ タイプ |
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 |
unsplit_lines (オプション) | ライン フィーチャのディゾルブ方法を制御します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで Dissolve ツールを使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.Dissolve_management("taxlots", "C:/output/output.gdb/taxlots_dissolved",
["LANDUSE", "TAXCODE"], "", "SINGLE_PART",
"DISSOLVE_LINES")
次のスタンドアロン スクリプトで、この Dissolve ツールの使用方法を示します。
# Name: Dissolve_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.Dissolve_management(tempLayer, outFeatureClass, dissolveFields, "",
"SINGLE_PART", "DISSOLVE_LINES")
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい