2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

QGIS×GRASSで発掘調査報告書図版をベクタ化する方法

2
Posted at

発掘調査報告書に掲載された遺構図をスキャンし、ベクタデータ(線画)へ変換する方法を解説します。本稿では、QGIS のプロセッシング機能から GRASS GIS のアルゴリズムを呼び出して処理を行います。

報告書をラスタ化する

まず、報告書図版をスキャンします。PDFデータの場合は、別記事(Ghostscriptを利用してPDFから画像を切り出す)で紹介した方法により TIFF 形式へ変換してください。

TIFF化後、QGISで幾何補正(ジオリファレンス)を行います。
サンプルデータは、北海道埋蔵文化財センターが2021年に調査した札苅7遺跡の図版です(本稿では幾何補正は簡易的に実施しています)

01.png

二値画像化

まず、黒線がラスタ画像内でどの値として格納されているかを確認します。

QGISの「地物情報ツール」を用いて黒線部分をクリックします。
サンプル画像では、黒線は値「41」として記録されていました。

02.png

次に、プロセッシングツールボックスから r.reclass を実行します。

03.png

  • 入力ラスタレイヤ: スキャンした画像
  • 再分類ルールは下記のとおりです。
41 thru 41 = 1
* = null

これは、値41のみを1に変換し、それ以外をnullとする処理です。
二値化後の画像は以下のようになります。

04 .png

細線化

この段階では、線はまだ面積を持った状態(複数ピクセル幅)です。
これを1ピクセル幅の中心線に変換します。

r.thin を使用します。

  • 入力ラスタ: 二値画像化したラスタ

05.png

1ピクセル幅の細線になりました。

06.png

ベクタ化

細線化したラスタをベクタラインに変換します。
r.to.vect使用します。

  • 入力ラスタレイヤ: 細線化したラスタ
  • 地物のタイプ: line

07.png

08.png

スムージング

変換直後のラインはピクセル形状を反映しているため、ジグザグが目立ちます。これを滑らかな曲線に補正します。

v.generalize を使用します。

  • 入力レイヤ: ベクタ化したラインデータ
  • 概略化アルゴリズム: Hermite(Snakesもおすすめ)

09.png

処理後はこのような仕上がりになります。
10.png

モデルデザイナーで自動化

以上の処理(再分類 → 細線化 → ベクタ化 → 平滑化)は、QGISのモデルデザイナーを用いて自動化できます。

モデルを作成しておけば、矢印ボタンをクリックするだけで一連の処理を実行できます。

11.png

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?