日本語

操作手順: フィールド演算を使用してラインの方向の計算をバッチ処理

概要

[フィールド演算] を使用して、複数のライン フィーチャの方向を始点と終点の座標から計算できます。

手順

以下の手順は、バッチ処理を使用して複数のフィーチャのラインの方向を計算する方法を示しています。

  1. ライン フィーチャの属性テーブルに、START_XSTART_YEND_XEND_Y という 4 つの新しいフィールドを追加します。 これらのフィールドのタイプを Double に設定します。
  2. [ジオメトリ演算] 関数を使用して、ラインの始点と終点の X および Y 座標を計算して新しいフィールドに格納します。
  3. 属性テーブルに別の新しいフィールドを追加して、NorthAzimu という名前を付けます。 フィールド タイプを Double に設定します。
  4. NorthAzimu フィールドを次の Python 式で計算します。 次のコードと画像をご参照ください。
    90-math.degrees(math.atan2(( !END_Y! - !START_Y! ),( !END_X! - !START_X! )))

    User-added image
  5. 真北方位角を四分円の方位角に変換するには、Quadrant という別の新しいフィールドを追加して、データ タイプを String に設定します。
  6. 次に示すように、Python コード ブロックを使用して Quadrant フィールドを計算します。 コードの実行前に、画像を参照して、[フィールド演算] ウィンドウでハイライト表示された各アイテムが適切に設定されていることを確認します。
    def quadrant(NorthAzimuth):
        if ((NorthAzimuth>=0) & (NorthAzimuth<90)): quad="N " +str(northazimuth)+"="" e"="" elif="" ((northazimuth="">=90) & (NorthAzimuth<180)): quad="S " +str(180-northazimuth)+"="" e"="" elif="" ((northazimuth="">=180) & (NorthAzimuth<270)): quad="S " +str(northazimuth-180)+"="" w"="" else:="" quad="N " +str(360-northazimuth)+"="" w"="" return="">

    User-added image

関連情報