魚探のデータをメッシュデータにしたいのですが…。

563 views
Skip to first unread message

Akito Nakamura

unread,
Jun 14, 2023, 10:59:36 PM6/14/23
to QGIS初心者質問グループ
魚探をボートにて曳航しながら取得したデータ(緯度経度、水深)の点データが、
曳航した際の航跡に沿ってあります。
このデータを5m間隔等のメッシュデータに処理したいのですが、
プラグインや機能を使って、この作業を行う方法がわかりません。
どなたか教えていただけると幸甚です。

QGISのバージョンは、3.30.3でPCはWindows10 Proです。
よろしくお願いいたします。

福岡

unread,
Jun 15, 2023, 12:00:20 AM6/15/23
to QGIS初心者質問グループ
Akito Nakamura 様

こんにちは

プロセッシングツールの「内挿 - TIN内挿(不規則三角網)」を使われると良いと思います。

公式のQISユーザーガイド
27.1.5.4. TIN内挿(不規則三角網)
https://docs.qgis.org/3.28/ja/docs/user_manual/processing_algs/qgis/interpolation.html#tin-interpolation

上記ユーザーガイドはわかりにくいかと思いましたので、他に良い情報が無いか探してみました。
GIS実習オープン教材の説明がわかりやすいかと思いますので、リンクを張っておきます。

空間補間 - 不整三角網
https://gis-oer.github.io/gitbook/book/materials/18/18.html#%E4%B8%8D%E6%95%B4%E4%B8%89%E8%A7%92%E7%B6%B2

標高ではありませんが考え方は同じなので、次の情報も役立つと思います。

合同会社ミドリアイティ-QGISによるサウンドスケープの可視化-
https://midoriit.com/2021/07/qgis%E3%81%AB%E3%82%88%E3%82%8B%E3%82%B5%E3%82%A6%E3%83%B3%E3%83%89%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%97%E3%81%AE%E5%8F%AF%E8%A6%96%E5%8C%96.html

2023年6月15日木曜日 11:59:36 UTC+9 Akito Nakamura:

ありた

unread,
Jun 15, 2023, 7:58:32 AM6/15/23
to QGIS初心者質問グループ
こんにちは

まず、メッシュデータですが気象や海洋の分野で使われている GRIB 形式などのメッシュ形式のデータではなく
格子状のポリゴンデータを指しているものと解釈したうえで説明いたします。

いくつか方法がありますが、入力データの状態と目的によっては適不適があります。



(1) 水深のポイントデータが既に等間隔で整理されているなどしており、その点ひとつに対し、
  ひとつの四角ポリゴンを作成したい場合

・プロセシングツールの「ベクタレイヤを再投影」で、水深の点データを UTM や平面直角座標系、
 ランベルト正角円錐図法などの適当な投影法で再投影を行う
・再投影した点データに対し、プロセシングツールの「式によるジオメトリ」で、下式を参考に
 点を中心とした正方形のポリゴンを生成する
・ただし入力データの点の配置により、キレイに敷き詰められていなかったり、ポリゴンが重なったりする
 可能性があります
make_square(
    make_point($x-2.5, $y-2.5),
    make_point($x+2.5, $y+2.5)
)



(2) 入力の水深データとして、一回の航行だけでない多数のデータが得られており、対象とする
  海域内を網羅している。また出力したい 5m メッシュのセル内に複数の点データが存在し、
  セル中心点における補間値や、セル中心点からの最近傍値などで値を得たい場合

・敷き詰められた格子状ポリゴンは、取り扱うデータとしてはラスタデータと近いため、
 ラスタデータに変換することで代表値を求める方法です
 ※ただしラスタデータは数値データしかとることができず、その点はベクタと異なる
・プロセシングツールの「ベクタレイヤを再投影」で、水深の点データを UTM や平面直角座標系、
 ランベルト正角円錐図法などの適当な投影法で再投影を行う
・再投影した点データに対し、プロセシングツールの「グリッド(最近傍法)」や
 「グリッド(累乗逆距離加重法)」などや、「TIN 挿入(不規則三角網)」「IDW 挿入(逆距離加重法)」を
 用いて、点データからラスタデータに変換する
・アルゴリズムやパラメータ次第ですが、セル内に点データが存在しない場合でも、補間手法によっては
 周囲のデータから適切に補間値を算出してくれる一方、まるまる欠損した領域がある場合、
 点データの配置や値によりとんでもない補間結果となることもあります
・グリッド系のツールだと、検索半径を指定できたり、マッチした点数が下限以下なら nodata にすることが
 可能だったりしますが、ラスタの大きさ(セルサイズ)をコマンドラインオプション形式でしか
 指定できなかったりします
・必要に応じて、プロセシングツールの「ラスタをベクタ化 (pixels to polygons)」を利用して
 ラスタデータのセルをポリゴンデータに変換することもできます



(3) 入力の水深データは限られた航行データによるものであり、対象とする海域としてデータがない
  箇所が多い場合。 あるいはセル内に含まれる複数の点データに対し、中央値などの統計値を
  代表値として得たい場合

・【任意】投影法が異なる場合でも空間結合は動作しますが、プロセシングツールの「ベクタレイヤを再投影」で、
 水深の点データを UTM や平面直角座標系、ランベルト正角円錐図法などの適当な投影法
 (下記の作成するグリッドと同一のもの)で再投影を行った方が無難
・プロセシングツールの「グリッドを作成」で、グリッドタイプを長方形とし、 UTM 等の
 投影法で 5m 四方のポリゴンを作成する
・プロセシングツールの「空間結合(集計付き)」で、グリッドポリゴン(メッシュポリゴン)に
 含まれる(または交差する)点データについて、属性値の集計を行います
 集計関数には中央値等の目的の統計値を指定してください



(2) ないし (3) の方法では、地物が大量にある場合には、空間インデックスを作成すると、
空間演算の処理が速くなる場合があります。

白石和広

unread,
Jun 19, 2023, 5:58:03 AM6/19/23
to QGIS初心者質問グループ

ちょうど同じことをしていたので参考までに

・緯度経度水深のデータを平面直角座標系に変換します。
・ベクタ→調査ツール→グリッド作成。グリッドタイプをポリゴンに水平垂直に5mを設定CRSは上と同じ平面直角座標系にする。作成範囲は上のポイントデータと同じで
・プロセシングツールボックスから空間結合(集計つき)を選びます。
・結合するレイヤでグリッドのポリゴン、比較対象に平面直角座標に変換した水深データ、集計する属性を水深、計算する集計関数に最大最小平均あたりを入れます。
・実行するとポリゴンに水深データの最大値最小値平均値が入ります。

イメージとしては5mメッシュの中に複数の点があってその中から最大値と最小値と平均値を出しています。
もしエラー値が多いのならば集計関数を追加して対応してください。



2023年6月15日木曜日 20:58:32 UTC+9 ありた:
Reply all
Reply to author
Forward
0 new messages