新規購入お見積
サポート

条件付き Z 値を含むデータをグリッド化するには?

Z 値の一部に条件が付いたデータ、すなわち、ある数値よりも大きいか小さいかは分かっているけれども、Z 値そのものの値は不明なデータがあるとします。Surfer の補間では、Z 値に条件付き引数を使用することはできませんが、グリッドファイル作成後にこれらの条件を適用し、最終的なグリッドがすべての条件を満たしているかどうかを確認することができます。

例えば、水面の深さを Z 値であらわした井戸データを持っており、その深さで水面を補間するとしましょう。井戸によっては水面までの深さがはっきりわかるものもあれば、わからないものもあります。わからないといっても、最小深度、たとえば少なくとも 25 メートルはある (Z > 25) といった条件はわかります。

このような地点については、例えば、単純に深さの最小値を Z 値にとるともできるでしょう。こうして得られたデータをグリッド化してマップを作成できます。しかし、深さの最小値が正しい値とかけ離れていたり、間違った Z 値が既知の点の補間に影響を及ぼすのを避けたいことから、深さの最小値を Z 値に使用したくない場合もあります。このようなケースでは、既知のデータをグリッド化して、未知のデータについては条件が合致するようにグリッドファイルを調整することができます。グリッドファイルに条件を適用するには、以下の手順に示すように Grids | Calculate | ResidualsGrids | Calculate | Math を組み合わせて使います。

  1. ここでは、X, Y, Z データからなるデータファイルがあるとします。このうち、Z 値については、既知のものは手で入力し (例:25 等)、未知のものは条件付きで入力されているものとします (例:>25)。

    条件付きデータを含む XYZ データからなるデータファイルの作成例。このデータファイルには4つの条件付き Z 値の点があります。

  2. Surfer のワークシートか Excel に、条件付き値 (conditional values) を入れるための列を新規作成し、条件記号 (<,<=, =>, > 等) を除いた数値を入力します。

    列を新規作成し、条件付き値を記号の無い数値として入力します。

  3. Surfer を起動するか、Surfer の File | New | Plot Document を選択して、プロットウィンドウを開きます。

  4. Home | Grid Data | Grid Data から既知の XYZ データをグリッド化します。XYZ 点からなるデータファイルを選択したら Open (開く) をクリックしてください。

  5. Grid Data ダイアログが開きます:
    1. X, Y, Z データに該当する列を選択します。このとき、Z 列には Water Depth 列 (既知の値) を使用します。
    2. 希望するグリッド手法とパラメータを選択します。
    3. Output Grid Geometry セクションの値をメモしてくだい。
    4. OK をクリックします。データ内にある既知の点がグリッド化されます。Z 列にある条件付きの地点は無視されます。

      既知の点だけをグリッド化すると、条件付き Z 値の地点は必ずしも条件に合致しません。この例では、4地点のうち3地点が条件に合致していません。

  6. Grids | Calculate | Residuals を選択します。
    Grid Residuals ダイアログで、Input Grid に作成したグリッドファイルを選択してします。

  7. XYZ Data にグリッド作成に使用するデータファイルを選択します。

  8. 該当する X と Y 列を選択しし、Z 列には、Conditional Values を指定します。Store residuals in column には、残差を保存する列を選択します。

    グリッドファイル内の Z 値と条件付き値との残差を計算し、新規作成した列にその結果を格納する例

  9. OK をクリックします。 Surfer のワークシートに残差列 (residuals) を含むデータファイルが開きます。多くの場合、残差は正になったり負になったりします。

    条件付き値と、グリッドファイルの Z 値との差が列 F に出力されます。この残差は、データファイル (条件付き値) の Z 値と、グリッドファイル内の同じ位置で補間された Z 値との差分です。残差の値が負の場合は、補間された Z 値がデータファイルの Z 値よりも大きいことになります。残差の値が正の場合は、補間された Z 値がデータファイルの Z 値よりも小さいことになります。

  10. 我々のデータファイルの条件付きデータはいずれも最小値を規定するものですので、差分は負になることが期待されます (補間する値はこのデータ値より大きいことが期待されます)。この例では、残差の1つしか負になっていませんが、これこそが「良い」残差の値ということになります。次のステップでは、「良い」残差を 0 に変換し、空白のセルを 0 で埋めます。Residuals 列のヘッダをクリックしてその列を選択状態にします。

  11. Data | Data | Transform を選択します。

  12. Transform ダイアログで、F= IF (F<0, 0, F) という関数を入力し (ここで、F は Residuals 列の列名です)、 First row の値を 2 に変更します。

    Data | Data | Transform を使用して、全ての負の残差を 0 に変換する例

  13. OK をクリックします。すべての負の値が 0 に変換されます。

  14. 次に、全ての空白セルを 0 で埋め尽くします。Residuals 列のセルのいずれかをクリックします。

  15. Data | Find | Replace を選択し、Find フィールドは空白のままで、 Replace with に 0 を入力し、In には The column where the active cell is を選択します。

    Residuals 列の全ての空白セルに 0 を代入する例

  16. Replace All をクリックして、Close でダイアログを閉じます。正の残差を除く全ての値が 0 になります。それ以外の正の値の残差は、グリッドファイルの Z 値と要求された Z 値の最小値との差をあらわします。これらの値は、グリッドファイルの補間データに加算することが期待されます。

    正の残差を除くすべての値を 0 にした例

  17. File | Save を選択してデータファイルを保存したら、File | Close を選択してこのワークシートを閉じます。

  18. 次に、残差データにもとづく補正グリッドを作成したいと思います。Home | Grid Data | Grid Data を選択して、データファイルを選択したら、Open をクリックします。

  19. Grid Data ダイアログが開きます:
    1. X, Y データに該当する列を選択します。
    2. Z 列については、Residuals 列を選択してグリッドを作成します。
    3. gridding method には、Inverse Distance to a Power を選択します。この補間法は、残差の補正値をもっとも尊重し、かつ、見た目も良いマップを生成します。
    4. Output Grid Geometry セクションの値をステップ5でメモしたオリジナルのグリッドファイルの値と同じにしてください。
    5. Output Grid ファイルの名称を別名に変更します。黄色のフォルダを開くボタンをクリックして、新しいファイル名や場所を指定して、Save をクリックします。
    6. OK をクリックします。

      この残差マップには、正の残差データの分布があらわされています。全ての点が条件に合うように、このデータをオリジナルのマップに追加します。

    7. Grids | Calculate | Math を選択します。

    8. Grid Math ダイアログが開きます:
      1. Add Grids ボタンをクリックします。
      2. 上記ステップ5で作成したオリジナルのグリッドを選択し、Ctrl ボタンを押しながら、ステップ19で作成した補正グリッドを選択したら、Open をクリックします。2つのグリッドが追加されます。
      3. 関数 A+B を入力して、オリジナルのグリッドに補正グリッドを追加します。
      4. 必要な場合は、黄色のフォルダを開くボタンをクリックして、Output Grid File を変更します。新しいファイル名と場所を指定して Save ボタンをクリックします。
      5. OK をクリックします。これが、条件に合致する最終的なグリッドになります。

    9. 新たに作成されたグリッドを Contour レイヤーとしてプロットします。


      正の残差のグリッドファイルをオリジナルのグリッドファイルに追加して、全ての地点でそれぞれの条件を満たす最終的なグリッドファイルを作成します。