ラインの接合 (Unsplit Line) (データ管理)

概要

一致する端点 (および、オプションで共通の属性値) を持つラインをマージします。

[ラインの接合 (Unsplit Line)] の図

使用法

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

  • 物理メモリの使用可能な容量は、1 つの出力ライン フィーチャに処理および接合できる入力フィーチャの量 (と複雑さ) の制限となる場合があります。この制限のために、接合処理に使用可能以上のメモリを要求したことによるエラーが発生する可能性があります。これを防ぐために、[ライン接合 (Unsplit Line)] は適応型分割アルゴリズムを使用して入力フィーチャを分割処理する場合があります。分割されたフィーチャを判定するには、このツールの結果に [頻度 (Frequency)] ツールを実行し、[頻度フィールド] パラメーターに対して、[ディゾルブ フィールド] パラメーターで使用したのと同じフィールドを指定します。頻度値が 2 のレコードが分割されています。ArcGIS で使用できないほど大きなフィーチャが作成されないように、タイル境界は出力フィーチャ内に保持されます。

    注意:

    適応型分割アルゴリズムを使用して入力を分割処理した接合の出力に対して、再び [ラインの接合 (Unsplit Line)] を実行しても、出力中のフィーチャの数はほとんど減りません。出力フィーチャの最大サイズは、実行時に使用可能なメモリサイズによって決まります。そのため、タイルを含む出力は、接合がこれ以上リソースを使用すると、メモリ不足や使用不可能なフィーチャなどを引き起こす恐れがあることを示しています。さらに、接合で作成された出力に対して、再び [ラインの接合 (Unsplit Line)] を実行すると、ほとんど成果を得られずに相当な性能低下を招くだけでなく、予期しない障害を引き起こす可能性さえあります。

  • すべての統計情報計算から NULL 値が除外されます。たとえば、10、5、NULL の平均は 7.5 (= (10 + 5) / 2) です。カウントには、統計計算に含まれる値の数が戻されます。つまり、この場合は 2 です。

構文

arcpy.management.UnsplitLine(in_features, out_feature_class, {dissolve_field}, {statistics_fields})
パラメーター説明データ タイプ
in_features

集約するライン フィーチャ。

Feature Layer
out_feature_class

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

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

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

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

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

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

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

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

コードのサンプル

UnsplitLine (ラインの接合) の例 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Streets"
arcpy.UnsplitLine_management("streets", "C:/output/output.gdb/streets_unsplit",
                             ["STREETNAME", "PREFIX"])
UnsplitLine (ラインの接合) の例 2 (スタンドアロン スクリプト)

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

# Name: UnsplitLine_Example2.py
# Description: Unsplit line features based on common attributes
 
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Streets"
 
# Set local variables
inFeatures = "streets"
outFeatureClass = "C:/output/output.gdb/streets_unsplit"
dissolveFields = ["STREETNAME", "PREFIX"]
 
# Execute UnsplitLine using STREETNAME and PREFIX as Dissolve Fields
arcpy.UnsplitLine_management(inFeatures, outFeatureClass, dissolveFields)

ライセンス情報

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

関連トピック