パワーリフティングDOTSスコア計算ツール
DOTSスコア計算ツールは、性別ごとに定められた多項式を用い、体重が異なるパワーリフターのトータルを比較しやすくします。スクワット、ベンチプレス、デッドリフトの合計、選手の体重、該当する性別区分を入力してください。通信、乱数、プロフィール保存は行いません。大会成績の確認、階級変更を伴う成長の記録、公表スコアの再計算に、同じ入力なら常に同じ結果が得られる計算として利用できます。
無料で実行
トータルと体重をキログラムで入力します
トータルには、同じ大会または測定会で成功したスクワット、ベンチプレス、デッドリフトの各ベスト記録の合計を使用します。その値をlifted_total_kgに、計量時の体重をbody_weight_kgに入力してください。どちらも単位はキログラムです。ポンドの値は事前に換算し、単位を混在させないでください。係数の区分としてmaleまたはfemaleを選択します。3項目はすべて必須です。未入力、0以下、有限でない数値、対応外の区分はエラーになります。3種目を個別入力してトータルを作る機能や、試技が競技規則に適合するかを判定する機能はありません。出力には入力値も再掲されるため、元のフォームがなくても保存結果を確認できます。
DOTSスコアの計算方法を確認します
DOTSでは、対応する性別区分ごとに異なる4次多項式を使用します。選択した多項式で体重から分母を求め、挙上トータルを500倍してその値で割ります。単純にトータルを体重で割る計算ではありません。競技用の方式に従い、式に使う体重は男性210キログラム、女性150キログラムが上限です。入力体重が上限を超える場合もbody_weight_kgには実測値を残し、formula_body_weight_kgに計算値を示し、body_weight_cappedをtrueにします。多項式を最後まで計算してからdots_scoreを小数第3位に丸めます。固定係数と純粋な算術だけを使うため、同一のJSON入力からは常に同一の出力が得られます。
競技条件も含めて比較します
DOTSは比較の補助としてお使いください。医療評価や完全な順位制度ではありません。数値が高いほど、体重補正後のトータルが強いことを示します。ただし、有意義な比較には近い競技条件が必要です。ノーギアとイクイップ、審判基準、年齢区分、ジム記録と公式大会の違いにより、近いスコアでも意味は変わります。経験、けが、技術、3種目へのトータル配分も考慮されません。元のトータル、体重、性別区分、競技条件をスコアと一緒に保存してください。APIによる自動計算は1回$0.002で、オフライン設計のため再確認も容易です。
活用例
体重階級をまたいで比較する
体重が異なる選手のトータルを共通のDOTS尺度で比較できます。
トレーニング周期を追跡する
体重変化に対してトータルがどの程度伸びたかを確認できます。
大会結果を検算する
記録されたトータル、計量値、性別区分から公表スコアを再計算できます。
よくある質問
どの入力が必要ですか?
正のトータルと体重をキログラムで入力し、DOTS係数区分としてmaleまたはfemaleを指定します。
挙上トータルには何を含めますか?
対象記録におけるスクワット、ベンチプレス、デッドリフトの各ベスト成功試技の合計です。
式の体重が入力値と異なるのはなぜですか?
DOTSでは男性210キログラム、女性150キログラムを上限とします。出力には両方の値と上限適用の有無を示します。
ポンドで入力できますか?
できません。トータルと体重はキログラムに換算してから入力してください。
DOTSスコアは高いほど良いですか?
同等の競技条件なら、高い値ほど体重補正後のトータルが強いことを示します。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/health/dots-score \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lifted_total_kg":500,"body_weight_kg":75,"sex":"male"}'const res = await fetch("https://api.kit.forhosting.com/health/dots-score", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lifted_total_kg": 500,
"body_weight_kg": 75,
"sex": "male"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/dots-score",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lifted_total_kg": 500,
"body_weight_kg": 75,
"sex": "male"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/dots-score", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lifted_total_kg":500,"body_weight_kg":75,"sex":"male"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lifted_total_kg":500,"body_weight_kg":75,"sex":"male"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/dots-score", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"lifted_total_kg": 500,
"body_weight_kg": 75,
"sex": "male"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.dots_score",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |