2015年12月23日

QGISの属性テーブルを編集しやすくしよう!

この記事は、「FOSS4G Advent Calender2015 二個目だよ」に登録した記事です。



■ QGISのレイヤのプロパティの「フィールド」

QGISを使っていると、属性データを編集するときが良くありますが、
決まった名称を入力したいとか、選択して入力したいとか思うことが多々あります。
とくに、GISやデータベースを使い慣れていない方々に、データ入力をお願いすると、
さまざまな独自の入力をしてくれるので、いざQGISで分類しようとしたら、
ものすごくたくさんの分類ができたりします。

自由な入力を制限して、決まった語句を入力したり、
画像のファイルのパスを入力したり、チェックを付けたり、
属性テーブルの入力支援を行えるようにするのが、
レイヤのプロパティの「フィールド」の「編集ウイジェット」です。

Image 2015_12_23_152655.png
図 レイヤのプロパティの「フィールド」


私も以前から「編集ウイジェット」の存在は知っていたのですが、
あまり説明しているテキストもWeb上にないものですか、
自分で分かる範囲で説明しようと思います。

編集ウイジェットで設定した項目は、属性テーブルで使えますが、
地物を新規に作成した時の属性データ入力フォームでも使用できます。


■ 通常は「テキスト編集」

通常のフィールドの編集ウイジェットは「テキスト編集」になっています。
これは、普通にテキストや数字を入力するものです。
また、「テキスト編集」では複数行のテキストを設定する事ができます。
「マルチライン」にチェックをすることで、複数行のテキストを入力することができます。
ラベルにも複数行のラベルを表示できます。

Image 2015_12_23_154142.png
図 マルチラインにチェックすると、複数行のテキストを入力できる




■ 「バリューマップ」で決まった語句を入力

「バリューマップ」を使うと、決まった語句をコンボボックスで表示して、
選択することができるようになります。

Image 2015_12_23_154618.png
図 編集ウイジェットで「マルチライン」を選択

Image 2015_12_23_154906.png
図 設定した項目が選択できる


実際に属性データに格納されるのは、「値」に設定したデータです。
「説明」は、選択するときに表示する項目を設定します。
「値」にコード番号、「説明」にわかり易い内容を設定することもできますし、
「値」と「説明」に同じ内容を設定することもできます。

バリューマップの項目は、既存のレイヤや、CSVからも読み込めます。

リストの順序は、説明の順序になり、ABC順、あいうえお順に並ぶようです。



■ スタイルで分類している項目を選べる「分類」

レイヤのスタイルで「分類された」を選択して、分類する項目を設定している場合、
その分類している項目をコンボボックスで選ぶことができます。

Image 2015_12_23_155835.png
図 スタイルで「分類された」を選択し、分類する項目を設定

Image 2015_12_23_155807.png
図 編集ウイジェットで「分類」を選択

Image 2015_12_23_155903.png
図 スタイルで分類している項目が選択できる


■ チェックのオンオフで入力する項目を設定できる「チェックボックス」

チェックボックのオンオフで、入力する項目を設定できます。
チェックした時としていない時の値を設定しておくと、チェックボックスのオンオフで、
決まったテキストや数字を入力することができます。

Image 2015_12_23_160741.png
図 編集ウイジェットで「チェックボックス」を選択

Image 2015_12_23_160809.png
図 属性テーブルでチェックをつけると

Image 2015_12_23_160839.png
図 チェックした時の値が入力される




■ カラーコードを入力できる「色」

属性データにカラーコードを入力できるのが編集ウイジェットの「色」です。
レイヤの編集モードでは、カラー選択ボックスが表示されて、色を選択できます。
フィールドタイプは、テキストで作成します。

※しかし、Ver2.12.1では、色の選択がうまく行きません。エラーかもしれませんので、
バージョンアップでの修復に期待しましょう。

Image 2015_12_23_161705.png
図 編集ウイジェットで「色」を選択

Image 2015_12_23_161948.png
図 属性テーブルで色選択ボックスが表示されます




■ カレンダーから日付を選択できる「日付/時刻」

日付を入力するときには、編集ウイジェットで「日付/時刻」を選択すると、
カレンダーから日付を入力できます。
カレンダーを使う場合には、「カレンダーポップアップ」にチェックを付けます。
カレンダーを使わない場合は、年、月、日を上下スピンボタンで増減させます。

フィールドタイプは「日付」か「テキスト」で作成します。

Image 2015_12_23_162459.png
図 編集ウイジェットで「日付/時刻」を選択


Image 2015_12_23_162537.png
図 属性テーブルでカレンダーで日付が選択できます




■ ファイルのフルパスを入力できる「ファイル」

ファイルへのリンクなどを作成するときに、ファイルのフルパスを属性データに入力することがあります。
編集ウイジェットで「ファイル」を選択すると、ファイル選択ダイアログを表示して、
ファイルのパスを入力することができます。

Image 2015_12_23_163305.png
図 編集ウイジェットで「ファイル」を選択

Image 2015_12_23_163409.png
図 属性テーブルでファイル選択ダイアログを表示させるボタンが表示されます

Image 2015_12_23_163840.png
図 ファイルのフルパスが入力できます




■ フィールドを非表示にする「非表示」

編集ウイジェットで「非表示」を選択すると、フィールドが表示されません。
表示することが不要なフィールドは「非表示」にしておくと、フィールドが見やすくなります。
ただし、編集時に、編集することもできなくなりますので注意してください。

Image 2015_12_23_164037.png
図 編集ウイジェットで「非表示」を選択




■ 画像ファイルのフルパスを入力する「写真」

