バッファーの作成方法
バッファー ルーチンは入力フィーチャの各頂点をトラバースし、バッファーのオフセットを作成します。出力バッファー フィーチャは、これらのオフセットから作成されます。
ラインの周囲にオフセットを作成する
入力ライン フィーチャ
入力ライン フィーチャの周囲に作成されたオフセット
オフセットから取得したバッファー
バッファー距離の説明
バッファー距離パラメーターは、固定値として、または数値を含むフィールドとして入力できます。
例 1: 固定距離
次に示すのは、距離 20、エンド タイプ FLAT、サイド タイプ FULL、およびディゾルブ タイプ ALL. を使ったライン フィーチャクラスのバッファーです。
バッファー距離は一定であるため、すべてのフィーチャは同じ幅でバッファー処理されます。
例 2: フィールドからの距離
この例では、距離の数値フィールドに値 10、20、30 を指定し、エンド タイプ FLAT、サイド タイプ FULL、およびディゾルブ タイプ ALL を使ったライン フィーチャクラスのバッファーを示しています。
バッファー距離はフィールド値に依存するため、同じ処理にさまざまなバッファー幅を適用できます。
ユークリッド バッファーと測地線バッファー
[バッファー (Buffer)] ツールの重要な機能の 1 つは、バッファーの作成方法を決める [メソッド] パラメーターです。バッファーの基本的な作成方法には、ユークリッドおよび測地線という 2 つの方法があります。
- ユークリッド バッファーは、二次元のデカルト平面内で距離を計測します。そこでは、直線距離、すなわちユークリッド距離が、平面 (デカルト平面) 上の 2 点間で計算されます。ユークリッド バッファーの方が一般的なバッファーであり、投影座標系内の比較的狭い領域 (UTM ゾーンなど) に集中するフィーチャの周辺の距離を解析する場合に適しています。
投影座標系には、投影で距離、面積、およびフィーチャの形状が歪む領域があります。これは、投影座標系を使用した場合に実際に生じます。たとえば、State Plane 投影座標系または UTM 投影座標系を使用する場合、フィーチャは投影原点 (州または UTM ゾーンの中心) に近いほど正確になりますが、投影原点から遠くに移動すると変形します。同様に World 投影座標系を使用すると、ある領域の変形は最小限に抑えられますが、別の領域では変形が大きくなります (メルカトル図法では、赤道近くの変形は抑えられますが極点では大きくなります)。変形の大きな領域と小さな領域の両方にフィーチャが存在するデータセットに対して、ユークリッド バッファーは、変形の小さな領域では正確に、変形の大きな領域では不正確になります。
- 測地線バッファーでは、地球の実際の形状 (楕円体、すなわち、より正確にはジオイド) が考慮されます。平面 (デカルト平面) 上の 2 点間ではなく、曲面 (ジオイド) 上の 2 点間の距離が計算されます。以下の場合、測地線バッファーを作成することを必ず検討してください。
- 入力フィーチャが分散している (複数の UTM ゾーン、大きい領域、または地球全体をカバーしている) 場合。
- 入力フィーチャの空間参照 (地図投影法) によって、面積などの他のプロパティを正確に維持するために距離が変形している場合。
[メソッド] パラメーターは、バッファーの作成方法を決定します。
- このパラメーターのデフォルトは、[平面]です。このオプションを指定すると、入力フィーチャの座標系に基づいて、使用する手法が自動的に決定されます。
- 入力フィーチャで投影座標系が使用されている場合、ユークリッド バッファーが作成されます。
- 入力フィーチャで地理座標系が使用されている場合に、[バッファー距離] を距離単位 (度などの角度単位ではなく、メートルやフィートなど) で指定すると、測地線バッファーが作成されます。
- このオプションでは、ArcGIS 10.3 よりも前の [バッファー (Buffer)] ツールと同じ結果が生成されます。
- [測地線] を指定すると、入力座標系にかかわらず、形状が正確に維持された測地線バッファーが作成されます。形状が正確に維持された測地線バッファーは、頂点を接続するラインが測地線に沿ったカーブであることを前提にしません。代わりに、入力フィーチャの形状をより正確に表すバッファーを作成するために、入力フィーチャクラスの空間参照内でフィーチャのバッファーが作成されます。バッファーの形状が重要であり、それらの形状が元の入力フィーチャにいかに正確に一致しているかが問題になる場合 (特に、入力データで地理座標系が使用されている場合) は、このオプションの使用を検討することをお勧めします。このオプションを使用すると、[平面] オプションを使用して測地線バッファーを作成する場合よりも時間がかかることがありますが、入力フィーチャの形状に正確に一致したバッファーが作成されます。
測地線バッファーの例
この例の目的は、いくつか選択した世界の都市について、1000 キロメートルの測地線バッファーとユークリッド バッファーを比較することにあります。測地線バッファーは、ポイント フィーチャクラスを地理座標系でバッファー処理することによって生成しました。ユークリッド バッファーは、ポイント フィーチャクラスを投影座標系でバッファー処理することによって生成しました (各ポイントは、投影および非投影のデータセットの両方とも、同じ都市を表現しています)。
世界全体を表す通常の投影座標系 (メルカトル図法など) の 1 つでデータセットを処理する場合、投影の歪みは赤道の近くで最小になりますが、極点の近くでは大きくなります。つまり、メルカトル投影されたデータセットでは、赤道近くでの距離の計測とバッファー オフセットは極めて正確ですが、赤道から離れるほど不正確になります。
左の図は、入力ポイントの位置を示しています。参考のために、赤道と本初子午線を示しています。2 つの図は、メルカトル図法で表示されています。
右の図では、赤道近くの各点に測地線バッファーとユークリッド バッファーがあり、それらは一致しています。赤道近くの各点では、メルカトル図法は正確な距離の計測に役立っています。しかし、ポイントが赤道から離れるほど、ユークリッド バッファーが測地線バッファーと比べて小さくなり、距離の歪みがかなり大きくなっているのがわかります。これは、メルカトル図法では極点の領域が引き伸ばされるために起きます (グリーンランドや南極など、極点に近い大陸の面積は、赤道近くの大陸と比べ巨大になります)。1000 キロメートルのユークリッド バッファーは、すべて同じサイズになります。これは、ユークリッド バッファーのルーチンが、投影されたマップの距離がどこでも同じ (ブラジルの 1000 キロメートルはロシア中央部の 1000 キロメートルと同じ) であると想定しているためです。しかし、投影された距離は赤道から離れるほど歪むため、この想定は正しくありません。グローバル スケールで距離を解析するような場合は、あらゆる領域で正確性が保たれる測地線バッファーを使用する必要があります。これに対してユークリッド バッファーは、歪みの大きな領域では不正確になります。
メモ:
測地線バッファーとユークリッド バッファーをグローブ上に表示することで、測地線バッファーの方が確かに正確であることが明らかになります。
これらは、上記の例で作成したものと同じ 1000 キロメートルのユークリッド バッファーと測地線バッファーです。グローブ上に表示すると、それぞれのユークリッド バッファーは、同じバッファー距離を使用したにもかかわらず、異なったサイズになっています (アラスカのバッファーがブラジルのバッファーよりかなり小さく見えることに注目してください)。マップの距離がすべての場所で同であるという、誤った想定に基づいてバッファーが作成されているため、このような結果となっています。対照的に測地線バッファーは、グローブ上に表示した場合、それぞれが正しく一定のサイズになっています。これらの測地線バッファーは、投影座標系の歪みの影響を受けていないため、正確です。
測地線バッファーについてのその他の情報
入力ポリライン フィーチャおよび入力ポリゴン フィーチャの各頂点は、測地線で接続されていることが前提になります (測地線は、楕円体上の 2 点間の最短経路です)。目的とする頂点間の経路が測地線に沿っていない場合は、まず、明示的に入力の密度を高める必要があります。ジオメトリの密度は、[頂点の挿入 (Densify)] ツールを使用して高めることができます。GEODESIC メソッドを選択して、入力フィーチャの形状に正確に一致したバッファーを取得することもできます (下記を参照)。
形状を正確に維持する測地線バッファー
ラインまたはポリゴンに対してバッファー処理を実行する場合、[測地線] メソッドでは、入力フィーチャクラスの空間参照に含まれるフィーチャをバッファー処理することで測地線バッファーが生成されます。これにより、バッファーが入力フィーチャの目的の測地線形状に適合するようになります。
[測地線] メソッドを使用すると、それぞれの出力バッファーに差異がほとんどないことが分かります。これは、形状を維持するバッファー作成処理に適した頂点密度が入力フィーチャにない場合に、形状を正確に維持する測地線メソッドの効果が最も明確に現れるからです (通常は、フィーチャが粗く、不正確になる)。このため、[測地線] メソッドの使用を決定する前に、入力データを十分に把握しておく必要があります。
たとえば、次に示すフィーチャは非常に粗く、グローブの大部分で頂点がほとんどありません (ラインの屈曲部にのみ頂点が存在します)。
[平面] メソッドを使用してこのラインを 500km までバッファー処理すると、出力バッファー フィーチャ (ピンク色) が取得されます。
予期しない結果になる場合もありますが、上記の説明にあるとおり、[平面] メソッド (測地線バッファーを作成する場合) では、入力ポリライン フィーチャの各頂点が測地線で接続されていること (次の図に紫色で示す) が前提となります。
このケースでは、入力フィーチャ (青色)、作成された測地線 (紫色)、および測地線バッファー (ピンク色) の組み合わせにより、効果的な出力が生成されます。
おそらく、この結果は期待していたものではないはずです。
[測地線] メソッドでは、頂点を接続するラインが測地線に沿ったカーブであることを前提としていません。[測地線] メソッドを使用して作成された測地線バッファーを次の図に緑色で示しています。
これで、入力フィーチャの形状を正確に維持する測地線バッファーが作成されました。
BUFF_DIST フィールド
出力フィーチャクラスの BUFF_DIST フィールドの値は、入力フィーチャの座標系の距離単位です。たとえば、50 メートルのバッファー距離がツールで指定されているのに、入力データセットの座標系がフィートの距離単位を使用しているような場合、50 メートルがフィート単位に変換されて BUFF_DIST フィールドに出力されます。これには、次のような 2 つの例外があります。
- 入力フィーチャが地理座標系を持ち、バッファー距離がキロメートル、マイルなどの距離単位で指定されている場合、BUFF_DIST フィールドの値はメートル単位になります。
- 入力フィーチャの空間参照が [不明] の場合、変換は適用されず、BUFF_DIST フィールドの値は、入力とまったく同じ値になります。
[BUFF_DIST] の単位変換が実行される場合、されない場合についてのシナリオを、次の表にまとめます。
入力フィーチャの座標系 | バッファーの距離単位 | 単位変換 |
---|---|---|
地理 | 角度または距離 | メートルに変換される |
投影座標系 | 角度 | 入力座標系の単位に変換される |
投影座標系 | 直線 | 入力座標系の単位に変換される |
地理または投影 | 不明 | 入力座標系の単位と想定される |
不明 | 角度または距離 | 変換されない |
入力フィーチャの座標系 | バッファーの距離単位 | 単位変換 |
---|---|---|
地理 | 角度または距離 | メートルに変換される |
投影座標系 | 角度 | メートルに変換される |
投影座標系 | 直線 | メートルに変換される |
地理または投影 | 不明 | 入力座標系の単位と想定される |
不明 | 角度または距離 | 変換されない |
メモ:
[BUFF_DIST] 値の単位は、必ず設定時の出力座標系環境の単位になります。