バッファ(Buffer) (カバレッジ)
図
使用法
-
POLY オプションでは、バッファ距離に負の距離と正の距離を使用できます。バッファ アイテムに正の数と負の数が含まれるときに、同じカバレッジ内の一部のポリゴンを縮小し、他のポリゴンを拡大することができます。
-
ROUND、FLAT、FULL、LEFT、および RIGHT オプションは、ライン データにのみ適用されます。
-
小さいスリバー ポリゴンが [バッファ(Buffer)] ツールで作成されることがあります。それらは、バッファ ゾーン内でノンバッファ エリアとしてコード化されたときに問題を起こす場合があります。[エリミネート(Eliminate)] ツールで削除してください。
-
バッファ距離がゼロの場合、フィーチャはバッファされません。入力カバレッジのフィーチャをバッファしたくない場合は、バッファ アイテムにバッファ距離値ゼロを設定するか、バッファ テーブルにバッファ距離値 DIST を設定します。
-
島ポリゴンを含むカバレッジでバッファ処理を行うと、バッファ距離がゼロより大きいポリゴンがすべてバッファされます。ただし、島バッファ全体が周囲のポリゴン バッファ内にあるため、[バッファ(Buffer)] ツールのディゾルブ段階で周囲のポリゴンにディゾルブされ、島バッファは見えなくなります。
-
ノードは、NAT の有無にかかわらず、カバレッジにバッファできます。NAT がない場合、AAT のノードを番号付けする必要があります(FNODE# と TNODE# はゼロより大きくなければなりません)。ノード番号がゼロのときは、[リノード(Renumber Nodes)] を実行します。
-
LEFT および RIGHT オプションを指定すると、ラインの左側か右側にバッファが生成されます。ラインの「左」または「右」を解釈する際には、注意が必要です。1 つのライン セグメントによって 2 つの半平面が定義され、長方形バッファは 2 つの明確に定義された左側および右側のセクションに分割されます。線分を繋ぐ際には、一方の線分の左側のポイントが、接続する他方の線分の右側にある可能性があります。こうしたあいまいさは、「ラインを越えない」という概念によって回避することができます。
-
LEFT および RIGHT オプションは、トポロジ的なラインの左右を使用するため、これらのオプションを使用するにはライン トポロジが存在しなければなりません。Line バッファ スタイルにアクセスするには、LINE および NODE を指定して入力カバレッジに [ビルド(Build)] を使用します。
-
BUFFER 関数は、ユークリッド空間で機能し、2 次元のアルゴリズムを使用します。バッファの幅は、座標系にかかわりなく同じになります。地球の曲率や形状は反映されません。最善の結果を得るために、対象エリアの歪みを最小限にするマップ投影法でバッファを生成します。
-
ラインの周囲のバッファについては、出力カバレッジのファジー許容値は、入力カバレッジのファジー許容値と同じにならない可能性があります。出力許容値は、バッファ距離の関数としてリセットされることがあります。これは、大きいバッファ距離で起きる可能性があり、固定数の直線セグメントでの円の近似が次第に粗くなることを反映しています。この影響を避けるために、バッファを段階的に拡大することができます。まず、小さいバッファ距離を使用して LINE オプションで [バッファ(Buffer)] を実行し、次に、望ましいバッファ距離に達するまで、POLY オプションを使用してこれに対して [バッファ(Buffer)] を繰り返し実行します。ファジー許容値は、ラインの周囲のバッファについてのみ変化します、ポリゴンの周囲のバッファでは変化しません。
-
出力カバレッジの座標精度は、派生カバレッジの精度環境設定で設定された現在の処理ルールによって決定されます。処理ルールが現在のセッション中に確立されていない場合、処理ルールは HIGHEST になります。つまり、[バッファ(Buffer)] は出力カバレッジを入力カバレッジと同じ精度で作成します。
-
単精度および倍精度の両方のカバレッジで、[バッファ(Buffer)] ツールはカバレッジの数学的精度(BND の幅と小数点以下の桁数)に基づき、最小許容値を計算します。計算した最小許容値が入力したファジー許容値より大きい場合、計算した最小許容値が使用されます。
-
投影情報ファイル(PRJ)は、出力カバレッジにコピーされます。
構文
パラメータ | 説明 | データ タイプ |
in_cover |
バッファされるフィーチャを含むカバレッジ。 | Coverage |
out_cover |
作成されるポリゴン バッファ カバレッジ。 | Coverage |
feature_type (オプション) |
バッファするフィーチャクラス:
| String |
buffer_item (オプション) |
フィーチャのバッファ距離としてその値が使用される入力カバレッジのフィーチャ属性テーブル内のアイテム。バッファ テーブルが使用される場合、バッファ アイテムはバッファ テーブルのルックアップ アイテムとして機能します。 | String |
buffer_table (オプション) |
バッファ アイテムごとのバッファ距離をリストする INFO ルックアップ テーブル。バッファ テーブルを指定できるのは、バッファ アイテムを指定した場合に限られます。バッファ テーブルは少なくとも次の 2 つのアイテムを含みます。
| INFO Table |
buffer_distance (オプション) |
バッファ アイテムおよびバッファ テーブルが指定されていないときに、入力カバレッジ フィーチャの周囲にバッファ ゾーンを作成するために使用される距離。デフォルトのバッファ距離は 0.125 カバレッジ単位です。このパラメータの値が指定されないときには、常にデフォルトのバッファ値が適用されます。 計算可能な最小バッファ距離は 0.00000005 カバレッジ単位です。この閾値より小さいバッファ距離を指定すると、出力カバレッジは空になります。ポリゴン フィーチャの場合、負数のバッファ距離を使用すると、ポリゴン内部にバッファを生成することができます。 | Double |
fuzzy_tolerance (オプション) |
out_cover 内の座標間の最小距離。デフォルトでは、in_cover の最小ファジー許容値が使用されます。 | Double |
buffer_shape (オプション) |
ラインの場合、ラインの端点のバッファの形状。
| String |
buffer_side (オプション) |
ラインの場合に、バッファを生成するトポロジ的な側。
| String |
コードのサンプル
次のスタンドアロン スクリプトは、道路カバレッジの周囲にバッファを作成する方法を示しています。
# Name: Buffer_Example.py
# Description: Creates a buffer around a road coverage.
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "road"
outCover = "C:/output/roadbuf"
featureType = "LINE"
bufferDistance = 200
bufferShape = "ROUND"
bufferSide = "FULL"
# Execute Buffer
arcpy.Buffer_arc(inCover, outCover, featureType, "", "", bufferDistance, "",
bufferShape, bufferSide)