属性データに画像ファイルのフルパスを入力すると、地図上に写真を表示したりすることができます。
編集ウイジェットで「写真」を選択すると、画像ファイルを簡単に指定することができます。
画像のプレビューも属性テーブルに表示されます。

Image 2015_12_23_164848.png
図 編集ウイジェットで「写真」を選択


画像サイズは任意に設定できますが、「0」にすると、その画像の最適サイズで表示されます。

Image 2015_12_23_165130.png
図 画像ファイルをファイル選択ダイアログで選択できます

Image 2015_12_23_165453.png
図 画像ファイルを選択すると、プレビューが表示されます

Image 2015_12_23_170057.png
図 属性データをフォーム表示するとプレビューが確認できます




■ 「ユニーク値」で一度入力された値を再入力

ほかのデータですでに使われている値をもう一度入力する場合には、
編集ウイジェットで「ユニーク値」を設定します。
「編集可能」にチェックを付けると、まだ入力されていない新たな値を入力することも可能です。

Image 2015_12_23_170744.png
図 編集ウイジェットで「ユニーク値」を選択

Image 2015_12_23_171302.png
図 「編集可能」にしない場合は、全ての値が表示されます

Image 2015_12_23_171340.png
図 「編集可能」にすると、入力した文字に該当する物が表示されます(オートコンプリート)



■ ほかのレイヤの値を利用「値リレーション」

別のレイヤの値を利用したい場合には、「値リレーション」を使います。
編集ウイジェットで「値リレーション」を指定し、参照したいレイヤを選択します。
「キーカラム」は、実際に属性データに格納される値、
「値カラム」は、選択するときに表示されるデータのカラムを選択します。

Image 2015_12_23_172027.png
図 編集ウイジェットで「値リレーション」を選択

Image 2015_12_23_172105.png
図 「値カラム」で設定した値がリストに表示されます

Image 2015_12_23_172433.png
図 実際に入力される値は「キーカラム」の値です



■ 「範囲」で入力する数値を限定

フィールドタイプが整数値や小数値である場合には、編集ウイジェットの「範囲」で、
入力する値を限定することができます。

数値の最小値と最大値を設定すると、数値を選択することができます。
数値の選択方法は、スピンボタン、スライダー、ダイアルを選択できます。


Image 2015_12_23_173426.png
図 フィールドタイプが数値の場合は「範囲」を選択できます

Image 2015_12_23_173459.png
図 スピンボタンで数値を選択します


Image 2015_12_23_173539.png
図 スライダーで数値を選択します

Image 2015_12_23_173642.png
図 ダイアルで数値を選択します



このほかにも、「列挙」「リレーションの参照」「Uuidジェネレーター」「Webビュー」などがありますが、
使い方がよくわからなかったので省略します。
わかる方がいらっしゃいましたら教えて下さい。




わたしは、職場でQGISを普及しようとしていますが、一番の問題はデータの更新です。
データ更新時にいかに共通するデータの入力を行ってもらうかが一番重要で、
施設の台帳などにGISを利用しようとした時に、データの入力方法がバラバラだったら、
一括での分析や検索を行うことができません。

誰が入力しても、ある程度共通のデータを入力できるようにできる「編集ウイジェット」は
使い方によっては非常に強力な機能です。

しかし、説明しているテキストが少ないため、すこしでも同じようなことで困っている方の
参考にされば幸いです。

このブログも更新頻度がものすごく少なくなってしまいましたが、申し訳ありません。
来年はもうすこし更新頻度を上げたいと思います。



わたしは、2015年の4月〜9月まで、「現代林業」という林業専門誌でQGISの紹介記事を書いていました。
このたび、現代林業の方から、QGISの本を出さないかということで、現在執筆中です。

職場の許可はまだ正式におりていませんが、多分大丈夫だろうということで、
作業は進めているところです。

内容は林業にとどまらず、QGISの基本的機能や使い方を、逆引き形式で参照できる構成としています。
また、現代林業で紹介した機能の詳しい方法や、それ以外にも林業で使える方法を具体的に説明します。

今のところ3月に出版する計画ですが、もう少し送れるかもしれません。
お楽しみに。

それでは、2015年のいろいろお世話になりました。
2016年も良い年になりますように。
今後も「森林土木MEMO」を、よろしくお願いします。



posted by kouichi at 16:01| Comment(1) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
それぞれの設定のご紹介とても参考になりました。

「Uuidジェネレーター」「Webビュー」の動作が分かりましたので、コメントさせていただきます。
「Uuidジェネレーター」は、読取専用(つまり「編集可能」のチェックを外した)状態でしか効かないです。地物を新規作成する際、自動的に指定された読取専用の属性にユニークなUuidの文字列が入力する機能です。
「Webビュー」は指定属性にウェブページのURL或いはファイルパスを入力されている場合、属性のフォームビューでウェブページ或いはファイル中身のプレビューが表示される機能。この機能はフォームビューでしか確認できません(属性テーブルウィンドの右下のテーブルビューとフォームビューのボタンで切り替えできます)。ファイルパスの場合、ファイル形式によってプレビューできない場合があります。txt形式のプレビューができまいたが、pdf形式のプレビューができませんでした。


「列挙」ですが、下記のサイトの記載によると、postgresでしか動作しないようで、自分の環境にそれインストールしていませんので、時間があったらインストールして試してみマタイと思います。
http://anitagraser.com/2010/07/28/customized-attribute-editing-in-qgis-1-5/

「リレーションの参照」もまた試していません。

また何か新たなことが分かりましたら、ご報告いたします。
Posted by TJ at 2016年02月22日 13:22
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: