胸高断面積計算機
直径の一覧を林分の胸高断面積に変えます。平均直径30 cmの標本木3本でヘクタールあたり400本なら、約30.37平方メートル毎ヘクタールです。林業で一般的な二乗平均直径を使って計算します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 直径
- 20, 30, 40
- 1ヘクタールあたりの本数
- 400
- 標本サイズ
- 3
- 平均胸高直径 (cm)
- 30
- 二乗平均胸高直径 (cm)
- 31.0912635103
- 1本あたり平均胸高断面積 (m2)
- 0.0759218225
胸高断面積は、胸高における幹の横断面積であり、林分ではヘクタールあたり平方メートルで表します。調査班、育林技術者、林学の学生は、立木密度の把握、間伐の計画、本数が異なるプロットの比較に用います。本計算機はセンチメートル単位の胸高直径の一覧とヘクタールあたり本数を受け取り、二乗平均直径の恒等式、すなわち G は円周率を四万で割った値に Dq の二乗と N を掛けたもの、によって林分胸高断面積 G を返します。
林分胸高断面積が測るものと、式に Dq が入る理由
1 本の胸高断面積は、計量インベントリでは地上 1.3 メートルを慣例とする胸高での幹の横断面積です。断面を、記録した胸高直径を直径とする円として扱います。d がセンチメートル、g が平方メートルのとき、単木面積 g は円周率に d を二百で割った値の二乗を掛けたものです。
センチメートルを百で割るとメートルになり、二で割ると半径になるからです。林分は多数の幹です。 林業者はそれらをヘクタールあたり平方メートルの林分胸高断面積 G、すなわちそれらの円面積の合計を 1 ヘクタールに換算したものとして要約します。
直径の標本とヘクタールあたり本数 N が分かっているときは、二乗した直径の平均の平方根である二乗平均直径 Dq を用い、G は円周率を四万で割った値に Dq の二乗と N を掛けたものになります。この恒等式は、単木面積の算術平均に N を掛けたものとまったく同じです。
したがってヘクタールあたり四百本で、標本の胸高直径が二十・三十・四十センチメートルの林分の G は、3 つの円面積の平均に四百を掛けた値と一致します。算術平均の胸高直径は解釈用に返しますが、林分式の Dq の代わりにしてはなりません。平方の平均は平均の平方ではなく、直径にばらつきがあるときに算術平均を入れると胸高断面積を過小評価します。
本計算機が実装するのはこの SI 林業恒等式だけです。幹材積、バイオマス展開、形状係数は扱いません。
林分の胸高断面積が役立つ場面
毎木ソフトや調査ノートは胸高断面積計算機を呼び、巻尺やノギスの標本を G に変え、プロットカードごとにセンチメートルからメートルへの換算をやり直さないようにします。間伐指示は残留目標をヘクタールあたり平方メートルで書くことが多く、伐採木を選ぶ前の第一計算が現行 G とその目標の比較です。
育林の授業実験では短い合成直径リストを使い、二乗平均が算術平均を上回ること、不揃いなプロットで算術平均を代用すると立木密度を過小評価することを学生が確認します。検証失敗は残高を消費しません。
要求を小さく保ち、丸めた平方メートル毎ヘクタールを継続的インテグレーションに固定すれば、LMS プラグイン、エッジワーカー、表計算でも再現可能な林分指標が得られ、自前の林業情報システムは不要です。本計算機はインチをセンチメートルへ、エーカーあたり平方フィートをヘクタールあたり平方メートルへは換算しません。
単位の誤りが黙った換算に隠れないよう、SI 入力を送り SI 出力を読んでください。
活用例
間伐目標の確認
直近の直径と密度から現行の林分 G を求め、18 または 22 m²/ha といった指示残留値と比べてから木を選木します。
育林の授業実験
混在直径の短い標本を学生に渡し、G が胸高直径の二乗平均であり算術平均ではないことを手計算で確かめさせます。
よくある質問
胸高直径から林分胸高断面積はどう求めますか?
各直径 d(cm)の単木面積は g = π (d/200)² m² です。林分 G(m²/ha)はそれらの平均に N を掛けた値、同等に G = (π/40000) × Dq² × N で、Dq は二乗平均胸高直径です。
直径と結果の単位は何ですか?
直径は胸高のセンチメートルです。インチや ft²/acre は換算しません。
直径がゼロまたは負だとどうなりますか?
直径はすべて厳密に正の有限数でなければなりません。ゼロ、負、NaN、非数値トークンは拒否され、課金されません。
なぜ算術平均ではなく二乗平均の胸高直径を使うのですか?
胸高断面積は d の二乗に依存します。平方の平均は平均の平方ではないため、直径がばらつくと算術平均の胸高直径は G を過小評価します。応答は両方の平均を報告します。
胸高断面積30.37 m²/haとはどういう意味ですか?
胸の高さでの幹の断面積を合計すると、1ヘクタールあたり30.37平方メートルになるという意味です。平均直径30 cmの標本木3本、ヘクタールあたり400本の場合の結果です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/bio/basal-area \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"diameters":[20,30,40],"count_per_hectare":400}'const res = await fetch("https://api.kit.forhosting.com/bio/basal-area", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"diameters": [
20,
30,
40
],
"count_per_hectare": 400
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/basal-area",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"diameters": [
20,
30,
40
],
"count_per_hectare": 400
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/basal-area", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"diameters":[20,30,40],"count_per_hectare":400}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"diameters":[20,30,40],"count_per_hectare":400}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/basal-area", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"diameters": [
20,
30,
40
],
"count_per_hectare": 400
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.basal_area",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
正の有限数でない直径は invalid_input となり、ゼロ・負・非数値の胸高直径が空の林分として黙って通ることはありません。
入力契約、応答フィールド、検証の振る舞い
diameters はセンチメートル単位の胸高直径の空でない一覧で、各値は厳密に正の有限数でなければなりません。数値の直径が 1 つだけの場合は 1 本標本として扱い、均一林分ですでに求めた二乗平均胸高直径を入れる定番の方法です。直径は最大一万件までとし、上限のない毎木ファイルでワーカー isolate が溢れないようにします。例:二十・三十・四十センチメートルの直径と四百本/ha では G は約 30.37 平方メートル毎ヘクタールです。任意の出力キーは null ではなく省略します。バイオマスが必要ならご自身の地図や材積式と組み合わせてください。必須フィールドが 2 つの JSON オブジェクトを POST してください。数値の JSON 配列でも、カンマ・空白・セミコロン区切りの文字列でもよく、ハンドラは同じ規則で分割します。count_per_hectare はヘクタールあたり本数 N の林分密度で、これも厳密に正の有限数でなければなりません。stems_per_hectare、trees_per_hectare、n_ha、density などの別名を受け付けます。欠落フィールド、空一覧、非数値トークン、ゼロ、負値、NaN、Infinity はフィールド名(一覧の不良要素では 0 始まりの添字)を示す invalid_input で失敗し、課金されません。成功時は整形済み diameters と count_per_hectare を返し、sample_size、mean_dbh_cm、quadratic_mean_dbh_cm を報告し、mean_tree_basal_area_m2 を平均単木円面積として示し、basal_area_m2_ha を林分結果 G として、式文字列と method タグとともに返します。本エンドポイントは林分胸高断面積のみを計算します。
林分胸高断面積 API が実務で効く場面
実装は純粋 parse の tier A のため、成功した呼び出しは公開の基本価格 $0.002 で、モデルトークンも外向き通信もありません。
連携の活用例
固定面積プロットから林分立木密度へ
固定面積プロットで測った胸高直径一覧とヘクタールあたりに展開した本数を入れ、調査票の樹種構成の横に basal_area_m2_ha を記録します。
技術的な質問
胸高断面積計算機の料金はいくらですか。
ブラウザの用具は無料です。API 要求は成功した呼び出しあたり $0.002 の前払い KIT 残高を使い、不正な入力は課金されません。