2025年11月8日土曜日

土器3D分布の平均最近隣距離計測

 Measuring the average nearest neighbor distance of pottery 3D distribution


I measured the average nearest neighbor distance of pottery 3D distribution in the shell layer on the northern slope of the Ariyoshikita Shell Mound and compared it with stone tools.

I found that the average nearest neighbor distance of pottery was smaller than that of stone tools, and the standardized index was also the same, confirming numerically that pottery is more densely packed than stone tools.


有吉北貝塚北斜面貝層の土器3D分布の平均最近隣距離を計測して、石器と比較しました。

土器の平均最近隣距離の方が石器より値が小さく、また標準化指標も同じで、土器の方が石器より密集性が高いことを数値で確認できました。

1 平均最近隣距離について(再掲)

1-1 平均最近隣距離(Average Nearest Neighbor ANN) ANN1

遺物Aが3D空間に分布していて、遺物Aの全てについて、最近隣にある別の遺物Aとの距離を計測し、その平均値を求めたものが遺物Aの平均最近隣距離です。これをANN1とします。

同一空間に同一数の遺物種が分布している場合、ANN1の数値が小さい遺物種ほど密集性が高いことを表現しています。

1-2 ランダム分布の平均最近隣距離 ANN2

遺物Aが分布する同じ3D空間に遺物Aと同数のランダム点をプロットして、そのランダム点の平均最近隣距離をもとめ、これをANN2とします。

ANN2は密集性が存在していない、あるいは分散性が存在していない仮想的な分布状況の平均最近隣距離を表現していると考えることができます。

1-3 標準化された平均最近隣距離指標 ANN3

ANN1/ANN2を求めると、その値は標準化された平均最近隣距離指標となります。これをANN3とします。標準化された平均最近隣距離ANN3はその値が1より小さければ密集度合いを、1より大きければ分散度合いを表現します。同時にANN3を使えば、遺物数や3D空間の広さが異なる遺物種の間でも密集-分散度合いを比較して論じることができます。

2 土器(土器・土製品)を例としたANN計測

2-1 土器分布資料等


統計分析用3D空間(全遺物分布3D空間)


土器3D分布(17481件)


統計分析用3D空間に17481点をランダムプロットした様子

2-2 土器のANN計測結果

土器ANN1 0.160m

土器ANN2 0.237m

土器ANN3 0.675

2-3 石器との比較

土器と石器の平均最近隣距離を比較しました。


土器と石器の平均最近隣距離

土器の平均最近隣距離ANN1の方が石器より値が小さく、また標準化平均最近隣距離指標ANN3も同じで、土器の方が石器より密集性が高いことを数値で確認できました。ANN3の値により、サンプル数の規模が違っていても密集性の統計的比較ができました。Blender3Dビューポートで観察する土器と石器の分布状況からうける直観的印象とANN3の数値の違いは整合します。つまり、石器よりも土器の方が意図的に特定場所に投棄される比率が大きかったという印象とANN3の数値の違いが整合します。

3 土器最近隣距離の基本統計量

最小値  0.007m

最大値  1.847m

中央値  0.141m

平均値  0.160m

標準偏差 0.098


最近隣距離順位グラフ


2025年11月6日木曜日

3D空間分析用遺物データベースを有効活用するための基礎技術

 Basic Techniques for Effectively Utilizing an Artifact Database for 3D Spatial Analysis


The main components of the 3D spatial analysis artifact database for the shell layer on the northern slope of the Ariyoshikita Shell Mound have been provisionally completed, and I am currently conducting a nearest-neighbor distance analysis of artifacts as a trial activity. Through this activity, I have come to realize that acquiring basic skills related to databases and 3D technology is essential to effectively utilize the database, so I have compiled a list of those skills.


有吉北貝塚北斜面貝層の3D空間分析用遺物データベースの主要部分が仮完成したので、現在、試用活動として遺物の最近隣距離分析を行っています。この活動のなかで、データベースを有効活用するためにはデータベースと3D技術に関する基礎技術習得が必須であることを痛感しましたので、その項目をリストアップしました。

最近隣距離分析を例に、状況を単純化して、以下に考えてみました。習得しなければならない技術の大要が見えてきました。

