航空機の重量重心計算
空虚重量、前席、燃料、手荷物の合計は2,130 lb、モーメントは186,200で、重心は82〜95.5の範囲内、最大重量2,550 lbも下回ります。各ステーションの重量とアームを入れて搭載を確認できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 最大総重量
- 2,550
- CG前方限界
- 82
- CG後方限界
- 95.5
- ステーション数
- 4
- 総重量
- 2,130
- 総モーメント
- 186,200
- Cg
- 87.41784038
離陸のたびに重量と重心の確認が必要です。空虚重量、乗員、乗客、燃料、手荷物はそれぞれ基準点(datum)からの既知のアームに位置し、結果として得られる重心は証明された包絡線の内側に収まらなければなりません。この航空機重量重心計算機は、重量とアームを持つステーション一覧を受け取り、各組をモーメントに乗算し、重量とモーメントを合計し、総モーメントを総重量で割った CG を返します。任意の最大総重量と前方/後方 CG 限界により、ランプへ出る前に紙面上の搭載が妥当かどうかを示します。検証失敗は課金されません。
重量・アーム・モーメント・CG の関係
軽飛行機の重量と重心は、縦方向のてこ問題です。製造者は基準点(しばしば防火壁、前縁、または機首前方の仮想ステーション)とアーム表を公表します。空虚機の CG アーム、前後座席、燃料タンク、手荷物室などです。
各ステーションでは、整合した質量単位(ポンドまたはキログラム)の実重量と、整合した長さ単位(インチまたはミリメートル)のアームを記録します。そのステーションのモーメントは重量×アームです。全ステーション重量を足すと総重量、全モーメントを足すと総モーメントになります。
搭載時の重心は総モーメント÷総重量で、アームと同じ単位で表します。その CG を、選択した重量に対する型式証明データシートまたは操縦士用運航手引書の前方・後方限界と比較します。
総重量が最大総重量を超えるか、CG が前方限界より前、または後方限界より後ろなら、搭載は承認包絡線外であり、手荷物の移動、燃料の消費または取り卸し、座席の変更、地上への重量残置などで調整が必要です。ステーションが基準点より前にあるときアームは負になり得ます。重量は非負で、CG が定義されるよう重量の合計はゼロより大きくなければなりません。
活用例
飛行学校と地上学科の演習
生徒がサンプル型の空虚重量・座席・燃料・手荷物を入力し、手計算のワークシートと総重量・モーメント・CG を照合できるようにします。
飛行前ロードシートの自動化
ディスパッチと飛行計画アプリがステーションモーメントを合計し、プッシュバック前に総重量超過や CG 包絡線外の搭載を検出します。
所有者向け what-if 搭載シナリオ
固定のステーション表と決定的な CG 結果で、乗員の入れ替え、手荷物移動、燃料量の実験を飛行日誌のメモ用に行います。
よくある質問
ステーションから航空機の重心はどう計算しますか?
各ステーションで moment = weight × arm です。総重量は重量の合計、総モーメントはモーメントの合計です。CG = 総モーメント ÷ 総重量で、アームと同じ単位です。
重量とアームにはどの単位を使えばよいですか?
ポンドとインチ、キログラムとミリメートルなど、整合した任意の組で構いません。計算機は単位換算せず、送られた値を乗除します。限界比較には機体 POH の単位を保ってください。
重心が限界の外に出たらどうすればよいですか?
搭載が承認範囲の外にあるので、飛行前に変更が必要です。手荷物を移す、燃料を減らす、座席の配置を変える、荷物を降ろすなどしてから、もう一度計算してください。
アームがマイナスになることはありますか?
あります。基準点より前にあるステーションはアームがマイナスになり、そのモーメントもマイナスです。ただし重量はマイナスにできず、総重量は0より大きい必要があります。
自分の機体のアームと重心限界はどこで分かりますか?
メーカーが基準点と座席、燃料タンク、手荷物室ごとのアームを公表しており、重心限界は飛行規程や型式証明データシートに載っています。この計算は機体固有の搭載図表の代わりにはなりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/travel/weight-and-balance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"stations":[{"name":"Empty weight","weight":1500,"arm":85},{"name":"Front seats","weight":340,"arm":85},{"name":"Fuel","weight":240,"arm":95},{"name":"Baggage","weight":50,"arm":140}]}'const res = await fetch("https://api.kit.forhosting.com/travel/weight-and-balance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"stations": [
{
"name": "Empty weight",
"weight": 1500,
"arm": 85
},
{
"name": "Front seats",
"weight": 340,
"arm": 85
},
{
"name": "Fuel",
"weight": 240,
"arm": 95
},
{
"name": "Baggage",
"weight": 50,
"arm": 140
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/weight-and-balance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"stations": [
{
"name": "Empty weight",
"weight": 1500,
"arm": 85
},
{
"name": "Front seats",
"weight": 340,
"arm": 85
},
{
"name": "Fuel",
"weight": 240,
"arm": 95
},
{
"name": "Baggage",
"weight": 50,
"arm": 140
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/weight-and-balance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"stations":[{"name":"Empty weight","weight":1500,"arm":85},{"name":"Front seats","weight":340,"arm":85},{"name":"Fuel","weight":240,"arm":95},{"name":"Baggage","weight":50,"arm":140}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"stations":[{"name":"Empty weight","weight":1500,"arm":85},{"name":"Front seats","weight":340,"arm":85},{"name":"Fuel","weight":240,"arm":95},{"name":"Baggage","weight":50,"arm":140}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/weight-and-balance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"stations": [
{
"name": "Empty weight",
"weight": 1500,
"arm": 85
},
{
"name": "Front seats",
"weight": 340,
"arm": 85
},
{
"name": "Fuel",
"weight": 240,
"arm": 95
},
{
"name": "Baggage",
"weight": 50,
"arm": 140
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.weight_and_balance",
"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 を使い、モデルトークンも外向きネットワークも使いません。
重量・アーム・モーメント・CG の関係
本エンドポイントは算術と任意の限界チェックを行いますが、型式固有の W&B 図や機体の装備リストの代わりにはなりません。
入力契約、応答フィールド、エラーの扱い
空でないオブジェクト配列で、各要素に weight(有限数 ≥ 0)と arm(有限数)が必要です。最大五十ステーションまで送れます。両方を一緒に送るか、どちらも送らないかにしてください。stations を含む JSON 本体を POST します。任意の name が行のラベルになり、省略時は API が Station 1、Station 2 などを割り当てます。同じ配列に対し alias の list、items、loads も受け付けます。任意の max_gross_weight(mgw、max_weight、gross_weight_limit も可)は、ステーション重量と同じ単位で証明された離陸またはランプ重量の上限を設定します。任意の cg_forward_limit と cg_aft_limit(短い alias あり)はアーム単位で CG 包絡線を定義します。成功時の本体には station_count、各行の index・name・weight・arm・moment を含む stations 配列、total_weight、total_moment、cg、短い公式文字列、人間向け要約が含まれます。限界を与えた場合は、エコーされた限界、within_gross_weight および/または within_cg_limits の真偽値、すべてのチェックが通ったときだけ真となる overall の within_limits も含まれます。stations 欠落、空配列、非有限数、負の重量、総重量ゼロ、CG 限界の片方のみ、後方限界が前方限界より大きくない場合は invalid_input で問題を示して失敗し、それらは課金されません。
航空機重量重心 API が役立つ場面
飛行学校と地上学科プラットフォームは、訓練機型のサンプル搭載を生徒が入力し、手荷物で CG が後方へ、重い前席乗員で前方へ動くかを確認するために航空機重量重心計算機を使います。飛行計画アプリとディスパッチツールは、スプレッドシートを配布せずエッジワーカーから同じ純関数を呼び出します。装備リストからステーションアームは既知で、ロードシート印刷前にモーメント合計と within-limits フラグだけが必要です。実験機やライトスポーツ機の所有者は、JSON の個人ステーション表を持ち、乗員の入れ替え、弾道パラシュート追加、燃料消費仮定の変更などの what-if をデスクトップ表計算を開かずに検証する決定的な基準を求めます。
技術的な質問
最大総重量と CG 限界を確認できますか?
はい。任意の max_gross_weight と、cg_forward_limit および cg_aft_limit の両方を渡してください。それらのフィールドがあるとき、応答に within_gross_weight、within_cg_limits、overall の within_limits が含まれます。
なぜ invalid_input で拒否されましたか?
よくある原因は、stations の欠落や空、非有限の weight または arm、負の重量、総重量ゼロ、CG 限界の片方のみ、後方限界が前方より大きくないことです。示されたフィールドを直して再試行してください。無効入力は課金されません。
航空機重量重心計算機の料金は?
ブラウザツールは無料です。API リクエストは成功した呼び出しごとに前払い KIT 残高から $0.002 です。無効入力は課金されません。