更新日: 14/04/15

Surfer グリッドファイルから Voxler ベクトルマップを作成

Voxler でベクトルプロットを描く方法を説明します。ベクトルプロットは、3つのコンポーネント (C) 値を持つ格子データまたはデータファイルから直接作成されます。データファイルには、6列すなわち X, Y, Z と 3つのコンポーネント (C) 値が必要です。3つのコンポーネント値は、ベクトルの X、Y、Z 値の順番になっています。データファイルを作ったら、File | Load Data コマンドを使って Voxler に読み込むことができます。ファイルをインポートしたらデータモジュールを右クリックし、Graphics Output | VectorPlot モジュールを選択するとマップがプロットされます。データファイルは、表計算ソフトで作成することもできます。

XYZ データだけの場合、ベクトルのコンポーネント値を計算するのは難しくなります。コンポーネント値は、ベクトルに斜度、強度、方向を与えます。ここでは、Surfer を使ってこの情報を作り出す方法を述べます。グリッドの作成は Surfer で行うものとします。

丘を下っていく方向を示している Voxler のベクトルマップ。等高線マップと重ね合わせてあります。

 

Surfer でグリッドファイル作成、エクスポート

元データには、少なくとも 3列のデータすなわち X、Y、Z 値が必要です。ここでは、Surfer の Samples ディレクトリにあるデータファイル demogrid.da を使用しますが、どのデータを使ってもかまいません。グリッドファイルがあるならば、ステップ2 を飛ばしても結構です。

  1. Surfer の Plot ウィンドウで、Grid | Data を選択します。データファイルを指定し、開くボタンをクリックします。Grid Data ダイアログでオプションの設定をします。グリッドデータの精度は、Grid Line Geometry セクションに示されているように、設定して下さい。OK ボタンを押すと、グリッドファイルが作成されます。
    Grid Data ダイアログの Grid Line Geometry でグリッド間隔を調整しながら、グリッドの精度を調整することができます。

  2. Grid | Calculusをクリックし、作成した GRD ファイルを指定します。Grid Calculusダイアログでは、以下の操作をします。
    1. Terrain Modeling セクションを開き、Terrain Slope を選択します。
    2. Output Grid File ボックス右側にあるフォルダボタンをクリックして、ファイル名 Terrain Slope を入力します。ファイルの種類は DAT XYZ (*.dat) にし、保存ボタンをクリックします。
    3. OK ボタンを押し Grid Calculus ダイアログを閉じます。
      ダイアログ左側のボックスで Terrain Slope を選択し、Output Grid File ボックス右側にあるフォルダボタンを押してファイル名と保存形式を入力します。

  3. Grid | Calculus をクリックし、作成した GRD ファイルを指定します。Grid Calculus ダイアログでは、以下の操作をします。
    1. Terrain Modeling セクションを開き、Terrain Aspect を選択します。
    2. Output Grid File ボックス右側にあるフォルダボタンをクリックして、ファイル名 Terrain Aspect を入力します。ファイルの種類は DAT XYZ (*.dat) にし、保存ボタンをクリックします。
    3. OK ボタンを押し Grid Calculus ダイアログを閉じます。
  4. Grid | Convert メニューコマンドをクリックします。
    1. 作成した GRD ファイルを開きます。
    2. ファイル名を grid-XYZ にし、ファイルの種類は DAT XYZ (*.dat) にして保存ボタンをクリックします。

ワークシートデータの操作

