質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

1708閲覧

方位角の計算方法と結果

RyoTamura

総合スコア19

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/08/15 07:34

swiftで方位角を取得しようと考えています。
ネットで調べたところobjectivecで書かれているものはあったのですが、swiftで書かれているものはありませんでした。
自分で解釈しながらswiftに変換したのですが最終的に出てくる値が
1.32327や1.32334などで、何を表しているのかわかりません。
自分の解釈が間違っているのかもしれません。
どうやったら方位角が出るのか教えていただきたいです。

元のコード

objective

1float CalculateAngle(float nLat1, float nLon1, float nLat2, float nLon2) 2{ 3 float longitudinalDifference = nLon2 - nLon1; 4 float latitudinalDifference = nLat2 - nLat1; 5 float azimuth = (M_PI * .5f) - atan(latitudinalDifference / longitudinalDifference); 6 if (longitudinalDifference > 0) return( azimuth ); 7 else if (longitudinalDifference < 0) return( azimuth + M_PI ); 8 else if (latitudinalDifference < 0) return( M_PI ); 9 return( 0.0f ); 10}

自分のコード(変数に代入されるようにしています)

swift

1func getHeading(current: CLLocationCoordinate2D, destination: CLLocationCoordinate2D){ 2 3 let nLon1 = current.longitude 4 let nLat1 = current.latitude 5 let nLon2 = destination.longitude 6 let nLat2 = destination.latitude 7 8 let longitudinalDifference: Float = Float(nLon2 - nLon1) 9 let latitudinalDifference: Float = Float(nLat2 - nLat1) 10 let azimuth = (Float(Double.pi) * 0.5) - atan(latitudinalDifference / longitudinalDifference) 11 12 if longitudinalDifference > 0 { 13 whereIsTheDestination = azimuth 14 }else if longitudinalDifference < 0 { 15 whereIsTheDestination = azimuth + Float(Double.pi) 16 }else if latitudinalDifference < 0 { 17 whereIsTheDestination = Float(Double.pi) 18 } 19 print(whereIsTheDestination) 20 } 21

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

先の質問への回答にも書きましたが、ラジアンです。

投稿2017/08/15 10:48

MasakiHori

総合スコア3384

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RyoTamura

2017/08/18 06:38

ありがとうございます!角度を求めることができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問