9.2. Lesson: 便利なQGISプラグイン

プラグインをインストールして有効化・無効化することができるようになりました。それではいくつかの便利なプラグインの例を見て、これが実際にどのように役に立つか見ていきましょう。

このレッスンの目標: プラグインインターフェイスに慣れ、いくつかの便利なプラグインを使ってみる。

9.2.1. basic Follow Along: QuickMapServicesプラグイン

QuickMapServicesプラグインは、QGISプロジェクトにベースマップを追加するシンプルで使い勝手の良いプラグインです。様々なオプションや設定があるので、その機能の一部をご紹介します。

  1. 新しいマップを開始し、 training_data Geopackageから roads レイヤを追加します。

  2. QuickMapServices プラグインをインストールしてください。

  3. Web ► QuickMapServices ► Search QMS をクリックして、プラグインの検索タブを開きます。プラグインのこのオプションは、利用可能なベースマップをマップキャンバスの現在の範囲によってフィルタリングすることができます。

  4. Filter by extent をクリックすると、利用可能なサービスが1つ表示されるはずです。

  5. マップの横にある Add ボタンをクリックすると、マップがロードされます。

  6. ベースマップが読み込まれ、地図に衛星の背景が表示されるようになります。

    ../../../_images/qms_result.png

QuickMapServicesプラグインは、多くのベースマップを利用することができます。

  1. 前に開いた Search QMS パネルを閉じます

  2. もう一度 Web ► QuickMapServices をクリックします。最初のメニューは、利用可能なマップを提供するさまざまなマッププロバイダのリストです:

    ../../../_images/qms_menu.png

しかしそこにはもっとあります。

デフォルトの地図では物足りない場合は、他の地図プロバイダーを追加することができます。

  1. Web ► QuickMapServices ► Settings をクリックし、 More services タブを選択します。

  2. このタブのメッセージをよく読んで、同意したら Get Contributed pack ボタンをクリックします。

これで Web ► QuickMapServices メニューを開くと、さらに多くのプロバイダーが利用可能であることがわかります。あなたのニーズに最も適したものを選んでください!

9.2.2. |basic|||FA| QuickOSMプラグイン

QuickOSMプラグインは、驚くほどシンプルなインターフェースで、OpenStreetMap のデータをダウンロードすることができます。

  1. 新しい空のプロジェクトを開始し、 training_data GeoPackage から roads レイヤを追加します。

  2. QuickOSM プラグインをインストールしてください。このプラグインはQGISツールバーに2つの新しいボタンを追加し、またそれには ベクタ ► QuickOSM メニューからアクセスすることができます。

  3. QuickOSMダイアログを開きます。このプラグインには様々なタブがありますが、ここでは Quick Query のタブを使います。

  4. 一般的な Key を選択して特定の機能をダウンロードすることもできますし、より具体的に KeyValue のペアを選択することも可能です。

    ちなみに

    もしあなたが KeyValue のシステムについてよく知らないのであれば、 Help with key/value ボタンをクリックしてみてください。OpenStreetMapのこのコンセプトの完全な解説のウェブページが開きます。

  5. Key メニューから railway を探し、 Value を空にします。つまり、値を指定せずに全ての railway 機能をダウンロードすることになります。

  6. 次のドロップダウンメニューで Layer Extent を選択し、 roads を選択します。

  7. Run query ボタンをクリックします。

    ../../../_images/quickosm_setup.png

数秒後、プラグインはOpenStreetMapで railway としてタグ付けされたすべての地物をダウンロードし、直接マップにロードします。

これだけです! すべてのレイヤは凡例に読み込まれ、マップキャンバスに表示されます。

../../../_images/quickosm_result.png

警告

QuickOSMはデータをダウンロードする際に一時的なレイヤを作成します。恒久的に保存したい場合は、レイヤの横にある indicatorMemory アイコンをクリックし、好みのオプションを選択します。または、QuickOSMの Advanced メニューを開き、 Directory メニューでデータの保存先を選択することもできます。

9.2.3. hard Follow Along: QuickOSM クエリエンジン

QuickOSMプラグインからデータをダウンロードする一番早い方法は、 Quick query タブを使い、いくつかの小さなパラメータを設定することです。しかし、もっと具体的なデータが必要な場合は?

あなたがOpenStreetMapのクエリマスターであれば、QuickOSMプラグインを個人のクエリにも使用できます。

QuickOSMは、Overpassの素晴らしいクエリエンジンとともに、驚くべきデータパーサを備えており、あなたのニーズに合わせたデータをダウンロードすることができます。

例えば、Dolomites という特定の山岳地域に属する山頂をダウンロードしたいとします。

