運動前後の体重から発汗率を推定
この発汗率推定ツールは、運動前後の簡単な体重測定を、水分補給計画に役立つ目安へ変換します。運動の直前と直後に測った体重、運動中に摂取した水分の総量、運動時間を入力してください。体重の変化1キログラムを約1リットルの水分とみなし、摂取した量を加えて、推定発汗量と1時間当たりの発汗率を算出します。計画の参考にはなりますが、医学的評価や精密な検査室測定に代わるものではありません。
無料で実行
運動前後の体重を同じ条件で測定します
発汗率の推定精度は、2回の体重測定をどれだけ同じ条件で行えるかに大きく左右されます。運動の前後で同じ信頼できる体重計を使い、同じ硬く平らな場所に置き、可能な限り衣服を少なくして測定してください。衣服を着る必要がある場合は同じものを着用し、汗を含んだ布地が実際の体重減少の一部を隠す可能性に注意します。運動前の体重は開始直前に、運動後の体重は終了後できるだけ早く、追加の飲食をする前に記録してください。2回目の測定前には、目に見える汗を拭き取ります。数値はキログラムで入力し、体重計の精度を超えて丸めないでください。また、水、スポーツドリンク、その他の飲料を含め、運動中に実際に飲んだものをすべて記録し、リットル単位で合計します。小数点以下の桁数を増やすことより、体重計の設置場所、濡れた衣服、記録漏れの飲料といった条件をそろえることのほうが重要です。これらは推定値を大きく変える場合があります。
計算方法と前提を理解します
最初に運動前の体重から運動後の体重を引き、観測された体重減少を求めます。次に、運動中に飲んだ水分を加えます。飲んだ水分は、発汗で失われた体内の水分を一時的に補い、体重計に現れる減少を小さくするためです。体重変化1キログラムを水1リットルとする実用上の近似により、推定発汗量をリットルで算出します。その値を運動時間を時間単位にした数値で割ると、1時間当たりのリットル数になります。同じ水分損失でも、短時間の運動ほど時間当たりの発汗率は高くなります。この方法は、短時間の体重変化の大部分が体内水分によるものと仮定しています。排尿、食事、呼吸による水分損失、エネルギー源の消費、口に入らずこぼれた飲料は個別に補正しません。長時間の競技や厳密な研究では、これらの要因が重要になることがあります。運動後の体重増加が記録した摂取量を上回ると負の結果が出ますが、通常は発汗が負になったのではなく、測定条件の不一致や入力漏れを示します。
水分補給計画の参考として活用します
発汗率は気温、湿度、運動強度、服装、暑熱順化、個人差によって変わるため、計画したい練習や大会に近い条件で測定を繰り返してください。1回の結果はその時点の目安であり、永久に変わらない個人の定数ではありません。似た条件の複数の運動を比較すると、実用的な範囲が分かり、暑い日と涼しい日で必要量がどのように異なるかを確認できます。推定値は、飲水計画を専門家と相談したり、ボトル容量を選んだり、予定している給水所の間隔が現実的かを検討したりする際に役立ちます。ただし、運動中に汗の全量を必ず補うよう指示するものではなく、ナトリウム損失や電解質の必要量も、この結果だけでは分かりません。過剰な水分摂取にも危険があります。持病、気になる症状、極端に高いまたは低い結果がある場合は、適切な資格を持つ医療専門職やスポーツ栄養士へ個別に相談してください。自動的な処方としてではなく、喉の渇き、環境条件、大会運営、専門家の助言と併せてご利用ください。
活用例
長時間練習に必要なボトルを計画します
1時間当たりの水分損失の範囲を推定し、携行量をコース、天候、補給できる場所と比較します。
暑い日と涼しい日の運動を比較します
似た運動で同じ条件の体重測定を繰り返し、環境が発汗率に与える影響を確認します。
大会の水分補給計画を確認します
推定値を使い、ボトル容量や給水所の間隔が大会当日に実用的かを事前に検討します。
よくある質問
どのような計算式を使用しますか?
推定発汗量は、運動前の体重から運動後の体重を引き、摂取した水分を加えた値です。これを運動時間で割り、1時間当たりのリットル数を求めます。
なぜ水分摂取量を体重減少に加えるのですか?
運動中に飲んだ水分は失われた体内水分の一部を補い、体重計に現れる変化を小さくします。そのため、総損失量の推定時に加えます。
運動中の排尿は計算に含まれますか?
いいえ。測定期間中に排尿した場合、その水分損失も体重変化に含まれるため、発汗量を実際より多く推定する可能性があります。
推定発汗率が負になったのはなぜですか?
運動後の体重増加が記録した飲水量より大きいと、負の値になります。体重計、単位、濡れた衣服、すべての飲料の記録をご確認ください。
結果から飲むべき量を正確に決められますか?
いいえ。これは計画用の目安であり、個別の処方ではありません。環境、耐容性、運動時間、健康状態、専門家の助言も考慮する必要があります。
APIリクエストの料金はいくらですか?
APIの料金は1リクエスト当たり$0.002です。ブラウザー版は、このページ上でローカルに実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fitness2/hydration-sweat-rate-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pre_workout_weight_kg":72.4,"post_workout_weight_kg":71.8,"fluid_intake_l":0.75,"duration_minutes":90}'const res = await fetch("https://api.kit.forhosting.com/fitness2/hydration-sweat-rate-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pre_workout_weight_kg": 72.4,
"post_workout_weight_kg": 71.8,
"fluid_intake_l": 0.75,
"duration_minutes": 90
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fitness2/hydration-sweat-rate-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pre_workout_weight_kg": 72.4,
"post_workout_weight_kg": 71.8,
"fluid_intake_l": 0.75,
"duration_minutes": 90
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fitness2/hydration-sweat-rate-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pre_workout_weight_kg":72.4,"post_workout_weight_kg":71.8,"fluid_intake_l":0.75,"duration_minutes":90}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pre_workout_weight_kg":72.4,"post_workout_weight_kg":71.8,"fluid_intake_l":0.75,"duration_minutes":90}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fitness2/hydration-sweat-rate-estimate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"pre_workout_weight_kg": 72.4,
"post_workout_weight_kg": 71.8,
"fluid_intake_l": 0.75,
"duration_minutes": 90
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fitness2.hydration_sweat_rate_estimate",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |