種の豊富さを数える計算ツール
種の豊富さとは、範囲を定めた標本で観察された異なる種の数です。1行に1つの種名を貼り付けるか、コンマ、セミコロン、タブで区切ってください。重複する観察を除いて種数を返します。観察総数と認識した固有ラベルの一覧も表示するため、結果を確認できます。計算は決定論的で外部照会を行わず、ブラウザーでも API でも同じ規則で利用できます。
無料で実行
1つの生態学的単位を表す標本を準備します
方形区、1回のトランセクト調査、一定期間のトラップ、分類群を割り当てた後のシーケンシングライブラリーなど、範囲が明確な1つの標本から観察記録を用意してください。繰り返しを含め、すべての観察について種ラベルを入力します。たとえばナラを5回観察した場合は5回入力します。total_observations はその情報を保持しますが、species_richness ではナラを1種として数えます。ラベルは改行、コンマ、セミコロン、タブで区切ります。空の項目と前後の空白は無視され、連続する内部空白はまとめられるため、偶発的な書式の違いで偽の種が生じにくくなります。標本全体で分類階級を統一してください。種名、属名、非公式なグループ、未同定カテゴリーを混在させると、計算器は生物学的な同一性を推定しないため結果がゆがみます。同じ生物を指す異名、綴りの違い、分類改訂は計算前に統一してください。既定では大文字と小文字の違いを別種としません。表記の大小に実際の意味がある場合だけ区別を有効にしてください。複数地点や無関係な日付をまとめるのは、統合した豊富さを意図して測る場合に限ります。
種数が算出される規則を正確に確認します
最初に、対応する各区切り文字で入力テキストを分割します。各ラベルの前後の空白を除き、連続する空白を正規化し、空項目を捨てます。次に、観察ごとの比較キーを作ります。大文字と小文字を区別しない既定設定では、小文字化したラベルがキーです。区別を有効にした場合は、整形済みラベルそのものをキーにします。各キーの最初の出現だけを distinct_species に保存し、それ以降の出現は total_observations を増やしますが species_richness は増やしません。したがって、豊富さは一意な整形済みキー集合の大きさです。返される一覧は最初に現れた順序を保つため、予期しない五十音順への並べ替えなしに元データと照合できます。個体数による重み付け、多様度指数、希薄化、分類データベース照会、統計的推定は行いません。1回だけ記録された種も多数記録された種も、豊富さには同じ1種として寄与します。この結果は基本的な観察種数であり、未検出種の推定値ではありません。同じ入力と設定には常に同じ出力が得られます。値が予想外なら distinct_species を確認してください。よく似た名称から、綴りや分類の不統一を発見できることがあります。
標本が示せる範囲を越えずに豊富さを解釈します
観察された種の豊富さは説明しやすい指標ですが、調査努力、検出確率、季節、生息地の網羅範囲、同定品質に強く左右されます。大きな標本では希少種を見つける機会が増えるため、一般に種数も増えます。採集方法と努力量がおおむね同等な場合に限って値を比較するか、希薄化など不均等なサンプリングを扱う方法を併用してください。また、豊富さは均等度を表しません。どちらも6種を含む群集でも、一方は1種が優占し、もう一方は個体数が均等である可能性があります。その違いが重要なら、存在量を反映する指標を使用してください。文脈を評価できるよう、species_richness とともに total_observations と元の調査メタデータを保存します。この計算器はラベルを識別子として扱い、分類群を検証しません。標準化しなければ2つの異名は別々のままであり、広すぎる1つの名称に入れた異なる生物は一緒のままです。継続調査では命名規則を一定にし、分類群の統合や分割を記録してください。API は1回 $0.002 で、同じ決定論的計算をブラウザーでは無料で実行できます。報告時には、生態系全体の完全な種数ではなく、指定標本の観察種数と記述してください。
活用例
野外調査を要約する
方形区、トランセクト、反復リストの固有ラベルを数え、観察総数も保持します。
モニタリング標本を比較する
同じ手順で調べた地点や調査日の観察種数を一貫した規則で算出します。
生物多様性処理を監査する
固有ラベル一覧から、綴り、大小文字、分類標準化の問題を見つけます。
よくある質問
種の豊富さとは何ですか?
定義した標本で観察された異なる種の数です。相対的な存在量は計算に使いません。
同じ種の反復観察で豊富さは増えますか?
増えません。total_observations は増えますが、異なる整形済みラベルは species_richness に1回だけ加算されます。
大文字と小文字を区別しますか?
既定では区別しません。表記の大小でラベルを分ける必要がある場合は case_sensitive を有効にしてください。
異名の解決や分類の検証を行いますか?
行いません。分類データベースを参照せず、整形した文字列を比較します。異名と綴りは事前に統一してください。
大きさが異なる標本を直接比較できますか?
注意が必要です。大きい標本ほど多くの種を検出しやすいため、努力量の標準化や希薄化などをご検討ください。
API の利用料金はいくらですか?
1回のリクエストは $0.002 です。同じ決定論的計算をブラウザーでは無料で利用できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/bio/species-richness \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Oak\nPine\nOak\nBirch\nPine\nWillow"}'const res = await fetch("https://api.kit.forhosting.com/bio/species-richness", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Oak\nPine\nOak\nBirch\nPine\nWillow"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/species-richness",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Oak\nPine\nOak\nBirch\nPine\nWillow"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/species-richness", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Oak\\nPine\\nOak\\nBirch\\nPine\\nWillow"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Oak\nPine\nOak\nBirch\nPine\nWillow"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/species-richness", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Oak\nPine\nOak\nBirch\nPine\nWillow"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.species_richness",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_chars | 200000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |