概要
指定した距離に基づき、入力フィーチャの周囲にバッファーを作成します。
使用法
[方法] パラメーターは、バッファーの作成方法を決定します。バッファーを構築する基本的な方法には、ユークリッド バッファーと測地線バッファーの 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 つのフィーチャになります。
条件式のバッファー タイプを使用して、数値フィールドおよび数学演算子から式を作成できます。詳細については、「ArcGIS Enterprise 10.5 および 10.5.1 のバッファー条件式」または「ArcGIS Enterprise 10.6 以降のバッファー条件式」をご参照ください。特に指定しない限り、バッファー条件式内の数値はメートル単位であると仮定されます。
出力データセットの BUFF_DIST フィールドには、各フィーチャのバッファー処理に使用するバッファー距離が、入力フィーチャの座標系の距離単位で格納されます。出力座標系を設定する場合、BUFF_DIST の単位はこの座標系になります。フィールドが出力内にすでに存在している場合は、名前の重複を回避するために、「BUFF_DIST1」のようにフィールド名の末尾に番号が付加されます。
次の 1 つまたは複数の操作を実行して、[バッファーの作成 (Create Buffers)] ツールのパフォーマンスを向上させることができます。
- 対象データのみが解析されるように、範囲環境を設定します。
- 平面バッファーを使用します。
- バッファーの出力をディゾルブしないでください。
- 解析が実行されている場所に対してローカルなデータを使用します。
ジオプロセシング ツールは、ArcGIS GeoAnalytics Server を活用しています。解析は GeoAnalytics Server で実行され、結果が ArcGIS Enterprise のコンテンツに保存されます。
GeoAnalytics Server ツールを実行する場合、解析は GeoAnalytics Server で実行されます。最適なパフォーマンスを得るためには、ArcGIS Enterprise ポータルでホストされているフィーチャ レイヤーかビッグ データ ファイル共有を通じて、GeoAnalytics Server にデータを提供する必要があります。GeoAnalytics Server のローカルにないデータは、解析が開始する前に GeoAnalytics Server に移動されます。つまり、ツールを実行する時間が長くなり、場合によっては ArcGIS Pro から GeoAnalytics Server にデータを移動できないこともあります。エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。したがって、データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。
次のツールを使用して、類似の解析を実行することもできます。
- ArcGIS Pro の [解析] ツールボックス内の [バッファー (Buffer)] ジオプロセシング ツール。
- ArcGIS Pro の [フィーチャ解析] ツールボックス内の [バッファーの作成 (Create Buffers)] ジオプロセシング ツール。
構文
arcpy.geoanalytics.CreateBuffers(input_layer, output_name, method, {buffer_type}, {buffer_field}, {buffer_distance}, {buffer_expression}, {dissolve_option}, {dissolve_fields}, {summary_fields}, {multipart}, {data_store})
パラメーター | 説明 | データ タイプ |
input_layer | バッファーを作成するポイント フィーチャ、ポリライン フィーチャ、またはポリゴン フィーチャ。 | Feature Set |
output_name | 出力フィーチャ サービスの名前。 | String |
method | バッファーの作成に使用する方法を指定します。
| String |
buffer_type (オプション) | バッファー距離の定義方法を指定します。
| String |
buffer_field (オプション) | フィーチャごとのバッファー距離を含んでいるフィールド。フィールド値が数値の場合、距離には、[input_layer] の空間参照の距離単位を使用すると見なされます。ただし、[input_layer] が地理座標系の場合を除きます。地理座標系の場合、値はメートル単位と見なされます。フィールド値に指定された距離単位が無効であるか、認識できない場合、デフォルトで入力フィーチャの空間参照の距離単位が使用されます。 | Field |
buffer_distance (オプション) | バッファー処理する入力フィーチャの周囲の距離。距離は、メートル、キロメートル、フィート、ヤード、マイル、または海里で表すことができます。 | Linear Unit |
buffer_expression (オプション) | 各フィーチャへのバッファーとして適用する、フィールドおよび数学演算子を使用した式。フィールドは数値である必要があり、条件式には [+ - * / ] 演算子と複数のフィールドを含めることができます。特に指定しない限り、計算される値はメートル単位で適用されます。たとえば、[distance] という名前のキロメートル単位の数値フィールドに 2 を掛けて 15 メートルを足すバッファーを適用します。 ArcGIS Enterprise 10.5 および 10.5.1 の条件式は、as_kilometers(distance) * 2 + as_meters(15) のような形式になります。ArcGIS Enterprise 10.6 以降では、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 |
data_store (オプション) | 出力の保存先の ArcGIS Data Store を指定します。デフォルトは、SPATIOTEMPORAL_DATA_STORE です。ビッグ データ ストアに格納されたすべての結果は、WGS84 で保存されます。リレーショナル データ ストアに格納された結果は、それらの座標系を維持します。
| String |
派生した出力
名前 | 説明 | データ タイプ |
output | 出力バッファー フィーチャ。 | フィーチャ セット |
コードのサンプル
次の Python ウィンドウ スクリプトは、CreateBuffersツールの使用方法を示しています。
#-------------------------------------------------------------------------------
# Name: CreateBuffers.py
# Description: Buffer damaged building by 300 meters
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/DamageAssessment/FeatureServer/0"
outFS = "DangerousAreas"
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute Create Buffers
arcpy.geoanalytics.CreateBuffers(inFeatures, outFS, "GEODESIC", "DISTANCE",
None, "300 Meters", None, "ALL", None, None,
"SINGLE_PART", dataStore)
環境
- 出力座標系
解析で使用される座標系。このパラメーターで指定されない限り、入力の座標系で解析が行われます。GeoAnalytics Tools の場合、最終結果は WGS84 のビッグ データ ストアに保存されます。
ライセンス情報
- Basic: 次のものが必要 ArcGIS GeoAnalytics Server
- Standard: 次のものが必要 ArcGIS GeoAnalytics Server
- Advanced: 次のものが必要 ArcGIS GeoAnalytics Server