2025年1月30日木曜日

Illustrator作成断面線のBlender移植

 Porting Illustrator-created section lines to Blender


I confirmed how to port section line objects created in Illustrator to Blender 3D space, so I made a note of it. This involves moving the origin in Blender to the center of the bounding box instead of the center of gravity.


Illustratorで作成した断面線オブジェクトをBlender3D空間に移植する方法を確認しましたので、メモしました。Blenderで原点を重心ではなくバウンディングボックス中心へ移動する操作を伴います。

1 Illustratorで作成した断面線オブジェクト


Illustratorで作成した断面線オブジェクト

Illustratorの設定はpixelではなく㎜で行い、50㎜を地物1mに対応した縮尺で断面図を作成しています。

画面横軸がBlenderX軸、画面縦軸がBlenderZ軸に対応しています。

断面線(この例は地山地形断面線)を描画して、そのバウンディングボックスの断面図上の座標を読みとります。読み取りはゲージ(50㎜×50㎜のグリッドを10×10グリッドに細分したゲージ)を利用して行います。(Illustratorの固有座標は使いません。)

この例ではX,Y,Zが9.1,24,24.4という座標値になります。

2 IllustratorからSVGファイル書き出し

Illustratorから断面線だけをSVGファイルで書き出します。


断面線書き出し画面(Illustrator画面)

3 Blender読み込みと設定

BlenderにSVGファイルを読み込みます。Blenderにはカーブとして読み込まれます。

次の設定を行います。

回転:X軸を90度回転

スケール:X軸を25倍、Y軸を25倍

原点をバウンディングボックス中心に移動(特製BlenderPythonスクリプトによる移動)

原点の座標値をアイテム位置欄に記入(この例ではX,Y,Zが9.1,24,24.4)(Z座標はローカル設定上4.4で記入)

以上でカーブが所定の三次元空間に配置されました。


カーブが所定の三次元空間に配置された様子(Blender画面)

4 感想

断面図作成や断面図に関わる図面上の解析的検討はIllustratorで行うことが効率的です。その結果をBlenderに移植する方法を確認できたので、自分にとってはかなり画期的です。Blenderで断面図トレースをしなくてすみますから、作業精度や作業効率性が格段に向上します。Blenderを3Dモデル作成専用ツールとして使うことができます。

Illustratorのオブジェクト中心がバウンディングボックスの中心であり、Blenderの重心と異なることを今回意識的に理解することができました。

Blenderにおいて、カーブの原点をバウンディングボックス中心に移動するBlenderPythonスクリプトはChatGPT支援で作成しました。

5 参考 アクティブになっているカーブのバウンディングボックスの中心に原点を移動するBlenderPythonスクリプト

import bpy
import mathutils

# アクティブオブジェクトを取得(カーブ)
obj = bpy.context.object
if obj is None or obj.type != 'CURVE':
    raise ValueError("アクティブなオブジェクトがカーブであることを確認してください。")

# カーブをメッシュに変換(元に戻せるように複製する)
bpy.ops.object.duplicate()
bpy.ops.object.convert(target='MESH')
mesh_obj = bpy.context.object
mesh = mesh_obj.data

# バウンディングボックスの計算(ワールド座標で計算)
min_x, max_x = float('inf'), float('-inf')
min_z, max_z = float('inf'), float('-inf')

for v in mesh.vertices:
    world_co = mesh_obj.matrix_world @ v.co  # ローカル座標をワールド座標に変換
    min_x = min(min_x, world_co.x)
    max_x = max(max_x, world_co.x)
    min_z = min(min_z, world_co.z)
    max_z = max(max_z, world_co.z)

# バウンディングボックスの中心を求める(ワールド座標)
center_x = (min_x + max_x) / 2
center_y = obj.location.y  # Y座標は一定なのでオブジェクトのY座標
center_z = (min_z + max_z) / 2
center = mathutils.Vector((center_x, center_y, center_z))

# 一時的に作成したメッシュオブジェクトを削除
bpy.data.objects.remove(mesh_obj)

# 3Dカーソルを四角形の中心に移動
bpy.context.scene.cursor.location = center

# オブジェクトの原点を3Dカーソルの位置に設定
bpy.ops.object.select_all(action='DESELECT')  # 他のオブジェクトの選択を解除
obj.select_set(True)  # カーブを選択
bpy.context.view_layer.objects.active = obj  # アクティブオブジェクトをカーブに設定
bpy.ops.object.origin_set(type='ORIGIN_CURSOR')

print(f"原点を移動しました: {center}")
以下のようにスクリプトを変更することで、カーブの X座標値を一定 にし、Y座標値とZ座標値が変化する 場合のバウンディングボックスの中心に原点を移動するようにできます。

変更点:
min_x, max_x を min_y, max_y に変更
center_x の計算を obj.location.x に変更(X座標は一定)
center_y を (min_y + max_y) / 2 に変更(Y座標が変化)

