ドップラーシフトから視線速度を計算
この計算ツールは、スペクトル線の波長シフトを非相対論的ドップラー近似によって視線方向の速度へ変換します。観測波長と、それに対応する実験室での静止波長を同じ単位で入力してください。結果にはメートル毎秒とキロメートル毎秒の速度に加え、波長差と相対的な波長シフトが表示されます。正の値は赤方偏移と遠ざかる運動を、負の値は青方偏移と近づく運動を表します。測定速度が光速に比べて十分小さい場合の、天文学における簡潔な確認に適しています。
無料で実行
対応する観測波長と静止波長を選びます
測定スペクトルと実験室の基準データの両方で、確実に同定できるスペクトル特徴を選んでください。観測された線中心を observed_wavelength、シフトしていない実験室値を rest_wavelength として入力します。両方の数値には同じ波長単位を使用する必要があります。計算では比を用いるため、ナノメートル、オングストローム、マイクロメートル、メートルのいずれでも利用できますが、異なる単位を混ぜると意味のない速度になります。静止波長は必ず正で、どちらも有限の数値でなければなりません。科学的に良い結果を得るには、ノイズを含む単一ピクセルを選ぶのではなく、線のプロファイルをフィッティングして中心を求めてください。また、基準波長が空気中と真空中のどちらで定義されているかも確認してください。本ツールは入力値を厳密な値として扱い、測定不確かさの推定、混合線の分離、装置較正の補正は行いません。これらは入力前のデータ処理で実施してください。
ドップラー計算と符号を理解します
最初に、観測波長から静止波長を引いて波長差を求めます。次に、その差を静止波長で割り、低速度では z と書かれることが多い無次元の相対シフトを算出します。最後に、その値へ正確な光速 299,792,458 メートル毎秒を掛けます。実装式は、v = c × (観測波長 − 静止波長) ÷ 静止波長です。観測波長のほうが長い場合、シフトと速度は正となり、天体は赤方偏移して視線方向に遠ざかっています。短い場合は両方が負となり、青方偏移して近づいています。波長が等しければ速度はゼロです。得られるのは観測者へ向かう、または観測者から離れる半径方向の成分だけで、天球面上の横方向の運動は表しません。出力には精密なメートル毎秒、天文学で一般的なキロメートル毎秒、および検算や記録に使える二つの中間シフトが含まれます。
非相対論的近似が適する範囲を確認します
この機能は、古典的な非相対論的ドップラー式を意図的に使用しています。視線速度の絶対値が光速に比べて小さい場合に有効で、多くの恒星、惑星、連星、近傍銀河の測定に適用できます。相対的な波長シフトが大きくなるほど、古典近似は特殊相対論のドップラー関係から離れていきます。高速ジェット、クエーサー、遠方銀河など相対論的な精度が必要な場合は、相対論的計算を使用し、必要に応じて適切な宇宙論的赤方偏移モデルも検討してください。結果の信頼性は、波長較正とスペクトル線の同定にも左右されます。地球の自転と公転、観測所の位置、天体座標、観測時刻、重力シフト、選択した基準系には個別の補正が必要な場合があります。重心、太陽中心、局所静止基準への補正は行いません。出力は、この近似の下で二つの入力波長が直接示す速度として扱ってください。同じ決定論的計算を API ではリクエスト当たり $0.002 で利用できます。
活用例
恒星の吸収線を確認する
同定済みの恒星線の測定シフトを符号付き視線速度へ変換し、スペクトルをすばやく確認できます。
複数時期の観測を比較する
同じ特徴の視線速度を複数の時期について計算し、軌道運動や脈動による変化を調べられます。
分光処理を検証する
既知の波長ペアを、古典的ドップラー速度を抽出または報告するソフトウェアの決定論的テストに使用できます。
よくある質問
どの波長単位を使用できますか?
オングストローム、ナノメートル、マイクロメートル、メートルなど、統一されていればどの単位でも使えます。二つの入力には同じ単位を使用してください。
正の速度は何を意味しますか?
観測波長が静止波長より長いことを示します。この符号規約では、赤方偏移して遠ざかる運動を意味します。
負の速度は何を意味しますか?
観測波長が静止波長より短いことを示し、青方偏移して近づく運動を意味します。
相対論的ドップラー式を使用していますか?
いいえ。非相対論的近似を使用しており、光速に比べて十分小さい速度を対象としています。
重心補正や太陽中心補正は行われますか?
いいえ。二つの波長が示す直接のシフトだけを計算します。基準系と観測所の運動に関する補正は別途行ってください。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/astro/radial-velocity-doppler \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"observed_wavelength":656.5,"rest_wavelength":656.28}'const res = await fetch("https://api.kit.forhosting.com/astro/radial-velocity-doppler", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"observed_wavelength": 656.5,
"rest_wavelength": 656.28
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/radial-velocity-doppler",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"observed_wavelength": 656.5,
"rest_wavelength": 656.28
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/radial-velocity-doppler", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"observed_wavelength":656.5,"rest_wavelength":656.28}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"observed_wavelength":656.5,"rest_wavelength":656.28}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/radial-velocity-doppler", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"observed_wavelength": 656.5,
"rest_wavelength": 656.28
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.radial_velocity_doppler",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |