バッファーの作成 (Create Buffers) (GeoAnalytics Desktop)

サマリー

指定した距離に基づき、入力フィーチャの周囲にバッファーを作成します。

使用法

  • [方法] パラメーターは、バッファーの作成方法を指定します。 バッファーを構築する基本的な方法には、ユークリッド バッファーと測地線バッファーの 2 種類があります。

    • ユークリッド バッファーは、二次元のデカルト平面内で距離を計測します。そこでは、直線距離、すなわちユークリッド距離が、平面 (デカルト平面) 上の 2 点間で計算されます。 ユークリッド バッファーの方が一般的なバッファーであり、比較的狭い領域 (UTM ゾーンなど) に集中するフィーチャの周辺の距離を解析する場合、投影座標系で適切に機能します。 ユークリッド バッファーは、平面バッファーと呼ばれます。
    • 測地線バッファーは、地球の実際の形状 (楕円体、より正確にはジオイド) を形成します。 平面 (デカルト平面) 上の 2 点間ではなく、曲面 (ジオイド) 上の 2 点間の距離が計算されます。 以下の状況の場合は、測地線バッファーを作成することを検討してください。
      • 入力フィーチャが分散している場合 (複数の UTM ゾーン、広い領域、または地球全体をカバーしている場合)。
      • 入力フィーチャの空間参照 (地図投影法) によって、面積などの他の特性を保護するために距離が歪んでしまう場合。

  • 測地線バッファーは平面マップ上では異常な外観を示すことがありますが、これらのバッファーをグローブに表示した場合、正常な外観になります。

  • [方法] パラメーターは、バッファーの作成方法を指定します。

    • 平面方法では、入力フィーチャの座標系に基づいて、使用する方法が自動的に識別されます。
      • 入力フィーチャで投影座標系が使用されている場合、ユークリッド バッファーが作成されます。
      • 入力フィーチャで地理座標系が使用されている場合、測地線バッファーが作成されます。
    • デフォルトは測地線です。 測地線方法を指定すると、入力座標系にかかわらず、形状が正確に維持された測地線バッファーが作成されます。 形状を維持した測地線バッファーは、出力の測地線バッファーを作成する前に、入力フィーチャを高密度化します。 これにより、入力フィーチャの形状をより正確に表すバッファーが作成されます。 バッファーの形状が重要であり、それらの形状が元の入力フィーチャにいかに正確に一致しているかが問題になる場合 (特に、入力データで地理座標系が使用されている場合) は、このオプションをお勧めします。 このオプションを使用すると、平面オプションを使用して測地線バッファーを作成する場合よりも時間がかかることがありますが、入力フィーチャの形状に正確に一致したバッファーが作成されます。

  • 平面方法を使用する際は、地理的に入力に適した正距円錐図法や正距方位図法などの、距離の歪みを最小にする投影法を使用することで、投影された入力から作成されるバッファーの精度を上げることができます。

  • ポリゴン フィーチャをバッファー処理する際には、負数のバッファー距離を使用してポリゴン フィーチャ内部にバッファーを作成することができます。 負数のバッファー距離を使用すると、ポリゴンの境界を指定距離分減らすことができます。

    注意:

    負数のバッファー距離が大きすぎてポリゴンが消失する場合は、NULL ジオメトリが生成されます。 警告メッセージが表示され、NULL ジオメトリのフィーチャは出力データセットに書き出されません。

  • バッファーのサイズは、以下の 3 つのうちいずれかのオプションで入力できます。

    • [距離] - 定数値を使用 (すべてのバッファーは同じサイズ)
    • [フィールド] - フィールドの値を使用 (フィーチャによってバッファーのサイズが異なることがあります)
    • [式] - 各フィーチャに式を適用 (式に基づき、フィーチャごとに値が異なることがあります)

      バッファー式の適用の詳細

  • デフォルトでは、[バッファーの作成] ツールは、バッファー エリア同士が交わる場合、重なり合うバッファーを作成します。 入力フィーチャがエリアの場合、入力エリアがバッファー内に含まれます。 ディゾルブおよびマルチマート パラメーターを使用すると、重なり合うバッファーをコントロールできます。 ディゾルブ オプションには、次の 3 つがあります。

    • [なし] - バッファーは、バッファー領域が交わる部分で重なり合います。 これがデフォルトです。
    • [すべて] - すべてのフィーチャがディゾルブします。 マルチパート パラメーターが、すべてのフィーチャが 1 つのフィーチャにディゾルブするか (マルチパートが true)、重複フィーチャのみがディゾルブするか (マルチパートが false) を指定します。
    • [フィールド] - フィーチャは、フィールド値に基づいてディゾルブします。 1 つまたは複数のフィールドを選択すると、類似の値はディゾルブします。 マルチパート パラメーターが、一致するすべてのフィールド フィーチャが 1 つのフィーチャにディゾルブするか (マルチパートが true)、一致する重複フィールド フィーチャのみがディゾルブするか (マルチパートが false) を指定します。

  • [入力レイヤー] パラメーターのフィールドをバッファー距離の取得に使用する場合、フィールド値として、数値 (5 など) または有効な距離単位の付いた数値 (5 キロメートルなど) のいずれかを使用できます。 フィールド値が数値の場合、距離には、[入力レイヤー] パラメーターの空間参照の距離単位を使用すると見なされます。ただし、入力レイヤーが地理座標系の場合を除きます。地理座標系の場合、値はメートル単位と見なされます。 フィールド値に指定された距離単位が無効であるか、認識できない場合、デフォルトで入力フィーチャの空間参照の距離単位が使用されます。

  • [すべて] または [フィールド] でディゾルブすると、統計を計算できます。 統計は、すべてのフィーチャまたはフィールド値のディゾルブにのみ適用され、地理的には適用されません (マルチパート パラメーターを使用)。 次の画像に示す 6 つのフィーチャで、これらのオプションがどのように機能するかを以下のテーブルに示します。 フィールドのディゾルブに使用されるフィーチャ値は色分けされています (青かオレンジ)。

    バッファーのディゾルブの例に使用する入力ポイント

    ディゾルブ オプションマルチパートが false (デフォルト)マルチパートが true
    なし
    ディゾルブが適用されていないバッファー オプション

    6 つのフィーチャは、バッファーされたフィーチャにディゾルブが適用されていないときに作成されます。 これがデフォルトです。 これは、標準解析ツールの [オーバーラップ] オプションと同じです。

    マルチパートは、ディゾルブ オプションが [なし] の場合には true にはなりません。

    すべて
    マルチパートが false ですべてのフィーチャがディゾルブしている状態

    すべての値がディゾルブされ、マルチパートが false の場場合には、3 つのフィーチャが作成されます。 ディゾルブされるのは、重なり合うフィーチャのみです。 これは、標準解析ツールの [ディゾルブ] オプションと同じです。

    マルチパートが true ですべてのフィーチャがディゾルブしている状態

    すべての値がディゾルブされ、マルチパートが true の場合には、1 つのフィーチャが作成されます。 このオプションを選択すると、結果は常に 1 つのフィーチャになります。

    フィールド
    類似した値を持つフィーチャが、マルチパート false でディゾルブされる

    フィールドに基づいて (ここでは、フィールドは入力ポイントの色) ディゾルブが適用される場合には、4 つのフィーチャが作成されます。 指定フィールドと同じ値を持つ、重なり合うフィーチャのみがディゾルブします。

    類似した値を持つフィーチャが、マルチパート true でディゾルブされる

    フィールドに基づいて (ここでは、フィールドは入力ポイントの色) ディゾルブが適用され、マルチパートが許可されている場合には、2 つのフィーチャが作成されます。 同じフィールド値を持つフィーチャは、常に 1 つのフィーチャになります。

  • 式のバッファー タイプを使用して、数値フィールドおよび数学演算子から式を作成できます。 詳細については、「GeoAnalytics Desktop ツールの Arcade」をご参照ください。 特に指定しない限り、バッファー式内の数値はメートル単位であると仮定されます。

  • 次のツールを使用して、類似の解析を実行することもできます。

  • 出力データセットには、各フィーチャのバッファー処理に使用するバッファー距離が、入力フィーチャの座標系の距離単位で格納される BUFF_DIST があります。 出力座標系を設定する場合、BUFF_DIST の単位はこの座標系になります。 同じフィールドが出力内にすでに存在している場合は、フィールド名の重複を回避するために、その名前の末尾に番号が付加されます (たとえば、BUFF_DIST1)。

  • 次の 1 つまたは複数の操作を実行して、[バッファーの作成 (Create Buffers)] ツールのパフォーマンスを向上させることができます。

    • 対象データのみが解析されるように、範囲環境を設定します。
    • 平面バッファーを使用します。
    • バッファーの出力をディゾルブしないでください。
    • 解析が実行されているロケーションに対してローカルなデータを使用します。

  • ジオプロセシング ツールは、Spark を活用しています。 解析は、複数のコアを並列に使用して、デスクトップ コンピューター上で実行されます。 解析の実行方法の詳細については、「GeoAnalytics Desktop ツールに関する考慮事項」をご参照ください。

  • GeoAnalytics Desktop ツールを実行する場合、解析はデスクトップ コンピューター上で実行されます。 最適なパフォーマンスを実現するには、データがデスクトップ上で使用可能である必要があります。 ホスト フィーチャ レイヤーを使用している場合は、ArcGIS GeoAnalytics Server を使用することをお勧めします。 データがローカルに存在していない場合、ツールの実行時間が長くなります。 ArcGIS GeoAnalytics Server を使用して解析を実行する方法については、GeoAnalytics Tools をご参照ください。

パラメーター

ラベル説明データ タイプ
入力レイヤー

バッファーを作成するポイント フィーチャ、ポリライン フィーチャ、またはポリゴン フィーチャ。

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

バッファー処理結果の新しいフィーチャクラス。

Feature Class
方法

バッファーを作成するために使用される方法を指定します。

  • 測地線バッファーは、入力データの座標系にかかわらず、形状を維持した測地線バッファー方法を使用して作成されます。 これがデフォルトです。
  • 平面入力フィーチャで投影座標系が使用されている場合、ユークリッド バッファーが作成されます。 入力フィーチャで地理座標系が使用されている場合、測地線バッファーが作成されます。 出力座標系環境設定を使用して座標系を指定できます。
String
バッファー タイプ
(オプション)

バッファー距離の定義方法を指定します。

  • 距離すべてのフィーチャに同じ距離が適用されます。
  • フィールドバッファー距離を表すために選択される数値フィールドまたは文字列フィールド。
  • バッファー距離を表すフィールド、定数、および数学演算子を使用して式が構築されます。
String
バッファー フィールド
(オプション)

フィーチャごとのバッファー距離を含んでいるフィールド。 フィールド値が数値の場合、距離には、[入力レイヤー] 値の空間参照の距離単位を使用すると見なされます。ただし、[入力レイヤー] 値が地理座標系の場合を除きます。地理座標系の場合、値はメートル単位と見なされます。 フィールド値に指定された距離単位が無効であるか、認識できない場合、デフォルトで入力フィーチャの空間参照の距離単位が使用されます。