上記のステップで計算したした傾斜 (Slope) と向き (Aspect) は、ベクトルと深い関係にあります。傾斜 (Slope) と向き (Aspect) によって、勾配ベクトルの方角が決まります。Surfer は、どの方角が最も急傾斜なのか見つけ出し、方角を計算します。傾斜は、水平の場合 0、垂直の場合 90 の度数で表示されます。向きは、等高線に垂直な方向で、傾斜と反対側向きになります。向きは、同じく北が 0、東が 90 の度数で表示されます。向きは、X軸の正方向が 0 になるように変換されます。この変換は、つぎの Transform によって、90 から向きの角度を引くことで求められます。ベクトルは向き (Aspect) と傾斜 (Slope) の組合せになっています。

  1. File | Open を選択し、ステップ4 で作成したデータファイルを開きます。
  2. マウスのカーソルを D列1行目において下さい。File | Import を選択し、ステップ2 で作成した Terrain Slope ファイルを選択し、開くボタンを押します。ワークシートにデータがインポートされます。
  3. マウスのカーソルをG列1行目において下さい。File | Import を選択し、ステップ3 で作成したTerrain Aspectファイルを選択し、開くボタンを押します。ワークシートにデータがインポートされます。
  4. D列と E列を選択状態にして下さい。この列は XY データそのものですので、Edit | Delete コマンドで削除します。
  5. E列と F列を選択状態にして下さい。この列も XY データそのものですので、Edit | Delete コマンドで削除します。
  6. 列にラベルを付けましょう。レベルを付けておくと、Voxler にデータをインポートするときも、何のデータかはっきりわかります。第1行目を選択し、Edit | Insert を選択します。行が挿入されますので、以下のようにラベルを付けて下さい。
インポートしたデータにレベルを付けます。青い線のボタンを押すと、ワークシートすべてが選択状態になります。
  1. すべてを選択するボタンをクリックします。Data | Sort を選択して表われた Sort ダイアログで、Sort First By を D列の Slopeに、ソート順を降順の Descending にして OK ボタンを押します。
  2. Surfer の空白値 (1.70141E+38) をもつ行をすべて選択し、Edit | Delete をクリックしてデータを削除します。
  3. 見やすくするために再度 Data | Sort コマンドを実行します。今度は Sort First By を A列のX に、Sort Next By を B列の Y に、ソート順をどちらも昇順の Ascending にして OK ボタンを押します。
  4. F列の第1行目をクリックし、ラベルに X Component と入力します。
  5. F列を選択状態にします。Data | Transform を選択して Transform ダイアログを表示させ、Transform equation に F=SIN(D2R(D))*COS(D2R(90-E)) と入力します。First row は2 に変更し、OK ボタンを押してデータ列を追加します。
Transform ダイアログを使って、データ演算を行って新たな列を作成することができます。
  1. G列の第1行目をクリックし、ラベルに Y Component と入力します。
  2. 列を選択状態にします。Data | Transform を選択して Transform ダイアログを表示させ、Transform equation に G=SIN(D2R(D))*SIN(D2R(90-E)) と入力します。First row は2 に変更し、OK ボタンを押してデータ列を追加します。
  3. H列の第1行目をクリックし、ラベルに Z Component と入力します。
  4. H列を選択状態にします。Data | Transform を選択して Transform ダイアログを表示させ、Transform equation に H=COS(D2R(D)) と入力します。First row は 2 に変更し、OK ボタンを押してデータ列を追加します。
  5. File | Save As コマンドを使用して新しいファイルに保存します。保存形式は Golden Software *.DAT 形式または Excel *XLS 形式のどちらでも、Voxler は読み込むことができます。

これで Surfer は閉じ、Voxler を起動して下さい。

Voxlerでベクトルプロットを実行

データの用意がすんだら、ベクトルプロットを作るのはたやすい作業です。Voxler を起動します。

  1. File | Load Data を選択し、先ほど作成したワークシート開きます。
  2. 必要なら Data Import Options を設定して OK ボタンを押します。
  3. Select Data Columns ダイアログで、X 軸、Y 軸、Z 軸をそれぞれ Columns A、B、C にし、さらに Multiple Components ボックスに「F, G, H」と入力して OK ボタンを押し、データをインポートします。
  4. Network ウィンドウにデータファイルが表示されたらそれを選択し、Create | Graphics Output | VectorPlot をクリックします。すると、プロットウィンドウにベクトルプロットが表示されます。

ベクトルプロットを作成するために、いくつかの変更を加えました。ベクトルプロットにその他のマップを重ね合わせることもできます。ベクトルが、他のマップでは表現できないことを表現します。たとえば、ベクトルが水の流れ、等高線が標高、等値面が化学物質の濃度を示す 1枚のマップを作成することができます。XYZ 値が同じ範囲にあれば、マップを重ね合わせること可能です。また、軸や境界ボックスなどを加えて、望み通りのプロットを作成できます。