サポート
行列形式のデータを使用してマップを作成するには?
Surfer (バージョン 13 以降) では、等間隔に配置された行列形式 (Matrix Form) のデータをグリッドファイルとして直接読み込むことができます。行列形式のデータからグリッドベースのマップを作成するには、以下の手順に従います:
行列形式 (Matrix Form) のデータ
- 行列データを TXT, CSV, DAT, FTG ファイル形式のいずれかに保存します。
- Home | New Map | Contour または、グリッドベースのマップから作成したいタイプをクリックします。
- Open Grid ダイアログで、Files of type を TXT Formatted Text Grid に変更します。

- データファイルを選択したら、Open をクリックします。
- Select Format ダイアログが表示された場合は、リストから TXT Formatted Text Grid を選択して OK をクリックします。

- Formatted Text Grid Import Options が表示されますので、使用する行列データの配置にあわせてオプションを選択してください。

- OK をクリックすると、マップが作成されます。
Formatted Text Grid Import Options ダイアログの説明
- ファイルの先頭から除外する行
座標情報、または、Z 値のテーブルがファイルの先頭行から開始していない場合、ファイルの先頭からスキップさせる行数を指定する必要があります。スキップさせる行数をあらわす値を Number of lines to skip at beginning of file フィールドに入力してください。
- 非数値または欠損値の扱い
もし、インポート中に非数値または欠損ノードがみつかった場合、ユーザーの定義した値がグリッドに入力されます。この値を定義するには、Value to use for non-numeric or missing nodes フィールドに数値を入力します。このデフォルト値には、Surfer の NoData (blanking または Null) 値、すなわち、1.70141E+38 が設定されています。
- グリッドノードのデータの並び
Grid node order では、X 軸座標と Y 軸座標のどちらが列方向でどちらが行方向なのかを指定します。Formatted Text Grid ファイルのフォーマットをあらわすラジオボタン X advances per column, Y advances per row (X が列方向、Y が行方向) または X advances per row, Y advances per column (X が行方向、Y が列方向) のいずれかをクリックします。


- X 軸の座標データ
Formatted Text Grid ファイルの先頭行または先頭列に、X 軸座標が含まれている場合は、ラジオボタンの Read X coordinates from first row/column of file data をクリックします。
もし、X 軸座標に関する情報がファイルに含まれていない場合は、X origin at の隣にあるラジオボタンをクリックします。次に、X origin at フィールドに X 軸座標の最小値を入力します。最後に、stepping by フィールドに、X 軸座標が行または列ごとに増える値を入力します。
- Y 軸の座標データ
Formatted Text Grid ファイルの先頭行または先頭列に、Y 軸座標が含まれている場合は、ラジオボタンの Read Y coordinates from first row/column of file data をクリックします。
もし、Y 軸座標に関する情報がファイルに含まれていない場合は、Y origin at の隣にあるラジオボタンをクリックします。次に、Y origin at フィールドに Y 軸座標の最小値を入力します。最後に、stepping by フィールドに、Y 軸座標が行または列ごとに増える値を入力します。
- Expected File Format
Expected file format のプレビューには、上記インポートオプションで選択した内容が視覚的に表示されます。Expected file format フィールドの内容は、インポートオプションを変更するたびに更新されます。X 軸座標の値は、Expected file format フィールドに X# としてあらわされます。Y 軸座標の値は、Expected file format フィールドに Y# としてあらわされます。Z 値は、Z## としてあらわされます。ここで、最初の # には X 軸座標に対応する数字が、2番目の # には Y 軸座標に対応する数字が表示されます。
お使いの Surfer のバージョンが 12 以前の場合、行列データをグリッドファイルに変換して、 マップの作成に利用することができます。これを行うには、行列データを XYZ データに変換したあとそれをグリッド化するか、行列データを直接テキストグリッドに変換する方法があります。
方法1:行列データを XYZ 形式のデータファイルに変換したあとそれをグリッド化する
- サンプルスクリプト Matrix2XYZ.bas をダウンロードします。
- Surfer に同梱されている Scripter を起動してこのスクリプトを開いたら、Script | Run をクリックしてこれを実行します。

- 行列データを XYZ データに変換したら、Surfer で Grid | Data をクリックして、XYZ データをグリッド化して、グリッドファイルを生成します。データをグリッド化する手法は、Nearest Neighbor をおすすめします。このとき Spacing の値は、行列データの各間隔と同じ値に設定してください。

方法2:行列データを直接テキストグリッド形式のファイルに変換する
テキストグリッド形式のファイルには、5行からなるヘッダ行のあとに Z 値のリストが含まれています。Z 値のリストは、左から右、下から上の方向となります。もし、このグリッドファイルが X または Y 方向に反転している場合は (行列ファイルに配置されているデータによって変わります)、X または Y データが正しい方向に並ぶように、このグリッドファイルを反転させてください。手順は以下のとおりです:
- お持ちのデータをテキストファイル形式に保存します (DAT, TXT, CSV 等)。
- 保存したデータをテキストエディタ (メモ帳など) で開きます。
- 行列データのヘッダ行またはヘッダ列がある場合はそれらを削除してください。
- ファイルの内容が 5行のヘッダと Z 値のリストになるように、行の先頭に5行からなるヘッダを追記します。 ヘッダの5行に記入する内容は以下のとおりです:
- DSAA
- [X の行数] [Y の行数]
- [X の最小値] [X の最大値]
- [Y の最小値] [Y の最大値]
- [Z の最小値] [Z の最大値]

- File | Save As をクリックして、拡張子に .grd を付けて保存します (引用符をつけて拡張子付きの名称を入力します “testgrid.grd”)。
- もし、X または Y データの向きが反転している場合は、Grid | Transform をクリックして、グリッドファイルを選択して Open をクリックします。

- Grid Transform ダイアログが表示されますので、Operation に Mirror X または Mirror Y を選択して、OK をクリックします。これにより、正しい方向にデータが配置されたグリッドになります。

Matrix2XYZ.BAS (2 KB) は開発元のサイトからダウンロードできます。
https://support.goldensoftware.com/hc/en-us/article_attachments/212324668/Matrix2XYZ.BAS