2025年1月27日月曜日

メモ 崩落層最下部層から貝殻・土器片出土

 Note: Shells and pottery fragments excavated from the lowest layer of the collapsed layer


Shells and pottery fragments were excavated from the lowest layer of the earliest collapsed layer of the gully erosion topography that contains the shell layer on the north slope of the Ariyoshi Kita Shell Mound. It was found that shell and pottery fragment dumping activities were already taking place at the time when the gully erosion phenomenon first occurred.


有吉北貝塚北斜面貝層が収まるガリー侵食地形の最初期崩落層の最下部層から、貝殻・土器片出土を確認しました。ガリー侵食現象が発生した最初時期に、既に貝殻・土器片投棄活動が行われていたことが判明しました。

1 第11断面の崩落層最下部X層から貝殻・土器片出土の確認

1-1 第11断面の322グリッド付近崩落層最下部の様子


第11断面の322グリッド付近崩落層最下部の様子 セクション図は千葉県教育委員会所蔵

X層は「最下層 細砂の地山遷移層 若干の貝あり」と記述されています。周辺の層区分は崩落層の特徴を示し、いずれも貝殻を含むことが記述されています。

(グリッド番号は発掘調査報告書ではⅢ-22ですが、このブログでは322で表記します。)

参考 発掘調査報告書資料


第11断面 発掘調査報告書から引用


第11断面の位置と322グリッドの位置

1-2 遺物台帳322グリッドの標高順検索


遺物台帳322グリッドの標高順検索画面(pgAdmin4画面(データベースpostgreSQL画面))

322グリッドの最低標高から2番目の出土遺物(遺物コード322855)は土器片でX層から出土していることが確認できます。

参考 遺物台帳画面での確認


遺物台帳撮影画面(書画カメラ撮影) 遺物台帳は千葉県教育委員会所蔵

322グリッド遺物台帳で標高記載のある遺物の最後が土器片(遺物番号855)で、X層出土であることが確認できます。

1-3 崩落層最下部X層から貝殻・土器片出土の確認

1-1と1-2の結果から、崩落層最下部X層から貝殻・土器片が出土したことを確認しました。X層のみならず多くの崩落層から貝殻と土器片が出土しています。

2 崩落層最下部X層から貝殻・土器片出土を確認した意義

有吉北貝塚北斜面貝層が収まるガリー侵食地形の最初期崩落層の最下部X層から、貝殻・土器片出土を確認したことは、ガリー侵食現象が発生した当初時期に、既に貝殻・土器片投棄活動が行われていたことを確認したことになります。ガリー侵食が激しく発生して標高22.7m付近に谷底があり、谷壁最上部(台地面端)が28.3mにある深さ5.6mのガリー侵食谷(溝のようなミニ谷地形)が存在していたとき、その上部で縄文人が貝殻や土器片を投棄していたことが判明しました。あるいは貝殻や土器片を投棄した斜面にガリー侵食が発生したことが判明したことになります。

もし遺物コード322855の土器片が現存していて、その土器片から土器型式を読み取ることができればガリー侵食発生時期を特定できる可能性があります。

この付近から中峠式土器の出土が多く、また早期土器出土もあるので、ガリー侵食が発生した時期は中峠式土器の時期かそれ以前であると考えられます。


2025年1月26日日曜日

技術メモ JavaScriptでIllustratorを操作する

 Technical memo: Controlling Illustrator with JavaScript


I created a JavaScript that generates a B2-sized document in Illustrator and draws a grid. This is my first time using JavaScript, and it's very useful. I also learned that templates are even more useful as a next step.


立ち上げたIllustratorにB2判ドキュメントを生成し、グリッドを描画するJavaScriptを作成しました。JavaScriptの利用ははじめてで、とても便利です。また、次のステップとしてテンプレートがさらに便利であることを知りました。

1 B2判ドキュメントを生成しグリッドを描画するJavaScript

次の仕様のJavaScriptをChatGPT支援により作成しました。

1 ドキュメントを生成して、B2判アートボードを設定してアクティブにする。

2 横650mm、縦450mmの四角をアートボード中心に描く。

3 線幅は0.25pxとする。

4 四角を行9、列13のグリッドに分割する。

5 全てのグリッドをグループにまとめる。

6 カラーモードをRGBモードに設定する。

7 線の色は#0a009dとする。塗りはしない。

// ptをmmに変換する係数
var ptToMm = 2.83464567;

// 新規ドキュメントの作成と設定
if (app.documents.length === 0) {
    var doc = app.documents.add(DocumentColorSpace.RGB);
} else {
    var doc = app.activeDocument;
}

// B2アートボードの設定(B2: 728mm x 515mm)
var artboardWidthMm = 728; // mm
var artboardHeightMm = 515; // mm
var artboardWidthPt = artboardWidthMm * ptToMm; // ptに変換
var artboardHeightPt = artboardHeightMm * ptToMm; // ptに変換