1 現在使っている技術

●postgreSQLからデータをcsvファイル(ID、x座標、y座標、z座標)でダウンロードする

●Pythonでcsvファイルから最近隣距離を計算する

●Pythonで最近隣距離を類型区分して、その類型区分結果を整数でcsvファイルに書き込む

●BlenderPythonでcsvファイルをBlender3Dビューポートに属性付きでプロットする

●geometry nodesで遺物分布表示を類型結果区分毎などで行う。

・最近隣距離の類型区分は決まった方法があるわけではなく、試行錯誤を繰り返す必要があり、現状技術ではPython計算→Blender取り込み→Blender表示という操作を繰り返す必要があり、検討作業効率が悪いです。

2 習得を目指す技術 その1 Blenderでの最近隣距離分析と表示

1では最近隣距離計算やその類型区分・書き込みを、Pythonで行いました。しかし、Blenderのgeometry nodesを使って同じことができるので、その技術を早急に習得することにします。次の手順による技術です。

●postgreSQLからデータをcsvファイル(ID、x座標、y座標、z座標)でダウンロードする

●BlenderPythonでcsvファイルをBlender3Dビューポートに属性付きでプロットする

●geometry nodesで最近隣距離を計算し、類型区分し、その値を属性として格納し、必要な表示(類型区分毎の遺物分布表示など)を3Dビューポートで行う

・この技術が実現すれば、Blenderにおける操作で類型区分の様子をシミュレーション的に試すことが容易になり、検討作業効率が向上すると期待できます。

3 習得を目指す技術 その2 postgreSQLにおける最近隣距離分析

●postgreSQLクエリでpostgreSQL内データで最近隣距離計算、その類型区分を行い、その値を新しい列に書き込みます

●postgreSQLから最近隣距離データを含むデータをcsvファイルでダウンロードします

●BlenderPythonでcsvファイルをBlender3Dビューポートに属性付きでプロットする

●geometry nodesで必要な表示(類型区分毎の遺物分布表示など)を3Dビューポートで行う

・この技術ではPythonの替わりにpostgreSQLクエリを使います。手順が一つ減ります。

4 習得を目指す技術 その3 postgreSQLデータをBlenderPythonで直接取り込む

●BlenderPythonでpostgreSQLを直接操作して、データ(ID、x座標、y座標、z座標)をBlenderに取り込む

●geometry nodesで最近隣距離を計算し、類型区分し、その値を属性として格納し、必要な表示(類型区分毎の遺物分布表示など)を3Dビューポートで行う

・この技術ではBlenderの操作で検討作業が完結しますので、効率的です。また操作が全て3Dビューポートで確認できるので、イメージ豊かな作業となり、検討が楽になります。

5 メモ

遺物3D分析ではより複雑な検討も行いますから、上記のような順番が技術の有用性の順番になるとは限らないです。しかし、当面はこの順番で技術習得を進めることにします。

最終的にはBlenderを最大限活用して、絶えず操作を3Dビューポートで確認・表現しながら進めることにします。postgreSQL、Python(Rも)、Blenderの3つの主要ツールの中でも、特にBlender(その中でもgeometry nodes)の操作に習熟することを目指します。


Blenderでgeometry nodesを使っている様子(2画面用カスタマイズ画面)


2025年11月5日水曜日

話題 離れた場所から出土した接合打製石斧

 Topic: Jointed Hammered Stone Axes Excavated from Separate Locations


In an excavation report, I found examples of jointed hammered stone axes excavated from opposite ends of the shell layer on the northern slope of the Ariyoshikita Shell Mound (approximately 30 meters apart in a straight line). I believe that a fragment of a broken hammered stone axe discarded at the head of a gully-eroded valley was carried downstream by flowing water.


有吉北貝塚北斜面貝層の両端(直線距離で約30m離れている)から出土した接合打製石斧の事例を、発掘調査報告書から見つけました。ガリー侵食谷の谷頭で投棄された破損打製石斧の1片が流水によって下流に運搬されたと考えます。

1 離れた場所から出土した接合打製石斧


離れた場所から出土した接合打製石斧


離れた場所から出土した接合打製石斧

小片47a(遺物番号1190009)は一括出土に含まれるため、グリッドより詳細な平面座標はありません。標高は遺物台帳の前後関係から約31mと推定できます。

大片47b(遺物番号3530614)は3D座標が揃っています。

2 メモ

ガリー谷を埋めて発達する北斜面貝層では、貝層形成中にも稀な大雨で石器や土器が30m以上運搬される事象があったことをこの事例から確認できます。以前の調査で、同様規模の土器片移動も確認しています。


参考 294番土器の破片分布

3 参考 谷頭付近の接合石器出土例


谷頭付近の接合石器出土例

2025年11月4日火曜日

技術メモ Blenderにプロットした遺物(頂点)の属性確認方法

 Technical Note: How to Check the Attributes of Artifacts (Vertices) Plotted in Blender


The artifact database (55,892 records, 39 attributes) for the shell layer on the northern slope of the Ariyoshikita Shell Mound was plotted directly as vertices in Blender. I discovered a way to check the attribute data for a single vertex in Blender, so I've written this note.


有吉北貝塚北斜面貝層の遺物データベース(55892レコード、39属性)はそのままBlenderに頂点でプロットしてあります。Blender画面で頂点1つのある属性のデータを確認する方法を知りましたので、メモしました。

1 遺物データベースのBlender取り込み

有吉北貝塚北斜面貝層の遺物データベース(55892レコード、39属性)はそのままBlenderに頂点でプロットしてあります。


55892レコード、39属性がそのままBlenderにプロットされている様子

2 Blender画面で特定頂点の特定属性データを知る方法


Blender画面で特定頂点の特定属性データを知る方法

・編集モードで特定頂点を表示します。

・オブジェクトデータプロパティ→属性→(知りたい)属性を選択

・メッシュ→属性を設定

この操作で画面にその属性のデータが表示されます。

なお、属性のデータに日本語を使うと不都合が発生する可能性があるので、自分は使っていません。自分は属性の値はすべて類型区分の結果である整数値にしています。

3 メモ

Blender3Dビューポートでは頂点分布を観察しますが、上記属性データを知る方法は「この頂点は何を意味するのか」という疑問に即座に答えを出してくれるので、とても有用です。

4 参考

統計分析(例 全遺物の最近隣距離計測)はBlenderの外でPythonで行い、その結果をBlenderにプロットしています。

Blenderは主に種別、属性区分別などの表示ツールとして使っています。

Blenderで幾つかのデータを複合表示して、それを新たなデータとしてcsvファイルに書き出し、そのcsvファイルをPythonで分析することもあります。


石器の最近隣距離分布観察

 Observing the Distribution of Nearest Neighbor Distances for Stone Tools


I observed the 3D distribution of nearest neighbor distances for 2,045 stone tools excavated from the shell layer on the northern slope of the Ariyoshikita Shell Mound. The significant concentration seen with pottery is not observed with stone tools. Dividing the nearest neighbor distance into four levels from short to long reveals a gradual, three-dimensional zone with the sparsely distributed stone tools at the core and the space between them gradually filling in.


有吉北貝塚北斜面貝層の出土石器2045件の最近隣距離3D分布を観察しました。土器に見られるような顕著な集積は石器では観察できません。最近隣距離を短→長に4段階に分けると、まばらに展開する最短の最近隣距離石器を核に、その間の空間を次々に埋めるように展開する緩やかな立体ゾーンが観察できます。

1 石器 最近隣距離3D分布

1-1 石器 最近隣距離0.036~0.133m


石器 最近隣距離0.036~0.133m


斜め表示

1-2 石器 最近隣距離0.036~0.133m、0.133~0.356m


石器 最近隣距離0.036~0.133m、0.133~0.356m


斜め表示

1-3 石器 最近隣距離0.036~0.133m、0.133~0.356m、0.356~0.579m


石器 最近隣距離0.036~0.133m、0.133~0.356m、0.356~0.579m


斜め表示

1-4 石器 最近隣距離0.036~0.133m、0.133~0.356m、0.356~0.579m、0.579~2.743m


石器 最近隣距離0.036~0.133m、0.133~0.356m、0.356~0.579m、0.579~2.743m


