INSECT.Minoh.City
-The Focus Stacking Photograph of Insects-

昆虫採集情報入力のシステム化とWEBアプリ化

TOP > 雑記 > 昆虫採集情報入力のシステム化とWEBアプリ化

Posted: 06 May 2024

採集情報の整理


昆虫を標本として保管する際には,その昆虫が「いつ」「どこで」「誰により」採集されたか,などの情報が非常に重要です.これらの情報は標本ラベルに記載し,標本と共に昆虫針に刺すなどして一体のものとして保管するのが基本です.

しかし,昆虫採集時にいちいち紙にメモするのは面倒です.私もついつい記憶に頼りがちなのですが,記憶はどうしてもあいまいになります.私は採集時には1頭ごとに透明チャック付袋に入れるようにしているので,その際最低限のこととして,採集日と採集場所を記載した紙片も入れるようにしています.これだけでも十分と言えば十分なのですが,採集した個体の分類情報の整理や,標本化後に撮影した深度合成写真との対応関係等を考えると紙片による管理だけでは不十分です.

そこで,スマートフォンでの使用を念頭に置いて,採集時にその場で採集情報が入力できるシステムを作成し,実際に運用してみました.


システムの概要


【備考】本システムはphp及びJavaScriptで作成しました.ブラウザさえあればPCでもスマートフォンでも使用可能です.

自動採番

標本をデータ管理する上でまず必要となるのは標本個体ごとの固有番号です.私の場合「アルファベット1文字(A-Z)+数字4桁(XXXX)」で管理しています.番号の桁数は常に固定したかったので数字のみでの採番は避けました.数字のみだと「1」を「0001」に桁合わせするなどの処理が必要になります.また,Excel等では「0001」は「1」に自動変換されてしまうので,システムからCSVを出力しExcelで扱うことも考慮してこのような番号としています.

また,新たな採集個体を登録するときは自動的に採番されるようにしています.

自動採番機能

位置情報の取得

スマートフォンにはGPS等による位置情報取得機能があるので,ボタンをタップするだけで「今いる場所」の緯度と経度を自動入力できる機能を設けました.これはJavaScriptのGeolocation APIにより簡単に実現できます.

スマホらしい機能なのですが,私の場合は採集場所が常に同じ(定点観測)なので正直あまり使っていません.

位置情報取得機能

撮影写真の登録

スマートフォンで撮影した写真を採集記録として登録する機能を設けました.昆虫は死後色合いや形が大きく変化してしまう場合が多いので,採集時の写真を記録しておくことは重要だと考えています.

ただ,私の場合は別のカメラで撮影しているため,そちらの写真を後から登録することがほとんどです(写真の登録はスマホからでもPCからでも可能です).

なお,写真のサイズが大きすぎる場合はサーバー側(php側)が拒否してしまうので,大きい写真は自動的にリサイズされるようにしています.具体的には縦・横のいずれか長い方が1500pxを超えている場合は長辺を1500pxにリサイズします.

写真登録機能

入力補助機能

採集者情報や採集場所,分類情報は,毎回一から入力するのは面倒です.この場合,htmlの<select>タグにより候補を選択させる手法がよく使われますが,これだと逆に新規入力ができないので不便です.そこで本システムでは<datalist>を使った候補選択としました.<datalist>だと新規入力と候補選択の両方が可能ですのでこういったシーンでは便利です.ただし,選択候補以外は入力してほしくない場合(表記ゆれを避けたいなど)は<select>の方が良いと思います.

また,分類情報入力では日本語と学名を両方入力できるようにしていますが,例えば「コウチュウ目」と入力し確定した場合は,学名欄に入力していなくても「Coleoptera」と自動補完されるようにしました(正確には,過去に一度登録した分類と同じ分類名を入力した場合は自動補完する,という機能です).

入力補助機能

CSV出力機能

採集情報のデータ管理だけならシステム上の入力だけで十分なのですが,ラベル作成や採集情報の分析などに活用できるよう,CSV出力機能を設けました.全採集情報と入力情報がCSVで出力できます.

CSV出力機能

その他機能

このままではURLさえわかれば誰でもアクセスできてしまうので,ログイン機能も設けています.

また,標本化後に撮影した深度合成写真の撮影情報入力と,本サイト(https://insect.minoh.city/)との自動連動機能も作成しました.


WEBアプリ化


本システムはphpで作成しているため,WEBブラウザがあれば動作します.スマートフォンでも同様で,ブラウザのブックマークに入れておけばいつでも呼び出すことができます.ここで,PWA(Progressive Web Apps)化することで,単一のアプリのように動作させることができるようになります.

Manifestファイルに色々と記述することで,起動時のスプラッシュ画像の表示や,全画面表示の適用など,細かい条件を指定することができます.

そのうえでアプリっぽく動作させるためには,ブラウザでいったんアクセスし,「ホーム画面に追加」をタップします.そうすると,ホーム画面にアイコンが追加されるので,以後はホーム画面のアイコンからアクセスすれば専用のアプリのように使用することができます.

ホーム画面に追加

起動アイコン

スプラッシュ画面

URL欄等がない全画面表示

なお,本サイト(https://insect.minoh.city/)についても,上記手順と同様にホーム画面に追加すると,アプリのように動作させることができます.ぜひお試しください.

INSECT.Minoh.City起動アイコン

まとめ


採集情報の整理方法は人それぞれで,決まったやり方というものはありません.そのため,自分に合ったシステムは,自分で作るのが一番手っ取り早いです.その際phpやJavaScriptの基本的な知識があれば,割と自由かつ便利にシステム化することができます.

日常作業のシステム化と利便性向上はDX(Digital Transformation)の基本だと思います.採集情報のシステム化は,さしずめ「昆虫DX」の基本といったところでしょうか.