3  ベクタデータの操作方法

QGISでは多くの形式のベクタ形式データをサポートします。 それらはOGRライブラリデータプラグインのサポートを含みます。例えば、ESRI shapefile、 MapInfo MIF (交換形式) とMapInfo TAB (ネイティブ形式) です OGRでサポートされているベクタ形式については、付録  A.1にサポートしている形式のリストがあります。

QGISでは、PostgreSQLデータプロバイダプラグインを利用したPostgreSQLデータベースのPostGIS レイヤをサポートします. その他追加のデータタイプ (例. デリミテッドテキスト)は追加データプロバイダプラグインでサポートされます。

このセクションではESRI shapefiles、PostGIS レイヤ、さらにSpatialLiteレイヤについてどのように使うかをいくつかの共通形式で説明しています。ベクタデータソースの種類にこだわりなく、多くの機能が同じようにQGISでは動作します。この特徴はうまい設計によるもので、共通機能には情報表示、選択、ラべリングと属性関係の機能を含みます。

GRASSのベクタデータの利用方法についてはセクション7 を参照して下さい。

 3.1  ESRI Shapefiles
  3.1.1  Shapefileをロードする
  3.1.2  パフォーマンスの改善
  3.1.3  MapInfo Layerのロード
  3.1.4  ArcInfo Binary Coverageのロード
 3.2  PostGIS レイヤ
  3.2.1  接続設定を保存する
  3.2.2  PostGIS レイヤのロード
  3.2.3  PostgreSQL レイヤに関する詳細
  3.2.4  PostgreSQL へのデータのインポート
  3.2.5  性能の改善
  3.2.6  経度180 をまたぐベクタレイヤ
 3.3  SpatiaLite レイヤ
 3.4  ベクタープロパティダイアログ
  3.4.1  シンボロジータブ
  3.4.2  新世代シンボロジー
  3.4.3  新世代シンボロジーで作業をする
  3.4.4  スタイルマネージャでシンボルとカラーランプを管理する
  3.4.5  ラベルタブ
  3.4.6  新しいラベリング
  3.4.7  属性タブ
  3.4.8  一般情報タブ
  3.4.9  メタデータタブ
  3.4.10  アクションタブ
  3.4.11  図表タブ
 3.5  編集
  3.5.1  スナップ許容範囲と検索半径の設定
  3.5.2  ズーミングとパンニング
  3.5.3  既存レイヤのデジタイジング
  3.5.4  先進的なデジタイジング
  3.5.5  新規Shapefile と Spatialite レイヤの作成
  3.5.6  属性テーブルを操作する
 3.6  クエリビルダ
 3.7  フィールド計算機

3.1  ESRI Shapefiles

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 を参照してください。.

shape の .prjファイルをロードする場合の問題点

.prjつきのshapefileをQGISにロードする場合、そのファイルの座標参照システムは読むことができません。レイヤプロパティ画面の[一般情報]タブで手動で座標参照システムを定義しなければなりません。.prjファイルはしばしばQGISのCRS画面にあるような投影に関する完全な情報を提供していないことがあることが、この問題の理由です。

この理由により、QGISで新規にshapefileを作成する場合は、2つの異なる投影情報ファイルが作成されます。.prjファイルはESRIのソフトウェア互換の限定された投影パラメータで構成されています。.qpjファイルはCRSで利用されている完全なパラメータで構成されています。QGISが.qpjファイルを見つけた場合は、.prjファイルの代わりに利用されます。

3.1.1  Shapefileをロードする


PIC

図 3.1.: ベクタレイヤ追加ダイアログ PIC



PIC

図 3.2.: OGR でサポートされているベクタレイヤを開くダイアログ PIC



PIC

図 3.3.: Alaska ShapefileがロードされたQGISPIC


PIC shapefileをロードするためにはQGISを開始した後に、ツールバーの PIC [ベクタレイヤの追加]アイコン をクリックするかCtrl-Shift-Vをキーボード入力してください。 新しいウィンドウ (参照 図3.1) が表示されます.

[ソースタイプ]の項目は[ファイル]を選択してください。 その後[ブラウズ]ボタンをクリックして下さい. 標準的なファイルダイアログ (参照 図 3.2) が表示され、ファイルシステムの中を探してshapefileかサポートされているデータソースをロードできます。ファイル形式 の選択ボックスを使うとOGRでサポートされている形式を選択できます。

また必要があればShapefileのエンコーディングタイプを指定できます。

リストからshapefileを選択して 開くをクリックするとQGISにロードすることができます。図 3.3alaska.shp ファイルをQGISにロードしたところです。


QGIS Tip 8:
レイヤを地図に追加した場合ランダムな色が割り当てられます.一度に複数のレイヤを追加した場合はそれぞれのレイヤに別々の色が割り当てられます.

一度ロードされるとshapefileのズームはナビゲーションツールで実行できます。レイヤの描画方法を変更する場合はレイヤプロパティ画面を開いて下さい。地図凡例でレイヤ名をダブルクリックするか、右クリックのポップアップメニューで[プロパティ]  を選択すると画面が開きます。 セクション3.4.1を参照すると、ベクタレイヤのシンボル設定についてさらなる情報があります。


QGIS Tip 9: OSX
OSXではプライマリハードドライブの他にマウントされたポータブルドライブはプロジェクトファイルのオープンメニューでは表示されません。OSX-native open/save ダイアログを使ってこの問題を解決しました。ファイル名ボックスで、’/Volumes’ と打ち込んで下さい。外部ドライブやネットワークマウントについてもナビゲートすることができます。

3.1.2  パフォーマンスの改善

shapefileの描画パフォーマンスを改善するために空間インデックスをつくることができます。空間インデックスはズームとパンの性能を改善します。QGISにおける空間インデックスは.qix .qixというエクステンションを利用します。

次のステップでインデックスを作成できます:

3.1.3  MapInfo Layerのロード

PIC MapInfo Layerをロードするためにはツールバーの PIC[ベクタレイヤの追加]アイコンをクリックするか、Ctrl+Shift+Vキーを入力してください。ファイル画面でファイルタイプ フィルタを次のように変更してください。[OGR] MapInfo (*.mif *.tab *.MIF *.TAB)その後、ロードしたいレイヤを選択してください。

3.1.4  ArcInfo Binary Coverageのロード

PIC ArcInfo ASCII coverage形式のファイルをロードするためには、ツールバーのPIC[ベクタレイヤの追加]アイコンをクリックするか、Ctrl+Shift+Vキーを入力してベクタレイヤの追加画面を開いてディレクトリを選択して下さい。タイプをArc/Info ASCII Coverageにして読み込みたいcoverageファイルがあるディレクトリに移動して選択してください。

同じようにUK National Transfer形式のベクタファイルやUS Census BureauのTIGER形式のファイルもロードできます。

3.2  PostGIS レイヤ

PostGISレイヤは、PostgreSQLデータベースに格納されているものです。 PostGISの利点は、空間インデクス、フィルタリング、クエリの機能が提供されている点です。 PostGISを用いると、選択や識別といったベクタ機能が、QGISのOGRレイヤよりも精度良く利用できます。

PostGISレイヤを使うために必要なことは次の通りです。 :

3.2.1  接続設定を保存する

PIC PostGISデータソースを使うには、まずはじめに、データを持っているPostgreSQLデータベースへの接続を作成する必要があります。ツールバーの PIC[PostGISレイヤの追加]アイコンをクリックするか、メニューバーの[レイヤ]から PIC [PostGISレイヤの追加]を選択するかCtrl-Shift-Dをキーボード入力して下さい。 または ベクタレイヤの追加 画面を開いて [ソースタイプ]の項目で[データベース]を選択してPostGISレイヤを追加できます。 PostGISテーブルを追加 画面が開きます。 接続マネージャを利用する場合、 [新規]ボタンをクリックして
新規 PostGISの新規接続を作成 画面を表示して下さい。 接続に必要なパラメータは以下の表に記述されています。表 3.1


Table 3.1.: PostGIS接続パラメータ


名前

この接続に付ける名前。データベース名と同じにすることができます。



Host

データベースのホスト名。telnet接続を開いたり、pingを打ったりするのに使われるのと同じもので、名前解決可能でなくてはなりません。データベースがQGISと同じコンピュータ上にある場合は、’localhost’となります。



データベース

データベース名。



ポート

PostgreSQLデータベースサーバが接続待ちしているポート番号。デフォルトでは5432になっています。



SSL モード

SSL接続のサーバとのネゴシエート方法。次のオプションがあります:

  • disable: 非暗号化SSL接続のみ試みます;
  • allow: 非SSQL接続を試し、失敗した場合にSSL接続を試みます;
  • prefer (デフォルト): SSL接続をためし、失敗した場合に非SSL接続を試みます;
  • require: SSL接続のみ試みます。

接続エディタでSSL接続を切るとPostGISレイヤのレンダリングが強力にスピードアップします



ユーザ名

データベースにログインするためのユーザ名。



パスワード

データベースに接続するために ユーザ名 と一緒に使うパスワード




以下のオプションをチェックボックスで指定できます:

すべてのパラメータとオプションを設定したら 接続テスト ボタンをクリックして接続テストを行うことができます.


QGIS Tip 10: QGIS
ご自身のQGISの設定は、オペレーティングシステムに基づいて保存されます。 PICでは、設定は.qt/qgisrc内のホームディレクトリにストアされます。 PIC ,では、レジストリに保存されます。コンピュータ環境に依存しますがQGIS設定内にパスワードを保存することはセキュリティリスクとなるかも知れません。

3.2.2  PostGIS レイヤのロード

PIC ひとつ以上の接続設定を作成したら、PostgreSQLデータベースからレイヤをロードすることができます。もちろん、PostgreSQLにデータが存在する必要があります。データベースにデータをインポートする方法については Section 3.2.4 をご覧下さい

PostGISからレイヤをロードするには、次のステップを実行します:


