日本語 English
株式会社ヒューリンクス
TEL:03-5642-8385
営業時間:9:00-17:30

Surfer で適切なグリッド化手法を選ぶ

高精度なマップの基礎は、高精度なデータ補間(グリッド化)です。このガイドでは、データの性質と、目的とする表現の両方に最も合ったグリッド化手法を選び、その妥当性を確かめる方法を説明します。手順は、グリッド化手法の候補を絞り込む、テスト用グリッドファイルを作成する、テスト用グリッドの精度を検証する、そして十分に信頼できる高品質な本番用グリッドをデータから作成する、という流れです。

Surfer で使える個々のグリッド化手法について詳しくは、記事「Surfer のグリッド化手法を理解する」を参照してください。

グリッド化アルゴリズムの候補を絞り込む

Surfer にある十数種類のグリッド化手法から、有力な候補を2〜3種類に絞り込むには、まず次の3つの問いを立てます。

1. モデル化すべき断層(fault)やブレークライン(breakline)はあるか

断層をモデル化する場合は、最小曲率法(Minimum Curvature)、逆距離加重法(Inverse Distance to a Power)、最近傍法(Nearest Neighbor)のグリッド化アルゴリズムが断層に対応しています。

ブレークラインがある場合は、問い2に進みます。

2. データはどのように分布しているか

データが等間隔に並んでいる場合や非常に密な場合は、線形補間による三角形分割法(Triangulation with Linear Interpolation)か最近傍法のグリッド化アルゴリズムが、おそらく最もよい結果になります。

データが偏在している(クラスター状の)場合や不規則な場合は、問い3に進みます。

3. どのような見た目にしたいか

滑らかな等高線にしたい場合は、クリギング法(Kriging)、最小曲率法、自然近傍法(Natural Neighbor)が最適です。セル状・多角形状の見た目にしたい場合は、最近傍法を使います。同心円状・円形の結果にしたい場合は、逆距離加重法、修正シェパード法(Modified Shepard’s Method)、動径基底関数法(Radial Basis Function)を使います。

Surfer でテスト用グリッドを作成する

テスト用グリッドを使うと、ハードディスクの容量や処理能力を大きく消費せずに、グリッド化手法の違いが最終的な出力にどう影響するかを目で確かめられます。テスト用グリッドは手作業で作成できるほか、添付のスクリプトのいずれかを使って、複数のグリッド化手法でデータをグリッド化し等高線図を描くこともできます。

テスト用グリッドを手作業で作成するには:

  1. Home | Wizards | Create Grid をクリックします。(※Surfer 31 以前は Home | Grid Data | Grid Data)
  2. Browse をクリックし、入力データファイルを選びます。
  3. X、Y、Z の列が正しく割り当てられていることを確認します。
  4. 使いたいグリッド化手法をクリックします。
  5. Skip to End をクリックします。
  6. Output Grid 欄の名前を調整します。
  7. Add grid as layer to の横のチェックボックスをオンにし、New layer 欄が Contour になっていることを確認します。
  8. Finish をクリックします。

GridDataComparison スクリプトを実行するには:

  1. 添付の TXT ファイルをダウンロードします。
  2. ファイルを右クリックし、[名前の変更](Rename)を選びます。
  3. ファイル名の末尾の .txt を削除し、Enter キーを押します。
  4. 拡張子の変更に関する警告メッセージで[はい](Yes)をクリックします。
  5. エクスプローラーで C:\Program Files\Golden Software\Surfer\Scripter フォルダーを開きます。
  6. Scripter.exe をダブルクリックして、Scripter を起動します。
  7. File | Open をクリックし、ダウンロードした BAS ファイルを選んで Open をクリックします。
  8. Script | Run をクリックします。
  9. 指示が表示されたら、データファイル、X・Y・Z の列、BLN ファイル(断層用またはブレークライン用のスクリプトを使う場合)を選びます。

テスト用グリッドを作成して等高線図を描いたら、見た目のよいグリッド化手法を選び、その精度を検証します。

テスト用グリッドの精度を確かめる

Surfer のグリッド残差(Grid Residuals)機能は、同じ X,Y 座標におけるグリッドの値とデータファイルの値の差を計算するものです。この機能でグリッドファイルと入力値との平均的な差を求めれば、おおよその当てはまりのよさ(適合度)がわかります。

