データ結合のためのCSVデータ読み込み(後編)| QGIS 3.4.8 LTR

前回の後編にあたる「CSVTファイル読み込み」について説明します。

先に概要です。
まず、CSVTファイルとは、(CSVデータの)各列のデータタイプ(型)を定義したファイルのことです。
フォーマットに従って、CSVTファイルを作成し、CSVファイルと同じフォルダに格納します。
CSVファイルが読み込まれれば、 CSVTファイルは自動的に読み込まれるので、その他の操作は不要です。

記事で使用しているQGISのバージョンは QGIS 3.4.8 LTR です。

CSVTファイルとは

CSVTファイルとは、(CSVデータの)各列のデータタイプ(型)を定義したファイルのことです。

前回行なったように、 データタイプを定義しなくてもCSVファイルは読み込めます。
しかし、数値データも文字列として認識されてしまい、不都合が生じることがあります。

例えば、以下のような問題が生じます。

  • CSVとシェープファイルが結合できない

  • 数値に応じてポリゴンの色を変えられない

CSVTファイルのフォーマット

CSVTファイル作成時の注意点は以下になります。

  • データのタイプ名を一行で記載する。

  • データのタイプ名はクォートし、カンマで区切る。

  • ファイル名はCSVファイルと同じにする(拡張子は.csvt)。

今回は私が作りました。
以下をメモ帳などのテキストファイルにコピー&ペーストし、「kekkahyo1_ibaraki_2015-2045.csvt」というファイル名で保存して下さい。

"String","String","String","Real","Real","Real","Real","Real","Real","Real"

少し説明します。
「String」「Real」は、それぞれ「文字列」「数値(実数)」を意味します。
そのため上記のファイルは、CSVファイルの1〜3列目のデータタイプを「文字列」、4列目以降を「数値」と定義するCSVTファイルとなります。

次に行うテストのために、保存したファイルは、前回ダウンロードしたCSVファイル(kekkahyo1_ibaraki_2015-2045.csv)とは別のフォルダに格納しておいて下さい。

CSVTファイルの読込みテスト

CSVTファイルの読込みテストを行います。

CSVTファイルなし

まずは、CSVファイルとCSVTファイルが別のフォルダにある状態で行います。

QGISを起動します。

前回と同じ要領で、CSVファイルをレイヤーパネルにドラッグ&ドロップします。

CSVTファイルがない状態でドラッグ。

レイヤーパネルに表示されているCSVのファイル名をダブルクリックします。

QGISのレイヤーパネルです。

ソースフィールドをクリックして下さい。

「タイプ名」が全て「String」。

「タイプ名」が全て「String」になっていると思います。

CSVTファイルでデータタイプを定義しないと、このように全ての列が「String」とみなされ、先ほど説明した不都合が生じる訳です。

CSVTファイルあり

次に、CSVファイルとCSVTファイルが同じフォルダにある状態で行います。

CSVTファイルを、CSVファイルのフォルダに移動させます。

CSVファイルをレイヤーパネルにドラッグ&ドロップします。

CSVTファイルがある状態でドラッグ。

レイヤーパネルに表示されているCSVのファイル名をダブルクリックします。

ダブルクリックします!

ソースフィールドをクリックして下さい。

4行目(CSVファイルでは4列目)以降の「タイプ名」が「Real」に変化。

4行目以降の「タイプ名」が「Real」に変化しました。
ソースフィールドの行は、CSVファイルの列に対応します。
そのためこの結果は、CSVファイルの4列目以降のデータタイプが「Real」と認識されるようになったことを意味します。

テストは以上になります。

おわりに

これで準備が整いました。
次回は、CSVデータをシェープファイルに結合する作業です。

この記事が気に入ったらサポートをしてみませんか?