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

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

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

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

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

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

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

  3. Web ► QuickMapServices をクリックします。最初のメニューは、様々なマッププロバイダ(OSMNASA)と利用可能なマップの一覧です。

  4. エントリをクリックすると、ベースマップがプロジェクトに読み込まれます。

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

いいですね!しかし、QMSの主な強みのひとつは、多くのデータプロバイダにアクセスできることです。それらを追加してみましょう。

  1. Web ► QuickMapServices ► Settings をクリックします

  2. More services タブに移動します。

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

  4. 保存 をクリックします。

  5. Web ► QuickMapServices メニューを再度開くと、利用可能なプロバイダーが増えていることがわかります。

    ../../../_images/qms_menu.png
  6. あなたのニーズに最も適したものを選択し、プロジェクトにデータを読み込みます!

また、現在利用可能なデータ・プロバイダーを検索することもできます。

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

  2. Filter by extent をクリックすると、利用可能なサービスが1つ表示されるはずです。サービスが見つからない場合は、ズームアウトして世界(または現在地)をパンするか、キーワードで検索してください。

  3. 返されたデータセットの横にある Add ボタンをクリックすると、それが読み込まれます。

  4. ベースマップが読み込まれ、マップの背景ができます。

    ../../../_images/qms_search_added.png

9.2.2. basic Follow Along: QuickOSMプラグイン

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

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

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

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

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

    Tip

    もしあなたが 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

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

Tip

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

9.2.5. In Conclusion

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

9.2.6. What's Next?

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