doc.artboards[0].artboardRect = [
    0,                  // 左
    artboardHeightPt,   // 上
    artboardWidthPt,    // 右
    0                   // 下
];

// アートボードの中心座標
var centerX = artboardWidthPt / 2;
var centerY = artboardHeightPt / 2;

// 四角形を描画
var rectWidthMm = 650; // mm
var rectHeightMm = 450; // mm
var rectWidthPt = rectWidthMm * ptToMm; // ptに変換
var rectHeightPt = rectHeightMm * ptToMm; // ptに変換

var rect = doc.pathItems.rectangle(
    centerY + rectHeightPt / 2, // 四角の上
    centerX - rectWidthPt / 2,  // 四角の左
    rectWidthPt,                // 四角の幅
    rectHeightPt                // 四角の高さ
);
rect.stroked = true;
rect.strokeWidth = 0.25; // 線幅を0.25px
rect.strokeColor = new RGBColor();
rect.strokeColor.red = 10;
rect.strokeColor.green = 0;
rect.strokeColor.blue = 157;
rect.filled = false; // 塗りなし

// 四角形をグリッドに分割
var rows = 9; // 行
var columns = 13; // 列
var gridGroup = doc.groupItems.add();
for (var i = 0; i < rows; i++) {
    for (var j = 0; j < columns; j++) {
        var cellWidthPt = rectWidthPt / columns;
        var cellHeightPt = rectHeightPt / rows;
        var cell = gridGroup.pathItems.rectangle(
            rect.top - (cellHeightPt * i),       // セルの上
            rect.left + (cellWidthPt * j),       // セルの左
            cellWidthPt,                         // セルの幅
            cellHeightPt                         // セルの高さ
        );
        cell.stroked = true;
        cell.strokeWidth = 0.25;
        cell.strokeColor = rect.strokeColor;
        cell.filled = false;
    }
}

// グリッド全体をグループ化
gridGroup.move(doc.activeLayer, ElementPlacement.PLACEATEND);

// RGBカラーモードを設定
doc.documentColorSpace = DocumentColorSpace.RGB;

alert("スクリプトの実行が完了しました!(単位はmm対応)");
2 JavaScriptにより生成したドキュメント


JavaScriptにより生成したドキュメント(Illustrator画面)


JavaScriptにより生成したドキュメントの利用(Illustrator画面)

このドキュメントは有吉北貝塚北斜面貝層のセクション図を集成して1枚の貝層断面図にまとめるための「台紙」として使う目的で作成したものです。JavaScriptの変数を調整すれば、アートボードサイズやグリッド設定や線色を変更できますから、便利です。JavaScriptは規定の場所に置いて使っています。

3 テンプレート

セクション図集成作業ではグリッド番号や標高を記入する必要があるので、それらの数値例や時々必要となるゲージ(目盛)をアートボード内外に置いてあるファイルをテンプレートファイルとして作成し、活用しています。


テンプレート画面(Illustrator画面)

4 感想

JavaScriptの利用がとても便利であることをはじめて知りました。さらにそれ以上にテンプレート利用が便利であること知りました。テンプレートファイルは規定の場所に置くことは手間がかかるようなので、作業フォルダーに置いて使っています。


2025年1月24日金曜日

有吉北貝塚北斜面貝層セクション図の整理

 Organizing the section diagrams of the shell layer on the northern slope of the Ariyoshi Kita shell mound


I have organized 87 original section diagrams (hand-drawn shell layer cross sections, B3 size) of the shell layer on the northern slope of the Ariyoshi Kita shell mound. I plan to create a series of shell layer cross sections by connecting the section diagrams together, and then create a 3D model of the shell layer.


有吉北貝塚北斜面貝層のセクション図原簿(手書き貝層断面図、B3判)87枚を整理しました。セクション図をつなぎ合わせることによって一連の貝層断面を作成し、さらに貝層3Dモデルを作成する予定です。

1 セクション図原簿


セクション図原簿例(手書き貝層断面図、B3判、部分、千葉県教育委員会所蔵)

B3判資料をその大きさで複写する装置(書画カメラ)では、今回のように経年劣化が激しい鉛筆手書き資料について、必要な解像度を得られませんでした。そのため、解析用複写は仕方なくA3判スキャナーで複数枚重複して行いました。

2 セクション図整理


セクション図の分布

青色は発掘調査報告書掲載断面、赤色と緑色は非掲載断面。

セクション図原簿87枚を整理しました。貝層分布域については、満遍なくセクション図が作成されていることを確認できました。この資料から貝層3Dモデルを作成する予定です。

3 セクション図と地形との関係


発掘調査報告書の貝層断面6付近の地形の様子


発掘調査報告書の貝層断面6付近の地形の様子

セクション図と発掘調査報告書掲載地形図から周辺地形とセクション図の関係を把握できることを確認しました。

セクション図の地山地形断面線から標高データを拾って、地山地形3Dモデルを完成させることの資料精度的メドが経ちました。

4 貝層区分の把握

セクション図の貝層区分は詳細に行われていますが、その記載がどの図面で行われているのか、これから詳細に調査する予定です。また、隣接する断面の貝層区分連続性がどのようになっているのか、詳しく検討します。最終的には北斜面貝層全体で、統一した貝層区分表現作成をめざし、貝層区分とその関係の整合的理解を目指します。

5 剥ぎ取り断面対応セクション図の存在

剥ぎ取り断面(千葉県立中央博物館展示)対応セクション図の存在を確認しました。

貝層区分線の引き方と現場の様子を、今現在において直接確認できますから、とても有益な資料です。今後詳しく「現場」確認調査します。


有吉北貝塚北斜面貝層剥ぎ取り断面(千葉県立中央博物館展示)


有吉北貝塚北斜面貝層剥ぎ取り断面対応セクション図(千葉県教育委員会所蔵)


2025年1月21日火曜日

有吉北貝塚北斜面貝層の地山地形(谷底部)標高点3D分布モデル

 3D distribution model of elevation points of the natural terrain (valley bottom) of the shell layer on the northern slope of the Ariyoshi Kita shell mound


A 3D distribution model of 3,393 elevation points of the natural terrain (valley bottom) measured during the excavation of the shell layer on the northern slope of the Ariyoshi Kita shell mound was created using the QGIS plugin Qgis2threejs.


有吉北貝塚北斜面貝層の発掘調査で測量された地山地形(谷底部)標高点3393点の3D分布モデルをQGISプラグインQgis2threejsで作成しました。

1 有吉北貝塚北斜面貝層の地山地形(谷底部)標高点3D分布モデルの作成


標高点分布(QGIS画面)

標高点はZ座標(標高値)を所持しています。


標高点の立体表示(QGISプラグインQgis2threejs画面)

Qgis2threejsから3Dモデルをgltfファイルでエクスポートし、BlenderでWabefront(.obj)ファイルに変換して利用しています。

2 有吉北貝塚北斜面貝層の地山地形(谷底部)標高点3D分布モデル

有吉北貝塚北斜面貝層の地山地形(谷底部)標高点3D分布モデル

3DF Zephyr v7.531でアップロード


3Dモデルの画像


3Dモデルの動画

3 異常値の検出

3Dモデルの中に異常値を検出しました。Ⅲ-55グリッドの1標高点が周囲より約2.3m低くなっています。


異常値の検出

発掘調査原票(地山平面図3155)を確認したところ、値は原票記載で間違いありませんが、「地山掘りすぎ下げてしまっている。」との注記がありました。この部分だけ、地山地形3Dモデルが異常になっているので、分析に使う資料として作成する時にはこの異常値は除去することにします。


注記

なお、この異常値検出とその理由判明により、自分の作業精度が損なわれていないことが確認でき、心理的に自信のようなものが生まれました。


2025年1月18日土曜日

有吉北貝塚北斜面貝層の谷地形を切る埋没谷

 A buried valley cutting the valley topography of the shell layer on the northern slope of the Ariyoshi Kita shell mound


A buried valley has been discovered cutting the valley topography filled with shell layers on the northern slope of the Ariyoshi Kita shell mound, so it is worth paying attention to. It may be an erosional topography that is the product of the so-called "Yayoi small regression."


有吉北貝塚北斜面貝層が充填されている谷地形を切る埋没谷が検出されているので、注目しておきます。いわゆる「弥生の小海退」の産物の侵食地形かもしれません。

1 有吉北貝塚北斜面貝層が充填されている谷地形を切る埋没谷の検出


発掘調査報告書掲載図面における埋没谷の記号


発掘原票(地山平面図3150、部分、千葉県教育委員会所蔵)における埋没谷の記述

2 埋没谷の位置


埋没谷の位置

北斜面貝層の谷地形が流れ込む谷津に、この埋没谷も流れ込んでいるとても小さな谷津です。

3 埋没谷の性格

北斜面貝層が充填される谷地形は加曽利EⅡ式期には完全に侵食地形としてのアクティブ性を喪失していていたと考えられます。縄文中期以降現在までの期間で、侵食地形が発達する時期としていわゆる「弥生の小海退」をあげることができます。現状で特段の根拠はありませんが、北斜面貝層の谷地形を切る埋没谷の性格を「弥生の小海退」に起因する侵食地形と仮説しておきます。

以前西根遺跡(印西市)の学習をした時に、「弥生の小海退」により流路の深さが特段に深くなったと考えられる事例を扱いました。

2017.09.04記事「西根遺跡 古墳時代のみ戸神川に可動堰が作られた理由


時代別戸神川流路の深さ

4 埋没谷が北斜面貝層の谷地形を切る事象をキッカケにして北斜面貝層について考える

4-1 谷を埋めつくすという特別な活動が浮彫になる

