mph と knots の変換がなぜ単なる「長さの換算」ではないのか
このページで扱う mph(マイル毎時)と knots(ノット)の変換は、単純な長さの単位変更ではない。mph は statute mile(法定マイル、5,280 フィート)を、knots は nautical mile(海里、正確に 1,852 メートル)をそれぞれ 1 時間に進む速度である。海里は地球の円周を 360 度 × 60 分 = 21,600 分の弧に分割した 1 分の長さに由来し、緯度 1 分の距離にほぼ等しい。法定マイルはローマの mille passus(1,000 歩)を起源とし、16 世紀にエリザベス 1 世が 5,280 フィートと定めた。この異なる距離定義が変換を「単なる係数掛け」ではなく、二種類の「マイル」の本質を理解した上での操作にする。
内部では丸めを行わず、正確な変換係数 0.868976241901(1 mph → knots)とその逆数 1.15077944802(1 kn → mph)を用いて計算する。この数値は 1,852 メートル(海里の定義) ÷ 1,609.344 メートル(法定マイルの定義)から導かれる有理数比であり、無限に続く循環小数ではない。表示上は実用的な桁数(通常小数点以下 10 桁)に丸めるが、内部計算の精度は維持される。
変換係数の導出と数学的根拠
1 海里 = 1,852 メートル(国際海里、1929 年国際水路会議で採択)。1 法定マイル = 1,609.344 メートル(1959 年国際ヤード・ポンド協定で 1 ヤードを 0.9144 メートルと定義したことによる)。したがって 1 mph を knots に変換するには、1 時間あたりに進む距離を海里単位に直す必要がある。
1 mph = 1,609.344 メートル / 1,852 メートル = 1,609.344 ÷ 1,852 ≈ 0.868976241901(以下、非循環)
逆に 1 kn = 1,852 ÷ 1,609.344 ≈ 1.15077944802
この係数は無理数ではなく有理数である。分母と分子を最大公約数で割ると 1609344 ÷ 1852 だが、1852 は 2² × 463、1609344 は 2⁵ × 3² × 7 × 17 × 47 という互いに素な因数を持つため、小数表現は有限桁で終わらず、計算機では 0.868976241901 と表示される。このページではこの係数を内部的にそのまま使用し、表示を 10 桁程度に丸めている。
入力ルールとエッジケースの処理
このページの動作は、以下の仕様に従う。
- 双方向入力:mph フィールドか knots フィールドのいずれかに数値を入力すると、他方に即座に変換結果が表示される。両方のフィールドに値がある状態でページが読み込まれた場合は、一方をクリアし、最後に編集された方のみを変換元として利用する。
- 符号の扱い:負の数も受け付ける。例えば -10 mph を入力すると -8.68976241901 kn が返る。速度はスカラー量であるため方向は持たないが、代数演算上は問題なく変換できる。
- ゼロ:0 mph は 0 kn。両単位の定義が原点で一致するため、特に矛盾はない。
- 大きな数:桁数が極端に大きくなると、指数表記(例:1.234e+5 kn)で表示される可能性がある。これは内部計算の維持と表示の可読性を両立するための措置である。
- 精度:内部的には倍精度浮動小数点数を用い、上記の変換係数を完全に保持する。表示はデフォルトで小数点以下 10 桁程度に丸められるが、必要に応じてさらに細かい桁も取得できる。
実世界での利用シーンと速度比較
この変換が実際に使われる場面は多岐にわたる。以下に代表的な事例を示す。
具体的な数値比較(1 kn ≒ 1.15078 mph)
| 速度(knots) | 速度(mph) | 用途の例 |
|---|---|---|
| 5 kn | 5.75 mph | 小型ヨットの巡航速度 |
| 10 kn | 11.51 mph | 中型漁船の経済速力 |
| 20 kn | 23.02 mph | 高速モーターボート |
| 30 kn | 34.52 mph | ヨットの計画速力 |
| 60 kn | 69.05 mph | 高速フェリー(一部) |
| 100 kn | 115.08 mph | 小型航空機の巡航速度(軽飛行機) |
気象分野では、海上の風速は通常ノットで報告される。例えば「風速 30 ノット」と聞けば、陸上のドライバーが mph 換算で約 34.5 mph をイメージできる。航空でも対気速度(IAS)や対地速度(GS)はノット表示が標準だが、一部の地域では mph が使われることもあり、パイロットは両単位の相互理解を求められる。
よくある誤解と注意点
- 「ノット」は時速の単位であり、距離の単位ではない:knots は「海里毎時」という速度の単位である。単に「ノット」と言った場合は速度を示す。
- 丸めによる誤差:おおよその換算として「1 mph ≒ 0.869 kn」や「1 kn ≒ 1.15 mph」が使われるが、精密な航海計算では上記の係数を用いるべきである。特に長距離航海中の速度積算では、わずかな丸め誤差が累積する。
- 表示桁数の誤解:このページでは表示を 10 桁に丸めているが、内部計算はその係数をそのまま使っている。例えば 1 mph を入力すると 0.8689762419 kn と表示されるが、実際の値は 0.868976241901… であり、それを 10 桁で切っている。
- 両方向の変換係数が逆数でないと誤った結果になる:0.868976… の逆数は 1.150779… であり、これを丸めて 1.15 のみを使うと、長大な数値では誤差が大きくなる。
よくある質問(FAQ)
Q: なぜ航海や航空ではノットを使うのですか? A: 海里が緯度 1 分の距離に相当するため、地図上の距離と角度を直接結びつけられるからです。これにより、航海計算での三角関数や緯度経度の扱いが簡便になります。
Q: 1 ノットは時速何キロメートルですか? A: 1 kn = 1.852 km/h です(海里の定義が 1,852 メートルであるため)。この変換もよく使われます。
Q: 負の値を入力しても問題ありませんか? A: はい、負の値も正しく変換されます。物理的には「後退速度」や「逆方向の流れ」などを表す場合に使われます。
Q: 結果が指数表記になるのはどんなときですか? A: 数値が非常に大きい場合(例:100,000 mph 以上)に指数表示が使われることがあります。日常的な速度ではまず発生しません。
Q: 変換係数は小数点以下何桁使っているのですか? A: 内部では 0.868976241901 と 1.15077944802 をそのまま使っています。表示では実用上の桁数に丸めています。
Q: 「knots」と「kn」の違いは何ですか? A: 同じです。国際単位系(SI)では接頭辞を伴わない単位として「kn」が推奨されますが、日常的には「knots」もよく使われます。