このタスクは Quick query タブでは達成できません。もっと具体的に、自分でクエリを書く必要があります。これをやってみましょう。

  1. 新しいプロジェクトを始めます。

  2. QuickOSMプラグインを開き、Query タブをクリックします。

  3. 次のコードをコピーして、クエリキャンバスに貼り付けます:

      <!--
    This shows all mountains (peaks) in the Dolomites.
    You may want to use the "zoom onto data" button. =>
    -->
    <osm-script output="json">
    <!-- search the area of the Dolomites -->
    <query type="area">
      <has-kv k="place" v="region"/>
      <has-kv k="region:type" v="mountain_area"/>
      <has-kv k="name:en" v="Dolomites"/>
    </query>
    <print mode="body" order="quadtile"/>
    <!-- get all peaks in the area -->
    <query type="node">
      <area-query/>
      <has-kv k="natural" v="peak"/>
    </query>
    <print mode="body" order="quadtile"/>
    <!-- additionally, show the outline of the area -->
    <query type="relation">
      <has-kv k="place" v="region"/>
      <has-kv k="region:type" v="mountain_area"/>
      <has-kv k="name:en" v="Dolomites"/>
    </query>
    <print mode="body" order="quadtile"/>
    <recurse type="down"/>
    <print mode="skeleton" order="quadtile"/>
    </osm-script>
    

    注釈

    このクエリは xml に似た言語で書かれています。もし、 Overpass QL に慣れているのであれば、この言語でクエリを記述することができます。

  4. Run Query をクリックします:

    ../../../_images/quickosm_advanced_query.png

山頂レイヤがダウンロードされ、QGISに表示されます:

../../../_images/quickosm_advanced_result.png

Overpass Query language を使うと、複雑なクエリを書くことができます。いくつかの例を見て、クエリ言語を探求してみてください。

9.2.4. basic Follow Along: DataPlotlyプラグイン

DataPlotly プラグインは、 plotly ライブラリを利用して、ベクタ属性データの D3 プロット図を作成することができます。

  1. 新しいプロジェクトを始めます

  2. exercise_data/plugins フォルダから sample_points レイヤをロードします

  3. プラグインをインストールするには、 Follow Along: 新しいプラグインのインストール で説明されているガイドラインに従って、 Data Plotly を検索してください

  4. ツールバーの新しいアイコンをクリックするか、 Plugins ► Data Plotly メニューから、プラグインを開きます

次の例では、 sample_points レイヤの2つのフィールドの簡単な Scatter Plot を作成します。DataPlotlyパネルでは:

  1. レイヤフィルタで sample_points を選択し、 X Field には cl を、 Y Field には mg を設定します:

    ../../../_images/dataplotly_setup.png
  2. 色やマーカーの種類、透明度など、さまざまな設定を変更することができます。いくつかのパラメータを変更して、下のようなプロットを作成してみてください。

    ../../../_images/dataplotly_scatterplot.png
  3. すべてのパラメータを設定したら、プロットを作成するために Create Plot ボタンをクリックします。

プロットは対話的です: つまり、プロットキャンバスのサイズ変更、移動、拡大・縮小のために上部のすべてのボタンを使うことができます。さらに、プロットの各要素は対話的です: プロット上で1つまたは複数の点をクリックまたは選択すると、対応する点がプロットキャンバスで選択されます。

プロットの右下にある saveMapAsImage または addHtml ボタンをクリックすると、プロットを png 静止画像または html ファイルとして保存することができます。

もっとあります。同じページに異なる変数で異なるプロットタイプを表示する2つ(またはそれ以上)のプロットがあると便利なことがあります。これをやってみましょう!

  1. プラグインパネルの左上隅にある symbology ボタンをクリックして、メインのプロット設定タブに戻ります

  2. Plot TypeBox Plot に変更します

  3. groupGrouping Field に、 phY Field に選択します

  4. パネルの下部で、 Type of PlotSinglePlot から SubPlots に変更し、デフォルトオプション Plot in Rows を選択したままにします。

    ../../../_images/dataplotly_boxplot.png
  5. プロットを作成するには、 Create Plot ボタンをクリックします

    ../../../_images/dataplotly_subplots.png

これで散布図と箱ひげ図の両方が同じプロットページに表示されます。この状態でも、それぞれのプロット項目をクリックして、マップキャンバスの対応する地物を選択することができます。

ちなみに

それぞれのプロットは helpContents タブの中で利用できる独自のマニュアルページを持っています。すべてのプロットタイプを探って、利用可能な他のすべての設定を見てみてください。

9.2.5. In Conclusion

QGISではたくさんの便利なプラグインを利用することができます。ビルトインツールを用いてこれらのプラグインを管理すれば、新しいプラグインを見つけ、それらを最適に利用することができます。

9.2.6. What's Next?

次はリモートサーバーにホストされているレイヤーをリアルタイムで使う方法を見ていきます。