埋没谷が北斜面貝層の谷地形を切って発達していることから、北斜面貝層の谷地形は地域の侵食営力が活性化した時期(例えば「弥生の小海退」期)に完全に侵食地形としての意義を失っていたことを確認できます。谷地形としての意義を少しでも保持していたならば、地域の侵食営力が活性化すれば、北斜面貝層が新たに侵食され、谷地形が復活すると考えられます。

北斜面貝層が充填される谷地形は加曽利EⅡ式期に完全に埋まり、地形としての意義を失いました。

一つの谷地形を完全に貝殻投棄で埋めつくし、侵食地形としての意義を完全に終焉させるという活動は特別の意義がある活動であると考えることができます。

4-2 谷を埋めつくした時期と集落終焉の時期が重なる

谷を埋めつくした時期と集落終焉の時期が重なります。その2つの事象は単なる偶然か、それとも関連しているのか、興味が深まります。



有吉北貝塚学習 作業日誌(2025.01.18) 地山地形(谷底部)3Dモデル完成

 Ariyoshi Kita Shell Mound Study Work Journal (2025.01.18)

3D model of natural terrain (valley bottom) completed


All elevation points (3933) were extracted from 14 ground plan views of the shell layer on the northern slope of the Ariyoshi Kita Shell Mound, and a 3D model of the terrain was created using QGIS. The previously unclear valley bottom topography has become clearly visible. The shell layer fills the varied valley bottom topography.


有吉北貝塚北斜面貝層の地山平面図14枚から、全ての標高点(3933)を抽出し、QGISにより地形3Dモデルを作成しました。これまで不明瞭だった谷底地形が明瞭に浮かび上がりました。貝層は変化に富んだ谷底地形を充填しています。

1 地山平面図からの標高点抽出


地山平面図から標高点を抽出した様子

地山平面図14枚から全ての標高点(3933)を抽出しました。最上流部及び斜面部及び一部区域には標高点がありません。また標高点粗密のばらつきがあります。

2 地山地形(谷底部)3Dモデル

標高点(3933)だけをデータとして、QGIS(GRASSプラグイン、v.surf.rstツール)により地形3Dモデルを作成しました。


地山地形(谷底部)標高分級平面図


地山地形(谷底部)3Dモデル 画像1


地山地形(谷底部)3Dモデル 画像2


地山地形(谷底部)3Dモデル 画像3


地山地形(谷底部)3Dモデル 画像4

標高点分布域部分(谷底部分)の3Dモデルです。それ以外の3D形状は処理上結像していますが、参考にならない3Dモデルです。

3 メモ

3-1 地形に関するメモ

・下流部右岸に河岸段丘上の地形がみられることにはじめて気が付きました。

・中流左岸は上流部と比べると谷底が平坦であることが特徴となっています。

・上流部はバッドランドのように激しい凹凸がみられます。激しいガリー侵食の跡であると考えることができます。

3-2 作業に関するメモ

・セクション図の断面線から地山地形の標高点を生成し、今回読みとった標高点(3933)に加え、標高点分布の不備を補正して、北斜面貝層が収まる谷地形全体の3Dモデルを作成します。

・同時にセクション図の分析により貝層分類別分布3Dモデル作成に着手することにします。


2025年1月15日水曜日

ブログ開設14周年通過にあたって

 On the 14th anniversary of the blog's launch


The blog "Walking the Hanamigawa River Basin" has now reached its 14th anniversary.

The fact that we have been able to reach our 14th anniversary is entirely due to your support and cooperation.

I would like to express my sincere gratitude to you all.

Following the example of others, I have compiled my steps over the past 14 years and written down my modest dreams for 2025.


本日(2025.01.15)はブログ「花見川流域を歩く」開設14周年通過日となります。

14周年を通過できたことは、ひとえに多くの内外皆様にさまざまなご支援、ご協力をいただいたおかげです。

皆様方に心からの感謝を申し上げます。

多くの皆様方に、このブログ及びTwitter、Facebook、YouTube、Sketchfab等を閲覧していただき、コメント・いいねなどをいただき、アドバイスしていただきました。それにより自分は大いに励まされ、学習意欲を増進させることができました。

web及び対面でお会いした全ての皆様方にあらためて心からお礼申し上げます。

先例にならい、この記事では14年間のブログ足取りをまとめるとともに、2025年のささやかな夢をメモすることにします

1 ブログ「花見川流域を歩く」14年間の足どり

1-1 14年間4159記事の分類


14年間4159記事の分類

2011年当初は花見川流域の自然や地形をテーマとした記事から出発しました。その後下総台地の地形や歴史に興味が移行しました。さらに2015年~2016年には千葉県地名(小字)に熱中しました。2017年頃から考古事象に興味が限定傾向となりました。最初は古代遺跡、その後縄文遺跡を対象に発掘調査報告書収録データ分析を行い、興味を深めています。