Field
バッファー距離
(オプション)

バッファー処理する入力フィーチャの周囲の距離。

Linear Unit
バッファー式
(オプション)

各フィーチャへのバッファーとして適用する、フィールドおよび数学演算子を使用した式。 フィールドは数値である必要があり、式には [ + - * / ] 演算子と複数のフィールドを含めることができます。 特に指定しない限り、計算される値はメートル単位で適用されます。 たとえば、[distance] という名前のキロメートル単位の数値フィールドに 2 を掛けて 15 メートルを足すバッファーを適用します。

as_kilometers($feature["distance"]) * 2 + as_meters(15) のような Arcade 式を使用します。

レイヤーをマップに追加する場合、[フィールド] および [ヘルパー] フィルターを使って式を組み立てることができます。

Calculator Expression
ディゾルブ オプション
(オプション)

ディゾルブ オプションを指定すると、バッファーの重複が削除されます。

  • なし重複の有無にかかわらず、各フィーチャの個々のバッファーが維持されます。 これがデフォルトです。
  • すべてすべてのバッファーが 1 つのフィーチャにディゾルブされ、すべての重複が削除されます。
  • リスト(入力フィーチャから引き継がれる) リスト フィールドの属性値を共有するバッファーがディゾルブされます。
String
ディゾルブ フィールド
(オプション)

