GRASS : 縮尺を指定して印刷するには

MapDisplayにある印刷コマンドには縮尺を指定する欄が無いようです
(筆者はGhostscriptをインストールしていないので、確認はしていません)。

というわけで、ps.mapコマンドでEPS形式にデータを出力して、
Illustratorがあればそのまま読み込み、
InkscapeしかないならどうにかしてEPSを取り込んで、
適当に整飾を付けて印刷したほうがいいでしょう。

ps.map

GRASSのデータをPostScript形式で出力します。

mapping instructionファイルと、出力ファイル名を指定します。
ここには縮尺を指定する欄がありますが、
この欄はいずれなくなるそうで、後述のInstructionファイルで指定するほうをすすめられているようです。

“Create EPS”にチェックを入れておくとEPS形式で出力されるそうです。
できたEPSは、Illustratorならそのまま読み込むことができます。

Instructionファイル

ps.mapでは入力ファイルとしてデータを指定するのではなく、Instructionファイルを指定します。
このファイルはテキストファイルで、エディタで作成する必要があります。
詳しい書式はマニュアルを参照してください。

以下の例はcontourというベクタデータを青色、線幅1pixel、縮尺1:500で出力する例です。

vlines contour
  color blue
  width 1
  end
scale 1:500
paper a3
  end

この例ではvlinesの引数でデータを指定しています。
ベクタデータの場合はこのほかにvareasvpointsの種類があります。

注意点は用紙の設定ですが、印刷対象のデータを指定した縮尺で出力するときに
デフォルトのA4サイズの範囲を超える場合は自動的に縮小されてしまいます。
なので、A4に収まらなさそうな場合は明示的に用紙サイズを指定しておきます。

そのほか、追加のテキスト、凡例、スケールバーなどを追加する記述も多数あるようです。

ですが、個人的にはこれらはIllustratorとか、どうにかこうにかInkscapeに取り込んでから追加したほうがいいような気が、、。
というのも、位置の指定がインチ指定だし、データの表示位置との整合性がとりにくいような気がするわけで、、。

内図郭線、外図郭線を出力する

vlines contour
  color blue
  width 1
  end
scale 1:500
rectangle 0% 0% 100% 100%
  color black
  width 1px
  masked n
  end
rectangle -2% -2% 102% 102%
  color black
  width 2px
  masked n
  end
paper a3
  end

ラスタデータを一緒に出力

raster dem
vlines contour
  color blue
  width 1
  end
scale 1:500
rectangle 0% 0% 100% 100%
  color black
  width 1px
  masked n
  end
rectangle -2% -2% 102% 102%
  color black
  width 2px
  masked n
  end
paper a3
  end

どうやら順番は関係なくラスタデータのほうが背面になるようです。

ps.map出力例

アーカイブ