2023年には有吉北貝塚北斜面貝層学習対象を発掘調査報告書から発掘原票に切り替えて、より精細な情報3D分析に挑み始めました。このころから自分のAI革命(具体的にはChatGPT利用)が始まっています。2024年は有吉北貝塚北斜面貝層発掘原票の入力作業(電子化、データベース化)に明け暮れましたが、その活動意義をより深く捉えるようになり、学習充実感が濃厚になっています。なお、短期限定集中学習として人形塚古墳学習を行い、大いに楽しました。

1-2 14年間ブログ滑動の到達点

●記事数(Blogger 2011.01.15~2025.01.14)

4165記事

●閲覧数(Blogger 2011.01.15~2025.01.15)(人×ページ)

1098948ビュー

●訪問者数(flagcounter 2013.04.14~2025.01.15)(人×日)

401886人

●訪問者国数(flagcounter 2013.04.14~2025.01.15)

97国


訪問者の国

●訪問者人数の多い県・州 トップ20(flagcounter 2013.04.14~2025.01.15)(日本とアメリカ対象)


訪問者人数の多い県・州 トップ20


県・州別訪問者分布

2 2025年のささやかな夢リスト

2025年にその実現や端緒をつかみたいと考える夢リストをメモします。

2-1 有吉北貝塚北斜面貝層3Dデータベース化作業の進捗を図る

2024年に引き続き、2025年の最大の夢は有吉北貝塚北斜面貝層3Dデータベース化作業の進捗を図り、その概成に向かって進むことです。可能ならば、山を越えたいと願っています。幸いChatGPT利用により検討作業の効率化が急速に進んでいます。しかし、新たな課題・問題点も生まれ、ダイナミックな学習プロセスとなっています。検討作業を大いに楽しみ、意義ある成果を目指したいと思います。


北斜面貝層学習イメージ

2-2 縄文土器学習の技術的取組み

これまでの総合的な縄文土器学習の夢を一旦棚にあげて、学習間口を極端に狭めて、有吉北貝塚北斜面貝層学習に役立つ範囲で縄文土器学習を行うことにします。具体的には中峠式から加曽利EⅡ式頃の千葉地域付近の土器に限定して、その鑑識眼を持てるようになることが今年の夢です。


加曽利EⅡ式土器

2-3 磨貝学習

有吉北貝塚北斜面貝層出土磨貝(アリソガイ製ヘラ状貝製品、ハマグリ製ヘラ状貝製品)の用途学習の端緒を切り開くことが夢です。磨貝は皮なめしと関連すると考えられてきていますが、全く別の用途である可能性を含めて学習します。


磨貝

2-4 遺物や貝層の3D空間分布の表示技術及び関連技術の習得

遺物や貝層の3D空間分布の表示技術及び関連技術の習得をChatGPTを活用してすすめます。Blender、QGIS、postgreSQLなどを縦横無尽に活用できる技術を習得します。


Blenderイメージ

2-5 世界の風景・考古学習

次の素材を統合して、自分なりに新たな趣味ジャンルを創造して楽しむことにします。

・興味を深めて記事にした世界の風景・地形(ブログ「世界の風景を楽しむ」など)

・過去に旅行で巡って体験した世界40数か国の様子(写真や持ち帰った資料など)

・世界考古学切手収集(切手という現物)


考古学切手

……………………………………………………………………

●過去のブログ開設記念記事

2012.01.15記事「ブログ開設1周年

2015.01.15記事「2015年ささやかな夢リスト 趣味生活における埋土種子群落

2016.01.15記事「ブログ開設5周年通過

2017.01.15記事「ブログ開設6周年通過

2018.01.15記事「ブログ開設7周年通過にあたって

2019.01.15記事「ブログ開設8周年通過にあたって

2020.01.15記事「ブログ開設9周年通過にあたって

2021.01.15記事「ブログ開設10周年通過にあたって

2022.01.15記事「ブログ開設11周年通過にあたって

2023.01.15記事「ブログ開設12周年通過にあたって

2024.01.15記事「ブログ開設13周年通過にあたって




2025年1月14日火曜日

QGIS Pythonコンソールの使用

 Using the QGIS Python Console


Although a little late, I found out that QGIS has a Python console and can use Python scripts, so I tried using it. It seems that tasks that are difficult to do manually on the screen can be efficiently performed with Python scripts.


遅ればせながら、QGISにPythonコンソールがあり、Pythonスクリプトが使えることを知り、使ってみました。画面における手作業では難儀な作業を、Pythonスクリプトで効率的に実施できるようです。

1 Pythonスクリプト例(四角ポリゴン描画)

ChatGPT支援により作成した、プロジェクトCRSがEPSG6677で設定されているQGISで(-2000,0) (4000,0) (4000,-2000) (-2000,-2000)を頂点とする四角ポリゴンを描くPythonスクリプト。

from qgis.core import (
    QgsVectorLayer, QgsFeature, QgsGeometry, QgsPointXY, QgsProject, QgsField
)
from PyQt5.QtCore import QVariant