出力バッファーをディゾルブするために使用する入力フィーチャからの 1 つ以上のフィールドのリスト。 リスト表示されたフィールド内の属性値を共有しているバッファーが、ディゾルブされます。 このパラメーターは、[ディゾルブ オプション][リスト] の場合にのみ必須になります。

Field
サマリー フィールド
(オプション)

数値フィールドおよび文字列フィールドに適用する統計情報を指定します。 空のままにした場合、数のみが計算されます。 これらの統計情報は、[ディゾルブ オプション][リスト] または [すべて] の場合にのみ適用されます。

  • [個数] - NULL 値でない値の数。 数値フィールドまたは文字列に使用できます。 [null, 0, 2] の個数は 2 です。
  • [合計] - フィールド内の数値の合計。 [null, null, 3] の合計は 3 です。
  • [平均] - 数値の平均。 [0, 2, null] の平均は 1 です。
  • [最小] - 数値フィールドの最小値。 [0, 2, null] の最小は 0 です。
  • [最大] - 数値フィールドの最大値。 [0, 2, null] の最大値は 2 です。
  • [標準偏差] - 数値フィールドの標準偏差。 [1] の標準偏差は null です。 [null, 1,1,1] の標準偏差は null です。
  • [分散] - トラッキング内の数値フィールドの分散。 [1] の分散は null です。 [null, 1, 1, 1] の分散は null です。
  • [範囲] - 数値フィールドの範囲。 これは、最大値から最小値を減算して計算されます。 [0, null, 1] の範囲は 1 です。 [null, 4] の範囲は 0 です。
  • [任意] - 文字列型のフィールドのサンプル文字列。

Value Table
マルチパート
(オプション)

マルチパート フィーチャを作成するかどうかを指定します。

  • オン - 必要に応じて出力マルチパート フィーチャが作成されます。
  • オフ - マルチパート フィーチャは作成されません。代わりに、各パーツにフィーチャが個別に作成されます。 これがデフォルトです。
Boolean

arcpy.geoanalytics.CreateBuffers(input_layer, out_feature_class, method, {buffer_type}, {buffer_field}, {buffer_distance}, {buffer_expression}, {dissolve_option}, {dissolve_fields}, {summary_fields}, {multipart})
名前説明データ タイプ
input_layer

バッファーを作成するポイント フィーチャ、ポリライン フィーチャ、またはポリゴン フィーチャ。

Feature Layer
out_feature_class

バッファー処理結果の新しいフィーチャクラス。

Feature Class
method

バッファーを作成するために使用される方法を指定します。

  • GEODESICバッファーは、入力データの座標系にかかわらず、形状を維持した測地線バッファー方法を使用して作成されます。 これがデフォルトです。
  • PLANAR入力フィーチャで投影座標系が使用されている場合、ユークリッド バッファーが作成されます。 入力フィーチャで地理座標系が使用されている場合、測地線バッファーが作成されます。 出力座標系環境設定を使用して座標系を指定できます。
String
buffer_type
(オプション)

バッファー距離の定義方法を指定します。

  • DISTANCEすべてのフィーチャに同じ距離が適用されます。
  • FIELDバッファー距離を表すために選択される数値フィールドまたは文字列フィールド。
  • EXPRESSIONバッファー距離を表すフィールド、定数、および数学演算子を使用して式が構築されます。
String
buffer_field
(オプション)