QGIS Tip 11: POSTGIS
普通のPostGISレイヤはテーブルにgeometry_columnsのエントリを持ちます。バージョン1.5.0 から QGIS ではgeometry_columnsエントリを 持たないテーブルもロードできるようになりました。ここにはテーブルとビューの両方が含まれます。空間ビューを作成すると 強力なデータ可視化を行えます。 ビューの作成についてはPostgreSQL のマニュアルの情報を参照して下さい。

3.2.3  PostgreSQL レイヤに関する詳細

この節では、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型で主キーか、一意性制限があるカラムであって、インデクスが作られていることが望ましい)を含ませることで解決します。

3.2.4  PostgreSQL へのデータのインポート

shp2pgsql

データをPostgreSQLにインポートするには、いくつかの方法があります。 PostGISは、shshp2pgsql というシェープファイルをPostGISにインポートするためのユーティリティを持っています。たとえば、lakes.shp という名前のシェープファイルを、gis_dataという名前のPostgreSQLデータベースにインポートするには、次のコマンドを使います:

  shp2pgsql -s 2964 lakes.shp lakes_new | psql gis_data

(訳注: これだと整数がint2型になり、また、空間インデクスが付加されませんので、shp2pgsqlに"-i"および"-I"オプションを付けるべきです) これによって、 lakes_new という名前の新しいレイヤがgis_data データベース内に作成されます。新しいレイヤは空間参照識別子(SRID)は2964となります。空間参照系と投影法に関する情報については、Section 6をご覧下さい


QGIS Tip 12: POSTGIS
インポートツールのshp2pgsql と同じような、 PostGISデータベースをシェープファイルにエクスポートするツールの pgsql2shpがあります。これは、PostGISのディストリビューションに同梱されています。

SPIT プラグイン

PIC SPIT (Shapefile to PostGIS Import Tool)という名前のプラグインがQGISにあります。 SPITは、一度に複数のシェープファイルをロードでき、スキーマのサポートもします。 SPITを使うにはopen the Plugin Manager from the プラグイン メニューからプラグインマネージャを開き SPIT プラグイン のチェックボックスにチェックを入れて OK をクリックして下さい。SPITアイコンがツールバーに追加されます

shapefileをインポートするには、ツールバーの PIC [ShapefileをPostgreSQLにインポート]アイコンをクリックして
SPIT - Shapefile to PostGIS Import Tool 画面を開きます。接続したいPostGISデータベースを選択し[接続]ボタンをクリックします。[追加]ボタンをクリックしてひとつまたは複数のファイルをキューに追加することができます。 [OK]ボタンをクリックするとファイルの処理が行われます。エラー、警告やインポートの進行状況は、それぞれのshapefile単位に表示されます。


QGIS Tip 13: POSTGRESQL SHAPE
PostgreSQLの予約語となるフィールド名を含むシェープファイルがキューに追加されている場合、 それぞれのフィールドの状態を表示するダイアログが現れます。 重要性の高いフィールド名を編集して、 予約語(または求められる他のフィールド名を変更する) のフィールド名を持つシェープファイルをインポートしようとすると、失敗するでしょう。

ogr2ogr

shp2pgsql SPIT の他にも、PostGISに地理データをインポートするツール ogr2ogr があります。これはGDALインストレーションの中に入っています。shapefileをPostGISにインポートするには、次のコマンドを実行します。

  ogr2ogr -f "PostgreSQL" PG:"dbname=postgis host=myhost.de user=postgres \  
  password=topsecret" alaska.shp

これによって alaska.shp というshapefileが、 postgres というユーザ名と、 topsecret というパスワードで、 myhost.deというホストにある、 postgis という PostGISデータベースにインポートされます。

注 OGRはPostgreSQLとともにビルドして、PostGISをサポートがなければいけません。次のように入力して確認できます。

ogrinfo --formats | grep -i post

通常使われるINSERT INTOメソッドの替わりにPostgreSQL’sのCOPYコマンドを使いたい場合は、 次のような環境変数を設定して下さい。(少なくとも PICPIC では有効です)

  export PG_USE_COPY=YES

ogr2ogr ではshp2pgsl のように空間インデクスを生成しません。 インポート後の追加手順として、通常のSQLコマンドのCREATE INDEXを使って、手動で空間インデックスを作成して下さい CREATE INDEX (次のセクションで説明しています 3.2.5).

3.2.5  性能の改善

PostgreSQLデータベースからフィーチャーを検索する際に、特にネットワーク経由の場合には、時間を浪費します。 空間インデクスをデータベース内のそれぞれのレイヤに生成すれば、 PostgreSQLレイヤの描画性能向上が改善できます。 PostGISは、空間データ検索の速度向上のために、GiST(Generalized Search Tree)インデックスの生成をサポートします。

GiST1 生成の構文は次のようになります:

    CREATE INDEX [indexname] ON [tablename]  
      USING GIST ( [geometryfield] GIST_GEOMETRY_OPS );

注 大きなテーブルでは、インデクスの生成に時間がかかります。 インデクスを生成したら、 VACUUM ANALYZEを実行すべきです。PostGISドキュメント [?] に詳細情報があります。

以下にGiSTインデクス生成の例を示します。:

gsherman@madison:~/current$ psql gis_data  
Welcome to psql 8.3.0, the PostgreSQL interactive terminal.  
 
Type:  \copyright for distribution terms  
        \h for help with SQL commands  
        \? for help with psql commands  
        \g or terminate with semicolon to execute query  
        \q to quit  
 
gis_data=# CREATE INDEX sidx_alaska_lakes ON alaska_lakes  
gis_data-# USING GIST (the_geom GIST_GEOMETRY_OPS);  
CREATE INDEX  
gis_data=# VACUUM ANALYZE alaska_lakes;  
VACUUM  
gis_data=# \q  
gsherman@madison:~/current$

3.2.6  経度180 をまたぐベクタレイヤ

多くの GIS パッケージでは 経度 180 のラインをまたぐ空間参照システム(lat/lon)のベクタマップを含んでいません。 その結果、そのような地図をQGISで開くと本来隣接する2つの領域が遠くの離れた領域として表示されます。 ズ 3.4 にある地図キャンパスの左側の小さい点 (Chatham Islands)は Zealand メイン島の右側のグリッドにはいるべきです。.


PIC

図 3.4.: lat/lon が経度 180 ラインをまたぐ地図 PIC


次善策としては経度の値をPostGIS と、その中の ST_Shift_Longitude 2 関数を使って変換する方法があります。 この関数は各地物のジオメトリ内の各点/頂点を読んで、それの経度が< 0 の場合 360 をそこに加算します。そうすると結果は 0 - 360 に収まり、変換したデータは 180 を中心とした地図に描画されます。


PIC

図 3.5.: 経度180 をまたぐ地図にST_Shift_Longitude 関数を適用したもの PIC


使用方法

3.3  SpatiaLite レイヤ

PIC 初めてSpatialiteデータベースからデータをロードする場合は、次のツールバーのPIC[Spatialiteレイヤの追加]アイコンをクリックするか、[レイヤ]メニューでPIC[Spatialiteレイヤの追加]を選択、またはCtrl+Shift+Lキーを入力して下さい。この操作ですでにQGISが接続したことがあるSpatialiteデータベースをドロップダウンメニューで選択して接続する機能か、その他のSpatiliteデータベースへの接続を新規に定義する機能が利用できる画面が開きます。新しい接続を定義するためには[新規]ボタンをクリックしてファイルブラウザで.sqlite という拡張子のファイルを選択して接続するSpatiaLiteデータベースを指定してください。

3.4  ベクタレイヤプロパティ画面

ベクタレイヤのレイヤプロパティ画面では、シンボルの設定やラベルのオプション等のレイヤに関する情報を提供します。もしベクタレイヤがPostgreSQL/PostGISデータストアからロードされている場合、[一般情報]タブにあるクエリビルダ画面を起動してレイヤを定義するSQLを変更することができます。レイヤプロパティ画面を利用する場合、地図凡例上でレイヤ名をダブルクリックするか、右クリックをした後に表示されるポップアップメニューで[プロパティ]  を選択して下さい。


PIC

Figure 3.6.: ベクタレイヤプロパティダイアログPIC


3.4.1  シンボルタブ

QGISはベクタ地物の表示をコントロールするための数多くのシンボルレンダラを持っています。現在は以下のレンダラが有効です。

共通シンボル
- 指定レイヤの各オブジェクトに共通して適用されるスタイル。
目盛り付きシンボル
- 指定フィールドの値を利用してレイヤ内オブジェクトを分類して適用するシンボル。
連続色
- レイヤ内のオブジェクトは指定フィールドの数値の値で色の広がり内に分類されて表示されます。
固有値
- オブジェクトは指定フィールドの固有値別に分類されて表示されます。各固有値は異なるシンボルを持ちます。

レイヤのシンボルを変更するためには、地図凡例のエントリをダブルクリックして下さい。ベクタのレイヤプロパティ画面が表示されます。



Figure 3.7.: シンボライジングオプションPIC

PIC (a) 共通 シンボル   PIC (b) 目盛り付き シンボル    PIC (c) 連続    PIC (d) 固有


スタイルオプション

この画面でベクタレイヤのスタイルを指定できます。選択されているレンダリングオプションにしたがって地図地物の分類を行うことができます。

少なくとも以下のようなスタイルオプションはほとんどすべてのレンダリングで使用できます。

塗りつぶしオプション
塗りつぶしスタイル
- 塗りつぶしスタイル。選ばれたブラシの表示の横で塗りつぶしスタイル を選択できます[…]ボタンをクリックすると、独自のテクスチャファイルを選択できます。現在*.jpeg, *.xpm, and *.png のファイル形式がテクスチャファイルとしてサポートされています。
塗りつぶし色
- 地物を塗りつぶす色。
アウトラインオプション
アウトラインスタイル
- 地物の外側線のペンスタイルです。 ’ペン なし’のオプションを選択することも可能です。
アウトラインカラー
- 地物の外側線の色です。
アウトライン幅
- 地物の外側線の幅.

レイヤの描画スタイルを一度定義したら、そのスタイルを個別のファイルに保存することができます(ファイルには*.qmlという拡張子がつきます)。[スタイルを保存…]ボタンを使うとこの機能を実行できます。いうまでもなく[スタイルを読み込み…]ボタンを使うと、保存したスタイルをロードできます。

