QGISでは多くの形式のベクタ形式データをサポートします。 それらはOGRライブラリデータプラグインのサポートを含みます。例えば、ESRI shapefile、 MapInfo MIF (交換形式) とMapInfo TAB (ネイティブ形式) です OGRでサポートされているベクタ形式については、付録 A.1にサポートしている形式のリストがあります。
QGISでは、PostgreSQLデータプロバイダプラグインを利用したPostgreSQLデータベースのPostGIS レイヤをサポートします. その他追加のデータタイプ (例. デリミテッドテキスト)は追加データプロバイダプラグインでサポートされます。
このセクションではESRI shapefiles、PostGIS レイヤ、さらにSpatialLiteレイヤについてどのように使うかをいくつかの共通形式で説明しています。ベクタデータソースの種類にこだわりなく、多くの機能が同じようにQGISでは動作します。この特徴はうまい設計によるもので、共通機能には情報表示、選択、ラべリングと属性関係の機能を含みます。
GRASSのベクタデータの利用方法についてはセクション7 を参照して下さい。
QGISで使う標準的なベクトルファイル形式はESRI Shapefileです。ShapefileはOGRの Simple Feature Library(http://www.gdal.org/ogr/) の機能を利用してサポートされてます。Shapefileはいくつかのファイルで構成されています。 以下の3種類のファイルは必須で必要です:
Shapefiles には .prj という拡張子のファイルもあります。このファイルには投影情報が格納されます。 投影情報ファイルはとても便利ですが、このファイルの利用は必須ではありません。 shapefileのデータセットは様々な追加ファイルを持てます。詳細についてはESRIテクニカルスペシフィケーションhttp://www.esri.com/library/whitepapers/pdfs/shapefile.pdf を参照してください。.
.prjつきのshapefileをQGISにロードする場合、そのファイルの座標参照システムは読むことができません。レイヤプロパティ画面の[一般情報]タブで手動で座標参照システムを定義しなければなりません。.prjファイルはしばしばQGISのCRS画面にあるような投影に関する完全な情報を提供していないことがあることが、この問題の理由です。
この理由により、QGISで新規にshapefileを作成する場合は、2つの異なる投影情報ファイルが作成されます。.prjファイルはESRIのソフトウェア互換の限定された投影パラメータで構成されています。.qpjファイルはCRSで利用されている完全なパラメータで構成されています。QGISが.qpjファイルを見つけた場合は、.prjファイルの代わりに利用されます。
shapefileをロードするためにはQGISを開始した後に、ツールバーの [ベクタレイヤの追加]アイコン をクリックするかCtrl-Shift-Vをキーボード入力してください。 新しいウィンドウ (参照 図3.1) が表示されます.
[ソースタイプ]の項目は[ファイル]を選択してください。 その後[ブラウズ]ボタンをクリックして下さい. 標準的なファイルダイアログ (参照 図 3.2) が表示され、ファイルシステムの中を探してshapefileかサポートされているデータソースをロードできます。ファイル形式 の選択ボックスを使うとOGRでサポートされている形式を選択できます。
また必要があればShapefileのエンコーディングタイプを指定できます。
リストからshapefileを選択して 開くをクリックするとQGISにロードすることができます。図 3.3は alaska.shp ファイルをQGISにロードしたところです。
一度ロードされるとshapefileのズームはナビゲーションツールで実行できます。レイヤの描画方法を変更する場合はレイヤプロパティ画面を開いて下さい。地図凡例でレイヤ名をダブルクリックするか、右クリックのポップアップメニューで[プロパティ] ▸を選択すると画面が開きます。 セクション3.4.1を参照すると、ベクタレイヤのシンボル設定についてさらなる情報があります。
shapefileの描画パフォーマンスを改善するために空間インデックスをつくることができます。空間インデックスはズームとパンの性能を改善します。QGISにおける空間インデックスは.qix .qixというエクステンションを利用します。
次のステップでインデックスを作成できます:
MapInfo Layerをロードするためにはツールバーの [ベクタレイヤの追加]アイコンをクリックするか、Ctrl+Shift+Vキーを入力してください。ファイル画面でファイルタイプ フィルタを次のように変更してください。[OGR] MapInfo (*.mif *.tab *.MIF *.TAB)その後、ロードしたいレイヤを選択してください。
ArcInfo ASCII coverage形式のファイルをロードするためには、ツールバーの[ベクタレイヤの追加]アイコンをクリックするか、Ctrl+Shift+Vキーを入力してベクタレイヤの追加画面を開いてディレクトリを選択して下さい。タイプをArc/Info ASCII Coverageにして読み込みたいcoverageファイルがあるディレクトリに移動して選択してください。
同じようにUK National Transfer形式のベクタファイルやUS Census BureauのTIGER形式のファイルもロードできます。
PostGISレイヤは、PostgreSQLデータベースに格納されているものです。 PostGISの利点は、空間インデクス、フィルタリング、クエリの機能が提供されている点です。 PostGISを用いると、選択や識別といったベクタ機能が、QGISのOGRレイヤよりも精度良く利用できます。
PostGISレイヤを使うために必要なことは次の通りです。 :
PostGISデータソースを使うには、まずはじめに、データを持っているPostgreSQLデータベースへの接続を作成する必要があります。ツールバーの
[PostGISレイヤの追加]アイコンをクリックするか、メニューバーの[レイヤ]から
[PostGISレイヤの追加]を選択するかCtrl-Shift-Dをキーボード入力して下さい。
または
ベクタレイヤの追加
画面を開いて
[ソースタイプ]の項目で[データベース]を選択してPostGISレイヤを追加できます。
PostGISテーブルを追加
画面が開きます。 接続マネージャを利用する場合、
[新規]ボタンをクリックして
新規 PostGISの新規接続を作成
画面を表示して下さい。 接続に必要なパラメータは以下の表に記述されています。表
3.1
以下のオプションをチェックボックスで指定できます:
すべてのパラメータとオプションを設定したら 接続テスト ボタンをクリックして接続テストを行うことができます.
ひとつ以上の接続設定を作成したら、PostgreSQLデータベースからレイヤをロードすることができます。もちろん、PostgreSQLにデータが存在する必要があります。データベースにデータをインポートする方法については Section 3.2.4 をご覧下さい
PostGISからレイヤをロードするには、次のステップを実行します:
この節では、QGISがPostgreSQLレイヤにどのように接続するかの詳細に触れます。ほとんどの場合は、QGISは、単純にデータベースのロード可能なテーブル一覧を提示し、求めに応じてロードします。しかし、PostgreSQLテーブルをQGISにロードする時にトラブルが発生した場合、この節の情報が、QGISのメッセージを理解する助けとなり、また、PostgreSQLテーブルの変更や、GISがロードできるビューの定義に関する方向性を得る助けとなります。
QGISには、一意のキーとして使用するカラムを持つPostgreSQLレイヤが必要です。テーブルから見れば、テーブルにはプライマリキーまたは一意制限が課せられているカラムが求められる、という意味です。 QGISでは、このカラムには、int4(4バイト整数)型である必要があります。もしくは、ctidカラム(訳注: 物理的な行位置が入っているシステムカラム) を主キーに使うことができます。テーブルがこれらのアイテムを欠如させると、 oidカラム(訳注: 論理的識別子が入っているシステムカラム、PostgreSQL 8.1.0以降はデフォルトでは作成されなくなりました)が代わりに用いられます。カラムにインデクスを作成すると実行速度が改善します(PostgreSQLでは主キーには自動的にインデクスが作成されます)。
PostgreSQLレイヤがビューの場合、同じ要件となりますが、ビューに主キーや一意性制限が課せられたカラムはありません。この場合、QGISは適切なテーブルカラムから派生したビューカラムを発見しようと試みます。ビュー定義SQLの構文解析を行うことで実現しています。しかし、QGISは、テーブル別名の使用やSQL関数で生成されたカラムなどといった、SQLのいくつかの面を無視します。
適切なカラムが見つからなかった場合は、QGISはレイヤをロードしません。こうなった場合、ビュー定義の変更を行い適切なカラム(int4型で主キーか、一意性制限があるカラムであって、インデクスが作られていることが望ましい)を含ませることで解決します。
データをPostgreSQLにインポートするには、いくつかの方法があります。 PostGISは、shshp2pgsql というシェープファイルをPostGISにインポートするためのユーティリティを持っています。たとえば、lakes.shp という名前のシェープファイルを、gis_dataという名前のPostgreSQLデータベースにインポートするには、次のコマンドを使います:
(訳注: これだと整数がint2型になり、また、空間インデクスが付加されませんので、shp2pgsqlに"-i"および"-I"オプションを付けるべきです) これによって、 lakes_new という名前の新しいレイヤがgis_data データベース内に作成されます。新しいレイヤは空間参照識別子(SRID)は2964となります。空間参照系と投影法に関する情報については、Section 6をご覧下さい
SPIT (Shapefile to PostGIS Import Tool)という名前のプラグインがQGISにあります。 SPITは、一度に複数のシェープファイルをロードでき、スキーマのサポートもします。 SPITを使うにはopen the Plugin Manager from the プラグイン メニューからプラグインマネージャを開き SPIT プラグイン のチェックボックスにチェックを入れて OK をクリックして下さい。SPITアイコンがツールバーに追加されます。
shapefileをインポートするには、ツールバーの
[ShapefileをPostgreSQLにインポート]アイコンをクリックして
SPIT - Shapefile to PostGIS Import Tool
画面を開きます。接続したいPostGISデータベースを選択し[接続]ボタンをクリックします。[追加]ボタンをクリックしてひとつまたは複数のファイルをキューに追加することができます。
[OK]ボタンをクリックするとファイルの処理が行われます。エラー、警告やインポートの進行状況は、それぞれのshapefile単位に表示されます。
shp2pgsql とSPIT の他にも、PostGISに地理データをインポートするツール ogr2ogr があります。これはGDALインストレーションの中に入っています。shapefileをPostGISにインポートするには、次のコマンドを実行します。
これによって alaska.shp というshapefileが、 postgres というユーザ名と、 topsecret というパスワードで、 myhost.deというホストにある、 postgis という PostGISデータベースにインポートされます。
注 OGRはPostgreSQLとともにビルドして、PostGISをサポートがなければいけません。次のように入力して確認できます。
通常使われるINSERT INTOメソッドの替わりにPostgreSQL’sのCOPYコマンドを使いたい場合は、 次のような環境変数を設定して下さい。(少なくとも と では有効です)
ogr2ogr ではshp2pgsl のように空間インデクスを生成しません。 インポート後の追加手順として、通常のSQLコマンドのCREATE INDEXを使って、手動で空間インデックスを作成して下さい CREATE INDEX (次のセクションで説明しています 3.2.5).
PostgreSQLデータベースからフィーチャーを検索する際に、特にネットワーク経由の場合には、時間を浪費します。 空間インデクスをデータベース内のそれぞれのレイヤに生成すれば、 PostgreSQLレイヤの描画性能向上が改善できます。 PostGISは、空間データ検索の速度向上のために、GiST(Generalized Search Tree)インデックスの生成をサポートします。
GiST1 生成の構文は次のようになります:
注 大きなテーブルでは、インデクスの生成に時間がかかります。 インデクスを生成したら、 VACUUM ANALYZEを実行すべきです。PostGISドキュメント [?] に詳細情報があります。
以下にGiSTインデクス生成の例を示します。:
多くの GIS パッケージでは 経度 180∘ のラインをまたぐ空間参照システム(lat/lon)のベクタマップを含んでいません。 その結果、そのような地図をQGISで開くと本来隣接する2つの領域が遠くの離れた領域として表示されます。 ズ 3.4 にある地図キャンパスの左側の小さい点 (Chatham Islands)は Zealand メイン島の右側のグリッドにはいるべきです。.
次善策としては経度の値をPostGIS と、その中の ST_Shift_Longitude 2 関数を使って変換する方法があります。 この関数は各地物のジオメトリ内の各点/頂点を読んで、それの経度が< 0∘ の場合 360∘ をそこに加算します。そうすると結果は 0∘ - 360∘ に収まり、変換したデータは 180∘ を中心とした地図に描画されます。
初めてSpatialiteデータベースからデータをロードする場合は、次のツールバーの[Spatialiteレイヤの追加]アイコンをクリックするか、[レイヤ]メニューで[Spatialiteレイヤの追加]を選択、またはCtrl+Shift+Lキーを入力して下さい。この操作ですでにQGISが接続したことがあるSpatialiteデータベースをドロップダウンメニューで選択して接続する機能か、その他のSpatiliteデータベースへの接続を新規に定義する機能が利用できる画面が開きます。新しい接続を定義するためには[新規]ボタンをクリックしてファイルブラウザで.sqlite という拡張子のファイルを選択して接続するSpatiaLiteデータベースを指定してください。
ベクタレイヤのレイヤプロパティ画面では、シンボルの設定やラベルのオプション等のレイヤに関する情報を提供します。もしベクタレイヤがPostgreSQL/PostGISデータストアからロードされている場合、[一般情報]タブにあるクエリビルダ画面を起動してレイヤを定義するSQLを変更することができます。レイヤプロパティ画面を利用する場合、地図凡例上でレイヤ名をダブルクリックするか、右クリックをした後に表示されるポップアップメニューで[プロパティ] ▸を選択して下さい。
QGISはベクタ地物の表示をコントロールするための数多くのシンボルレンダラを持っています。現在は以下のレンダラが有効です。
レイヤのシンボルを変更するためには、地図凡例のエントリをダブルクリックして下さい。ベクタのレイヤプロパティ画面が表示されます。
この画面でベクタレイヤのスタイルを指定できます。選択されているレンダリングオプションにしたがって地図地物の分類を行うことができます。
少なくとも以下のようなスタイルオプションはほとんどすべてのレンダリングで使用できます。
レイヤの描画スタイルを一度定義したら、そのスタイルを個別のファイルに保存することができます(ファイルには*.qmlという拡張子がつきます)。[スタイルを保存…]ボタンを使うとこの機能を実行できます。いうまでもなく[スタイルを読み込み…]ボタンを使うと、保存したスタイルをロードできます。
もし新しいレイヤが読み込まれるたびに特定のスタイルを適用したい場合は、[既定スタイルとして保存]ボタンを利用するとデフォルトスタイルを定義できます。またスタイルの変更作業の内容が気に入らない場合、[既定のスタイルに戻す]ボタンを使うとデフォルトのスタイルに復帰します。
QGISでは個別のベクタレイヤの透過性を設定することができます。この機能は[シンボル]
タブの(図3.8a参照)
[透過率]スライダーを使って設定できます。
この機能は多くのベクタレイヤをオーバーレイする場合に便利です。
QGIS 1.4.0から上記のシンボルと並行して新しいシンボルが利用できるようになりました。新しいシンボルは多彩な改良と新しい機能が現行のシンボルと置き換えられて提供されています。新しいシンボルと切り替えを行う場合は、レイヤプロパティ画面の[一般情報]タブにある[新シンボロジー]ボタンをクリックして下さい。 新シンボルの利用をデフォルトにしたい場合は、[設定]メニューの[オプション] ▸から[レンダリング & SVG] タブにある[レンダリングに新世代シンボロジーを利用します]チェックボックスをチェックして下さい。
3種類のシンボルをサポートします: マーカーシンボル(ポイント用), ラインシンボルと塗りつぶしシンボル(ポリゴン用). シンボルは1つまたは複数のシンボルレイヤで構成できます。シンボルの色を定義すると全シンボルレイヤの色を指定するような操作が可能です。 いくつかのレイヤでは色を固定する(代替の色が無い)こともできます。これはマルチレイヤシンボルの色を定義する時に便利です。同じようにラインシンボルの幅やマーカーシンボルの大きさ、傾きの定義もできます。
カラーランプとはレンダラ作成に利用する色の範囲の定義です。シンボル’の色はカラーランプから設定されます。
3種類のカラーランプがあります:
カラーランプはスタイルマネージャ
画面(3.4.4章参照)で [スタイルアイテムタイプ]の項目を選択することで定義できます。[アイテム追加]ボタンをクリックしてカラーランプタイプを選択して下さい。
スタイルグループとは多彩なシンボルとカラーランプをセットです。あなたのお気に入りかよく使うシンボルをここに定義しておけるので、これを再作成することなくいつも利用できます。 スタイルアイテム(シンボルとカラーランプ)はスタイルから検索できる名前がつけられます。デフォルトのスタイルが1個(修正可能)QGISには定義されていて、ユーザーはさらにスタイルを追加できます。
レンダラーは正しいシンボル定義を利用して地物を描画することができます。 レンダラーには3種類のものがあります: 共通シンボル, 分類された (古いシンボロジーでは固有値と呼ばれてました), そして段階に分けられたレンダラです. 連続色レンダラはありません、なぜならそれは段階に分けられたレンダラの特殊なケースだからです。分類と段階分けレンダラはシンボルとカラーランプを指定して作成します- それらはいみじくもシンボルの色定義セットになります。
最初に新世代シンボロジーを有効にするために レイヤプロパティ 画面の[シンボル]タブを選択し、[新シンボロジー]ボタンをクリックして下さい。新しいダイアログでは3つのレンダラから1個を選択できます。共通シンボル、分類された、段階に分けられたの3種類です。選択したレンダラに従って[シンボル]タブでは異なる設定とオプションを提供しており、次のセクションで説明されています。新シンボロジーの設定画面では、スタイルマネージャボタンが提供されていてスタイルマネージャにアクセスできます( 3.4.4 章参照)。スタイルマネージャでは既存シンボルの編集、削除や新規シンボルの追加ができます。
共通シンボルレンダラはレイヤの全地物が描画にユーザー定義の単一シンボルを利用するものです。[シンボル]タブにあるプロパティでは、それぞれのレイヤの型にあった方法で調整を行えます。全ての型は以下の形式を共有しています。タブの左上部分にはシンボルのプレビューがレンダリングされて表示されます。タブの下部は現在のスタイルで定義されたシンボルのリストが表示されます。現在のシンボルは[シンボル]タブの[プロパティ]ボタンをクリックすると編集できます。また、[変更]ボタンをクリックすると通常の色選択画面を開きます。 必要な変更を行った後で、シンボルは[スタイルに追加]ボタンを利用して現在のスタイルシンボルリストに追加でき、後で簡単に利用できます。
注:シンボル自身の傍らにある線の太さを変更する場合データで定義されているサイズスケールを利用できます ( スタイルに追加 の横にある 拡張機能 を利用して実行できます ).
分類されたレンダラは選択された地物の属性値を色に反映した一個のユーザ定義シンボルを使って、レイヤのすべての地物を描画するために利用されます。シンボロジータブでは以下の選択ができます。
画面右下にある[アドバンスト]ボタンで回転角度とサイズスケールが格納されているフィールドを指定することができます。便宜上、タブも下部にあるリストの現在選択されているシンボルに含まれる属性の値は描画されています。
図3.9 の例はQGISサンプルデータセットで川のレイヤを分類されたレンダリング画面で設定している様子です。
[色階調]ドロップダウンリストボックスで新しいカラーランプ...を選択すると、カスタムカラーランプを作成することができます。画面では、カラー階調タイプを尋ねられ、階調、ランダム、カラーブリュワーから選べます。それぞれのタイプはカラーランプ内のステップと複数の停止点を指定できます。3.10はカスタムカラーランプの例です。
段階に分けられたレンダラは選択された地物の属性値をの分類を色に反映した一個のユーザ定義シンボルを使ってレイヤのすべての地物を描画するために利用されます。分類されたレンダラと同じように特定のカラムの値を回転角度や大きさの値として利用することができます。
分類レンダラと同じように[シンボル]タブでは以下の機能を選択できます。
さらにいくつものクラスと地物を分類する方法のモードをクラス内で指定できます(モードリストを利用) 利用可能なモードは以下の通りです。
[シンボル]タブの下部にあるリストボックスでは描画のための値の範囲のクラス、ラベルとシンボルが表示されます。
図 3.11 の例では段階に分けられたレンダラダイアログでQGISサンプルデータセットのriversレイヤを設定している様子を表示しています。
ルールに基づいたレンダラはルール別のシンボルの色を選択された地物の属性値で分類するようなクラスで定義し、そのレイヤの全ての地物を描画するために利用します。
図 3.12 の例ではルールに基づいたレンダラダイアログでQGISサンプルデータセットのriversレイヤを設定している様子を表示しています。
ポイント移動レンダラはポイントレイヤのすべての地物がたとえ同じ位置のデータが複数あっても表示するためのレンダラです。これを実行するためにはポイントのシンボルはセンターシンボルの周りに再配置されます。
シンボルプロパティ画面では、描画のためのシンボルの異なるプロパティを設定できます。 画面の左上にはマップキャンバスに表示されているシンボルが表示されます。 プレビューの下にあるのはシンボルレイヤのリストです。シンボルプロパティ画面を開くには レイヤプロパティ 画面の[シンボル]タブで [プロパティ]ボタンをクリックして下さい。
コントロールパネルではシンボルレイヤの追加と削除、位置の変更。色の変更からのシンボルレイヤのロックができます。 ダイアログの右側の部分ではシンボルレイヤリストで選択されている単一のシンボルレイヤについての適切な設定が表示されます。最も重要なことは ’シンボルレイヤタイプ’ コンボボックスでレイヤのタイプを選択することです。 レイヤのタイプ(ポイント, ライン, ポリゴン)別に利用できるオプションが異なります
スタイルマネージャはスタイルで利用可能なシンボルとカラーランプをリストする小さなヘルパーアプリケーションです。これを利用してアイテムの追加と削除ができます。スタイルマネージャは[設定]メニューの[スタイルマネージャ...] ▸をクリックすると起動できます。
ラベル タブでは地物のラベル表示とフォント、配置、スタイル、アライメントと縁取りに関する多くのオプションの設定が可能です。
QGIS サンプルデータセットのlakes shapefileでラベルの設定をする例を説明します:
これでラベルが設定できました。どのように見えますか? 多分文字はおおきすぎて湖のマーカーシンボルに対して文字の配置位置も適切ではないでしょう。
フォント エントリを選択して フォント と 色 ボタンを使ってフォントと色を設定して下さい。またテキストラベルの角度と配置位置も指定できます。
テキストの位置を地物の場所からの指定で変更する手順は以下の通りです:
見かけはよくなったと思います。しかしラベルは依然としてマーカーに近すぎます。これを改良するためには 位置 エントリのオプションを利用します。ここではXとY方向のオフセットを指定できます。 ラベルにX方向オフセット5 をマーカーに対して指定すると読みやすくなります。 もちろんマーカーシンボルやフォントがさらに大きければより多くのオフセットが必要とされます。
最後の調整はラベルの バッファ(縁取り) です。 これはラベルの後ろと周りの色を指定することで文字をより目立たせる指定です。 lakes ラベルにバッファを加える手順は以下の通りです:
結果に満足てきない場合は設定を調整した後で再度, 適用 をクリックして下さい。
1ポイントのバッファがいいと思います。注 バッファのサイズを地図内の単位で指定することもできます。
ラベル タブの残るエントリはレイヤの属性値を使ってラベルの表示をコントロールする機能です。 データで定義された というエントリでレイヤのフィールド値を使ってラベルのパラメータを指定できます。
ラベル タブでは選択されたラベルが表示される プレビューボックス はサポートされていません。
新しい ラベル はベクターポイント、ライン、ポリゴンレイヤに対して少ないパラメータでスマートなラベル表示を提供するコアアプリケーションです。 この新しいアプリケーションはセクション 3.4.5で説明されている現在のQGISのラベル機能と置き換わる予定です、さらにレイヤのオンザフライ変換をサポートします。
最初に[このレイヤのラベル表示]チェックボックスを有効にした後でラベル表示に使用する属性カラムを選択して下さい。その後ラベルの配置とテキストスタイル、ラベルの優先度、縮尺依存の表示制御を指定できます。マルチパート地物の各パートでラベルを表示するかどうかと地物をラベル表示の妨害物としてあつかうかどうかも指定できます (図 3.16 参照)。
最初に[このレイヤのラベル表示]チェックボックスを有効にした後で、ラベル表示に使用する属性カラムを選択して下さい。その後ラベルの配置、方向、地物からの距離、テキストスタイル、ラベルの優先度、縮尺依存の表示制御を指定できます。マルチパート地物の各パートでラベルを表示するかどうか、ラインが結合したら重複したラベルを削除するかどうか、地物をラベル表示の妨害物としてあつかうかどうかも指定できます(図 3.17 参照)。
最初に[このレイヤのラベル表示]チェックボックスを有効にした後でラベル表示に使用する属性カラムを選択して下さい。その後ラベルの配置、距離、テキストスタイル、ラベルの優先度、縮尺依存の表示制御を指定できます。マルチパート地物の各パートでラベルを表示するかどうか、地物をラベル表示の妨害物としてあつかうかどうかも指定できます (図 3.18 参照)。
[エンジンの設定]ボタンをクリックしてラベルの最適位置を探す検索方法を選択できます。選択可能なオプションはチェイン(高速)、ポップミュージックタブー、ポップミュージックチェイン、ポップミュージックタブーチェイン、FLAP(もっとも速い)です。
そのポイント、ライン、ポリゴンの位置の候補の数を定義でき、すべてのラベル位置候補(衝突しているラベルも含む)をデバッグのために表示するかどうかの指定を行えます。
[属性]タブでは選択されたデータセットの属性を操作できます。 データセットが 編集モードの時に[新規カラムを追加]ボタンと[カラムを削除]ボタンを利用できます。この場合、PostGISレイヤのカラムのみが削除と追加の両方の処理ができます。GDALの>= 1.6 がインストールされている場合、OGRライブラリでは新カラムの追加はサポートしていますが、削除機能はサポートしていません。
[属性]タブには[入力フィールド]カラムがあります。このカラムでは指定された属性テーブルカラムのために値の指定、または値の範囲の指定 を行えます。[入力フィールド]カラムにあるボタンをクリックすると、画面が開き違ったウィジェットを定義できます。以下のウィジェットがあります。
[一般情報]タブは簡単に言うとラスタ画面と同じようなものです。ここでは表示名称、縮尺依存描画オプション、ベクタファイルの空間インデックス作成 (OGRでサポートされている形式とPostGISのみ)、指定レイヤの投影法の確認と変更を行えます。
[クエリビルダ]ボタンを使うとレイヤにある地物のサブセットを作ることができます。しかし、このボタンは現在、属性テーブルを開いて[アドバンスドサーチ]ボタンの隣にある[...]ボタンを選択している場合のみ有効です。
[メタデータ]タブにはレイヤに関する一般情報が格納されています。そこには型と場所、地物の数、地物の型、編集できる機能の情報が含まれます。領域セクションでは、レイヤの領域情報を提供しています。また、空間参照システムセクションではレイヤのCRS(座標参照系)情報を提供しています。ここのタブを参照するとレイヤ情報をすばやく知ることができますが、情報を編集することはできません。
QGIS は地物の属性を使ったアクションの実行環境を提供しています。 この機能を利用するといろいろなアクションを実行できます。たとえば地物の属性値を引数としたプログラムの実行やパラメータをWEBレポーティングツールに転送するようなことができます。
ベクタレイヤの値を利用する外部プログラムの実行やWEBページの閲覧が頻繁にあるならばアクションの利用は大変便利です。例として属性値を利用した検索を説明します。このコンセプトは以下のディスカッションで利用されています。
属性アクションはベクタの レイヤプロパティ 画面で定義します。 アクションを定義するためにはベクタの レイヤプロパティ 画面を開いて[アクション]タブをクリックして下さい。アクションを説明する名前を指定して下さい。アクション自体はアプリケーションの名前を含まなければいけません。アプリケーションとはアクションが起動された時に実行されるプログラムです。 一つまたは複数の属性フィールド値をアプリケーションの引数に指定できます。アクションが実行された時に%に続く文字のセットはフィールドの名前として扱われ、そのフィールドの値に置き換えられます。%% という特別な文字は情報表示ツールや属性テーブルで選択されているフィールドの属性値に置き換えられます (アクションの利用 参照 )。ダブルクォーテーション・マークは複数のテキストをグループ化してプログラム、スクリプト、コマンドの単一の引数にするために利用されます。 ダブルクォートの機能はバックスラッシュによって無効化されます。
もし他のフィールド名の一部と同じ名前のフィールド名がある場合(例., col1 と col10) 角括弧でフィールド名(% も)をかこってそれらを判別できるようにする必要があります(例., [%col10]). この指定は %col10 フィールドの名前が %col1 フィールドと間違えられることを 0 0をフィールド名の最後につけて防止しています。 括弧はQGISがフィールドの値を使った置き換えを行う時に除去されます。もしフィールドを角括弧つきのまま置き換えしたい場合は以下のように2セット目の角括弧を利用するといいです: [[%col10]].
地物情報画面にはレイヤのタイプに関係ある(Derived) アイテムの情報が表示されます。このアイテムの情報は他のフィールドと同じように(Derived)フィールドとして利用できます。例えば、ポイントレイヤはXとYフィールドを持ち、その値はアクションでは%(Derived).Xと%(Derived).Yとして利用できます。derived属性は地物情報画面でのみ利用でき、属性テーブル画面では利用できません。
最初の例では konqueror ウェッブブラウザが指定されたURLで開かれます。このURLはベクタレイヤの nam フィールドで指定されている値でグーグルサーチを起動します。注 アクションから呼ばれるアプリケーションまたはスクリプトの置き場所はパスに含まれているか、それらをフルパスで記述しておく必要があります。 確かに最初の例を以下のように書き直すことができます: /opt/kde3/bin/konqueror http://www.google.com/search?q=%nam. この指定はアクションが起動された時に konquerorアプリケーションが起動することを保証するでしょう。
2つめの例は特定のフィールドの値を当てにしていない %% 記法を利用しています。アクションが起動された時に %% は地物情報表示の結果か属性テーブルで選択されているフィールドの値に置き換えられます。
アクションは地物情報 画面、または属性テーブル画面(これらのダイアログは [地物情報表示]アイコン をクリック、または[属性テーブルのオープン]アイコンから起動できます。アクションを起動するためには、レコードの上で右クリックしてポップアップメニューからアクションを選択して下さい。アクションの定義で指定した名前がポップアップメニューにリストされます。起動したいアクションをクリックして下さい。
記法を使ったアクションを起動したい場合は、地物情報 画面、または属性テーブル 画面のアプリケーションやスクリプトに値を送りたいフィールド上で右クリックを行ってください。
次に別の例を示します。これはベクタレイヤから外部にデータを送りbashと echo コマンド (これは または 多分 で動作します )を利用してファイルに挿入する例です。 検索されたレイヤはtaxon_name, 緯度 lat と 経度 long という名前のフィールドを持ちます。近隣の空間選択をしてそれらの選択されているレコード(QGISのマップエリアで黄色で表示されている)のフィールドの値をテキストファイルに出力したいことがあります。このアクションを使うとそれを実行できます:
近隣のいくつかの地物を選択した後でこのアクションを実行して下さい、出力ファイルを開くと以下のようなものになるでしょう:
練習としてlakesレイヤをGoogleで検索するアクションを作りました。最初にキーワードを検索するURLを決める必要があります。これはGoogleのWebページで簡単な検索をすることで実行されます。それからブラウザのアドレスバーからURLを取得します。この簡単な操作で次の形式がわかります。 http://google.com/search?q=qgisでqgisの文字があるところが検索文字列です。この情報を使って以下の作業ができます。
これでアクションの作成は終了し利用の準備ができました。最終的なテキストはこのようになっています:
firefox http://google.com/search?q=\%NAMES
アクションが利用できるようになりました。 Close the レイヤプロパティ ダイアログを閉じて地図を興味ある領域にズームして下さい。lakes レイヤがアクティブであることを確認してlakeの地物情報表示を行ってください。結果のダイアログで定義したアクションが表示されているはずです:
アクションをクリックすると Firefox を起動して http://www.google.com/search?q=TustumenaのURLへナビゲートします。 さらに多くの属性フィールドをアクションに加えることが可能です。アクションテキストの最後に “+”を加えた後に 他のフィールドを選択して フィールド挿入 をクリックして下さい。 このサンプルでは検索に利用できる他のフィールドはありません。.
単一のレイヤに複数のアクションを定義可能で、それぞれのアクションは Identify Results ダイアログに表示されます。
いろいろな種類のアクションを考案することができます。たとえばイメージや写真の位置が格納されたポイントレイヤにファイル名が含まれていればイメージを表示するビューワを起動するアクションを作ることができます。またグーグルサーチエグザンプルと同じ方法で属性フィールドや連携フィールドを使ってWEBベースのレポートにアクションを使うことができます。
図表 タブを使うとベクタレイヤにグラフをオーバーレイできます。この機能を有効にするためにはプラグインマネージャを開いて’グラフのオーバーレイ’プラグインを選択して下さい。 そうするとベクタレイヤの レイヤプロパティ ダイアログに新しいタブが表示され図表の設定の入力ができるようになります (図 3.22参照).
現在の図表タブではパイチャート、バーチャート、属性値の分類に従って大きさを変えられるSVGシンボルのみがサポートされています。サンプルのデモンストレーションとして alaska boundary レイヤでclimate ベクタレイヤの温度データのバーチャートを表示してみます。両方のベクタレイヤはQGIS サンプルデータセット (セクション 1.4参照.)に格納されています。
QGIS ではOGR,PostGISとSpatialiteベクタレイヤを編集する多彩な機能をサポートしています。注 - GRASSレイヤの編集方法については別の場所で詳しく説明しています - セクション 7.7 参照。
頂点の編集を行う前にベクタレイヤジオメトリの最適な編集作業のためにスナップの許容範囲と検索半径の値を設定しなければいけません。
スナップ許容範囲とは新しい点を既存の点上に移動して点やセグメントを結合させたい時にQGISが検索 して最も近い頂点やセグメント探す時に利用する距離のことです。スナップ許容範囲を利用しない場合既存の頂点やセグメントにスナップするのではなくQGISは頂点をマウスボタンをリリースした場所に作成します。スナップ許容範囲の設定はその他の許容範囲を利用して動くすべてのツールの動作に影響します。
注 このレイヤ単位のスナッピングはデジタイジングタブで設定した全体のスナッピングオプションを上書きします。 ですからもしあるレイヤの編集を行う時に別のレイヤの頂点にスナップしたい場合は、そのレイヤへの スナップ のみを有効にして下さい, それから全体のスナップ許容値をそのレイヤへのスナップ許容値より小さくしてください。 そのうえスナッピングオプションダイアログでチェックされていないレイヤではグローバル許容範囲があってもスナッピングは発生しません。ですからスナップを行いたいレイヤにはチェックボックスにマークをして下さい。
検索半径とは地図上をクリックした時に最も近い頂点に移動する時にQGISが検索に利用する半径です。もしクリックした場所の検索半径内に編集のための頂点が無い場合煩い警告が表示されるでしょう。スナップ許容範囲と検索半径は地図の単位とピクセル単位で指定できます。 最適な設定のために試行したほうがいいと思います。もしとても大きな値の許容範囲を指定したらQGISは適切でない頂点にスナップするでしょう。近くで多くの数の頂点を扱っている場合はとりわけおかしい結果になるでしょう。ほとんど動かなくていいぐらい検索半径を小さな値にして下さい。
頂点編集のためのレイヤ単位の検索半径は 設定 オプション の下の デジタイジング タブで設定できます。 同じ場所でプロジェクト一般でのスナップ許容範囲を設定できます。
レイヤの編集を行う前に、処理を行いたいエリアに地図をズームしなければなりません。 これによってレイヤ内のすべての頂点マーカーが描画されることを回避できます。
ツールバーにある パン(スクロール) と ズームイン(拡大) / ズームアウト(縮小) アイコンをマウスで利用する方法とは別にマウスホィール、スペースバー、矢印キーを使って地図操作を行うことができます。
デジタイジング中に地図メインウィンドウでマウスホィールを押すことができ、それを回すことで地図の拡大、縮小を行うことができます。地図中のズームしたい場所にマウスカーソルを置きホィールを前方に(あなたと逆方向に)転がすと拡大を行い後方に(あなたの方に)転がすと縮小を行います。 マウスカーソルの位置はズームしたい場所の中央になります。 設定 オプション ▸ メニューの マップツールス でマウスホィールの動きをカスタマイズすることができます。
デジタイズ中の地図は矢印キーを使ってパンすることができます。マウスカーソルを地図内に置き右矢印キーを押すと東にパンします、左矢印キーを押すと西にパンします、上矢印キーを押すと北にパンします、下矢印キーを押すと南にパンします。
スペースバーを一時的に発生するマウス動作として地図のパンに利用できます。キーボードの PgUp と PgDown キーを使うとデジタイズ作業を中断することなく拡大、縮小を行うことができます。
設定 メニューの プロジェクトプロパティ… 一般情報 タブの レイヤ単位スナップオプション指定のそばに いくつかのトポロジカル機能が提供されています。 デジタイジングオプションでは トポロジ編集を有効にする と 新ポリゴンの交差を禁止する を有効、無効にできます。
トポロジ編集を有効にする オプションではポリゴンモザイクで共通の外周線を編集、保持できます。 QGIS はポリゴンモザイクで共通外周線を"検出"して頂点を一回移動すると他の外周線も一緒に更新できます。
2つめのトポロジカルオプションはポリゴンモザイクで新しいポリゴンのオーバーラップを禁止します。 これは近接ポリゴンの迅速なデジタイジングに使えます。すでにポリゴンがある場所でこのオプションを使って新しいポリゴンを既存ポリゴンと交差 するように入力すると2つめのポリゴンは既存ポリゴンとの共通線で切断されます。このオプションの利点はユーザが共通外周線で既存の頂点をデジタイズする 必要が無いことです。
デフォルトで QGIS ではレイヤを読み込み専用モードでロードします:これはマウスのスリップで不意にレイヤが編集されてしまうようなことを防ぐセーフガードです 。それにもかかわらずデータプロバイダがサポートしてデータソースが書き込み可能であれば(たとえばファイルが読み込み専用では無い)任意のレイヤを編集することができます。 PostgreSQL/PostGISデータソースを利用している場合のレイヤの編集は最も便利です。
一般にベクタレイヤの編集はデジタイジングと先進的デジタイジングツールバーの2つがあります。それについてはセクション 3.5.4に記述されています。この両方について 設定 ツールバーs ▸ で選択と選択解除ができます。基本的なデジタイジングツールでは以下の機能が利用できます:
アイコン | 目的 | アイコン | 目的 |
編集モード切替 | 地物の追加: 点の入力 |
||
地物の追加: 線の入力 | 地物の追加: ポリゴンの入力 |
||
地物の移動 | ノードツール |
||
選択地物の削除 | 地物のカット |
||
地物のコピー | 地物の貼り付け |
||
編集内容を保存して続行 |
|
||
すべての編集セッションは 編集モード変更 オプションを選択して開始します。これ指定レイヤの凡例エントリでマウス右ボタンクリックで表示されるコンテキストメニューにあります。
別な方法としてはデジタイジングツールバーの 編集モード変更 ボタンを使って編集モードの開始と終了ができます。 レイヤが編集モードになると頂点にマーカーが表示されます。そして編集ツールバーのツールボタン群が利用可能になります。
ツールバーの 点の入力 , 線の入力 または ポリゴンの入力 アイコンを利用するとQGIS カーソルをデジタイズモードにできます。
それぞれの地物は最初に図形をデジタイズした後で属性の入力を行って下さい。図形のデジタイズを行うためには地図上の新しい地物を作成したい場所でマウス左ボタンクリックを行って下さい。
ラインやポリゴンの入力は追加の点を入力するためにマウス左ボタンクリックを続けて下さい。点の追加を終了したい場合はマウス右ボタンをクリックして下さい。そうするとその図形の入力作業終了の確認を求められます。
新しい地物の情報を入力するための属性ウィンドウが表示されます。 図 3.25 ではAlaskaの架空の新しい川の属性設定例を表示しています。
設定
オプション ▸
メニューの
デジタイジング
タブでは
それぞれの地物が作成された後に属性ポップアップが表示されるのを止めます
というオプションを有効にできます。
ツールバーの 地物の移動 アイコンを利用すると既存の地物を移動できます。
PostgreSQL/PostGIS とshapefile-based のレイヤでは, ノードツール を利用してCADプログラムのような操作を行えます。この機能を利用すると複数の頂点を一度に選択して移動や追加、削除を一気に行うことができます。 ノードツールは’オンザフライ’ プロジェクションで地物のトポロジカル編集でも利用できます。 このツールはQuantum GISの他のツールと異なりオペレーションが実行された後でも地物の選択とツールの有効性が持続します。ノードツールが地物を検索できない 場合は以下のような警告が表示されます。
設定 オプション デジタイジング 検索半径 10 数値を0より大きくすることが重要です。そうでなければ QGIS ではどの頂点が編集されるかわかりません。
ノードツール を有効にして いくつかの地物を選択して下さい. 各地物の頂点には赤い四角が表示されます。これは地物の基本的な選択です。 ここで可能な機能は以下のとおりです:
The Release ボタンはすべての変更を格納します。新しいエントリはアンドウダイアログに現れます。すべての操作は有効になっている場合トポロジ編集をサポートします。 オンザフライプロジェクションもサポートされています。
選択されている地物は切り取り、コピー、貼り付けを同一QGISプロジェクトの異なるレイヤ間で行うことができます。この場合対象レイヤ(貼り付けやコピーの先)があらかじめ 編集モード変更 で編集可能になっている必要があります。
地物は外部アプリケーションにテキストとして貼り付けを行えます: 地物はCSV形式で表わされ、ジオメトリはOGC Well-Known text (WKT)形式で表現されます。
このバージョンの QGISではQGISの外部からのテキスト地物をQGISのレイヤとしてペーストすることはできません。いつ コピーアンドペースト機能が役にたつでしょうか?それは1つ以上のレイヤを一度に編集でき地物をレイヤ間でコピー/ペーストする場合です。 どうしてこの機能がほしいのでしょうか? それは5,000 個の湖があるbig_lakes レイヤではなく、1つか2つのレイヤについてのみ新しいレイヤでの作業が必要な場合です。 私たちは新しいレイヤを用意して必要な湖のデータのみ新しいレイヤにコピー/貼り付けを行えばいいです。
いくつかの湖を新しいレイヤにコピーする手順は以下のとおりです:
ソースとターゲットレイヤのスキーマが異なる場合(フィールド名や型が同一ではない)はどうなるでしょうか? QGIS はフィールド間の対応か無視を行います。 ターゲットレイヤに属性がコピーされるかどうか関係ない場合はフィールドとデータタイプをどう設計するかは重要な問題ではありません。 もし地物とその属性について全てコピーできるようにしたい場合は両方のスキーマが一致するように注意して下さい。
ポリゴンそのものを削除したい場合は最初に通常の [地物を選択する]でポリゴンを選択して下さい。削除処理のために複数の地物を選択できます。選択したセットを削除する場合 [選択物の削除]を利用すると選択地物を削除します。
デジタイジングツールバーの [地物の切り取り]も地物の削除に利用できます。 この機能は地物を削除して、それを"空間クリップボード"に格納します。ですから地物を切り取りで削除すると [地物の貼り付け]でそれを戻すことができ、1レベルのアンドゥ機能として利用できます。 切り取り、コピー、貼り付けは現在は選択した地物で動作し、このことは同時に1個の地物の操作以上のことができることを意味します。
レイヤが編集モードで変更内容がQGISメモリに残っている場合があります。それらはデータソースやディスクにコミット/保存されていません。カレントレイヤの編集結果を保存したいけれども編集モードから抜けたくない場合は Save Edits ボタンをクリックして下さい。 Toggle editing ボタンをクリックして編集モードを終了した時(または QGIS をそこから終了した時), 編集結果を保存するか捨てるかを問われます。
変更結果の保存ができなかった場合(例 ディスクフルまたは属性値が範囲を逸脱しているような場合), QGIS のメモリ内の状態は保存されます。これによって編集結果の調整と再トライができます。
処理取り消し(Undo) と 処理再実行(Redo) ツールでは最後に実行したベクタ編集処理の処理取り消し(Undo)と処理再実行(Redo)を行うことができます。処理取り消し/処理再実行機能の 基本的な外見はすべての操作は表示されるウィジェットです (図 3.26参照). このウィジェットはデフォルトでは表示されません。 ウィジェットはツールバー上でマウス右ボタンクリックで表示されUndo/Redoチェックボックスで有効化できます。 処理取り消し/処理再実行機能は ウィジェットが表示されていなくても有効にすることができます。
処理取り消しがヒットされた時、全ての地物と属性は操作前の状態に戻ります。どこかの場所で作成された変更 (たとえばある種のプラグインでの処理)はこのボックスでは明確でない動作であることがあります。 操作は元に戻されそれらのデータは元通りになります。
アクションは処理取り消し/処理再実行機能ボタンのクリックまたは直接アイテムの上をクリックすることで起動されます。 その他の処理取り消し起動方法は先進的なデジタイジングツールバーの 処理取り消し/処理再実行機能 ボタンをクリックすることです。
地物の簡素化 ツールではジオメトリの形を変えず地物の頂点を少なくすることができます。この作業は最初に地物を選択して下さい、 そうすると地物は赤いラバーバンドでハイライト表示されスライダーが表示されます。スライダーを移動すると赤い ラバーバンドは形状の変化を表示し、地物が簡素化する様子を示します。 OK をクリックすると簡素化された新しいジオメトリが保存されます。 もし地物が簡素化できない場合(マルチポリゴンの場合等),メッセージが表示されます。
リングポリゴンをツールバーの リングの追加 アイコンで作成することができます。 このことは領域の内部にさらにポリゴンをデジタイズすることができることを示します。 それによって ’穴’ができます, 外側の線とと内側の線の間に残った部分がリングポリゴンです。
選択したマルチポリゴンに パートの追加 を行うことができます。新しいパートは選択されているマルチポリゴンの外部にデジタイズされなければいけません。
リングの削除 ツールではポリゴンの内側にあるリングポリゴンを削除することができます。 このツールはポリゴンレイヤでのみ動作します。このツールを外部ポリゴンに使用しても何も変化はありません。 このツールはマルチポリゴンのツールにのみ利用できます。 リングの頂点を選択する前に頂点編集許容範囲を調整しておいて下さい。
パートの削除 ツールではマルチ地物のパートを削除できます(例 マルチポリゴンからポリゴンを削除するような場合)。この機能は地物の最後のパートを削除できません、最後のパートはさわれません。このツールはポイント、ライン、ポリゴンのマルチパートで作業を行います。 パートの頂点を選択する前に頂点編集許容範囲を調整しておいて下さい。
ツールバーの 地物形状の再整形 アイコンを利用を使ってラインとポリゴンの形状を整形できます。 この機能はラインまたはポリゴンの一部分を最初から最後の交差まで独自のラインで置き換えます。ポリゴンの場合この機能は時々意図しない結果をもたらします。これはポリゴンの小さいパーツを置き換えする場合に便利です。大規模な修正やポリゴン内交差による不正ポリゴンの修復等の整形には適していません。
注: 再整形ツールはポリゴンリングか近接ラインの最初の位置を置き換えます。そこでその点は So the point that is 同じような点としては ’2度と’ 現れません。これは多くのアプリケーションでは問題になりませんが注意すべき事です。
ツールバーの 地物の分割 アイコンを使うと地物を分割できます。他の地物を横切るラインは必要に応じて分割できます。
選択地物の結合 ツールでは共通の境界線と同じ属性を持つ地物を結合できます。
レイヤプロパティ のシンボロジー シンボロジー タブで 回転角度をポイントレイヤの属性カラムで定義している場合は ポイントシンボルの回転 ツールを使うとマップキャンバス中のポイントシンボルの傾きを変更できます。 それ以外の場合はツールは非アクティブです。
回転角度を変更するためには、マップキャンバスでポイント地物を選択してマウス左ボタンを押してホールドして下さい。select 赤い矢印と角度の値が表示されます (図 3.27参照). マウス左ボタンをリリースすると属性テーブルの値が更新されます。
注: Ctrl キーを押したまま作業をすると回転角度は, 15度 単位に設定できます。
QGIS では新規Shapefile と Spatialite レイヤを作成できます。GRASSプラグインでは新規GRASSレイヤの作成がサポートされています。 GRASSベクタレイヤを作成するための詳しい情報はセクション 7.6 を参照して下さい。
新規Shapefileレイヤを編集のために作成する場合は レイヤ メニューの 新規 で 新しいShapefileレイヤ を選択して下さい。 新規ベクタレイヤ ダイアログが図 3.28のように表示されます。 レイヤのタイプを選択して下さい (ポイント、ライン、またはポリゴン).
注 QGISはまだ2.5次元の地物 (例. X,Y,Z 座標を持つ地物)や計測機能をサポートしていません。 現状では shapefiles のみが作成できます(訳者注 現在SpatiaLiteも作成可能) 将来の版のQGISでは任意のOGRまたはPostgreSQLレイヤの作成がサポートされるでしょう。
新規Shapefileレイヤ作成を完了するためには以下の操作で必要な属性を追加して下さい。 Add ボタンをクリックして属性の名前と型を指定して下さい。 Type real , Type integer , and Type string の型の属性のみをサポートしています。さらに属性の型によっては新しい属性カラムの幅と精度を指定できます。属性に対する操作がうまくいったら OK をクリックしてshapefileの名前を指定して下さい。QGISは指定した名前に自動的に .shp という拡張子を追加します。レイヤが作成されると地図に追加されセクション 3.5.3 に記述されているやり方で編集を行えます。
新規SpatiaLiteレイヤを編集のために作成する場合は レイヤ メニューの 新規 で 新しい SpatiaLite レイヤ を選択して下さい。 新規 SpatiaLite レイヤ ダイアログは 図 3.29のように表示されます。
最初に既存のSpatialiteデータベースを選択するか新規に Spatialite データベースを作成します。この作業はデータベースフィールドの右側にある ブラウズ ... ボタンをクリックすると実行できます。 それから新しいレイヤの名前を入力してレイヤのタイプと EPSG SRID(座標参照系コード)を指定して下さい。 必要ならばプライマリキーを自動インクリメントで作成するように指定できます。 .
新規 Spatialiteレイヤで属性テーブルを定義するためにはカラムの名前をカラムの型と一緒に Add to attribute list ボタンをクリックして追加して下さい。属性テーブルの定義ができたら OK をクリックして下さい。 QGIS は新規レイヤを自動的に凡例に追加してセクション 3.5.3 に記述してある方法で編集できます。
spatialiteレイヤ作成ダイアログでは 適用 ボタンをクリックすることでダイアログを閉じないで複数のレイヤを作成することができます。 .
属性テーブルは選択したレイヤの地物を表示します。テーブルの各行は地図の各地物の属性がカラムに表示されます。テーブル内の地物は検索、選択、移動と編集も可能です。
ベクタレイヤの属性テーブルを開くためには最初に凡例で開きたいレイヤをアクティブにして下さい。それからメインメニュー レイヤ で 属性テーブルを開く を選択して下さい。 また凡例のレイヤ名の上を右ボタンクリックしてドロップダウンメニューから 属性テーブルを開く を選択しても属性テーブルを開けます。 これによって各地物の属性が表示される新しいウィンドウが表示されます。 (図 3.30)。表示されている地物の数が属性テーブルのタイトルに表示されます。
属性テーブルの選択された行はレイヤのすべての地物から選択されている属性を表示します。 属性テーブルは選択されたレイヤのメインウィンドウやすべての変更を反映し、逆に変更をメインウィンドウに反映させます。属性テーブルで変更されたセクションは選択された地物のメインウィンドウの変更を起動します、また別のレイヤ地物選択は別の行が選択されていることを意味します。
行の左側にある行番号をクリックすると行を選択できます。行の選択はカレントカーソル位置を変更しません。複数行は Ctrl キーを押し続けて行番号をクリックし続けると選択できます。 連続領域 は Shift キーを押しながら行の端のヘッダをクリックすると選択できます。カレントカーソルポジションとクリックした行の間のすべての行が選択できます。
各カラムはカラムのヘッダをクリックするとソートできます。小さい矢印はソートの順序を示します (下向き矢印はトップから下への降順を示します、上向き矢印はトップから下向きに昇順に並べることを示します)。
単一カラムを利用したシンプルな属性検索 を Look for フィールドを利用して実行できます。 検索したいフィールド (カラム)をドロップダウンメニューで選択して 検索 ボタンをクリックして下さい。条件に合致した行の数がステータスバーに表示されます。さらに複雑な検索はアドバンスドサーチを利用して下さい。 ここではセクション 3.6で説明されるクエリビルダーが起動されます。
選択されているレコードのみを表示したい場合は 選択された部分のみ表示する チェックボックスを利用して下さい。 . 選択されたレコードのみを検索対象にしたい場合は 選択された部分のみを検索する チェックボックスを利用して下さい。 .属性テーブルウィンドウの下部にある他のボタンは以下の機能を提供しています:
選択されている地物はOGRでサポートしている任意のベクタ形式で保存できます。この時に別の座標参照系(CRS)への変換もできます。この作業はマウス右ボタンのレイヤメニューで 選択を名前をつけて保存 ▸ をクリックして出力ファイル名と形式、CRS (セクション 2.2.3参照)を指定すると実行できます。 このダイアログではOGRの作成オプションも指定できます。
QGIS では空間情報を持たないテーブルをロードできます。ここにはOGRでサポートされているテーブル、デリミテッドテキストとPostgreSQLプロバイダーが含まれます。テーブルはルックアップフィールドやテーブルビューでの閲覧と編集に利用できます。 テーブルをロードすると凡例フィールドに名前が表示されます。 このテーブルは例えば 属性テーブルを開く ツールで開くことができ他のレイヤの属性テーブルと同じように編集できます。
例として空間情報が無いテーブルのカラムを特定のベクタレイヤをデジタイズする時の属性値や範囲の値にすることができます。詳しい情報はセクション 3.4.7 の編集ウィジェットを参照して下さい。
属性テーブル画面の[アドバンスドサーチ]ボタン … を使うとクエリビルダを開きSQLに似たWHERE節でテーブルのサブセットを指定し結果をメインウィンドウに表示できます。また検索結果をShapefileとして保存できます。例えば towns レイヤに population フィールドがある時に population > 100000 のtownsレコードをクエリビルダのSQLボックスで選択することができます。図 3.31 ではPostgreSQLに格納されているPostGISレイヤの属性をクエリビルダで検索している例を表示しています。フィールド、値、演算子セクションはユーザーがSQL類似WHERE節を簡単に作れるように手助けします。
フィールドリスト には指定属性テーブルで検索に利用できるすべての属性が含まれています。SQL where節に属性フィールドを追加する場合フィールドリストで名前をダブルクリックして下さい。 検索クエリを作成するために様々なフィールド、値、演算子を利用できます。またSQLボックスにそれらを直接タイプ入力することもできます。
値リスト には属性の値のリストが表示されます。属性で利用可能な全ての値をリストするためにはフィールドリストで属性を選択して すべて ボタンをクリックして下さい。 サンプルテーブルに現在存在する全ての属性値をリストする場合 フィールドリストで属性を選択した後 サンプル ボタンをクリックして下さい。 SQLのwhere節に値を追加するためには値リストの名前をダブルクリックして下さい。
演算子セクション には利用可能な全ての演算子が含まれています。SQLのwhere節に演算子を追加するためには演算子が表示されているボタンをクリックして下さい。 関係演算子 ( = , > , …), 文字列比較演算子 ( LIKE ), 論理演算子 ( AND , OR , …) が利用可能です。
クリア ボタンはSQL where句テキストフィールドをクリアします。 テスト ボタンを使うと現在のクエリに合致する地物の数をメッセージボックスに表示します。この機能はクエリをつくる作業中に使うと便利です。 OK ボタンをクリックするとウィンドウを閉じてクエリに合致する地物を選択します。 Cancel ボタンをクリックすると現在の地物選択状態を変更しないでウィンドウを閉じます。
QGISではクエリビルダと同じような方法で地物を選択するインターフェースが 3.6にあります。 上記セクションのクエリビルダの目的は地物をフィルタ表示して ’仮想レイヤ’ / サブセットとして扱うことです。 クエリによる選択の目的は指定基準の地物をハイライトすることです。クエリによる選択はすべてのベクタデータプロバイダで利用できます。
To do aロードされたレイヤで ‘クエリによる選択’を実行するためには Open Table ボタンをクリックしてレイヤの属性テーブルを開いて下さい。それから下部にある アドバンスト... ボタンをクリックして下さい。クエリビルダを起動しテーブルのサブセットを定義しセクション 3.6に説明してあるように表示できます。
選択された地物はOGRでサポートされているベクタ形式で保存できます。この時に別の座標参照系(CRS)への変換もできます。この作業はマウス右ボタンのレイヤメニューで 選択を名前をつけて保存 ▸ をクリックして出力ファイル名と形式、CRS (セクション 2.2.3参照)を指定すると実行できます。 このダイアログではOGRの作成オプションも指定できます。
属性テーブル画面の [フィールド計算機を開く]ボタンを利用すると存在する属性値や定義された関数を利用して計算処理を行うことができます。例えば地物のジオメトリの長さや面積を計算することができます。 計算結果は新しい属性カラムに書き込まれるか既存のカラムの値を上書きします。 新しい属性カラムの追加は現在PostGISとGDALのソフトウェアバージョンが>=1.6.0の場合のOGR形式でのみ利用できます。
フィールド計算機アイコンをクリックしてダイアログを開く前にベクタレイヤを編集モードにする必要があります。 (図 3.32参照). ダイアログで最初に既存フィールドを更新するかどうか選択しなければいけません。計算結果を追加する場所を既存フィールドの更新にするか新規属性フィールドの追加にするかどうかです。
新規フィールドを選択するとフィールド名、フィールドタイプ(整数、実数または文字列),フィールドの全長さとフィールドの精度を指定する必要があります。例えばフィールドの長さを 10 フィールドの精度を 3 に指定すると6文字の記号をドットも前におけ、ドットの後に3文字精度として使えます。
フィールドリスト には属性テーブルで検索された属性が含まれます。フィールド計算機の式フィールドに属性を追加するためにはフィールドリストで名前をダブルクリックして下さい。多彩のフィールドと値、演算子を計算式を作成するために利用できます。またボックスに計算式をタイプ入力することもできます。
値リスト では属性フィールドの値をリストします。利用可能な全ての値をリストする場合はフィールドリストでフィールドを選択した後に All ボタンをクリックして下さい。 属性フィールドに現在存在する値をすべてリストしたい場合はフィールドリストでフィールドを選択した後に Sample ボタンをクリックして下さい。 手順はクエリビルダと同様です。フィールド計算機の演算式ボックスに値を追加するためには値リストの名前をダブルクリックして下さい。
O演算子セクション には利用可能な演算子が含まれます。フィールド研鑽器演算式ボックスに演算子を追加するためには適切な演算子ボタンをクリックして下さい。 算術演算子 ( + , - , * …), 三角関数 ( sin, cos, tan, …),ジオメトリック情報の取得 ( length and area ) が利用可能で, 関係演算子 (||) と行カウンタが利用できます。 さらに多くの演算子が利用できるようになることを期待して下さい!
フィールド計算機をどう操作するかの簡単な例を説明します。 QGIS _example_datasetの#8217;railroads’ レイヤの長さを計算してみます: