ディゾルブ(Dissolve) (データの管理)
図
使用法
-
ディゾルブによって集約されるフィーチャの属性は、さまざまな統計情報を使用して、集計したり説明したりできます。属性の集計に使用される統計情報は、「統計タイプ + アンダースコア + 入力フィールド名」という命名規則に従って名前が付けられ、出力フィーチャクラスに単一フィールドとして追加されます。たとえば、「POP」というフィールドに合計の統計情報が使用されている場合、出力は「SUM_POP」というフィールドを持ちます。
-
[ディゾルブ(Dissolve)] は、出力フィーチャクラスに非常に大きなフィーチャを作成する可能性があります。特に、[ディゾルブ フィールド] に一意の値が少なかったり、すべてのフィーチャを 1 つのフィーチャにディゾルブする場合に起こりやすくなります。非常に大きなフィーチャは、マップの描画時や編集時に、表示上の問題やパフォーマンスの低下を引き起こす可能性があります。これらの問題を回避するには、[マルチパート フィーチャを作成] パラメータの [SINGLE_PART] オプションを使用して、大きくなりそうなマルチパート フィーチャを多くの小さなフィーチャに分割します。
-
すべての統計情報計算から NULL 値が除外されます。たとえば、10、5、および NULL の平均値は 7.5 です((10+5)/2)。[COUNT] ツールは、統計情報計算に含まれている値の数を返しますが、この例では 2 を返します。
-
物理メモリの使用可能な容量は、1 つの出力フィーチャに処理およびディゾルブできる入力フィーチャの量(と複雑さ)の制限となる場合があります。この制限のために、ディゾルブ処理に使用可能以上のメモリを要求したことによるエラーが発生する可能性があります。これを防ぐには、適応型分割アルゴリズムを使用して、入力フィーチャを切り取り、処理します。分割されたフィーチャを判定するには、このツールの結果に [頻度(Frequency)] ツールを実行し、[頻度フィールド] パラメータに対して、ディゾルブ処理で使用したのと同じフィールドを指定します。頻度値が 2 のレコードが分割されています。ArcGIS で使用できないほど大きなフィーチャが作成されないように、タイル境界は出力フィーチャ内に保持されます。これは、2 回目のディゾルブ処理を実行するか、ArcMap 内でマージ編集タスク(1. 編集の開始、2. 2 つのフィーチャの選択、3. [エディタ] → [マージ] の順にクリック)を使用することで、評価および削除することができます。
-
[ディゾルブ フィールド] パラメータの [フィールドの追加] ボタンは、ModelBuilder だけで使用されます。ModelBuilder では、先のツールが実行されていないか、出力データが存在しないために、[ディゾルブ フィールド] パラメータにフィールド名が表示されない場合があります。[フィールドの追加] ボタンを使用すると、ツールのダイアログを完了してモデルの作成を続行できるように、必要なフィールドが追加されます。
-
[ラインの接合] パラメータを [DISSOLVE_LINES] と [UNSPLIT_LINES] の 2 つのオプションで使用すると、ライン入力だけに適用されます。デフォルトの [DISSOLVE_LINES] オプションが指定されている場合、ラインは 1 つのフィーチャにディゾルブされます。[UNSPLIT_LINES] が指定された場合、共通の端点(疑似ノード)を持つ 2 つのラインだけが 1 つの連続したラインにマージされます。
-
このツールは非常に大きなデータセットをタイル化し、パフォーマンスとスケーラビリティを向上します。詳細については、「大きなデータセットのジオプロセシング」をご参照ください。
構文
パラメータ | 説明 | データ タイプ |
in_features |
集約対象のフィーチャ。 | Feature Layer |
out_feature_class |
集約されたフィーチャを含む、作成対象のフィーチャクラス。 | Feature Class |
dissolve_field [dissolve_field,...] (オプション) | フィーチャを集約するフィールド。 [フィールドの追加] ボタンは ModelBuilder だけで使用され、ダイアログを完了してモデルの作成を続行できるように、必要なフィールドが追加されます。 | Field |
statistics_fields [[field, {statistic_type}],...] (オプション) |
属性を集計するフィールドと統計情報。テキスト属性フィールドは、統計情報の [FIRST] または [LAST] を使用して集計されます。数値属性フィールドは、任意の統計情報を使用して集計されます。すべての統計情報計算から NULL が除外されます。
| Value Table |
multi_part (オプション) |
マルチパート フィーチャが出力フィーチャクラスで許可されるかどうかを指定します。
| Boolean |
unsplit_lines (オプション) |
ライン フィーチャのディゾルブ方法を制御します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトで、Dissolve(ディゾルブ)ツールをイミディエイト モードで使用する方法を示します。
import arcpy from arcpy import env 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 # Author: ESRI # Import system modules import arcpy from arcpy import env # Set environment settings 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")