斜め表示

2 メモ

・有吉北貝塚北斜面貝層の出土石器2045件の最近隣距離3D分布を観察しました。

・土器や人骨に見られるような顕著な石器集積は観察できません。

・最近隣距離を短→長に4段階に分けると、最短(最近隣距離0.036~0.133m)がまばらに分布していて、まるで石器分布全体の核のような存在のように感じられます。

・最短の分布図を拡大すると2つとか3つの石器が連なっている場合が多くなっています。試しに幾つかの最短で連なる石器種類をみてみると次のようになりました。


石器種類をみた最短(最近隣距離0.036~0.133m)石器の場所


石器種類

・同一石器が割れて2になり、それが最短の距離で分布している事例があるかもしれないという考えからこの作業を始めたのですが、そのような事例は無いようです。発掘調査報告書の石器実測図を調べると、2つの石器(別遺物番号)が接合するものが北斜面貝層で10程度あるのですが、いずれも距離が離れているようです。(土器や骨角歯牙製品では接合する複数の遺物が直ぐ近くから出土する事例があります。)

・まばらに展開する最短最近隣距離の石器の間の空間を埋めるように、それより長い最近隣距離の石器が次々に展開する緩やかな立体ゾーンが観察できます。


2025年11月3日月曜日

石器3D分布の平均最近隣距離計測

 Measuring the average nearest neighbor distance of stone tool 3D distributions


I will use the average nearest neighbor distance as an index for comparing differences in the 3D distribution of artifact types in terms of density. First, I experimentally measured the average nearest neighbor distance using stone tools.


遺物種別3D分布の違いを密集性という観点から比較するための一つの指標として、平均最近隣距離を使ってみることにします。最初に、石器を材料にして、平均最近隣距離を試行的に計測してみました。

1 平均最近隣距離について

1-1 平均最近隣距離(Average Nearest Neighbor ANN) ANN1

遺物Aが3D空間に分布していて、遺物Aの全てについて、最近隣にある別の遺物Aとの距離を計測し、その平均値を求めたものが遺物Aの平均最近隣距離です。これをANN1とします。

同一空間に同一数の遺物種が分布している場合、ANN1の数値が小さい遺物種ほど密集性が高いことを表現しています。

1-2 ランダム分布の平均最近隣距離 ANN2

遺物Aが分布する同じ3D空間に遺物Aと同数のランダム点をプロットして、そのランダム点の平均最近隣距離をもとめ、これをANN2とします。

ANN2は密集性が存在していない、あるいは分散性が存在していない仮想的な分布状況の平均最近隣距離を表現していると考えることができます。

1-3 標準化された平均最近隣距離指標 ANN3

ANN1/ANN2を求めると、その値は標準化された平均最近隣距離指標となります。これをANN3とします。標準化された平均最近隣距離ANN3はその値が1より小さければ密集度合いを、1より大きければ分散度合いを表現します。同時にANN3を使えば、遺物数や3D空間の広さが異なる遺物種の間でも密集-分散度合いを比較して論じることができます。

2 石器を例としたANN計測

2-1 石器分布資料等


統計分析用3D空間(全遺物分布3D空間)


石器3D分布(2045件)


統計分析用3D空間に2045点をランダムプロットした様子

2-2 石器のANN計測結果

石器ANN1 0.356m

石器ANN2 0.469m

石器ANN3 0.759

2-3 メモ

石器の平均最近隣距離ANN1が0.356mであることから、ある石器が出土すると、確率的に、その石器を中心として半径0.356mの球空間に別の石器が1つ出土する勘定になります。

仮に石器が遺跡空間の中でランダムに分布していると仮定すると、確率的に、その石器を中心として半径0.469mの球空間に別の石器が1つ出土する勘定になります。

この違いは実際の石器分布が密集しているから生じています。

この石器密集度合いを指標ANN3で計測すると0.759になります。

この値0.759のさらに詳しい評価・意味は他の遺物種のANN3と比較してはじめて深まります。

3 最近隣距離の基本統計量

石器の遺物個体別最近隣距離の基本統計量は次のようになります。

最小値  0.036m

最大値  2.743m

中央値  0.326m