もし新しいレイヤが読み込まれるたびに特定のスタイルを適用したい場合は、[既定スタイルとして保存]ボタンを利用するとデフォルトスタイルを定義できます。またスタイルの変更作業の内容が気に入らない場合、[既定のスタイルに戻す]ボタンを使うとデフォルトのスタイルに復帰します。

ベクタ透過性

QGISでは個別のベクタレイヤの透過性を設定することができます。この機能は[シンボル] タブの(図3.8a参照)
[透過率]スライダーを使って設定できます。 この機能は多くのベクタレイヤをオーバーレイする場合に便利です。

3.4.2  新世代シンボロジー

QGIS 1.4.0から上記のシンボルと並行して新しいシンボルが利用できるようになりました。新しいシンボルは多彩な改良と新しい機能が現行のシンボルと置き換えられて提供されています。新しいシンボルと切り替えを行う場合は、レイヤプロパティ画面の[一般情報]タブにある[新シンボロジー]ボタンをクリックして下さい。 新シンボルの利用をデフォルトにしたい場合は、[設定]メニューの[オプション]  から[レンダリング & SVG] タブにある[レンダリングに新世代シンボロジーを利用します]チェックボックスをチェックして下さい。

新世代シンボロジーの解説

3種類のシンボルをサポートします: マーカーシンボル(ポイント用), ラインシンボルと塗りつぶしシンボル(ポリゴン用). シンボルは1つまたは複数のシンボルレイヤで構成できます。シンボルの色を定義すると全シンボルレイヤの色を指定するような操作が可能です。 いくつかのレイヤでは色を固定する(代替の色が無い)こともできます。これはマルチレイヤシンボルの色を定義する時に便利です。同じようにラインシンボルの幅やマーカーシンボルの大きさ、傾きの定義もできます。

利用可能なシンボルレイヤタイプ
カラーランプ

カラーランプとはレンダラ作成に利用する色の範囲の定義です。シンボル’の色はカラーランプから設定されます。

3種類のカラーランプがあります:

カラーランプはスタイルマネージャ 画面(3.4.4章参照)で [スタイルアイテムタイプ]の項目を選択することで定義できます。[アイテム追加]ボタンをクリックしてカラーランプタイプを選択して下さい。

スタイル

スタイルグループとは多彩なシンボルとカラーランプをセットです。あなたのお気に入りかよく使うシンボルをここに定義しておけるので、これを再作成することなくいつも利用できます。 スタイルアイテム(シンボルとカラーランプ)はスタイルから検索できる名前がつけられます。デフォルトのスタイルが1個(修正可能)QGISには定義されていて、ユーザーはさらにスタイルを追加できます。

レンダラー

レンダラーは正しいシンボル定義を利用して地物を描画することができます。 レンダラーには3種類のものがあります: 共通シンボル, 分類された (古いシンボロジーでは固有値と呼ばれてました), そして段階に分けられたレンダラです. 連続色レンダラはありません、なぜならそれは段階に分けられたレンダラの特殊なケースだからです。分類と段階分けレンダラはシンボルとカラーランプを指定して作成します- それらはいみじくもシンボルの色定義セットになります。

3.4.3  新世代シンボロジーで作業をする

最初に新世代シンボロジーを有効にするために レイヤプロパティ 画面の[シンボル]タブを選択し、[新シンボロジー]ボタンをクリックして下さい。新しいダイアログでは3つのレンダラから1個を選択できます。共通シンボル、分類された、段階に分けられたの3種類です。選択したレンダラに従って[シンボル]タブでは異なる設定とオプションを提供しており、次のセクションで説明されています。新シンボロジーの設定画面では、スタイルマネージャボタンが提供されていてスタイルマネージャにアクセスできます( 3.4.4 章参照)。スタイルマネージャでは既存シンボルの編集、削除や新規シンボルの追加ができます。

共通シンボルレンダラ

共通シンボルレンダラはレイヤの全地物が描画にユーザー定義の単一シンボルを利用するものです。[シンボル]タブにあるプロパティでは、それぞれのレイヤの型にあった方法で調整を行えます。全ての型は以下の形式を共有しています。タブの左上部分にはシンボルのプレビューがレンダリングされて表示されます。タブの下部は現在のスタイルで定義されたシンボルのリストが表示されます。現在のシンボルは[シンボル]タブの[プロパティ]ボタンをクリックすると編集できます。また、[変更]ボタンをクリックすると通常の選択画面を開きます。 必要な変更を行った後で、シンボルは[スタイルに追加]ボタンを利用して現在のスタイルシンボルリストに追加でき、後で簡単に利用できます。

:シンボル自身の傍らにある線の太さを変更する場合データで定義されているサイズスケールを利用できます ( スタイルに追加 の横にある 拡張機能 を利用して実行できます ).


PIC (e) 共通 シンボル ポイント プロパティ   PIC (f) 共通 シンボル ライン プロパティ    PIC (g) 共通 シンボル 領域 プロパティ

図 3.8.: 新しい共通シンボルオプションPIC


分類されたレンダラ

分類されたレンダラは選択された地物の属性値を色に反映した一個のユーザ定義シンボルを使って、レイヤのすべての地物を描画するために利用されます。シンボロジータブでは以下の選択ができます。

画面右下にある[アドバンスト]ボタンで回転角度とサイズスケールが格納されているフィールドを指定することができます。便宜上、タブも下部にあるリストの現在選択されているシンボルに含まれる属性の値は描画されています。

3.9 の例はQGISサンプルデータセットで川のレイヤを分類されたレンダリング画面で設定している様子です。



図 3.9.: 新しい分類されたシンボライズオプションPIC

PIC


[色階調]ドロップダウンリストボックスで新しいカラーランプ...を選択すると、カスタムカラーランプを作成することができます。画面では、カラー階調タイプを尋ねられ、階調、ランダム、カラーブリュワーから選べます。それぞれのタイプはカラーランプ内のステップと複数の停止点を指定できます。3.10はカスタムカラーランプの例です。



図 3.10.: 複数の停止点を持つカスタム階調色ランプ例 PIC

PIC


段階に分けられたレンダラ

段階に分けられたレンダラは選択された地物の属性値をの分類を色に反映した一個のユーザ定義シンボルを使ってレイヤのすべての地物を描画するために利用されます。分類されたレンダラと同じように特定のカラムの値を回転角度や大きさの値として利用することができます。

分類レンダラと同じように[シンボル]タブでは以下の機能を選択できます。

さらにいくつものクラスと地物を分類する方法のモードをクラス内で指定できます(モードリストを利用) 利用可能なモードは以下の通りです。

[シンボル]タブの下部にあるリストボックスでは描画のための値の範囲のクラス、ラベルとシンボルが表示されます。

3.11 の例では段階に分けられたレンダラダイアログでQGISサンプルデータセットのriversレイヤを設定している様子を表示しています。


PIC

Figure 3.11.: 新世代シンボロジーオプション PIC


ルールに基づいた描画

ルールに基づいたレンダラはルール別のシンボルの色を選択された地物の属性値で分類するようなクラスで定義し、そのレイヤの全ての地物を描画するために利用します。

3.12 の例ではルールに基づいたレンダラダイアログでQGISサンプルデータセットのriversレイヤを設定している様子を表示しています。


PIC

Figure 3.12.: 新しいルールに基づくシンボライズオプション PIC


ポイント移動

ポイント移動レンダラはポイントレイヤのすべての地物がたとえ同じ位置のデータが複数あっても表示するためのレンダラです。これを実行するためにはポイントのシンボルはセンターシンボルの周りに再配置されます。


PIC

Figure 3.13.: ポイント移動ダイアログ PIC


シンボルプロパティ

シンボルプロパティ画面では、描画のためのシンボルの異なるプロパティを設定できます。 画面の左上にはマップキャンバスに表示されているシンボルが表示されます。 プレビューの下にあるのはシンボルレイヤのリストです。シンボルプロパティ画面を開くには レイヤプロパティ 画面の[シンボル]タブで PIC [プロパティ]ボタンをクリックして下さい。

コントロールパネルではシンボルレイヤの追加と削除、位置の変更。色の変更からのシンボルレイヤのロックができます。 ダイアログの右側の部分ではシンボルレイヤリストで選択されている単一のシンボルレイヤについての適切な設定が表示されます。最も重要なことは ’シンボルレイヤタイプ’ コンボボックスでレイヤのタイプを選択することです。 レイヤのタイプ(ポイント, ライン, ポリゴン)別に利用できるオプションが異なります

ポイントレイヤで利用可能なシンボルレイヤタイプオプション
ラインレイヤで利用可能なシンボルレイヤタイプオプション
ポリゴンレイヤで利用可能なシンボルレイヤタイプオプション


PIC (a) ラインが 3本の シンプル ラインから 構成されている    PIC (b) ポイント レイヤ シンボル プロパティ    PIC (c) ポリゴン pattern 塗りつぶし パターン

図 3.14.: シンボルプロパティを定義する PIC


3.4.4  スタイルマネージャでシンボルとカラーランプを管理する

スタイルマネージャはスタイルで利用可能なシンボルとカラーランプをリストする小さなヘルパーアプリケーションです。これを利用してアイテムの追加と削除ができます。スタイルマネージャは[設定]メニューの[スタイルマネージャ...]  をクリックすると起動できます。


PIC

図 3.15.: シンボルとカラーランプを管理するスタイルマネージャ PIC


3.4.5  ラベルタブ

ラベル タブでは地物のラベル表示とフォント、配置、スタイル、アライメントと縁取りに関する多くのオプションの設定が可能です。

QGIS サンプルデータセットのlakes shapefileでラベルの設定をする例を説明します:

1.
QGISでShapefilealaska.shpとGMLファイル lakes.gmlをロードします。
2.
興味のある湖にズームします。
3.
lakes レイヤをアクティブにします。
4.
レイヤプロパティ 画面を開きます。
5.
[ラベル]タブをクリックします。
6.
[ラベルを表示] チェックボックスをチェックしてラベル表示を有効にします。
7.
ラベル表示を行う文字列が格納されているフィールドを選択します。ここでは  NAMESというフィールドを選択します。
8.
[デフォルトラベル]テキストボックスにlakesレイヤで名前が指定されていない場合のデフォルト値を入力します。 デフォルトラベルはNAMESフィールドに値が設定されていない地物にQGISに利用されます。
9.
ラベルが複数の行になる場合、[複数行のラベルですか?]をチェックして下さい。 QGISではラベルフィールドから改行をチェックしてそれにしたがってラインブレークを挿入します。 正しい改行コードは シングルキャラクターの\nです(バックスラッシュ \ にnが続く2個の別個のキャラクターではありません)。
10.
[OK]ボタンをクリックして下さい。

これでラベルが設定できました。どのように見えますか? 多分文字はおおきすぎて湖のマーカーシンボルに対して文字の配置位置も適切ではないでしょう。

フォント エントリを選択して フォント と 色 ボタンを使ってフォントと色を設定して下さい。またテキストラベルの角度と配置位置も指定できます。

テキストの位置を地物の場所からの指定で変更する手順は以下の通りです:

1.
レイヤプロパティ画面の[ラベルプロパティ]タブを選択します。
2.
[配置] グループのラジオボタンを選択して配置方法を変更します。[右]ラジオボタンを選択します。
3.
フォントサイズ はポイントと地図上の単位から選択できます。
4.
[適用]ボタンをクリックするとダイアログを閉じないで変更結果を見ることができます。

見かけはよくなったと思います。しかしラベルは依然としてマーカーに近すぎます。これを改良するためには 位置 エントリのオプションを利用します。ここではXとY方向のオフセットを指定できます。 ラベルにX方向オフセット5 をマーカーに対して指定すると読みやすくなります。 もちろんマーカーシンボルやフォントがさらに大きければより多くのオフセットが必要とされます。

最後の調整はラベルの バッファ(縁取り) です。 これはラベルの後ろと周りの色を指定することで文字をより目立たせる指定です。 lakes ラベルにバッファを加える手順は以下の通りです:

1.
[ラベルプロパティ]タブをクリックして下さい。
2.
[バッファラベル]チェックボックスをクリックしてバッファの項目を有効にして下さい。
3.
スピンボックスを利用してバッファのサイズを選択して下さい。
4.
[色]ボタンをクリックしてカラーセレクタを表示し、最適な色を選んで下さい。必要ならばバッファに透過度を指定することもできます。
5.
[適用] ボタンをクリックして設定結果を見て下さい。

結果に満足てきない場合は設定を調整した後で再度, 適用 をクリックして下さい。

1ポイントのバッファがいいと思います。注 バッファのサイズを地図内の単位で指定することもできます。

ラベル タブの残るエントリはレイヤの属性値を使ってラベルの表示をコントロールする機能です。 データで定義された というエントリでレイヤのフィールド値を使ってラベルのパラメータを指定できます。

ラベル タブでは選択されたラベルが表示される プレビューボックス はサポートされていません。

3.4.6  新しいラベリング

新しい PICラベル はベクターポイント、ライン、ポリゴンレイヤに対して少ないパラメータでスマートなラベル表示を提供するコアアプリケーションです。 この新しいアプリケーションはセクション 3.4.5で説明されている現在のQGISのラベル機能と置き換わる予定です、さらにレイヤのオンザフライ変換をサポートします。

新しいラベリングを利用する

1.
QGISを起動してベクタのポイント、ラインまたはポリゴンレイヤをロードします。
2.
地図凡例でラベル表示したいレイヤを選択した後にQGISツールバーメニューにある PIC [ラべリング]アイコンをクリックして下さい。
ポイントレイヤのラベリング

最初に[このレイヤのラベル表示]チェックボックスを有効にした後でラベル表示に使用する属性カラムを選択して下さい。その後ラベルの配置とテキストスタイル、ラベルの優先度、縮尺依存の表示制御を指定できます。マルチパート地物の各パートでラベルを表示するかどうかと地物をラベル表示の妨害物としてあつかうかどうかも指定できます (図 3.16 参照)。


PIC

図 3.16.: ベクタポイントレイヤのスマートラベリング PIC


ラインレイヤのラベリング

最初に[このレイヤのラベル表示]チェックボックスを有効にした後で、ラベル表示に使用する属性カラムを選択して下さい。その後ラベルの配置、方向、地物からの距離、テキストスタイル、ラベルの優先度、縮尺依存の表示制御を指定できます。マルチパート地物の各パートでラベルを表示するかどうか、ラインが結合したら重複したラベルを削除するかどうか、地物をラベル表示の妨害物としてあつかうかどうかも指定できます(図 3.17 参照)。


PIC

図 3.17.: ベクタラインレイヤのスマートラベリングPIC


ポリゴンレイヤのラベリング

最初に[このレイヤのラベル表示]チェックボックスを有効にした後でラベル表示に使用する属性カラムを選択して下さい。その後ラベルの配置、距離、テキストスタイル、ラベルの優先度、縮尺依存の表示制御を指定できます。マルチパート地物の各パートでラベルを表示するかどうか、地物をラベル表示の妨害物としてあつかうかどうかも指定できます (図 3.18 参照)。


PIC

図 3.18.: ポリゴンレイヤのスマートラベリング PIC


エンジンの設定変更

[エンジンの設定]ボタンをクリックしてラベルの最適位置を探す検索方法を選択できます。選択可能なオプションはチェイン(高速)、ポップミュージックタブー、ポップミュージックチェイン、ポップミュージックタブーチェイン、FLAP(もっとも速い)です。


PIC

図 3.19.: ラベルエンジン設定ダイアログ PIC


そのポイント、ライン、ポリゴンの位置の候補の数を定義でき、すべてのラベル位置候補(衝突しているラベルも含む)をデバッグのために表示するかどうかの指定を行えます。

3.4.7  属性タブ

[属性]タブでは選択されたデータセットの属性を操作できます。 データセットが PIC編集モードの時にPIC[新規カラムを追加]ボタンと[カラムを削除]ボタンを利用できます。この場合、PostGISレイヤのカラムのみが削除と追加の両方の処理ができます。GDALの>= 1.6 がインストールされている場合、OGRライブラリでは新カラムの追加はサポートしていますが、削除機能はサポートしていません。

編集ウィジェット


PIC

図 3.20.: 属性カラム用編集ウィジェット選択ダイアログ PIC


[属性]タブには[入力フィールド]カラムがあります。このカラムでは指定された属性テーブルカラムのために値の指定、または値の範囲の指定 を行えます。[入力フィールド]カラムにあるボタンをクリックすると、画面が開き違ったウィジェットを定義できます。以下のウィジェットがあります。

3.4.8  一般情報タブ

[一般情報]タブは簡単に言うとラスタ画面と同じようなものです。ここでは表示名称、縮尺依存描画オプション、ベクタファイルの空間インデックス作成 (OGRでサポートされている形式とPostGISのみ)、指定レイヤの投影法の確認と変更を行えます。

[クエリビルダ]ボタンを使うとレイヤにある地物のサブセットを作ることができます。しかし、このボタンは現在、属性テーブルを開いて[アドバンスドサーチ]ボタンの隣にある[...]ボタンを選択している場合のみ有効です。

3.4.9  メタデータタブ

[メタデータ]タブにはレイヤに関する一般情報が格納されています。そこには型と場所、地物の数、地物の型、編集できる機能の情報が含まれます。領域セクションでは、レイヤの領域情報を提供しています。また、空間参照システムセクションではレイヤのCRS(座標参照系)情報を提供しています。ここのタブを参照するとレイヤ情報をすばやく知ることができますが、情報を編集することはできません。

3.4.10  アクションタブ

QGIS は地物の属性を使ったアクションの実行環境を提供しています。 この機能を利用するといろいろなアクションを実行できます。たとえば地物の属性値を引数としたプログラムの実行やパラメータをWEBレポーティングツールに転送するようなことができます。

ベクタレイヤの値を利用する外部プログラムの実行やWEBページの閲覧が頻繁にあるならばアクションの利用は大変便利です。例として属性値を利用した検索を説明します。このコンセプトは以下のディスカッションで利用されています。

アクションを定義する

属性アクションはベクタの レイヤプロパティ 画面で定義します。 アクションを定義するためにはベクタの レイヤプロパティ 画面を開いて[アクション]タブをクリックして下さい。アクションを説明する名前を指定して下さい。アクション自体はアプリケーションの名前を含まなければいけません。アプリケーションとはアクションが起動された時に実行されるプログラムです。 一つまたは複数の属性フィールド値をアプリケーションの引数に指定できます。アクションが実行された時に%に続く文字のセットはフィールドの名前として扱われ、そのフィールドの値に置き換えられます。%% という特別な文字は情報表示ツールや属性テーブルで選択されているフィールドの属性値に置き換えられます (アクションの利用 参照 )。ダブルクォーテーション・マークは複数のテキストをグループ化してプログラム、スクリプト、コマンドの単一の引数にするために利用されます。 ダブルクォートの機能はバックスラッシュによって無効化されます。

もし他のフィールド名の一部と同じ名前のフィールド名がある場合(例., col1 col10) 角括弧でフィールド名(% も)をかこってそれらを判別できるようにする必要があります(例., [%col10]). この指定は %col10 フィールドの名前が %col1 フィールドと間違えられることを 0 0をフィールド名の最後につけて防止しています。 括弧はQGISがフィールドの値を使った置き換えを行う時に除去されます。もしフィールドを角括弧つきのまま置き換えしたい場合は以下のように2セット目の角括弧を利用するといいです: [[%col10]].

地物情報画面にはレイヤのタイプに関係ある(Derived) アイテムの情報が表示されます。このアイテムの情報は他のフィールドと同じように(Derived)フィールドとして利用できます。例えば、ポイントレイヤはXYフィールドを持ち、その値はアクションでは%(Derived).X%(Derived).Yとして利用できます。derived属性は地物情報画面でのみ利用でき、属性テーブル画面では利用できません。

2つのサンプルアクションを以下に表示します。

最初の例では konqueror ウェッブブラウザが指定されたURLで開かれます。このURLはベクタレイヤの nam フィールドで指定されている値でグーグルサーチを起動します。注 アクションから呼ばれるアプリケーションまたはスクリプトの置き場所はパスに含まれているか、それらをフルパスで記述しておく必要があります。 確かに最初の例を以下のように書き直すことができます: /opt/kde3/bin/konqueror http://www.google.com/search?q=%nam. この指定はアクションが起動された時に konquerorアプリケーションが起動することを保証するでしょう。

2つめの例は特定のフィールドの値を当てにしていない %% 記法を利用しています。アクションが起動された時に %% は地物情報表示の結果か属性テーブルで選択されているフィールドの値に置き換えられます。

アクションの利用

アクションは地物情報 画面、または属性テーブル画面(これらのダイアログは PIC[地物情報表示]アイコン をクリック、またはPIC[属性テーブルのオープン]アイコンから起動できます。アクションを起動するためには、レコードの上で右クリックしてポップアップメニューからアクションを選択して下さい。アクションの定義で指定した名前がポップアップメニューにリストされます。起動したいアクションをクリックして下さい。

記法を使ったアクションを起動したい場合は、地物情報 画面、または属性テーブル 画面のアプリケーションやスクリプトに値を送りたいフィールド上で右クリックを行ってください。

次に別の例を示します。これはベクタレイヤから外部にデータを送りbashと echo コマンド (これは PIC または 多分 PICで動作します )を利用してファイルに挿入する例です。 検索されたレイヤはtaxon_name, 緯度 lat と 経度 long という名前のフィールドを持ちます。近隣の空間選択をしてそれらの選択されているレコード(QGISのマップエリアで黄色で表示されている)のフィールドの値をテキストファイルに出力したいことがあります。このアクションを使うとそれを実行できます:

  bash -c "echo \"%taxon_name %lat %long\" >> /tmp/species_localities.txt"

近隣のいくつかの地物を選択した後でこのアクションを実行して下さい、出力ファイルを開くと以下のようなものになるでしょう:

  Acacia mearnsii -34.0800000000 150.0800000000  
  Acacia mearnsii -34.9000000000 150.1200000000  
  Acacia mearnsii -35.2200000000 149.9300000000  
  Acacia mearnsii -32.2700000000 150.4100000000

練習としてlakesレイヤをGoogleで検索するアクションを作りました。最初にキーワードを検索するURLを決める必要があります。これはGoogleのWebページで簡単な検索をすることで実行されます。それからブラウザのアドレスバーからURLを取得します。この簡単な操作で次の形式がわかります。 http://google.com/search?q=qgisqgisの文字があるところが検索文字列です。この情報を使って以下の作業ができます。

1.
lakes レイヤがロードされていることを確認して下さい。
2.
レイヤーメニューのレイヤ名をダブルクリックするか右クリックでポップアップメニューから[プロパティ] を選択して レイヤプロパティ 画面を開いて下さい。
3.
[アクション]タブをクリックして下さい。
4.
アクションの名前を入力して下さい。たとえば Google Search のようにします。
5.
アクションを定義するために実行する外部プログラムの名前が必要です。今回はFireFoxを利用します。もしプログラムがコンピュータのパスの中に無い場合はフルパス名での記述が必要です。
6.
外部プログラムの名前に続いてグーグルサーチに利用するURLを追加して下さい。検索文字列は含まないでください http://google.com/search?q=
7.
アクションフィールドのテキストはこのようになっているはずです。
firefox http://google.com/search?q=
8.
lakes レイヤのフィールド名が含まれているドロップダウンボックスをクリックして下さい。[フィールド挿入]ボタンの左側にあります。
9.
ドロップダウンボックスで   NAMESというラベルのフィールドを選択した後に[フィールド挿入]ボタンをクリックして下さい。
10.
アクションテキストはこのようになっているはずです。
firefox http://google.com/search?q=\%NAMES
11.
最後に[アクション挿入]ボタンをクリックして下さい。

これでアクションの作成は終了し利用の準備ができました。最終的なテキストはこのようになっています:

firefox http://google.com/search?q=\%NAMES

アクションが利用できるようになりました。 Close the レイヤプロパティ ダイアログを閉じて地図を興味ある領域にズームして下さい。lakes レイヤがアクティブであることを確認してlakeの地物情報表示を行ってください。結果のダイアログで定義したアクションが表示されているはずです:


PIC

図 3.21.: 地物を選択してアクションを選ぶ PIC


アクションをクリックすると Firefox を起動して http://www.google.com/search?q=TustumenaのURLへナビゲートします。 さらに多くの属性フィールドをアクションに加えることが可能です。アクションテキストの最後に “+”を加えた後に 他のフィールドを選択して フィールド挿入 をクリックして下さい。 このサンプルでは検索に利用できる他のフィールドはありません。.

単一のレイヤに複数のアクションを定義可能で、それぞれのアクションは Identify Results ダイアログに表示されます。

いろいろな種類のアクションを考案することができます。たとえばイメージや写真の位置が格納されたポイントレイヤにファイル名が含まれていればイメージを表示するビューワを起動するアクションを作ることができます。またグーグルサーチエグザンプルと同じ方法で属性フィールドや連携フィールドを使ってWEBベースのレポートにアクションを使うことができます。

3.4.11  図表タブ

図表 タブを使うとベクタレイヤにグラフをオーバーレイできます。この機能を有効にするためにはプラグインマネージャを開いて’グラフのオーバーレイ’プラグインを選択して下さい。 そうするとベクタレイヤの レイヤプロパティ ダイアログに新しいタブが表示され図表の設定の入力ができるようになります (図 3.22参照).


PIC

図 3.22.: ベクタプロパティダイアログの図表タブ PIC


現在の図表タブではパイチャート、バーチャート、属性値の分類に従って大きさを変えられるSVGシンボルのみがサポートされています。サンプルのデモンストレーションとして alaska boundary レイヤでclimate ベクタレイヤの温度データのバーチャートを表示してみます。両方のベクタレイヤはQGIS サンプルデータセット (セクション 1.4参照.)に格納されています。

1.
最初に PIC [ベクタレイヤの追加]アイコンをクリックしてQGIS サンプルデータセットフォルダを開き、 alaska.shp climate.shp の2つのベクタレイヤをロードして下さい。
2.
地図凡例の climate レイヤをダブルクリックして レイヤプロパティ 画面を開いて下さい。
3.
[グラフのオーバーレイ]タブをクリックしてバーチャートを図表タイプとして選択して下さい。
4.
グラフでは次の3個のカラムを値を表示します。 T_F_JAN, T_F_JUL T_F_MEAN です。最初に T_F_JAN を属性として選択して[追加]ボタンをクリックします。 T_F_JUL T_F_MEANを同様に処理します。
5.
グラフのサイズの線形スケールのために T_F_JULを分類属性とします。
6.
[最大値を求める]ボタンをクリックして、サイズの値と単位を選択した後に[Apply]ボタンをクリックするとQGISメインウィンドウにグラフが表示されます。
7.
グラフのサイズの調整や色属性の変更を属性フィールドの色をダブルクリックして変更できます。図  3.23 で様子がわかると思います。
8.
最後に[OK]ボタンをクリックして下さい。


PIC

図 3.23.: 気温データのグラフをオーバーレイした地図 PIC


3.5  編集

QGIS ではOGR,PostGISとSpatialiteベクタレイヤを編集する多彩な機能をサポートしています。- GRASSレイヤの編集方法については別の場所で詳しく説明しています - セクション 7.7 参照。


QGIS Tip 14:
このバージョンのQGISではある地物を同時に他の人とあなたが編集しているかどうか監視していません。同時編集があった場合は最後に保存した人の編集が有効になります。

3.5.1  スナップ許容範囲と検索半径の設定

頂点の編集を行う前にベクタレイヤジオメトリの最適な編集作業のためにスナップの許容範囲と検索半径の値を設定しなければいけません。

スナップ許容範囲

スナップ許容範囲とは新しい点を既存の点上に移動して点やセグメントを結合させたい時にQGISが検索 して最も近い頂点やセグメント探す時に利用する距離のことです。スナップ許容範囲を利用しない場合既存の頂点やセグメントにスナップするのではなくQGISは頂点をマウスボタンをリリースした場所に作成します。スナップ許容範囲の設定はその他の許容範囲を利用して動くすべてのツールの動作に影響します。

1.
一般的にプロジェクト全体のスナップ許容範囲は設定 PIC オプション. (Macの場合:QGIS Preferences、 Linuxの場合: Edit PIC オプション) を選択して設定を行えます。[デジタイジング]タブでは、デフォルトのスナップモードとして頂点、セグメント、頂点とセグメントの中から選択できます。さらにデフォルトのスナップ許容値と頂点編集用の検索半径を指定できます。 許容範囲は地図上の単位かピクセルで指定できます。ピクセルを選択した場合の利点は地図の拡大・縮小を行った後でスナップ許容範囲を変更しなくてもいいことです。私たちの行っている小規模なデジタイジングプロジェクト (Alaska データセットを使った作業)では、スナップ許容範囲をフィートで指定しました。あなたの判断は違うかもしれませんが1:0000のスケールでは300フィートというスナップ許容範囲は適切な設定として利用できます。
2.
レイヤ単位のスナップ許容範囲は設定(またはファイル) PIC プロジェクトプロパティ … を選択して設定を行います。[一般情報]タブ、 [デジタイズ] セクションで[スナップオプション]ボタン … をクリックしてスナップモードと許容範囲の有効化と調整をレイヤ単位に設定できます。 (図   3.24 参照)

注 このレイヤ単位のスナッピングはデジタイジングタブで設定した全体のスナッピングオプションを上書きします。 ですからもしあるレイヤの編集を行う時に別のレイヤの頂点にスナップしたい場合は、そのレイヤへの スナップ のみを有効にして下さい, それから全体のスナップ許容値をそのレイヤへのスナップ許容値より小さくしてください。 そのうえスナッピングオプションダイアログでチェックされていないレイヤではグローバル許容範囲があってもスナッピングは発生しません。ですからスナップを行いたいレイヤにはチェックボックスにマークをして下さい。


PIC

図 3.24.: レイヤ基準スナップオプションの編集 PIC


検索半径

検索半径とは地図上をクリックした時に最も近い頂点に移動する時にQGISが検索に利用する半径です。もしクリックした場所の検索半径内に編集のための頂点が無い場合煩い警告が表示されるでしょう。スナップ許容範囲と検索半径は地図の単位とピクセル単位で指定できます。 最適な設定のために試行したほうがいいと思います。もしとても大きな値の許容範囲を指定したらQGISは適切でない頂点にスナップするでしょう。近くで多くの数の頂点を扱っている場合はとりわけおかしい結果になるでしょう。ほとんど動かなくていいぐらい検索半径を小さな値にして下さい。

頂点編集のためのレイヤ単位の検索半径は 設定 PIC オプション の下の デジタイジング タブで設定できます。 同じ場所でプロジェクト一般でのスナップ許容範囲を設定できます。

3.5.2  ズーミングとパンニング

レイヤの編集を行う前に、処理を行いたいエリアに地図をズームしなければなりません。 これによってレイヤ内のすべての頂点マーカーが描画されることを回避できます。

ツールバーにある PICパン(スクロール) と PICズームイン(拡大) / PICズームアウト(縮小) アイコンをマウスで利用する方法とは別にマウスホィール、スペースバー、矢印キーを使って地図操作を行うことができます。

マウスホィールを使ったズームとパン

デジタイジング中に地図メインウィンドウでマウスホィールを押すことができ、それを回すことで地図の拡大、縮小を行うことができます。地図中のズームしたい場所にマウスカーソルを置きホィールを前方に(あなたと逆方向に)転がすと拡大を行い後方に(あなたの方に)転がすと縮小を行います。 マウスカーソルの位置はズームしたい場所の中央になります。 設定 オプション   メニューの マップツールス でマウスホィールの動きをカスタマイズすることができます。

矢印キーを使ったパン

デジタイズ中の地図は矢印キーを使ってパンすることができます。マウスカーソルを地図内に置き右矢印キーを押すと東にパンします、左矢印キーを押すと西にパンします、上矢印キーを押すと北にパンします、下矢印キーを押すと南にパンします。

スペースバーを一時的に発生するマウス動作として地図のパンに利用できます。キーボードの PgUp と PgDown キーを使うとデジタイズ作業を中断することなく拡大、縮小を行うことができます。

トポロジカル編集

設定 メニューの PIC プロジェクトプロパティ… 一般情報 タブの レイヤ単位スナップオプション指定のそばに いくつかのトポロジカル機能が提供されています。 デジタイジングオプションでは トポロジ編集を有効にする と 新ポリゴンの交差を禁止する を有効、無効にできます。

トポロジ編集を有効にする

トポロジ編集を有効にする オプションではポリゴンモザイクで共通の外周線を編集、保持できます。 QGIS はポリゴンモザイクで共通外周線を"検出"して頂点を一回移動すると他の外周線も一緒に更新できます。

新ポリゴンの交差を禁止する

2つめのトポロジカルオプションはポリゴンモザイクで新しいポリゴンのオーバーラップを禁止します。 これは近接ポリゴンの迅速なデジタイジングに使えます。すでにポリゴンがある場所でこのオプションを使って新しいポリゴンを既存ポリゴンと交差 するように入力すると2つめのポリゴンは既存ポリゴンとの共通線で切断されます。このオプションの利点はユーザが共通外周線で既存の頂点をデジタイズする 必要が無いことです。

3.5.3  既存レイヤのデジタイジング

デフォルトで QGIS ではレイヤを読み込み専用モードでロードします:これはマウスのスリップで不意にレイヤが編集されてしまうようなことを防ぐセーフガードです 。それにもかかわらずデータプロバイダがサポートしてデータソースが書き込み可能であれば(たとえばファイルが読み込み専用では無い)任意のレイヤを編集することができます。 PostgreSQL/PostGISデータソースを利用している場合のレイヤの編集は最も便利です。

一般にベクタレイヤの編集はデジタイジングと先進的デジタイジングツールバーの2つがあります。それについてはセクション 3.5.4に記述されています。この両方について 設定 ツールバーs   で選択と選択解除ができます。基本的なデジタイジングツールでは以下の機能が利用できます:






アイコン

目的

アイコン

目的





PIC

編集モード切替

PIC

地物の追加: 点の入力





PIC

地物の追加: 線の入力

PIC

地物の追加: ポリゴンの入力





PIC

地物の移動

PIC

ノードツール





PIC

選択地物の削除

PIC

地物のカット





PIC

地物のコピー

PIC

地物の貼り付け





PIC

編集内容を保存して続行






テーブル 3.2.: ベクタレイヤ基本編集ツールバー

すべての編集セッションは PIC 編集モード変更 オプションを選択して開始します。これ指定レイヤの凡例エントリでマウス右ボタンクリックで表示されるコンテキストメニューにあります。

別な方法としてはデジタイジングツールバーの PIC編集モード変更 ボタンを使って編集モードの開始と終了ができます。 レイヤが編集モードになると頂点にマーカーが表示されます。そして編集ツールバーのツールボタン群が利用可能になります。


QGIS Tip 15:
編集モード切り替えを忘れずに PIC編集モード を定期的にオフにして下さい。 これによって直近の編集結果を保存できます、それによってデータソースが変更を受け入れ可能かどうかも確認できます。

地物の追加

ツールバーの PIC点の入力 , PIC線の入力 または PICポリゴンの入力 アイコンを利用するとQGIS カーソルをデジタイズモードにできます。

それぞれの地物は最初に図形をデジタイズした後で属性の入力を行って下さい。図形のデジタイズを行うためには地図上の新しい地物を作成したい場所でマウス左ボタンクリックを行って下さい。

ラインやポリゴンの入力は追加の点を入力するためにマウス左ボタンクリックを続けて下さい。点の追加を終了したい場合はマウス右ボタンをクリックして下さい。そうするとその図形の入力作業終了の確認を求められます。

新しい地物の情報を入力するための属性ウィンドウが表示されます。 図 3.25 ではAlaskaの架空の新しい川の属性設定例を表示しています。 設定 オプション   メニューの デジタイジング タブでは
それぞれの地物が作成された後に属性ポップアップが表示されるのを止めます というオプションを有効にできます。


PIC

図 3.25.: 新しいベクタ地物を入力した後に属性値を入力するダイアログPIC


ツールバーの PIC地物の移動 アイコンを利用すると既存の地物を移動できます。


QGIS Tip 16:
shapefile の編集作業で属性データの型は入力作業中にチェックされます。これのために Enter Attribute Valuesダイアログでテキストカラムに数値を入力できません、また逆の制限もあります。 この入力を行いたい場合は別の属性入力方法 Attribute table ダイアログで編集作業を行ってください。

ノードツール

PostgreSQL/PostGIS とshapefile-based のレイヤでは, PICノードツール を利用してCADプログラムのような操作を行えます。この機能を利用すると複数の頂点を一度に選択して移動や追加、削除を一気に行うことができます。 ノードツールは’オンザフライ’ プロジェクションで地物のトポロジカル編集でも利用できます。 このツールはQuantum GISの他のツールと異なりオペレーションが実行された後でも地物の選択とツールの有効性が持続します。ノードツールが地物を検索できない 場合は以下のような警告が表示されます。

設定 PIC オプション デジタイジング 検索半径 10 数値を0より大きくすることが重要です。そうでなければ QGIS ではどの頂点が編集されるかわかりません。


QGIS Tip 17:
現在のバージョンのQGISでは3種類の頂点マークをサポートしています- 半透明の円, 十字 と無し。マーカースタイルを変更するためには 設定 メニューの PIC オプション デジタイジング タブで適切なエントリを選択して下さい。

基本操作

PICノードツール を有効にして いくつかの地物を選択して下さい. 各地物の頂点には赤い四角が表示されます。これは地物の基本的な選択です。 ここで可能な機能は以下のとおりです:

The Release ボタンはすべての変更を格納します。新しいエントリはアンドウダイアログに現れます。すべての操作は有効になっている場合トポロジ編集をサポートします。 オンザフライプロジェクションもサポートされています。

地物の切り取り、コピー、貼り付け

選択されている地物は切り取り、コピー、貼り付けを同一QGISプロジェクトの異なるレイヤ間で行うことができます。この場合対象レイヤ(貼り付けやコピーの先)があらかじめ PIC編集モード変更 で編集可能になっている必要があります。

地物は外部アプリケーションにテキストとして貼り付けを行えます: 地物はCSV形式で表わされ、ジオメトリはOGC Well-Known text (WKT)形式で表現されます。

このバージョンの QGISではQGISの外部からのテキスト地物をQGISのレイヤとしてペーストすることはできません。いつ コピーアンドペースト機能が役にたつでしょうか?それは1つ以上のレイヤを一度に編集でき地物をレイヤ間でコピー/ペーストする場合です。 どうしてこの機能がほしいのでしょうか? それは5,000 個の湖があるbig_lakes レイヤではなく、1つか2つのレイヤについてのみ新しいレイヤでの作業が必要な場合です。 私たちは新しいレイヤを用意して必要な湖のデータのみ新しいレイヤにコピー/貼り付けを行えばいいです。

いくつかの湖を新しいレイヤにコピーする手順は以下のとおりです:

1.
コピー元のレイヤをロードします (ソースレイヤ)
2.
コピー先のレイヤをロードまたは作成します (ターゲットレイヤ)
3.
ターゲットレイヤを編集モードにします
4.
地図凡例をクリックしてソースレイヤをアクティブにします
5.
PIC [地物を選択する]をクリックしてソースレイヤの地物を選択します
6.
PIC [地物のコピー]をクリックします
7.
地図凡例をクリックしてターゲットレイヤをアクティブにします
8.
PIC [地物の貼り付け]をクリックします
9.
編集モードを終了して変更を保存します

ソースとターゲットレイヤのスキーマが異なる場合(フィールド名や型が同一ではない)はどうなるでしょうか? QGIS はフィールド間の対応か無視を行います。 ターゲットレイヤに属性がコピーされるかどうか関係ない場合はフィールドとデータタイプをどう設計するかは重要な問題ではありません。 もし地物とその属性について全てコピーできるようにしたい場合は両方のスキーマが一致するように注意して下さい。


QGIS Tip 18:
もしソースとディスティネーションレイヤが同じ投影法の場合ペーストされた地物のジオメトリはソースレイヤと同一になります。 しかしディスティネーションレイヤの投影法が異なる場合QGISはジオメトリの同一性を保障できません。 何故ならば投影法間の変換では丸め誤差が発生することがあるからです。

選択地物の削除

ポリゴンそのものを削除したい場合は最初に通常の PIC [地物を選択する]でポリゴンを選択して下さい。削除処理のために複数の地物を選択できます。選択したセットを削除する場合 PIC [選択物の削除]を利用すると選択地物を削除します。

デジタイジングツールバーの PIC [地物の切り取り]も地物の削除に利用できます。 この機能は地物を削除して、それを"空間クリップボード"に格納します。ですから地物を切り取りで削除すると PIC [地物の貼り付け]でそれを戻すことができ、1レベルのアンドゥ機能として利用できます。 切り取り、コピー、貼り付けは現在は選択した地物で動作し、このことは同時に1個の地物の操作以上のことができることを意味します。


QGIS Tip 19:
ESRI shapefilesで作業を行う時に地物の削除はQGIS がGDAL version 1.3.2 かそれ以上のバージョンで リンクされている必要があります。 ダウンロードサイトのOS X と Windows バージョンの QGISは GDAL 1.3.2かそれ以上のバージョンで作成されています。

編集レイヤの保存

レイヤが編集モードで変更内容がQGISメモリに残っている場合があります。それらはデータソースやディスクにコミット/保存されていません。カレントレイヤの編集結果を保存したいけれども編集モードから抜けたくない場合は PICSave Edits ボタンをクリックして下さい。 PICToggle editing ボタンをクリックして編集モードを終了した時(または QGIS をそこから終了した時), 編集結果を保存するか捨てるかを問われます。

変更結果の保存ができなかった場合(例 ディスクフルまたは属性値が範囲を逸脱しているような場合), QGIS のメモリ内の状態は保存されます。これによって編集結果の調整と再トライができます。


QGIS Tip 20:
編集作業を開始する前にデータソースをバックアップすることは良いアイデアです。 QGISの作者達は データの保全のための機能作成に多くの努力をしてはいますが、このことについて何も保障はありません。

3.5.4  先進的なデジタイジング






アイコン

目的

アイコン

目的





PIC

処理取り消し

PIC

処理再実行





PIC

地物の簡素化

PIC

リングの追加





PIC

パートの追加

PIC

リングの削除





PIC

パートの削除

PIC

地物形状の再整形





PIC

地物の分割

PIC

選択地物の結合





PIC

ポイントシンボルの回転






表 3.3.: ベクタレイヤ先進的編集ツールバー

処理取り消しと処理再実行

PIC処理取り消し(Undo) と PIC処理再実行(Redo) ツールでは最後に実行したベクタ編集処理の処理取り消し(Undo)と処理再実行(Redo)を行うことができます。処理取り消し/処理再実行機能の 基本的な外見はすべての操作は表示されるウィジェットです (図 3.26参照). このウィジェットはデフォルトでは表示されません。 ウィジェットはツールバー上でマウス右ボタンクリックで表示されUndo/Redoチェックボックスで有効化できます。 処理取り消し/処理再実行機能は ウィジェットが表示されていなくても有効にすることができます。

処理取り消しがヒットされた時、全ての地物と属性は操作前の状態に戻ります。どこかの場所で作成された変更 (たとえばある種のプラグインでの処理)はこのボックスでは明確でない動作であることがあります。 操作は元に戻されそれらのデータは元通りになります。

アクションは処理取り消し/処理再実行機能ボタンのクリックまたは直接アイテムの上をクリックすることで起動されます。 その他の処理取り消し起動方法は先進的なデジタイジングツールバーの 処理取り消し/処理再実行機能 ボタンをクリックすることです。


PIC

図 3.26.: デジタイジング手順の処理取り消し/処理再実行 PIC


地物の簡素化

PIC地物の簡素化 ツールではジオメトリの形を変えず地物の頂点を少なくすることができます。この作業は最初に地物を選択して下さい、 そうすると地物は赤いラバーバンドでハイライト表示されスライダーが表示されます。スライダーを移動すると赤い ラバーバンドは形状の変化を表示し、地物が簡素化する様子を示します。 OK をクリックすると簡素化された新しいジオメトリが保存されます。 もし地物が簡素化できない場合(マルチポリゴンの場合等),メッセージが表示されます。

リングの追加

リングポリゴンをツールバーの PICリングの追加 アイコンで作成することができます。 このことは領域の内部にさらにポリゴンをデジタイズすることができることを示します。 それによって ’穴’ができます, 外側の線とと内側の線の間に残った部分がリングポリゴンです。

パートの追加

選択したマルチポリゴンに PICパートの追加 を行うことができます。新しいパートは選択されているマルチポリゴンの外部にデジタイズされなければいけません。

リングの削除

PICリングの削除 ツールではポリゴンの内側にあるリングポリゴンを削除することができます。 このツールはポリゴンレイヤでのみ動作します。このツールを外部ポリゴンに使用しても何も変化はありません。 このツールはマルチポリゴンのツールにのみ利用できます。 リングの頂点を選択する前に頂点編集許容範囲を調整しておいて下さい。

パートの削除

PICパートの削除 ツールではマルチ地物のパートを削除できます(例 マルチポリゴンからポリゴンを削除するような場合)。この機能は地物の最後のパートを削除できません、最後のパートはさわれません。このツールはポイント、ライン、ポリゴンのマルチパートで作業を行います。 パートの頂点を選択する前に頂点編集許容範囲を調整しておいて下さい。

地物形状の再整形

ツールバーの PIC地物形状の再整形 アイコンを利用を使ってラインとポリゴンの形状を整形できます。 この機能はラインまたはポリゴンの一部分を最初から最後の交差まで独自のラインで置き換えます。ポリゴンの場合この機能は時々意図しない結果をもたらします。これはポリゴンの小さいパーツを置き換えする場合に便利です。大規模な修正やポリゴン内交差による不正ポリゴンの修復等の整形には適していません。

: 再整形ツールはポリゴンリングか近接ラインの最初の位置を置き換えます。そこでその点は So the point that is 同じような点としては ’2度と’ 現れません。これは多くのアプリケーションでは問題になりませんが注意すべき事です。

地物の分割

ツールバーの PIC地物の分割 アイコンを使うと地物を分割できます。他の地物を横切るラインは必要に応じて分割できます。

選択地物の結合

PIC選択地物の結合 ツールでは共通の境界線と同じ属性を持つ地物を結合できます。

ポイントシンボルの回転

レイヤプロパティ のシンボロジー シンボロジー タブで 回転角度をポイントレイヤの属性カラムで定義している場合は PICポイントシンボルの回転 ツールを使うとマップキャンバス中のポイントシンボルの傾きを変更できます。 それ以外の場合はツールは非アクティブです。


PIC

図 3.27.: ポイントシンボルの回転 PIC


回転角度を変更するためには、マップキャンバスでポイント地物を選択してマウス左ボタンを押してホールドして下さい。select 赤い矢印と角度の値が表示されます (図 3.27参照). マウス左ボタンをリリースすると属性テーブルの値が更新されます。

: Ctrl キーを押したまま作業をすると回転角度は, 15度 単位に設定できます。

3.5.5  新規Shapefile と Spatialite レイヤの作成

QGIS では新規Shapefile と Spatialite レイヤを作成できます。GRASSプラグインでは新規GRASSレイヤの作成がサポートされています。 GRASSベクタレイヤを作成するための詳しい情報はセクション 7.6 を参照して下さい。

新規Shapefileレイヤの作成

新規Shapefileレイヤを編集のために作成する場合は レイヤ メニューの 新規 で PIC新しいShapefileレイヤ を選択して下さい。 新規ベクタレイヤ ダイアログが図 3.28のように表示されます。 レイヤのタイプを選択して下さい (ポイント、ライン、またはポリゴン).


PIC

図 3.28.: 新規 Shapefile レイヤ作成ダイアログ PIC


注 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レイヤを編集のために作成する場合は   レイヤ メニューの 新規 で PIC新しい SpatiaLite レイヤ を選択して下さい。 新規 SpatiaLite レイヤ ダイアログは 図 3.29のように表示されます。


PIC

図 3.29.: 新規 SpatiaLite レイヤ作成ダイアログ PIC


最初に既存のSpatialiteデータベースを選択するか新規に Spatialite データベースを作成します。この作業はデータベースフィールドの右側にある ブラウズ ... ボタンをクリックすると実行できます。 それから新しいレイヤの名前を入力してレイヤのタイプと EPSG SRID(座標参照系コード)を指定して下さい。 必要ならばプライマリキーを自動インクリメントで作成するように指定できます。 .

新規 Spatialiteレイヤで属性テーブルを定義するためにはカラムの名前をカラムの型と一緒に Add to attribute list ボタンをクリックして追加して下さい。属性テーブルの定義ができたら OK をクリックして下さい。 QGIS は新規レイヤを自動的に凡例に追加してセクション 3.5.3 に記述してある方法で編集できます。

spatialiteレイヤ作成ダイアログでは 適用 ボタンをクリックすることでダイアログを閉じないで複数のレイヤを作成することができます。 .

3.5.6  属性テーブルを操作する

属性テーブルは選択したレイヤの地物を表示します。テーブルの各行は地図の各地物の属性がカラムに表示されます。テーブル内の地物は検索、選択、移動と編集も可能です。

ベクタレイヤの属性テーブルを開くためには最初に凡例で開きたいレイヤをアクティブにして下さい。それからメインメニュー レイヤ で PIC属性テーブルを開く を選択して下さい。 また凡例のレイヤ名の上を右ボタンクリックしてドロップダウンメニューから PIC 属性テーブルを開く を選択しても属性テーブルを開けます。 これによって各地物の属性が表示される新しいウィンドウが表示されます。 (図 3.30)。表示されている地物の数が属性テーブルのタイトルに表示されます。


PIC

図 3.30.: Alaska レイヤの属性テーブル PIC


属性テーブルにおける地物の選択

属性テーブルの選択された行はレイヤのすべての地物から選択されている属性を表示します。 属性テーブルは選択されたレイヤのメインウィンドウやすべての変更を反映し、逆に変更をメインウィンドウに反映させます。属性テーブルで変更されたセクションは選択された地物のメインウィンドウの変更を起動します、また別のレイヤ地物選択は別の行が選択されていることを意味します。

行の左側にある行番号をクリックすると行を選択できます。行の選択はカレントカーソル位置を変更しません。複数行は Ctrl キーを押し続けて行番号をクリックし続けると選択できます。 連続領域 は Shift キーを押しながら行の端のヘッダをクリックすると選択できます。カレントカーソルポジションとクリックした行の間のすべての行が選択できます。

各カラムはカラムのヘッダをクリックするとソートできます。小さい矢印はソートの順序を示します (下向き矢印はトップから下への降順を示します、上向き矢印はトップから下向きに昇順に並べることを示します)。

単一カラムを利用したシンプルな属性検索 を Look for フィールドを利用して実行できます。 検索したいフィールド (カラム)をドロップダウンメニューで選択して 検索 ボタンをクリックして下さい。条件に合致した行の数がステータスバーに表示されます。さらに複雑な検索はアドバンスドサーチを利用して下さい。 ここではセクション 3.6で説明されるクエリビルダーが起動されます。

選択されているレコードのみを表示したい場合は 選択された部分のみ表示する チェックボックスを利用して下さい。 . 選択されたレコードのみを検索対象にしたい場合は 選択された部分のみを検索する チェックボックスを利用して下さい。 .属性テーブルウィンドウの下部にある他のボタンは以下の機能を提供しています:

選択地物を新しいレイヤとして保存する

選択されている地物はOGRでサポートしている任意のベクタ形式で保存できます。この時に別の座標参照系(CRS)への変換もできます。この作業はマウス右ボタンのレイヤメニューで 選択を名前をつけて保存   をクリックして出力ファイル名と形式、CRS (セクション 2.2.3参照)を指定すると実行できます。 このダイアログではOGRの作成オプションも指定できます。


QGIS Tip 21:
このダイアログでは現在PostGISレイヤのみが属性カラムの追加と削除をサポートしています。将来のバージョンのQGISでは他のデータソースでもサポートされるでしょう。なぜなら最近 GDAL/OGR > 1.6.0でこの機能がサポートされたからです。

空間情報を持たない属性テーブルを操作する

QGIS では空間情報を持たないテーブルをロードできます。ここにはOGRでサポートされているテーブル、デリミテッドテキストとPostgreSQLプロバイダーが含まれます。テーブルはルックアップフィールドやテーブルビューでの閲覧と編集に利用できます。 テーブルをロードすると凡例フィールドに名前が表示されます。 このテーブルは例えば PIC 属性テーブルを開く ツールで開くことができ他のレイヤの属性テーブルと同じように編集できます。

例として空間情報が無いテーブルのカラムを特定のベクタレイヤをデジタイズする時の属性値や範囲の値にすることができます。詳しい情報はセクション 3.4.7 の編集ウィジェットを参照して下さい。

3.6  クエリビルダ

属性テーブル画面の[アドバンスドサーチ]ボタン … を使うとクエリビルダを開きSQLに似たWHERE節でテーブルのサブセットを指定し結果をメインウィンドウに表示できます。また検索結果をShapefileとして保存できます。例えば towns レイヤに population フィールドがある時に population > 100000 のtownsレコードをクエリビルダのSQLボックスで選択することができます。図 3.31 ではPostgreSQLに格納されているPostGISレイヤの属性をクエリビルダで検索している例を表示しています。フィールド、値、演算子セクションはユーザーがSQL類似WHERE節を簡単に作れるように手助けします。


PIC

図 3.31.: クエリビルダ PIC


フィールドリスト には指定属性テーブルで検索に利用できるすべての属性が含まれています。SQL where節に属性フィールドを追加する場合フィールドリストで名前をダブルクリックして下さい。 検索クエリを作成するために様々なフィールド、値、演算子を利用できます。またSQLボックスにそれらを直接タイプ入力することもできます。

値リスト には属性の値のリストが表示されます。属性で利用可能な全ての値をリストするためにはフィールドリストで属性を選択して すべて ボタンをクリックして下さい。 サンプルテーブルに現在存在する全ての属性値をリストする場合 フィールドリストで属性を選択した後 サンプル ボタンをクリックして下さい。 SQLのwhere節に値を追加するためには値リストの名前をダブルクリックして下さい。

演算子セクション には利用可能な全ての演算子が含まれています。SQLのwhere節に演算子を追加するためには演算子が表示されているボタンをクリックして下さい。 関係演算子 ( = , > , …), 文字列比較演算子 ( LIKE ), 論理演算子 ( AND , OR , …) が利用可能です。

クリア ボタンはSQL where句テキストフィールドをクリアします。 テスト ボタンを使うと現在のクエリに合致する地物の数をメッセージボックスに表示します。この機能はクエリをつくる作業中に使うと便利です。 OK ボタンをクリックするとウィンドウを閉じてクエリに合致する地物を選択します。 Cancel ボタンをクリックすると現在の地物選択状態を変更しないでウィンドウを閉じます。


QGIS Tip 22:
レイヤがロードされた後でSQLクエリを変更することでレイヤの定義を変えることができます。定義変更を行う場合はベクタレイヤで, open the vector レイヤプロパティ ダイアログを凡例でレイヤ名をダブルクリックして開き 一般情報 タブで クエリビルダ ボタンをクリックして下さい。 セクション 3.4に詳細情報があります。

クエリによる選択

QGISではクエリビルダと同じような方法で地物を選択するインターフェースが 3.6にあります。 上記セクションのクエリビルダの目的は地物をフィルタ表示して ’仮想レイヤ’ / サブセットとして扱うことです。 クエリによる選択の目的は指定基準の地物をハイライトすることです。クエリによる選択はすべてのベクタデータプロバイダで利用できます。

To do aロードされたレイヤで ‘クエリによる選択’を実行するためには PICOpen Table ボタンをクリックしてレイヤの属性テーブルを開いて下さい。それから下部にある アドバンスト... ボタンをクリックして下さい。クエリビルダを起動しテーブルのサブセットを定義しセクション 3.6に説明してあるように表示できます。

選択地物を新レイヤとして保存する

選択された地物はOGRでサポートされているベクタ形式で保存できます。この時に別の座標参照系(CRS)への変換もできます。この作業はマウス右ボタンのレイヤメニューで 選択を名前をつけて保存   をクリックして出力ファイル名と形式、CRS (セクション 2.2.3参照)を指定すると実行できます。 このダイアログではOGRの作成オプションも指定できます。

3.7  フィールド計算機

属性テーブル画面の PIC [フィールド計算機を開く]ボタンを利用すると存在する属性値や定義された関数を利用して計算処理を行うことができます。例えば地物のジオメトリの長さや面積を計算することができます。 計算結果は新しい属性カラムに書き込まれるか既存のカラムの値を上書きします。 新しい属性カラムの追加は現在PostGISとGDALのソフトウェアバージョンが>=1.6.0の場合のOGR形式でのみ利用できます。

フィールド計算機アイコンをクリックしてダイアログを開く前にベクタレイヤを編集モードにする必要があります。 (図 3.32参照). ダイアログで最初に既存フィールドを更新するかどうか選択しなければいけません。計算結果を追加する場所を既存フィールドの更新にするか新規属性フィールドの追加にするかどうかです。


PIC

図 3.32.: フィールド計算機PIC


新規フィールドを選択するとフィールド名、フィールドタイプ(整数、実数または文字列),フィールドの全長さとフィールドの精度を指定する必要があります。例えばフィールドの長さを 10 フィールドの精度を 3 に指定すると6文字の記号をドットも前におけ、ドットの後に3文字精度として使えます。

フィールドリスト には属性テーブルで検索された属性が含まれます。フィールド計算機の式フィールドに属性を追加するためにはフィールドリストで名前をダブルクリックして下さい。多彩のフィールドと値、演算子を計算式を作成するために利用できます。またボックスに計算式をタイプ入力することもできます。

値リスト では属性フィールドの値をリストします。利用可能な全ての値をリストする場合はフィールドリストでフィールドを選択した後に All ボタンをクリックして下さい。 属性フィールドに現在存在する値をすべてリストしたい場合はフィールドリストでフィールドを選択した後に Sample ボタンをクリックして下さい。 手順はクエリビルダと同様です。フィールド計算機の演算式ボックスに値を追加するためには値リストの名前をダブルクリックして下さい。

O演算子セクション には利用可能な演算子が含まれます。フィールド研鑽器演算式ボックスに演算子を追加するためには適切な演算子ボタンをクリックして下さい。 算術演算子 ( + , - , * …), 三角関数 ( sin, cos, tan, …),ジオメトリック情報の取得 ( length and area ) が利用可能で, 関係演算子 (||) と行カウンタが利用できます。 さらに多くの演算子が利用できるようになることを期待して下さい!

フィールド計算機をどう操作するかの簡単な例を説明します。 QGIS _example_datasetの#8217;railroads’ レイヤの長さを計算してみます:

1.
QGISにShapefile railroads.shp をロードして 属性テーブル ダイアログを開いて下さい。
2.
PIC編集モード変更    をクリックしてから PICフィールド計算機 ダイアログを開いて下さい。
3.
Unselect the 既存フィールドの更新 チェックボックスを非選択にして新規フィールドぼっくを有効にして下さい。
4.
’length’を出力フィールド名に追加して下さい、 出力フィールドタイプを’real’ フィールド長を 10 精度を 3に指定して下さい。
5.
ここで ’length’演算子をクリックして $length という名前でフィールド計算機演算式ボックスに格納してください。 Ok    をクリックして下さい。