説明

座標から方向角と距離をエクセルで計算する式(ATAN2)

エクセルの関数で、座標から距離と方向角を求める式の例です。

このアプリで計算する

2点の座標から、点間距離と方向角(度分秒)

表の作り方

A2 に点1の X 座標、B2 に点1の Y 座標、C2 に点2の X 座標、D2 に点2の Y 座標を入力し、E2 から K2 に次の式を入力します。

E2: =C2-A2 F2: =D2-B2 G2: =SQRT(E2^2+F2^2) H2: =ROUND(G2,3) I2: =MOD(DEGREES(ATAN2(E2,F2)),360) J2: =ROUND(I2*3600,0) K2: =INT(MOD(J2,1296000)/3600)&"°"&TEXT(INT(MOD(J2,3600)/60),"00")&"′"&TEXT(MOD(J2,60),"00")&"″"

使い方のページの計算の例の座標を A2〜D2 に入力すると、それぞれのセルは次の値になります。

セル内容計算結果
E2ΔX14.214
F2ΔY24.529
G2点間距離28.349773…
H2点間距離(mm 位)28.350
I2方向角(度)約 59.908679
J2方向角(秒)215671
K2方向角(度分秒)59°54′31″

境界測量のように距離の mm 未満を切り捨てるときは、H2 を =ROUNDDOWN(G2,3) にします(28.349)。

ATAN2 の引数の順

エクセルの ATAN2 関数は「ATAN2(x 座標, y 座標)」の形で、x 軸と、原点と点(x 座標, y 座標)を通る線との間の角度を、−π〜π(−π を除く)のラジアンで返します。Microsoft のサポートの説明では、ATAN2(a,b) は ATAN(b/a) と等しく、a が 0 でも使えます。

付録6 計算式集の方向角の式 tan⁻¹{(y2 − y1)÷(x2 − x1)}は、ATAN(ΔY/ΔX) の形です。そこで、1つ目の引数に ΔX、2つ目の引数に ΔY を指定して ATAN2(ΔX, ΔY) とします。X 軸(北)から Y 軸(東)の向きに測った角度になり、地籍調査作業規程準則 第39条の方向角(北から右回り)と同じ向きです。順を逆にすると、方向角は「90° − 正しい方向角」(負のときは 360° を加えた値)になります。

MOD で 0°〜360° に直す

ATAN2 の計算結果を DEGREES 関数で度にすると、ΔY が負の向き(第3象限と第4象限)は負の値になります。第3象限の例(ΔX -30.000・ΔY -40.000)では、DEGREES(ATAN2(-30.000,-40.000)) が約 -126.869898 です。

MOD 関数の計算結果は除数と同じ符号になるので、MOD(…, 360) とすると約 233.130102(= 233°07′48″)と、0°〜360° の方向角になります。

同じ座標と、度分秒の式

x 座標と y 座標が共に 0 の場合、ATAN2 はエラー値 #DIV/0! を返します。2点が同じ座標で、方向角が決まらないときです。このアプリでは「2点が同じ座標です」と表示します。

J2 で方向角を秒の整数にしてから、K2 で度・分・秒に分けています。度・分・秒を別々に丸めると「29°59′60″」のような表示になるためです(度分秒の変換のページ)。MOD(J2,1296000) は、359°59′59.5″ 以上を四捨五入して 360°00′00″ になったときに 0° に戻すためです。

出典

このアプリで計算する

2点の座標から、点間距離と方向角(度分秒)