フィーチャごとのバッファー距離を含んでいるフィールド。 フィールド値が数値の場合、距離には、input_layer 値の空間参照の距離単位を使用すると見なされます。ただし、input_layer 値が地理座標系の場合を除きます。地理座標系の場合、値はメートル単位と見なされます。 フィールド値に指定された距離単位が無効であるか、認識できない場合、デフォルトで入力フィーチャの空間参照の距離単位が使用されます。

Field
buffer_distance
(オプション)

バッファー処理する入力フィーチャの周囲の距離。

Linear Unit
buffer_expression
(オプション)

各フィーチャへのバッファーとして適用する、フィールドおよび数学演算子を使用した式。 フィールドは数値である必要があり、式には [ + - * / ] 演算子と複数のフィールドを含めることができます。 特に指定しない限り、計算される値はメートル単位で適用されます。 たとえば、[distance] という名前のキロメートル単位の数値フィールドに 2 を掛けて 15 メートルを足すバッファーを適用します。

as_kilometers($feature["distance"]) * 2 + as_meters(15) のような Arcade 式を使用します。

Calculator Expression
dissolve_option
(オプション)

ディゾルブ オプションを指定すると、バッファーの重複が削除されます。

  • NONE重複の有無にかかわらず、各フィーチャの個々のバッファーが維持されます。 これがデフォルトです。
  • ALLすべてのバッファーが 1 つのフィーチャにディゾルブされ、すべての重複が削除されます。
  • LIST(入力フィーチャから引き継がれる) リスト フィールドの属性値を共有するバッファーがディゾルブされます。
String
dissolve_fields
[dissolve_fields,...]
(オプション)

出力バッファーをディゾルブするために使用する入力フィーチャからの 1 つ以上のフィールドのリスト。 リスト表示されたフィールド内の属性値を共有しているバッファーが、ディゾルブされます。 このパラメーターは、dissolve_optionLIST の場合のみ必要です。

Field
summary_fields
[summary_fields,...]
(オプション)

数値フィールドおよび文字列フィールドに適用する統計情報を指定します。 空のままにした場合、数のみが計算されます。 これらの統計情報は、dissolve_optionLIST または ALL の場合にのみ適用されます。

  • COUNT - NULL 値でない値の数。 数値フィールドまたは文字列に使用できます。 [null, 0, 2] の個数は 2 です。
  • SUM - フィールド内の数値の合計。 [null, null, 3] の合計は 3 です。
  • MEAN - 数値の平均。 [0,2, null] の平均は 1 です。
  • MIN - 数値フィールドの最小値。 [0, 2, null] の最小は 0 です。
  • MAX - 数値フィールドの最大値。 [0, 2, null] の最大値は 2 です。
  • STDDEV - 数値フィールドの標準偏差。 [1] の標準偏差は null です。 [null, 1,1,1] の標準偏差は null です。
  • VAR - トラッキング内の数値フィールドの分散。 [1] の分散は null です。 [null, 1,1,1] の分散は null です。
  • RANGE - 数値フィールドの範囲。 これは、最大値から最小値を減算して計算されます。 [0, null, 1] の範囲は 1 です。 [null, 4] の範囲は 0 です。
  • ANY - 文字列型のフィールドのサンプル文字列。

Value Table
multipart
(オプション)

マルチパート フィーチャを作成するかどうかを指定します。

  • MULTI_PART必要に応じて出力マルチパート フィーチャが作成されます。
  • SINGLE_PARTマルチパート フィーチャは作成されません。代わりに、各パーツにフィーチャが個別に作成されます。 これがデフォルトです。
Boolean

コードのサンプル

CreateBuffers の例 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、CreateBuffers 関数の使用方法を示しています。

#-------------------------------------------------------------------------------
# Name: CreateBuffers.py
# Description: Buffer damaged building by 300 meters

# Import system modules
import arcpy

arcpy.env.workspace = "C:/data/DamageSurvey.gdb"

# Set local variables
inFeatures = "DamageAssessment"
out = "DangerousAreas"

# Run Create Buffers
arcpy.gapro.CreateBuffers(inFeatures, out, "GEODESIC", "DISTANCE", 
                          None, "300 Meters", None, "ALL", None, None, 
                          "SINGLE_PART")