ラベル | 説明 | データ タイプ |
入力レイヤー | バッファーを作成するポイント フィーチャ、ポリライン フィーチャ、またはポリゴン フィーチャ。 | Feature Layer |
出力フィーチャクラス |
バッファー処理結果の新しいフィーチャクラス。 | Feature Class |
方法 | バッファーを作成するために使用される方法を指定します。
| String |
バッファー タイプ (オプション) | バッファー距離の定義方法を指定します。
| String |
バッファー フィールド (オプション) | フィーチャごとのバッファー距離を含んでいるフィールド。 フィールド値が数値の場合、距離には、[入力レイヤー] 値の空間参照の距離単位を使用すると見なされます。ただし、[入力レイヤー] 値が地理座標系の場合を除きます。地理座標系の場合、値はメートル単位と見なされます。 フィールド値に指定された距離単位が無効であるか、認識できない場合、デフォルトで入力フィーチャの空間参照の距離単位が使用されます。 | Field |
バッファー距離 (オプション) | バッファー処理する入力フィーチャの周囲の距離。 | Linear Unit |
バッファー式 (オプション) | 各フィーチャへのバッファーとして適用する、フィールドおよび数学演算子を使用した式。 フィールドは数値である必要があり、式には [ + - * / ] 演算子と複数のフィールドを含めることができます。 特に指定しない限り、計算される値はメートル単位で適用されます。 たとえば、[distance] という名前のキロメートル単位の数値フィールドに 2 を掛けて 15 メートルを足すバッファーを適用します。 as_kilometers($feature["distance"]) * 2 + as_meters(15) のような Arcade 式を使用します。 レイヤーをマップに追加する場合、[フィールド] および [ヘルパー] フィルターを使って式を組み立てることができます。 | Calculator Expression |
ディゾルブ オプション (オプション) | ディゾルブ オプションを指定すると、バッファーの重複が削除されます。
| String |
ディゾルブ フィールド (オプション) | 出力バッファーをディゾルブするために使用する入力フィーチャからの 1 つ以上のフィールドのリスト。 リスト表示されたフィールド内の属性値を共有しているバッファーが、ディゾルブされます。 このパラメーターは、[ディゾルブ オプション] が [リスト] の場合にのみ必須になります。 | Field |
サマリー フィールド (オプション) | 数値フィールドおよび文字列フィールドに適用する統計情報を指定します。 空のままにした場合、数のみが計算されます。 これらの統計情報は、[ディゾルブ オプション] が [リスト] または [すべて] の場合にのみ適用されます。
| Value Table |
マルチパート (オプション) | マルチパート フィーチャを作成するかどうかを指定します。
| Boolean |
サマリー
指定した距離に基づき、入力フィーチャの周囲にバッファーを作成します。
使用法
[方法] パラメーターは、バッファーの作成方法を指定します。 バッファーを構築する基本的な方法には、ユークリッド バッファーと測地線バッファーの 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 AllSource の解析ツールボックス内の [バッファー (Buffer)] ジオプロセシング ツール。
- ArcGIS AllSource のフィーチャ解析ツールボックス内の [バッファーの作成 (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.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 | バッファーを作成するために使用される方法を指定します。
| 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"
# Run Create Buffers
arcpy.gapro.CreateBuffers(inFeatures, out, "GEODESIC", "DISTANCE",
None, "300 Meters", None, "ALL", None, None,
"SINGLE_PART")