平均値  0.356m

標準偏差 0.202


最近隣距離順位グラフ

4 最近隣距離の分布

石器個体の最近隣距離を次の表のように類型区分して、色分けして3D空間にプロットしました。


石器ANN類型区分


石器最近隣距離の分布3Dモデル画像(区分1+2+3+4の分布)


区分1の分布


区分1+2の分布


区分1+2+3の分布

一瞥して、この石器最近隣距離分布3Dモデルから豊かで有用な情報を引き出すことができることがわかります。ここでは分布3Dモデル作成までにトドメ、詳しい検討は別記事で行います。

5 平均最近隣距離計測に関わる操作技術

平均最近隣距離計測に関わるデータ操作技術及び計測結果のBlender3Dビューポートプロット技術などでは多数のPythonスクリプト、BlenderPythonスクリプトを使っています。それらの整理は別記事で行います。






2025年11月1日土曜日

2025年10月ブログ活動のふりかえり

 A look back at October 2025 blog activities


I'm reviewing the activities of the blog "Walking the Hanami River Basin" in October 2025.

In October, I spent the entire month plotting 3D coordinate data of artifacts from the shell layer on the northern slope of the Ariyoshikita Shell Mound in a Blender 3D viewport, creating 3D models of the distribution of most artifact species, and finally compiling them into a slideshow.


ブログ「花見川流域を歩く」の2025年10月活動をふりかえりました。

10月は有吉北貝塚北斜面貝層の遺物3D座標データをBlender3Dビューポートにプロットする作業に明け暮れ、ほとんどの遺物種分布3Dモデルを作成し、最後にスライドショーでまとめました。

1 ブログ「花見川流域を歩く」

・2025年10月の記事数は21です。

・9月に作業が完了した有吉北貝塚北斜面貝層遺物3D座標読取結果を利用して、10月は試行的作業として、遺物種毎に分布をBlender3Dビューポートにプロットして3D分布資料を作成しました。ほとんどの遺物種分布3Dモデルを作成し、最後にスライドショーとしてまとめました。

・ブログ来訪者の国が100ヵ国を越え、感謝の記事を書きました。

2 ブログ「花見川流域を歩く 自然・風景編」

・早朝散歩記事2編を書きました。

3 2025年10月活動の特徴

・遺物種別分布3Dモデルを作成する中で、11月から展開する統計分析の準備活動を行いました。その一つとして土器口縁部、底部、把手データについて最近隣距離分析を行いました。結果として、3D分布図を総観的に見る限り気が付きませんが、把手は口縁部と底部と最近隣距離が長いことが判明し、把手と口縁部・底部は分布特性が違うという結論(統計的結論)を得ることができました。この作業は今後の統計分析作業に光明をもたらすものです。

(土器の大半を占める加曽利EⅡ式土器では把手はほとんどありません。一方中峠式や加曽利EⅠ式土器では把手のある土器が含まれます。この状況から、把手の投棄時期と口縁部・底部の平均的投棄時期がずれていることが推定できて、土器3D分布分析の一つの視点を確認できました。)

4 2025年11月活動の展望

・11月の1カ月限定で、遺物種別分布の類縁性を浮かび上がらせるための統計分析を集中的に試行することにします。この活動は遺物種分布類縁性把握が目的ですが、3D空間統計分析手法の初歩からの習熟を兼ねるものです。

・12月からの取組みは貝層データベース作成分析をイメージしています。


2025年10月 Sketchfabに投稿した3Dモデル


2025年10月 YouTubeに投稿した動画


2025年10月 ブログ「花見川流域を歩く」投稿記事に掲載した画像



2025年10月31日金曜日

遺物種別分布のスライドショー資料作成

 Creating a slideshow document of artifact distribution by type


I created a slideshow document showing the 3D distribution of artifacts by type on the shell layer on the northern slope of the Ariyoshi Kita Shell Mound. This is a personal document to provide preliminary hints for analyzing the correlation between artifact distribution by type. 1 minute 20 seconds.


有吉北貝塚北斜面貝層の遺物種別3D分布資料をスライドショー資料にしました。遺物種別分布の関連を分析するために、事前にヒントを得るための私的資料です。1分20秒。

1 有吉北貝塚北斜面貝層 遺物種別分布 スライドショー動画


有吉北貝塚北斜面貝層 遺物種別分布 スライドショー動画

2 メモ

土器・土製品、石器は貝層以外の土層にも分布していますが、骨・歯、貝類は貝層にのみ分布しています。従って、種別分布の比較、統計的分析は貝層部分に空間を限定して行うことが必要と考えます。

分布をマクロに一瞥すると類似していても、詳しく観察すると分布場所や濃密に様々な違いがみられます。それらの遺物種別分布の違いからどのような有用な情報を読み取るべく、これから統計的・数量的分析を行います。

2025年10月29日水曜日

技術メモ 凹みのある点群のラップ

 Technical Note: Wrapping Concave Point Clouds


I learned that Blender's Shrinkwrap modifier can wrap point clouds with objects, so I made a note of it. With some ingenuity, you can even wrap point clouds with concave 3D shapes.


BlenderのShrinkwrapモディファイアで、点群をオブジェクトで包むことができることを知りましたのでメモしました。工夫すれば点群に凹みがある3D形状でもそれに対応して包むことができます。

1 点群の事例

3D形状が馬蹄形の点群を事例とします。


点群の事例(上からオルソ投影)


点群の事例(斜めから)

2 ICO球を使ったラップ


ICO球で点群を内包した状況


Shrinkwrapモディファイアで包んだ状況

凸包のようなオブジェクトになり、馬蹄形特有の凹みが表現されていません。

CUBEなどを使っても同じ結果となります。

3 馬蹄形のオブジェクトを使ったラップ


馬蹄形オブジェクトで点群を内包した状況


Shrinkwrapモディファイアで包んだ状況

馬蹄形形状で包むことができました。点群の3D形状を観察して、それに近いオブジェクトを作成して、点群をターゲットにShrinkwrapモディファイアを適用すると、点群の3D形状が反映できます。

4 馬蹄形オブジェクトの作成


・オルソ投影上から画面で馬蹄形をベジェ曲線で描く


・べジェ曲線をメッシュに変換して面を貼る


・面を法線方向に押し出して立体化し、点群を内包する

5 メモ

この技術により、Blender3Dビューポートに頂点でプロットしてある遺物データから、遺物分布範囲をオブジェクトで特定できます。特定した遺物分布範囲をつかって、例えば一例として、実際の遺物分布から計算できる最近接距離平均と遺物分布範囲内の仮想ランダム分布の最近接距離平均の比較ができるようになります。これにより遺物分布の偏り(密集性)を数値として捉えることができます。





遺物を3D空間で統計分析するための空間設定

 Spatial Settings for Statistical Analysis of Artifacts in 3D Space


A spatial setting was created for statistical analysis of the distribution of artifacts by species excavated from the shell layer on the northern slope of the Ariyoshikita Shell Mound in 3D space. Blender's Shrinkwrap modifier was used to set up the 3D space.


有吉北貝塚北斜面貝層から出土した遺物の種別分布を、3D空間で統計分析するための空間を設定しました。3D空間設定はBlenderのShrinkwrapモディファイアを利用しました。

1 統計分析用3D空間の設定

全遺物分布をラップで覆った時に生まれる3D空間を統計分析用3D空間空間として設定することにしました。

具体的には、全遺物分布に形状が似ているオブジェクトをつくり、そのオブジェクトで全遺物を囲み、Shrinkwrapモディファイアで全遺物を包みました。


全遺物分布


統計分析用3D空間

全遺物をオブジェクトで包んだものです。


統計分析用3D空間に頂点を1万点ランダムにプロットした様子


全遺物分布-統計分析用3D空間-ランダム1万点

2 統計分析用3D空間の意味

統計分析用3D空間に基づいて遺物密度や分布形状を検討します。

遺物種別分布を検討する最初に、その遺物数と同じ数の頂点を統計分析用3D空間にランダムのプロットし、その統計と実際の分布を比較します。

ちなみに、この記事で表示する統計分析用3D空間の体積は1302立方メートルであり、遺物総数(3D座標が揃ったもの)が55892件であるため、密度は42.93件/立方メートルになります。