バッファ(解析ツール)の仕組み
バッファの作成方法
バッファ ルーチンは入力フィーチャの各頂点をトラバースし、バッファの「オフセット」を作成します。出力バッファ フィーチャは、これらのオフセットから作成されます。
ラインの周囲にオフセットを作成する
入力ライン フィーチャ
入力ライン フィーチャの周囲に作成されたオフセット
オフセットから取得したバッファ
バッファ距離の説明
バッファ距離パラメータは、固定値として、または数値を含むフィールドとして入力できます。
例 1:固定距離
次に示すのは、距離 20、エンド タイプ FLAT、サイド タイプ FULL、およびディゾルブ タイプ ALL を使ったライン フィーチャクラスのバッファです。
バッファ距離は一定であるため、すべてのフィーチャは同じ幅でバッファ処理されます。
例 2:フィールドからの距離
この例では、距離の数値フィールドに 10、20、30 の値を指定し、エンド タイプ FLAT、サイド タイプ FULL、およびディゾルブ タイプ ALL を使ったライン フィーチャクラスのバッファを示しています。
バッファ距離はフィールド値に依存するため、同じ処理にさまざまなバッファ幅を適用できます。
ユークリッド バッファと測地線バッファ
測地線バッファ
バッファ オフセットを生成する方法には、ユークリッド(2 次元直交)と測地線の 2 つがあります。
ユークリッド バッファ
2 次元の距離の式を使用してオフセットを計算することにより、入力ジオメトリがバッファ処理されます。
最もよい結果を得るために、バッファ処理は特定の入力データセットの歪みを最小にする投影座標系で実行する必要があります。
測地線バッファ(ポイントおよびマルチポイントのみ)
入力ジオメトリは、各オフセットを地表(楕円体)に投影することで各オフセットを計算し、バッファ処理されます。
測地線バッファでは、投影座標系固有の歪みによって影響を受けないバッファが生成されます。
この方法は、地理座標系に保存されたフィーチャのバッファを生成する場合に、特に重要になります。これは、座標系全体を通して緯度の変換はほぼ均一に行われますが、経度の直線距離への変換は、赤道から離れるにつれて大きなばらつきが見られるようになるためです。
たとえば、赤道上での 1 度(10 進)は 111.325 キロメートルに相当しますが、赤道から北または南に移動するにつれて、経線の間隔が狭くなります。緯度 30 度では経度 1 度に相当する距離は 96.49 キロメートルですが、緯度 60 度ではわずか 55.80 キロメートルになります。最終的に、すべての経線は極で収束し、1 つのポイントになります。
次の図は、経度 1 度、緯度 1 度で描かれた四角形の形状とサイズが、赤道から離れるにつれて変化していく様子を示しています。
次の 3 つの条件が満たされる場合には、測地線バッファ アルゴリズムが使用されます。
- 入力フィーチャクラスにポイントまたはマルチポイントが含まれる。
- 入力フィーチャクラスに地理座標系(非投影)が存在する。
- バッファ距離が距離単位(キロメートル、マイルなど)を使って指定されている。
測地線バッファによる分析の例
選択した世界の都市周囲に 500 キロメートルのバッファを生成することが目標です。以前は、これは難しい作業でしたが、しかし、測地線バッファを使えば、地理座標系で入力ポイントレイヤ(下の黒い三角形でシンボル表示されている)を選択し、バッファ距離として「500 キロメートル」を指定するだけです。
作成されたバッファは、赤道から離れるにつれて歪みが大きくなっています。
ジャカルタは赤道からわずか 6 度しか離れていないため、生成されたバッファはほぼ完全な円形になっています。
一方、ストックホルムは北緯 59 度に位置しています。地理座標系にレンダリングすると、バッファは、特に東西方向に非常に歪んで見えます。ArcMap の [計測] ツールを使用すると、すべての方向において、ポイントから生成されたバッファのエッジまでの距離 500 キロメートルが返されます。これは、[計測] ツールが測地距離も計算するからです。
ArcMap データ フレームの座標系を UTM ゾーン 33(ストックフォルムに適切な番号)に切り替えると、適切な投影座標系で、バッファはほぼ完全な円形になります。
カナダの領土であるヌナブトの都市アラートは、永住人口のある世界最北の都市です。下図の黒い三角形はアラートの位置を示しています。ポイントの周囲に 1,000 キロメートルの測地線バッファを生成した結果が、黄色の領域によって示されています。
ArcMap データ フレームの座標系を [North Pole Gnomonic] に設定すると、アラートの周囲のバッファも円形になります。
[BUFF_DIST] フィールド
ArcGIS 9.3 よりも古いリリースでは、[BUFF_DIST] フィールドにはユーザが入力した値がそのまま表示されました。たとえば、データの空間参照の距離単位がフィートで、50 メートルのバッファ距離が使用されている場合、出力データの属性テーブルには次のように表示されました。
ArcGIS 9.3 からは、[BUFF_DIST] フィールドに表示される値には、入力データの単位が使用されます。上記と同じ例の場合、次のように、50 メートルのバッファ距離は入力データの計測単位(この場合はフィート)に変換されます。
これには、次のような 2 つの例外があります。
- 入力データが角度単位を持つ地理座標系を使用し、キロメートルやマイルといった距離単位をバッファ距離単位として使用する場合、変換は適用されません。[BUFF_DIST] フィールドにはユーザが入力した値がそのまま表示されます。
- 入力データの空間参照が未知である場合、変換は適用されず、[BUFF_DIST] フィールドには入力した値がそのまま表示されます。
注意:[BUFF_DIST] 値の単位は、必ず設定時の出力座標系環境の単位になります。
次の表は、出力座標系環境が設定されていない場合に考えられる例をまとめたものです。「距離」にはメートルおよびメートル以外の測定単位の両方が含まれることに注意してください。
データ座標系単位 |
バッファの距離単位 |
[BUFF_DIST] フィールドの距離単位 |
---|---|---|
角度 |
角度または距離 |
変換されない |
Linear |
角度 |
座標系の単位に変換される |
Linear |
Linear |
座標系の単位に変換される |
角度または距離 |
未知 |
入力座標系の単位と想定される |
未知 |
角度または距離 |
変換されない |