# プロジェクトCRSをEPSG:6677に設定(任意。既に設定されている場合は不要)
project = QgsProject.instance()
project.setCrs(QgsCoordinateReferenceSystem("EPSG:6677"))

# 空のポリゴンレイヤーを作成
layer_name = "Polygon Layer"
layer = QgsVectorLayer("Polygon?crs=EPSG:6677", layer_name, "memory")
layer_provider = layer.dataProvider()
layer_provider.addAttributes([QgsField("id", QVariant.Int)])
layer.updateFields()

# 四角形の座標を定義
coordinates = [
    (-2000, 0),
    (4000, 0),
    (4000, -2000),
    (-2000, -2000),
    (-2000, 0)  # ポリゴンを閉じるために始点を再度追加
]

# ポリゴンジオメトリを作成
points = [QgsPointXY(x, y) for x, y in coordinates]
polygon = QgsGeometry.fromPolygonXY([points])

# フィーチャを作成してポリゴンを設定
feature = QgsFeature()
feature.setGeometry(polygon)
feature.setAttributes([1])  # IDフィールドの値を1に設定
layer_provider.addFeature(feature)
layer.updateExtents()

# レイヤーをプロジェクトに追加
QgsProject.instance().addMapLayer(layer)

print(f"'{layer_name}' レイヤーが作成され、四角形ポリゴンが追加されました。")

2 QGISのPythonコンソール


QGISのPythonコンソール

Pythonコンソールはプラグイン→Pythonコンソールで開くことができます。

3 四角ポリゴン描画結果


四角ポリゴン描画結果

水色部分が四角ポリゴン描画結果です。描画後、確認のために半透明にしてあります。

4 感想

Pythonスクリプトを利用することにより、QGIS画面における手作業で単調な連続作業など難儀な作業を、Pythonスクリプトで効率的に実施できる可能性があることを確認しました。BlenderにおけるPythonコンソールとほぼ同じ感覚で使えそうです。

Pythonスクリプトの活用はこれまでBlender、Excel、Windows(explorer)、text、自作ツールでしたが、これにQGISが加わりました。


2025年1月13日月曜日

有吉北貝塚学習 作業日誌(2025.01.13) ポットホール・ミニ滝

 Ariyoshikita Shell Mound Study Work Journal (2025.01.13) Pothole Mini Waterfall


I am currently working on inputting elevation points to create a 3D model of the ground plan of the shell layer on the northern slope of the Ariyoshikita Shell Mound. I have made notes of my impressions and thoughts that have arisen during this work.Potholes and mini waterfalls have been unearthed.


有吉北貝塚北斜面貝層の地山平面図の3Dモデル化のための標高点入力作業を進めています。作業のなかで生まれた感想・思考をメモしました。ポットホールやミニ滝が出土しています。

1 標高点入力作業の状況


標高点入力作業状況(QGIS画面)

ガリー谷中上流の約2500標高点を入力し、残りは下流約1000標高点くらいのようです。


標高点入力作業状況の3Dモデル表示(QGISプラグインQgis2threejs画面)

2 3Dモデル試作


3Dモデル試作(QGIS画面)


3Dモデル試作(QGISプラグインQgis2threejs画面)

「谷底」の微地形だけが表現されている3Dモデルです。

3 感想・メモ

3-1 作業上の感想・メモ

・標高点分布が「谷底」部分に限られていて、斜面にはないので、自分が知りたい谷地形を知るためには、セクション図から(貝層断面図から)斜面の高さ情報を汲み取り、補充する必要があることがわかりました。

・QGISの仮想地形生成機能利用が順調に展開しています。(現実の地理地形とは無関係に、QGISの機能だけを利用しています。)

3-2 地形に関する感想・メモ

・「谷底」に凹地(閉じた穴)が多数存在していて、ポットホールと同じ原理で生成したものではないかと想定します。ガリー侵食の過程で生まれたもので、貝殻や土器片がその生成に大きな役割をはたしているかもしれないと想像します。この想定、想像の検証が一つの検討課題となります。

・「谷底」に段差が多数あり、ガリー侵食の特徴を表現していると考えます。オーバーハングしている段差もあり、ガリー侵食の過程で生まれたミニ「滝」です。貝層で保存され縄文時代のミニ「滝」が出土したことは、面白いことだと思います。ミニ「滝壺」から貝殻や土器片が出土します。

・北斜面貝層が収まっている箱形谷地形の成因がわからないと、北斜面貝層の特質もわからないことが直観されます。貝殻や土器片投棄が無垢の斜面に崩壊やガリー侵食を誘発促進したと考えるからです。谷地形の形成に縄文人の人為が関わっていたのではないだろうか?


2025年1月11日土曜日

考古学切手 ショーヴェ洞窟の壁画

 Archaeological stamp: Chauvet Cave mural


A stamp showing a mural (approximately 36,000 years ago) from the Chauvet Cave in the Ardèche region of southern France. The image is said to depict a lioness stalking her prey in a dynamic (animated) manner.


