概要
フィールド演算機能を使用して、ラインの始点と次の頂点までの角度(図上の真上を 0 度とする方位角)を算出します。
座標値が地理座標系の場合には、期待する方位角は求められませんのでご注意ください。
操作手順
事前準備
属性テーブルに新規にフィールドを追加します。フィールドのタイプは、「Double 型」にしてください。フィールドに作成方法につきましては、以下の FAQ をご参考ください。
手順
- 属性テーブル内の作成したフィールド名を右クリックし、[フィールド演算] を選択します。

- [フィールド演算] ダイアログの [式の種類] から [Python] を選択します。
- [フィールド演算] ダイアログの [<フィールド名> = ] の箇所に、以下のコードを入力します。
- [フィールド演算] ダイアログの [コードブロック] のボックスに以下の Python スクリプトを入力します。
import math def GetAzimuthPolyline(shape): nextPoint = shape.getPart(0).getObject(1) radian = math.atan2((nextPoint.y - shape.firstpoint.y),(nextPoint.x - shape.firstpoint.x)) angle = radian * 180 / math.pi #一般角 if angle < 0: angle = 360 + angle #負の角度を正の角度に変換 #一般角を方位角に変換 azimuth = (-(angle % 360) + 90 + 360) % 360 return azimuth - [OK] をクリックし、フィールド演算を実行します。
GetAzimuthPolyline(!Shape!)
上記の処理はラインだけでなく、ポリゴンに対しても実行することができます。
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!