Building a database for 3D spatial analysis
We built a database for 3D spatial analysis of the shell layer on the northern slope of the Ariyoshi Kita Shell Mound. It consists of three databases: a rock terrain database, a shell layer database, and an artifact database. The artifact database is stored in postgreSQL, and a csv file is output by query, plotted in the Blender3D viewport using Python, and analyzed.
有吉北貝塚北斜面貝層における3D空間分析用データベースを構築しました。地山地形データベース、貝層データベース、遺物データベースの3つから構成しました。遺物データベースはpostgreSQLに格納し、クエリでcsvファイル出力したものをPythonでBlender3Dビューポートにプロットして表示し、分析します。
1 3D空間分析用データベースの構成
3D空間分析用データベースの構成
データベースは地山地形データベース、貝層データベース、遺物データベースの3つから構成し、Blender3D空間で表示、分析できるものとして構築しました。
地山地形データベースでは、地山地形3Dモデル(Wabefront(.obj)ファイル)を作成し、Blenderで表示し利用できるようにしました。3Dモデルは地山平面図(手書き標高点、地形情報図、B3判14枚)から読みとった標高点(3933)リストに、セクション図断面から読みとった標高点、地形図から読みとった標高点を加えた標高点リストを作成し、そのデータによりQGIS(GRASSプラグイン、v.surf.rstツール)で作成しました。
地山地形データベース
貝層データベースでは、貝層断面図(32断面、Illustratorファイル、画像ファイル)及び貝層大区分図(32断面、Illustratorファイル、画像ファイル)を作成し、Blenderで表示利用できるようにしました。また、貝層断面図、貝層大区分図からBlender機能を利用して貝層3Dモデルを作成し、分析に活用できます。貝層断面図等はセクション図(手書き貝層断面図、B3判87枚)を集成して作成しました。
また、セクション図注記から貝層(分層)記述データベース(postgreSQLファイル、Excelファイル)を作成しました。
このデータベースは将来、貝層(分層)統計分析に使います。
貝層データベース
遺物データベースでは、3D座標を含む49項目で構成されるデータ集合(postgreSQLファイル、Excelファイル、64096レコード)を作成し、Blenderにプロットして利用できるようにしました。データ集合は遺物台帳(4200ページ、64096 レコード)、遺物分布図(手書き遺物平面分布図、B3判146枚)、発掘調査報告書掲載遺物リスト(33 項目)から作成しました。このデータ集合は発掘調査報告書掲載遺物リストの詳細項目とリレーションしています。Blender3D空間では、遺物はオブジェクト(立方体など)としてプロットし表示します。
遺物データベース
遺物データベースの主な項目
2 データベース作成作業
2023年夏に千葉県教育庁森宮分室で発掘原票の複写を行いました。
遺物台帳の複写
遺物台帳複写画像
遺物台帳4000ページの複写は書画カメラにより想定以上に効率的に行うことが出来ました。
図面の複写
図面複写画像(B3サイズの中央部分のA3画像)
遺物分布図等250枚の複写はA3サイズスキャナーで行いましたが、図面はA3サイズより大きなB3サイズであり、図面の端に重要情報が記入されている場合が多く、結局1枚の図面を2~4回複写することになり、苦労しました。
データベース作成では膨大な入力作業を行い、巨大数値表を扱うなど、煩雑な作業を伴いました。この作業を正確かつ効率的に実施するために、Pythonスクリプト(プログラム)記述利用を多用しました。例えば、平面座標読取作業はPythonによる自作アプリを開発して効率的に行いました。なお作業開始時期とAI普及(ChatGPT登場)時期が重なり、Pythonスクリプト生成においてChatGPT支援を利用することが出来ました。これにより、作業進行が大幅に加速しました。
自作座標読取ツールの操作画面
2025年5月現在、遺物台帳全6万件余のデジタル化は終了しています。デジタル化ではOCR活用を幾度も試みましたが何れも失敗し、結局全部手入力となりました。図面の画像処理、集成作業は全て終わり、座標読取作業の一部が残っています。
3 データベース利用システム
データベース利用システム
データベース利用の基本は、遺物データベース(postgreSQLファイル)からクエリで必要な遺物データをcsvファイルで取り出し、BlenderでBlenderPythonを利用してそのcsvファイルを3D空間にプロットして表示することです。
4 3D空間表示と分析方法
分析用にカスタマイズされたBlender画面(モニター2画面用)
データベースの3D空間表示はBlenderの3Dビューポートを3D空間カンバス(仮想3D空間)として利用しました。遺物、貝層、地山地形などのオブジェクト(3Dモデル)を現実空間と同じスケールの3D空間にプロット展開しました。遺物は5㎝×5㎝×5㎝の立方体オブジェクトで表示し、貝層境界や地形面は曲面オブジェクトで表示しました。
遺物に関する分析(分類、密集度など)はPythonで行い、その結果をBlender にプロットしたものが多いです。遺物と貝層の空間関係分析はBlender内のBlenderPythonやgeometry nodesを使って行ったものが多いです。
5 感想
3D空間分析用データベースは本邦貝塚研究では初出であると考えています。考古学一般でも初出である可能性があります。もし、3D空間分析を意識したデータベース構築例を考古学分野でご存じの方がいらっしゃれば、情報を教えてください。