ラインの接合 (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 です。

パラメーター

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

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

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

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

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

フィーチャが集約されるフィールド。 フィールドが指定されていない場合、ツールはすべてのフィーチャを一括でディゾルブします。

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

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

デフォルトでは、ツールはどの統計も計算しません。

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

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

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

[連結] オプションを [統計フィールド] パラメーターに使用した場合に、値の連結に使用する文字。 デフォルトでは、ツールは区切り文字なしで値を連結します。

String

arcpy.management.UnsplitLine(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {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
concatenation_separator
(オプション)

CONCATENATION オプションを statistics_fields パラメーターに使用した場合に、値の連結に使用する文字。 デフォルトでは、ツールは区切り文字なしで値を連結します。

String

コードのサンプル

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

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

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Streets"
arcpy.management.UnsplitLine("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"]
 
# Run UnsplitLine using STREETNAME and PREFIX as Dissolve Fields
arcpy.management.UnsplitLine(inFeatures, outFeatureClass, dissolveFields)

関連トピック