エアロトヨタコラムColumn

QGIS

QGIS+Excelで点検データも整理できる「施設管理台帳」の作成(4)

この記事でわかること

・自治体等が管理する施設台帳をQGISを使って位置情報付きで管理できる
・Excelで作成した施設点検データを施設位置情報と紐づけて(リレーション)地図で確認できるようにする

この記事は、執筆時の安定版(LTR)であるQGIS Ver3.44で作成しています。

Excelで作成した施設点検データをQGISの施設データと紐づける

前回の記事

1回目の記事:詳細データをExcelで作成し、テーブル結合で地図データと結合することで、Excelのデータを地図で利用することができるまでを説明
2回目の記事:属性フォームをカスタマイズし、タブやグループに分けて属性データを表示する説明
3回目の記事:属性フォームに写真を表示、属性フォームからPDFやフォルダを開く
前回同様、姫路市の避難所データを例として説明を行います。

また、お試し用QGISプロジェクトを1回目の記事からダウンロードすることができます。(記事の一番下にダウンロードリンクがあります)


QGISのデータのリレーションとは

QGISでは、共通するキーフィールドを参照してデータ同士をリレーション(データの連携)を行うことができます。

例えば左図のように、施設データ(親)と施設点検データ(子)をIDでつなげて、1対多(1対1でもOK)のリレーションすることができます。

リレーションすると、地図の施設データを選択することで、点検データを属性フォームで表示することができます。
※図の点検データはダミーデータです。

施設点検データの作成

リレーションするための施設点検データ(子データ)はExcel(xlsxファイル)で作成します。
第1回でもExcelでのデータ作成について紹介していますので、作成方法やふりがなの問題については、そちらを参照してください。

Excelファイル(xlsxファイル)をリレーションすると、QGISからExcelデータを編集することが可能になります。CSVファイルや古いExcelファイルでもリレーションを行うことはできますが、編集は行えません。ファイルごとの特徴や編集の可否については下の表を参照してください。
※「データ形式の反映」とは、文字列、数値などのデータ型の設定がQGISに反映されるかという意味です。
 

データファイル
の種類
レイヤへの追加方法 データ形式の反映 QGISでの編集
Excel(xlsx) ドラッグ&ドロップで追加 Excelの設定が反映される(日本語はふりがなが表示される) できる
Excel97-2003(xls) ドラッグ&ドロップで追加 Excelの設定が反映される できない
CSV データソースマネージャーのCSVテキストで追加した場合 データソースマネージャーで形式を指定できる できない
CSV データソースマネージャーのベクタで追加した場合 「AUTODETECT_TYPE」を「はい」にするとデータにあった方で読み込む できない
CSV ドラッグ&ドロップで追加した場合 すべて文字列になる できる

今回の施設点検データは、左図のように作成しました。(内容はダミーです)
サンプルデータは、 第1回の記事の一番下からダウンロードできます。

「ID」がキーフィールドになりますので、施設データの「施設ID」と同じ値を使用します(これが重要)。
ちなみに、QGISのリレーションでは複数のフィールドをキーフィールドに指定することもできます。例えば「施設ID」+「枝番」などです。

施設データと施設点検データをリレーションする

QGISで施設データと施設点検データのリレーションを設定します。リレーションはプロジェクトのプロパティで設定します。

作成した施設点検データをQGISにドラッグ&ドロップしてレイヤに追加します。

メニュー「プロジェクト」>「プロパティ」を選択します。

「リレーション」を選択して、「リレーションを追加」をクリックします。

「名前」にわかりやすい名称を入力し、「参照先(親)」に施設データ、「参照元(子)」に施設点検データのレイヤとキーフィールドを選択します。
設定したら、「OK」ボタンでリレーションの追加を閉じます。

リレーションのリストに設定が追加されるので、「OK」ボタンをクリックしてプロジェクトのプロパティを閉じます。

これでリレーションが設定されました。

施設データの属性フォームに施設点検データを表示する

施設データの属性フォームに、施設点検データを表示します。
施設データと、施設点検データはタブで切り替えられるようにします。

施設データのレイヤを右クリックして、「プロパティ」を選択します。

「属性フォーム」を選択し、「+」ボタンをクリックして、まずは「避難所」タブを作成します。

ラベルに「避難所」と入力し、コンテナ型は「タブ」を選択し、カラム数は「1」にします。
「OK」ボタンでタブを追加できます。

フォームレイアウトの「基本情報」から「PDF」までのコンテナ、フィールドをすべて選択して、ドラッグ&ドロップで「避難所」タブの中に格納します。

再度「+」ボタンをクリックして、「点検」タブを追加します。
ラベルに「点検」と入力し、コンテナ型は「タブ」を選択し、カラム数は「1」にします。
「OK」ボタンでタブを追加できます。

追加された「点検」タブに、利用可能なウィジェットの「リレーション」にある「施設点検」(前項で設定したリレーションの名前)をドラッグ&ドロップで格納します。

設定できたら、「OK」ボタンをクリックしてレイヤプロパティを閉じます。

ツールバーの「地物情報の表示」をクリックし、施設点検データのある施設データをクリックします。
属性フォームの「点検」タブをクリックすると施設点検データが表示されます。

<見出しリストを点検年月日に変更する>

属性フォームの点検データの左側に、見出しリストがあり、リストの項目をクリックすることで、施設点検データを参照できます。
デフォルトだと「名称」が表示されるので、このリストを「点検年月日」変更します
見出しリストの上にある「名称」をクリックし、「列」>「点検年月日」を選択します。

見出しリストが点検年月日に変更されます。

<施設点検データを編集する>

施設点検データのファイルがExcelファイル(xlsxファイル)の場合は、QGISでデータを編集することが可能です。

属性フォームの「子レイヤの編集モードを切り替える」をクリックして編集モードにして、データの編集を行います。

編集が終了したら、必ず「編集モード」は終了しましょう。
編集モードを終了する際に、ファイルに保存することができます。
※「子レイヤの編集内容を保存」ボタンでもファイルに保存できます。

QGISで施設管理台帳のまとめ

ここまで全4回の連載で、QGISを使った施設管理台帳の作成について説明してきました。
最後に施設管理台帳の作成についてまとめます。

・施設位置情報データ(Geojsonや位置情報が記録されたCSVファイル)と詳細データをExcelで作成し、テーブル結合することができる
・属性データを属性フォームで見やすく分類、整理することができる。
・属性フォームに写真を表示したり、PDFの表示、フォルダを開くことができる
・施設点検データとリレーションすることで、地図上の施設データから点検データを表示、編集することができる


===
以上で【QGIS+Excelで点検データも整理できる「施設管理台帳」の作成】は終了です。
この他に属性フォームでは、チェックボックスや、コンボボックスからのデータの選択、カレンダーで日付の選択など、定型的な入力支援機能を追加することも可能です。その紹介記事はまた後日。

記事編集:喜多耕一

Other Columnその他のコラム

コラム一覧を見る

TOP