重要

翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 100.00% 翻訳されています。

18.1. レッスン: QGISブラウザでデータベースを操作する

前の2つのモジュールでは、リレーショナルデータベースの基本的な概念、特徴及び機能だけでなく、空間データを保存、管理、クエリ及び操作するリレーショナルデータベースの機能拡張について見ました。このセクションでは、QGISで空間データベースを効果的に使用する方法について深掘りします。

このレッスンの目的: QGISブラウザのインターフェイスを使って空間データベースとやり取りする方法を学びます。

18.1.1. ★☆☆ (初級レベル) 理解しよう: ブラウザを使ってQGISにデータベーステーブルを追加する

既にQGISレイヤとしてデータベースからテーブルを追加する方法は簡単に見てきました。ここではこれをもう少し詳細に見るとともに、QGISでこれを行う様々な方法を見てみましょう。新しいブラウザ・インターフェイスを見ることから始めましょう。

  • QGISで新しい空の地図を開きます。

  • ブラウザ タブをクリックしてブラウザを開きます。このタブが表示されていない場合は、ビュー ► パネル ► ブラウザ を選択して有効にすることができます。

  • ツリーのPostgreSQLの部分を開くと、前に設定した接続が利用可能になっているはずです(ブラウザウィンドウの上部にある 再読み込み ボタンをクリックする必要があるかもしれません)。

../../../_images/browser_panel.png
  • ここに記載されているテーブル/レイヤのいずれかをダブルクリックすると、それがマップキャンバスに追加されます。

  • このビューでテーブル/レイヤを右クリックすると、いくつかのオプションが提供されます。プロパティ 項目をクリックしてそのレイヤのプロパティを見てください。

../../../_images/postgis_layer_properties.png

注釈

もちろん、このインターフェイスを使って、自分のワークステーションの外にあるサーバーでホストされているPostgreSQLデータベースに接続することも可能です。ツリーのPostgreSQL項目を右クリックすると、新しい接続のための接続パラメータを指定することができます。

18.1.2. ★☆☆ (初級レベル) 理解しよう: レコードのフィルタセットをレイヤとして追加する

テーブル全体をQGISレイヤとして追加する方法は見たので、ここでは前のセクションで学んだクエリを使い、テーブルからフィルタされたレコードの集合をレイヤとして追加する方法を学ぶのがよいでしょう。

  • 新しい空の地図をレイヤなしで開始する

  • PostgreSQLレイヤを追加 ボタンをクリックするか、メニューから レイヤ ► PostgreSQLレイヤを追加 を選択します。

  • 表示される PostgreSQLのテーブルを追加 ダイアログで、 postgis_demo 接続に接続します。

  • パブリックスキーマ を展開すると、以前に使用していた3つのテーブルが見つかるはずです。

  • lines レイヤーをクリックして選択しますが、それを追加する代わりに、 フィルタを設定 ボタンをクリックして、 クエリビルダー ダイアログを起動してください。

  • ボタンを使用するか直接入力して次の式を構築してください:

    "roadtype" = 'major'
    
../../../_images/pg_table_filter.png
  • OK をクリックしてフィルタの編集を完了し、 追加 をクリックして地図にフィルタレイヤーを追加します。

  • ツリーの lines レイヤの名前を roads_primary に変更します。

地図にはレイヤー全体ではなく主要道路のみが追加されていることに気づくでしょう。

18.1.3. 結論

QGISブラウザを使用して空間データベースと対話する方法、およびクエリフィルタに基づいて地図にレイヤーを追加する方法を見てきました。

18.1.4. 次は?

次はデータベース管理作業のより完全なセットのためにQGISのDBマネージャインターフェイスで作業する方法について説明します。