waigani's diary

QGISを中心にFOSS4Gをいじくる

いつか役に立つかもしれないQGIS Tips-起動option編

FOSS4G Advent Calendar 2015

一年経つのが本当に早いですね。今年は色々言いたいことがあるのですが、あとでこっそり聞いて下さい。それは置いておいて、FOSS4G Advent Calendar開始です。ここ数年のお決まり、一番手で登場いたします。
例年、強制的に招集していますが、今年は珍しく行っていません。それにも関わらず25名埋まってのスタートです。FOSS4G使ってる方増えたのかな?
http://qiita.com/advent-calendar/2015/foss4gqiita.com

2会場目も用意しておきましたので、みなさま好きなだけTipsをはき出してください。まだまだ参加募集中です。
http://qiita.com/advent-calendar/2015/foss4gvol2qiita.com

役に立たないからね

Advent Calendarの開幕らしくハードルの低い記事から始めたいと思います。
みなさんQGISを使っていると思いますが、QGISを起動する際にオプションを付けられることを知っていますか?
オプションをうまく使うことでメニューの表示非表示を切り替えるとか、設定ファイルの場所を切り替えるとか、とーっても役に立つ使い方ができます。でもこの記事ではそんなこと教えません、あえてまず使わないだろうという知識をみなさまに伝授したいと思います。

QGIS起動オプション

WindowsにOSGeo4WでQGISを入れているとします。
OSGeo4Wのshellを起動して、\OSGeo4W\binに移動しましょう(64bitの場合は、\OSGeo4W64\bin)。

そしておもむろにqgis.batと入れて、qgisが起動することを確認しましょう。

で、本来であれば、

qgis.bat --help

と"--help"つけることで、オプションが表示されてほしいところです。でも表示してくれませんので諦めましょう。下記のようなオプションがあると思ってください。

[--snapshot filename] emit snapshot of loaded datasets to given file
[--width width] width of snapshot to emit
[--height height] height of snapshot to emit
[--lang language] use language for interface text
[--project projectfile] load the given QGIS project
[--extent xmin,ymin,xmax,ymax] set initial map extent
[--nologo] hide splash screen
[--noplugins] don't restore plugins on startup
[--nocustomization] don't apply GUI customization
[--customizationfile] use the given ini file as GUI customization

スナップショットしてみよう

QGISのプロジェクトファイルを用意しておきます。いくつかのファイルを読み込み済みで、スタイルの設定もしているものとします。
f:id:waigani:20151126220600p:plain

"--snapshot"オプションを使うと、この状態を画像ファイルに書き出せます。例えばプロジェクトファイル名が、asahikawa.qgsとして、500x500ピクセルの画像を書き出してみましょう。"--nologo"オプションはsplash screenを表示しない指定になります。

qgis.bat --nologo --snapshot asahikawa.png --width 500 height 500 asahikawa.qgs

一瞬、みなさまの見慣れたQGISが表示されるかもしれませんが、すぐに消えて画像が書き出されます。

また、表示範囲を"--extent"オプションで変更することもできます。

qgis.bat --nologo --snapshot asahikawa.png --width 500 height 500 --extent 142.237,43.778,142.247,43.788 asahikawa.qgs

オプションの一例としてまずは使わないと思いますので、覚えておく必要はありません。
使っている方がいるとすると、かなりの変態的なシステムを作っていると思われますので、ぜひお友達になりたいです。

本題:splash screenを変更してみよう

懐かしのFOSS4G Hokkaido 2012の懇親会ライトニングトークで、splash screenを変更しようというネタをやったことがあります。QGIS 1.8だとインストールしたディレクトリにsplash screenの画像が入っているので、それを入れ替えることができました。しかし、その後のバージョンでは実行ファイル内にsplash screenが組み込まれてしまったため、この方法は使うことができません。

さてここで、"--customizationfile"オプションに注目。本来はメニューの表示/非表示に使えるのですが、役に立つ使い方はこの記事の趣旨ではありませんので触れません。
やるべきことは2つ。ディレクトリ名、iniファイル名は適当に置き換えてください。ただし、splash.pngという名称は固定です。

  • splash screenに使う画像をsplash.pngとして、C:/work/qgiscustom/におきます。
  • custom.iniというファイルをC:/work/qgiscustom/に作ります。中身はsplash.pngを置いたディレクトリを指定します。
[Customization]
splashpath=C:/work/qgiscustom/

そして、"--customizationfile"オプションにcustom.iniを指定してあげると、

qgis.bat --customizationfile C:/work/qgiscustom/custom.ini

なんと、splash screenをsplash.pngに置き換えることができます!試してみてね。

注意

今後のバージョンでもできるのかわかりませんので、自己責任でね。