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

「CSVTファイル」初めて知りました。
GISの業界ではポピュラー?
一応、現在使用している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ファイルをレイヤーパネルにドラッグ&ドロップします。

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

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

「タイプ名」が全て「String」になっていると思います。
CSVTファイルでデータタイプを定義しないと、このように全ての列が「String」とみなされ、先ほど説明した不都合が生じる訳です。
CSVTファイルあり
次に、CSVファイルとCSVTファイルが同じフォルダにある状態で行います。
CSVTファイルを、CSVファイルのフォルダに移動させます。
CSVファイルをレイヤーパネルにドラッグ&ドロップします。

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

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

4行目以降の「タイプ名」が「Real」に変化しました。
ソースフィールドの行は、CSVファイルの列に対応します。
そのためこの結果は、CSVファイルの4列目以降のデータタイプが「Real」と認識されるようになったことを意味します。
テストは以上になります。
おわりに
これで準備が整いました。
次回は、CSVデータをシェープファイルに結合する作業です!
では。
—
YouTube: ミサキさん
問い合わせ先
Mail: caprico.aries@gmail.com
Twitter: https://twitter.com/caprico_aries(無言フォローもお気軽に)
コメント
[…] また、この記事は、QGISのこちらとこちらの記事に対応しています。 […]
[…] QGIS 3.4.8 LTRデータ結合のためのCSVデータ読み込み(後編)| QGIS 3.4.8 LTRCSVデータをシェープファイルに結合する | QGIS 3.4.8 […]