フランス南部アルデシュ地方にあるショーヴェ洞窟の壁画(約36000年前)切手。絵柄は獲物をねらうメスライオンを動的に(アニメーション的)に描いているとされる。

1 ショーヴェ洞窟の壁画切手


ショーヴェ洞窟の壁画切手

フランス切手、2024年。

ショーヴェ洞窟は、旧石器時代の壁画が非常に良好な状態で残されていることで有名です。この洞窟の壁画には、約36,000年前に描かれたとされライオン、ハイエナ、ウマ、サイ、バイソンなどが描写されています。

切手の絵柄はメスライオンが獲物をねらう様子の壁画場面などをコラージュ的に構成しています。

細密画技法で描かれています。

2 動的表現(アニメーション的表現)

動物の描写の様子から、動物の動きをアニメーション的に表現している(動きそのものを表現している)ものが多いと考えられています。

切手絵柄抽出部は3頭(4頭)のライオンを描いたものではなく、1頭のメスライオンが獲物をねらう様子を動的に(アニメーション的に)表現していると考えられています。


1頭のメスライオンが獲物をねらう様子の動的(アニメーション的)表現


2025年1月8日水曜日

QGISの仮想地形生成機能利用による貝塚地山地形3Dモデル作成

 Creating a 3D model of shell mound topography using QGIS's virtual terrain generation function


Using QGIS's virtual terrain generation function, a 3D model (part) of the topography of the shell bed on the northern slope of the Ariyoshi Kita shell mound was created from a random point cloud with XYZ coordinates. The characteristics of the topography (basal surface topography) emerge.


QGISの仮想地形生成機能を利用して、XYZ座標付きランダム点群から有吉北貝塚北斜面貝層の地山地形3Dモデル(部分)を作成しました。地山地形(基底面地形)の特性が浮かび上がります。

1 地山地形のXYZ座標付けランダム点群

有吉北貝塚北斜面貝層の発掘原票(38年前原図、B3判サイズ)には地山平面図というジャンルがあり、14枚が格納されています。このうちNo.3152の大半のグリッド(15グリッド)の標高点を読み取りXYZ座標付けランダム点群を作成しました。


No.3152地山平面図から標高点を読みとった範囲

縦3グリッド(6m)×横5グリッド(10m)の範囲です。

有吉北貝塚北斜面貝層学習は数年前からBlenderを使って立体的に検討してきています。グリッド配置における座標原点設定はBlenderの中で自分独自のものです。

2 QGISにおけるXYZ座標付けランダム点群プロット

XYZ座標付けランダム点群をQGISにプロットして、QGISの仮想地形生成機能を利用して地山地形3Dモデルを作成します。

Blender座標とQGIS座標はXY座標が異なるので(※)変換します。

※ X軸とY軸が差し替え、QGISのY軸が反転。

QGISでは実単位では領域が狭すぎて仮想地形生成機能を利用できないので、XYZ座標を100倍にしました。


QGISにXYZ座標付けランダム点群をプロットした様子

実際の地理地形とは無関係に、QGISの仮想地形生成機能だけを利用していることをわざと表示するために、この画面では標準地図を表示しています。QGISのプロジェクト座標参照系(CRS)はEPSG6677(日本測地系2011平面直角座標系Ⅸ系)です。現実は6m×10mの範囲に散らばる標高点が、QGISでは600m×1000mの範囲に仮想的に散らばっています。

3 QGISによる仮想地形生成

QGISのGRASSプラグインのv.surf.rstツールを利用して地形3Dモデルを作成しました。2024.12.20から使えるようになったQGISバージョン3.40で作業しています。(バージョン3.38ではバクで作業できません。)


仮想地形生成結果(平面)


仮想地形生成結果(3D)


仮想地形生成範囲

4 メモ

4-1 QGISの仮想地形生成機能利用

QGISの仮想地形生成機能を利用して、北斜面貝層の地山地形3Dモデルを作成する技術が自分のなかで確立しました。

4-2 貝層形成と地山地形形成の関係

表示した地山地形3Dモデルには貝層が充填されています。北斜面貝層は崩壊性谷地形あるいはガリー侵食地形を充填する形で形成されています。今後詳しい検討を行いますが、次のような問題意識が生まれています。

・北斜面貝層地山地形(基底面地形)の凹凸が激しい。ポットホール状の凹地が多い。このような地形形成が通常の崩壊やガリー侵食でできて、その上に貝層が堆積したと考えることは困難であるように感じる。

・通常の崩壊やガリー侵食の後、つまり谷地形が出来上がってから、貝層形成が行われたと考えることは困難であるように感じられる。

・崩壊やガリー侵食と貝層形成(貝殻や土器片の投棄)が密接に関わっているのではないだろうか。

・貝殻や土器片の投棄が無垢の斜面に崩壊やガリー侵食を誘発した可能性検討を視野に入れる必要があるだろう。