振幅と震央距離からリヒターマグニチュードを計算
震央から100 kmの地点で記録された振幅1 mmは、距離補正3を加えて地方マグニチュード3になります。同じ距離で振幅が10倍になるごとに、マグニチュードは1ずつ上がります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 振幅 (mm)
- 1
- 距離 (km)
- 100
- マグニチュード (ML)
- 3
- 減衰補正
- 3
- 補間
- log_distance
この計算機は、地震計に記録されたゼロからピークまでの最大振幅と地震の震央距離から、M_Lで表されるローカルマグニチュードを推定します。振幅はミリメートル、距離はキロメートルで入力してください。振幅の常用対数に標準的な距離減衰補正を加え、距離が表の値の間にある場合は補間します。対数によるマグニチュードを求められないため、ゼロまたは負の振幅は受け付けません。
ローカルマグニチュードが示すもの
ローカルマグニチュードは、地震計が記録した動きを、近隣の地震同士で比較できる簡潔な数値に変換するために考案されました。測定には、ここではミリメートルで表す、波形の基線からピークまでの最大変位を使います。ただし振幅だけでは十分ではありません。
地震波は伝わる間に減衰するため、同じ振幅が震央から遠い地点で記録された場合は、より大きな震源現象を意味します。そのため、この計算機は振幅と震央距離を組み合わせ、M_Lを振幅の常用対数と距離に応じた減衰補正の和として求めます。距離が同じなら、振幅が10倍になるとマグニチュードは1増加します。
距離が大きい場合も、観測点に届くまでに失われたエネルギーが多いため、補正値は大きくなります。返されるマグニチュードに単位はありませんが、応答には正規化したミリメートルとキロメートルの入力、および適用した補正値も含まれます。これは標準的な計器応答を前提とする古典的な推定値です。
現在の地震観測機関は、複数の校正済み観測点、地域別の減衰式、計器補正、フィルター、品質管理を用いることがあります。そのため、公表される審査済みの値は、単一波形によるこの学習用結果と異なる場合があります。
振幅と距離の入力方法
問題でマイクロメートルが示されている場合は、送信前に1000で割ります。たとえば1000マイクロメートルは1ミリメートルです。問題文が明示的に振幅と定義していない限り、ピーク間の幅は入力しないでください。
対称な波形ではピーク間の値はゼロからピークまでの振幅の2倍であり、対数結果が変わります。振幅はゼロより大きい有限数でなければなりません。ゼロの常用対数は有限でないため明示的に拒否され、負の値も、振幅が符号付きの方向ではなく変位の大きさを表すため無効です。
震源の深さや震源までの直線距離ではありません。表が対応する範囲は10から1000キロメートルまでで、両端を含みます。範囲外では、根拠のない精度を示さないよう外挿せずに拒否します。
単位を明記することで、マグニチュードを3もずらす振幅の1000倍誤差を防げます。
減衰表の適用方法
計算には、10から1000キロメートルまでの距離点を持つ固定減衰表を使用します。各補正値は、波形振幅をミリメートルで測る場合の、その距離における基準振幅A0の常用対数に負号を付けた値です。距離が表の点と一致すれば、その補正値を直接使います。
たとえば100キロメートルでは補正値が3.0なので、1ミリメートルの波形ならM_Lはlog10(1)に3.0を加えた3.0です。距離が2点の間にある場合、距離のlog10に対して線形補間します。対数距離での補間は、等しいキロメートル間隔を同じ物理変化とみなす方法より、減衰の対数的性質に適しています。
応答には補間方式も記載されるため、自動処理側で推測する必要はありません。ネットワーク、乱数、現在日時、非公開の観測点情報は使用せず、同じ入力には必ず同じ出力が返ります。研究や防災判断には、観測機関が審査した結果と校正済みの地域モデルをご利用ください。
活用例
地震学の演習を確認する
最大波形振幅と震央距離が与えられた手計算を確認できます。
再現可能な教材を作成する
授業、小テスト、自動試験向けに同じ結果を返すローカルマグニチュード例を作れます。
現地記録を予備確認する
校正を伴う正式な解析の前に、標準振幅の観測値を素早く比較できます。
よくある質問
振幅がゼロだと拒否されるのはなぜですか?
ローカルマグニチュードは振幅の常用対数を使います。ゼロの対数は有限ではないため、リヒターマグニチュードを計算できません。
振幅に負の値を使えますか?
使えません。 波形の向きには符号がありますが、最大振幅は変位の絶対的な大きさなので、ゼロより大きい必要があります。
どの単位を使いますか?
ゼロからピークまでの最大振幅にはミリメートル、震央距離にはキロメートルを使用してください。
表の距離の中間ではどうなりますか?
隣接する2つの表の点の間で、距離のlog10に対して補正値を線形補間します。
どの範囲の震央距離を入力できますか?
10 kmから1000 kmまでで、両端も含みます。範囲外の値は外挿せずに受け付けません。地域の減衰表をその範囲より先へ延ばすと、実際にはない精度があるように見えてしまうためです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/earth/richter-from-amplitude \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amplitude_mm":1,"distance_km":100}'const res = await fetch("https://api.kit.forhosting.com/earth/richter-from-amplitude", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amplitude_mm": 1,
"distance_km": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/richter-from-amplitude",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amplitude_mm": 1,
"distance_km": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/richter-from-amplitude", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amplitude_mm":1,"distance_km":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amplitude_mm":1,"distance_km":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/richter-from-amplitude", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"amplitude_mm": 1,
"distance_km": 100
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.richter_from_amplitude",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
授業、現地記録の確認、例題にはブラウザー版を利用でき、再現可能な結果が必要な場合は、成功した項目ごとに$0.002で決定論的なAPIを呼び出せます。
振幅と距離の入力方法
amplitude_mmには、波形の基線からピークまでの最大振幅を入力してください。distance_kmには、観測点から震央までの地表距離を入力してください。各欄には有限のJSON数値が必要で、未入力、文字列、NaN、無限大はinvalid_inputになります。
減衰表の適用方法
JSON比較を安定させながら、通常の手作業による地震記録の読み取りより十分高い精度を保つため、結果は有効数字12桁に丸めます。APIでは成功した項目ごとに$0.002がかかり、不正な入力から見かけ上もっともらしい値を作ることはありません。
技術的な質問
利用料金はいくらですか?
ブラウザーでは無料で実行できます。APIで正常に処理された項目ごとに$0.002がかかります。