残差の合計を計算するには:

  1. Grids | Calculate | Residuals をクリックします。
  2. Grid Residuals ダイアログで、次のようにします。
    1. Input Grid 欄で、グリッドファイルを選びます。
    2. XYZ Data 欄で、ドロップダウンからデータファイルを選ぶか、Browse をクリックしてファイルを探します。
    3. X、Y、Z のデータ列を割り当てます。
    4. Store residuals in column 欄で、計算した残差を格納する空の列を選びます。
    5. OK をクリックします。
  3. 新しいワークシートウィンドウが開き、データと計算された残差が表示されます。

残差は、同じ x,y の組について、データファイルの z 値からグリッドファイルの z 値を引いたものなので、正にも負にもなります。ここで知りたいのはグリッドの値が元の値からどれだけ離れているかの目安だけなので、残差の絶対値をとります。

  1. Data | Data | Transform をクリックします。
  2. Transform ダイアログで、次のようにします。
    1. Transform with 欄が Column variables (e.g., C = A + B) になっていることを確認します。
    2. Transform equation ボックスに D = FABS(D) と入力します(D は残差を格納した列)。
    3. First row が 2、Last row が残差の入っている最後の行になっていることを確認します。
    4. OK をクリックします。
  3. ほかにも検証するテスト用グリッドがある場合は、そのグリッドについて手順1〜5を繰り返します。

最後に、残差の各列の統計量を確認して、最もよく当てはまる手法を見つけます。

  1. ワークシートで残差の値をすべて選択します。
  2. Data | Data | Statistics をクリックします。
  3. Statistics ダイアログで、Sum 以外のチェックボックスをすべてオフにします。
  4. Results セクションの Copy to worksheet をクリックします。
  5. Starting in cell を C49、または最初の残差列の1つ前の列の、最初の空いている行に変更します。
  6. OK をクリックします。

残差の合計が最も小さい手法が最もよく当てはまるので、本番用グリッドにはその手法を採用します。

本番用グリッドファイルを作成する

データに最もよく当てはまるグリッド化手法がわかったら、ベストプラクティスに沿って、高品質な本番用グリッドファイルを作成します。注意しておきたいベストプラクティスには、次のようなものがあります。

  • グリッドの解像度(Grid Resolution)── グリッドの解像度(ノード数)が高いほど、小さな特徴が結果によく表れます。モデル化する領域についての知識をもとに、重要な特徴がすべて正確に表れるよう、グリッドノードの間隔の最小値を決めます。
  • 探索と異方性(Search & Anisotropy)── XYZC データは、X・Y 方向よりも Z 方向にデータが密であることがよくあります。領域全体を正確に表せるよう、探索楕円を Z 方向よりも X・Y 方向に長く伸ばして調整します。
  • データフィルター(Data Filters)── 密なデータセットには、位置が重なる点が含まれていることがよくあります。データフィルターを使って、どの値を読み込んで補間に使うかを Surfer に指定します。
  • Z 変換と Z の範囲(Z Transform & Limits)── Z 値の範囲に既知の上下限がある場合は Z Limits で指定し、データのスパイク(突出した値)の影響を抑えるには Z 変換を適用します(上下限もスパイクも、濃度データによく見られます)。

本番用グリッドファイルを作成するには:

  1. Home | Wizards | Create Grid をクリックします。(※Surfer 31 以前は Home | Grid Data | Grid Data)
  2. 扱うデータの種類(Data Type)をクリックします。
  3. Browse をクリックし、入力データファイルを選びます。
  4. X、Y、Z の列が正しく割り当てられていることを確認します。
  5. 使いたいグリッド化手法(Gridding Method)をクリックします。
  6. Next をクリックします。
  7. Grid Data – Kriging – Variogram ページが表示された場合は、Next をクリックします。ほとんどの場合、このページの設定は変更しないことをお勧めします。
  8. Grid Data – Options ページで、必要に応じて探索(Search)のパラメーターを調整し、断層ファイルやブレークラインファイルを読み込んでから、Next をクリックします。
  9. Grid Data – Cross Validation ページで Next をクリックします。
  10. Grid Data – Output ページで、グリッドノードの Spacing または # of Nodes、Grid Z Limits、Z Transform、NoData の設定を必要に応じて調整します。
  11. Output Grid 欄で、グリッドファイルの名前と保存場所を調整します。
  12. Add grid as layer to の横のチェックボックスをオンにし、必要に応じて New layer 欄を調整します。
  13. Finish をクリックします。

記事原文

関連情報