NPK肥料のヘクタール当たり施用量計算
このNPK施肥量計算ツールは、指定した窒素・リン・カリウムの目標量をすべて満たすために必要な肥料製品の最小量を、1ヘクタール当たりのキログラムで求めます。各成分を個別に計算し、最も多くの製品を必要とする成分を基準に採用したうえで、実際に供給される各成分量を表示します。製品の成分比が目標比と一致しない場合は、基準となる成分と過剰分も確認できます。目標値と製品の成分率は、必ず同じ化学的基準で入力してください。
無料で実行
同じ基準の目標値と成分率を入力します
まず、各成分の施肥目標を1ヘクタール当たりのキログラムで入力し、続いて製品に表示された3つの成分率を入力してください。不要な成分の目標値は0にできますが、少なくとも1つは0より大きい必要があります。正の目標値がある成分については、製品の含有率も0より大きくなければなりません。その成分を含まない製品では、どれだけ増量しても目標を満たせないためです。特に、化学的な表示基準をそろえてください。多くの肥料ラベルではリンとカリウムをP2O5およびK2O相当量で示しますが、土壌診断では元素としてのPとKを使う場合があります。両者を換算せずに混在させないでください。本ツールは表示方式を推測しません。誤った推測は現場の施用量に大きな誤差を生むためです。成分率は質量割合として扱われ、窒素20パーセントの製品100キログラムにはNが20キログラム含まれます。
製品施用量の決まり方を確認します
各成分について、1ヘクタール当たりの目標量を製品中の小数表記の割合で割ります。たとえば窒素目標が120 kg/ha、製品の窒素含有率が20パーセントなら、必要な製品量は600 kg/haです。リンとカリウムにも同じ計算を行います。1つの配合肥料には1つの施用量しか設定できないため、3つの計算結果のうち最大値を採用します。これが、すべての正の目標を1回の施用で満たす最小量です。その最大値を決めた成分が基準成分として表示され、必要量が等しい場合は複数表示されます。この方法は過剰分の最小化ではなく、すべての目標を満たすことを優先します。製品のN:P:K比が目標比と異なれば、基準成分を満たす際に別の成分が過剰になります。供給量と過剰量を確認することで、施用前にその影響を判断できます。
計画用の数値として活用します
主な結果は1ヘクタール当たりの製品キログラムです。実際に処理する面積を掛けると、圃場全体の製品量を求められます。散布機の校正、製品密度、ラベル上の制限、分施方針、作業上の損失は別に検討してください。主結果だけでなく、各成分の供給量と過剰量も確認することが重要です。リンやカリウムの過剰量が大きい場合、計算自体が正しくても、その配合が推奨値に適していない可能性があります。その際は別の配合、単肥の併用、または有資格の専門家への相談をご検討ください。本ツールは質量収支を計算するもので、土壌診断の解釈、利用可能量の推定、残存肥力の考慮、製品選定、地域の施用上限の代替は行いません。購入量には実処理面積を用い、目標量を無断で増やさず、必要な作業余裕だけを加えてください。
活用例
肥料銘柄を比較する
同じ推奨値に複数の成分率を当てはめ、必要な製品量と成分過剰量を比較できます。
面積当たりの施肥計画を作る
N・P・Kの目標を、すべての正の目標を満たす1つの配合肥料施用量へ変換できます。
配合の適合性を確認する
基準成分を特定し、製品比と目標比の違いによって生じる過剰供給を把握できます。
よくある質問
利用料金はいくらですか?
ブラウザーでは無料でご利用いただけます。APIの1リクエストは $0.002 です。
結果は1ヘクタールだけに適用されますか?
結果は1ヘクタール当たりのキログラムです。処理するヘクタール数を掛けると、製品の総量になります。
成分目標に0を入力できますか?
はい。0の成分は最小施用量を決めませんが、製品から供給される場合はあります。少なくとも1つの目標は正でなければなりません。
成分の過剰量が表示されるのはなぜですか?
製品の成分比は固定されています。目標比と異なる場合、1成分を満たす施用量によって別の成分が過剰になります。
元素量と酸化物相当量のどちらを使いますか?
各目標と対応する製品成分率が同じ基準なら、どちらでも計算できます。表示基準が異なる場合は先に換算してください。
農学的な施肥推奨の代わりになりますか?
いいえ。既存の推奨値を製品量へ換算するだけで、土壌評価、安全上限、利用可能性、法令は判断しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/bio/fertilizer-npk-rate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"target_nitrogen_kg_ha":120,"target_phosphorus_kg_ha":60,"target_potassium_kg_ha":90,"product_nitrogen_percent":20,"product_phosphorus_percent":10,"product_potassium_percent":15}'const res = await fetch("https://api.kit.forhosting.com/bio/fertilizer-npk-rate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"target_nitrogen_kg_ha": 120,
"target_phosphorus_kg_ha": 60,
"target_potassium_kg_ha": 90,
"product_nitrogen_percent": 20,
"product_phosphorus_percent": 10,
"product_potassium_percent": 15
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/fertilizer-npk-rate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"target_nitrogen_kg_ha": 120,
"target_phosphorus_kg_ha": 60,
"target_potassium_kg_ha": 90,
"product_nitrogen_percent": 20,
"product_phosphorus_percent": 10,
"product_potassium_percent": 15
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/fertilizer-npk-rate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"target_nitrogen_kg_ha":120,"target_phosphorus_kg_ha":60,"target_potassium_kg_ha":90,"product_nitrogen_percent":20,"product_phosphorus_percent":10,"product_potassium_percent":15}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"target_nitrogen_kg_ha":120,"target_phosphorus_kg_ha":60,"target_potassium_kg_ha":90,"product_nitrogen_percent":20,"product_phosphorus_percent":10,"product_potassium_percent":15}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/fertilizer-npk-rate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"target_nitrogen_kg_ha": 120,
"target_phosphorus_kg_ha": 60,
"target_potassium_kg_ha": 90,
"product_nitrogen_percent": 20,
"product_phosphorus_percent": 10,
"product_potassium_percent": 15
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.fertilizer_npk_rate",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |