Total Access: 8835925 |
電柱の座標が分かれば,電柱間の距離は ヒュベニの距離計算式 で求めることができる.
難しい理屈は良く分からなくても,ただ代入すれば求まります.
以下の式で,緯経度は旧日本測地系(tokyo datum)座標のラジアン度で与えます.
ヒュベニの距離計算式 D = sqrt((M*dP)^2+(N*cos(P)*dR)^2) D: 2点間の距離(m) P: 2点の平均緯度 dP: 2点の緯度差 dR: 2点の経度差 M: 子午線曲率半径 N: 卯酉線曲率半径 M=6334834/sqrt((1-0.006674*sin(P)*sin(P))^3) N=6377397/sqrt(1-0.006674*sin(P)*sin(P))
逆に世界測地系(WGS84またはGRS80)座標のラジアン度で与えたいなら以下の式で計算.(MとNが変わります)
D = sqrt((M*dP)^2+(N*cos(P)*dR)^2) D: 2点間の距離(m) P: 2点の平均緯度 dP: 2点の緯度差 dR: 2点の経度差 M: 子午線曲率半径 N: 卯酉線曲率半径 M = 6378137/sqrt((1-0.006694380*sin(P)^2)^3) N = 6335439.327/sqrt(1-0.006694380*sin(P)^2)
いま仮に,電柱番号の緯度経度をtokyo datum(日本測地系)で用意したなら,ExcelVBAで計算するなら以下のコードを実行して距離dを計算します.(もちろんセル計算式で求めてやっても良いです)
ido1 = 電柱番号1の緯度(日本測地系)をAPI等で計算して与えてやる ido2 = 電柱番号2の緯度(日本測地系)をAPI等で計算して与えてやる keido1 = 電柱番号1の経度(日本測地系)をAPI等で計算して与えてやる keido2 = 電柱番号2の経度(日本測地系)をAPI等で計算して与えてやる P = (ido1 + ido2) / 2 * 3.14159265358 / 180 dP = (ido1 - ido2) * 3.14159265358 / 180 dR = (keido1 - keido2) * 3.14159265358 / 180 M = 6334834 / Sqr((1 - 0.006674 * Sin(P) * Sin(P)) ^ 3) n = 6377397 / Sqr(1 - 0.006674 * Sin(P) * Sin(P)) d = Sqr((M * dP) * (M * dP) + (n * Cos(P) * dR) * (n * Cos(P) * dR))
(参考で) |
北海道電力ネットワーク㈱ 北海道電気管理技術者協会 長谷川博