2017-08-22 7 views
1

フォーマットN000.11.22.333 E444.55.66.777の地理座標があります。正確さのためにはミリ秒が必要です。私はcoord0、角度、距離を指定してcoordを計算するような計算を行う必要があります。確かに、ミリ秒以上の精度を保ちたい。この計算アルゴリズムや他の計算アルゴリズムでは、結果を得るために三角関数を使用することがよくあります。 どちらの解決方法が良いですか?1)度数、分、秒、ミリ秒単位のuintとオーバーロード演算子を含む構造体を使用して操作します。 2)ダブルタイプを使用し、コーディングを小数点に変換して計算します。フロートタイプはこれらの計算では十分に安定していないと思います。coordsを保存する最良の方法:uintsまたはdoubleの構造体ですか?

がQT 5.9 x64のプロジェクト、MSVC 2017のために使用することが、(ほぼ間違いなくダブル)一番簡単な方プラットフォームのみ

+0

なぜ高精度の浮動小数点または固定小数点フォーマットを提供するライブラリを使用しないのですか? –

+0

trig計算を行う場合は、ラジアン単位の値が必要です。内部計算では変換をASAPにし、入力と出力にはdeg/min/secしか使用しないでください。 –

答えて

1

ピックを獲得。倍率は、定規や慎重な測量者よりも正確です。多くのナビゲーションソフトウェアでは、latには1つの32ビット整数が使用され、longには1つの32ビット整数が使用されます。

+0

しかし、1)私は間違いなく@SirWojtekにリンクされているライブラリを見ています。 2)座標が実際に使用されているレベルでは、あなたのデータ型がまったく問題になることは本当に悪い考えです。 (座標を処理するよう設計された関数をすべて実行したい) – zzxyz

+0

であり、最後にこれはあなたにとって便利なはずです:https://gis.stackexchange.com/questions/8650/measuring-accuracy-of-latitude-and-longitude – zzxyz

関連する問題