発掘調査報告書に掲載された遺構図をスキャンし、ベクタデータ(線画)へ変換する方法を解説します。本稿では、QGIS のプロセッシング機能から GRASS GIS のアルゴリズムを呼び出して処理を行います。
報告書をラスタ化する
まず、報告書図版をスキャンします。PDFデータの場合は、別記事(Ghostscriptを利用してPDFから画像を切り出す)で紹介した方法により TIFF 形式へ変換してください。
TIFF化後、QGISで幾何補正(ジオリファレンス)を行います。
サンプルデータは、北海道埋蔵文化財センターが2021年に調査した札苅7遺跡の図版です(本稿では幾何補正は簡易的に実施しています)
二値画像化
まず、黒線がラスタ画像内でどの値として格納されているかを確認します。
QGISの「地物情報ツール」を用いて黒線部分をクリックします。
サンプル画像では、黒線は値「41」として記録されていました。
次に、プロセッシングツールボックスから r.reclass を実行します。
- 入力ラスタレイヤ: スキャンした画像
- 再分類ルールは下記のとおりです。
41 thru 41 = 1
* = null
これは、値41のみを1に変換し、それ以外をnullとする処理です。
二値化後の画像は以下のようになります。
細線化
この段階では、線はまだ面積を持った状態(複数ピクセル幅)です。
これを1ピクセル幅の中心線に変換します。
r.thin を使用します。
- 入力ラスタ: 二値画像化したラスタ
1ピクセル幅の細線になりました。
ベクタ化
細線化したラスタをベクタラインに変換します。
r.to.vect使用します。
- 入力ラスタレイヤ: 細線化したラスタ
- 地物のタイプ: line
スムージング
変換直後のラインはピクセル形状を反映しているため、ジグザグが目立ちます。これを滑らかな曲線に補正します。
v.generalize を使用します。
- 入力レイヤ: ベクタ化したラインデータ
- 概略化アルゴリズム: Hermite(Snakesもおすすめ)
モデルデザイナーで自動化
以上の処理(再分類 → 細線化 → ベクタ化 → 平滑化)は、QGISのモデルデザイナーを用いて自動化できます。
モデルを作成しておけば、矢印ボタンをクリックするだけで一連の処理を実行できます。










