概要
指定した距離に基づき、入力フィーチャの周囲にバッファーを作成します。
使用法
[方法] パラメーターは、バッファーの作成方法を決定します。バッファーを構築する基本的な方法には、ユークリッド バッファーと測地線バッファーの 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 の場場合には、3 つのフィーチャが作成されます。ディゾルブされるのは、重なり合うフィーチャのみです。これは、標準解析ツールの [ディゾルブ] オプションと同じです。
すべての値がディゾルブされ、マルチパートが true の場合には、1 つのフィーチャが作成されます。このオプションを選択すると、結果は常に 1 つのフィーチャになります。
[フィールド] フィールドに基づいて (ここでは、フィールドは入力ポイントの色) ディゾルブが適用される場合には、4 つのフィーチャが作成されます。指定フィールドと同じ値を持つ、重なり合うフィーチャのみがディゾルブします。
フィールドに基づいて (ここでは、フィールドは入力ポイントの色) ディゾルブが適用され、マルチパートが許可されている場合には、2 つのフィーチャが作成されます。同じフィールド値を持つフィーチャは、常に 1 つのフィーチャになります。
条件式のバッファー タイプを使用して、数値フィールドおよび数学演算子から式を作成できます。詳細については、「GeoAnalytics Desktop ツールボックスにおける Arcade 条件式」をご参照ください。特に指定しない限り、バッファー条件式内の数値はメートル単位であると仮定されます。
次のツールを使用して、類似の解析を実行することもできます。
- ArcGIS Pro の [解析] ツールボックス内の [バッファー (Buffer)] ジオプロセシング ツール。
- ArcGIS Pro の [フィーチャ解析] ツールボックス内の [バッファーの作成 (Create Buffers)] ジオプロセシング ツール。
出力データセットの BUFF_DIST フィールドには、各フィーチャのバッファー処理に使用するバッファー距離が、入力フィーチャの座標系の距離単位で格納されます。出力座標系を設定する場合、BUFF_DIST の単位はこの座標系になります。フィールドが出力内にすでに存在している場合は、名前の重複を回避するために、「BUFF_DIST1」のようにフィールド名の末尾に番号が付加されます。
次の 1 つまたは複数の操作を実行して、[バッファーの作成 (Create Buffers)] ツールのパフォーマンスを向上させることができます。
- 対象データのみが解析されるように、範囲環境を設定します。
- 平面バッファーを使用します。
- バッファーの出力をディゾルブしないでください。
- 解析が実行されている場所に対してローカルなデータを使用します。
ジオプロセシング ツールは、Spark を活用しています。解析は、複数のコアを並列に使用して、デスクトップ コンピューター上で実行されます。解析の実行方法の詳細については、「GeoAnalytics Desktop ツールに関する考慮事項」をご参照ください。
GeoAnalytics Desktop ツールを実行する場合、解析はデスクトップ コンピューター上で実行されます。最適なパフォーマンスを実現するには、データがデスクトップ上で使用可能である必要があります。ホスト フィーチャ レイヤーを使用している場合は、ArcGIS GeoAnalytics Server を使用することをお勧めします。データがローカルに存在していない場合、ツールの実行時間が長くなります。ArcGIS GeoAnalytics Server を使用して分析を行うには、GeoAnalytics Toolsをご参照ください。
構文
arcpy.gapro.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 | バッファーの作成に使用する方法を指定します。
| String |
buffer_type (オプション) | バッファー距離の定義方法を指定します。
| 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 (オプション) | ディゾルブ オプションを指定すると、バッファーの重複が削除されます。
| String |
dissolve_fields [dissolve_fields,...] (オプション) | 出力バッファーをディゾルブするために使用する入力フィーチャからの 1 つ以上のフィールドのリスト。リスト表示されたフィールド内の属性値を共有しているバッファーが、ディゾルブされます。このオプションは、dissolve_option が LIST の場合にのみ必須になります。 | Field |
summary_fields [summary_fields,...] (オプション) | 数値フィールドおよび文字列フィールドに適用する統計情報を指定します。空のままにした場合、数のみが計算されます。これらの統計情報は、[dissolve_option] が [LIST] または [ALL] の場合にのみ適用されます。
| Value Table |
multipart (オプション) | マルチパート フィーチャを作成するかどうかを指定します。
| Boolean |
コードのサンプル
次の 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"
# Execute Create Buffers
arcpy.gapro.CreateBuffers(inFeatures, out, "GEODESIC", "DISTANCE",
None, "300 Meters", None, "ALL", None, None,
"SINGLE_PART")
環境
ライセンス情報
- Basic: いいえ
- Standard: いいえ
- Advanced: はい