2016/12/28[NA-GIS94]でディゾルブを行い、地図データのほうは統計データと結合する準備が整いました。今回は、地図データと統計データを結合する際に、統計データ側で行うべき準備と注意点について説明します。地図データの属性データを開くと、下図のようになっています。各フィールド名は何か、各フィールドのデータ型は何か、どのような値が入力されているか、などを確認します。結合の際に用いるキーは、フィーチャ間で重複のない固有のIDであることが求められます。それをふまえると、このデータでキーとして使えるのは市区町村コード(N03_007)のみです。市区町村名(N03_004)も一見使えそうですが、たとえば「中央区」は、大阪市中央区と神戸市中央区が重複しています。重複がなければ、漢字・ひらがななどの2バイト文字もキーとして使用できますが、誤字はもちろん、字体の違いも厳密に判別されるので注意が必要です。ひとつ、データ結合の際に注意すべきことは、地図データと統計データの双方がもっているキーの「データ型」を合わせるということです。上図の属性データをもう一度見ると、市区町村コードはセル内左寄せになっていることが確認できます。これは、データ型が「文字列型」になっていることを示しています(数値として扱われていたら右寄せになる)。1)キーとして市区町村コードを使うこと、2)地図データ側のキーは文字列型になっていること、この2つを認識した上で、統計データ側の準備に取りかかります。統計データ本体の準備として、留意すべき点を箇条書きにします。キーとして使うデータを必ず入れる。地図データとの対応関係を考えてデータを作成する。地図データが市区町村単位ならば、統計データも市区町村単位で用意する。1行目にデータ項目名を入力。半角英数字で、できるだけ短くする。数値データとして扱うフィールド(列)に、文字列が混ざらないようにする(1行目のデータ項目名を除く)。数値データの中に「-」(ハイフン)や「X」などが含まれている場合、それぞれの記号が何を意味しているのかを理解した上で、0や空白(欠損値)に置き換えるなど適切な処理を行う。統計表のタイトル・説明・注釈など、余計な記述等はすべて削除。CSV形式でファイルを保存。ファイル名は、半角英数字の極力短いものがよい。地図データに結合する統計データ(出典:2015年国勢調査)を以下に示します。画像サイズの都合上、データ項目数は必要最小限にしていますが、フィールド(列)の数に制限はありません。いくつか補足すると、<KEY>が結合に用いるキーであり、今回は市区町村コードが入力されています。Excelでデータを作成する段階では、この列を文字列型に設定する必要はありません(ただし、キーコードが0(ゼロ)から始まる場合は必要)。CSV形式で保存したときに、その設定情報は失われてしまうからです。データ項目名は、v01、v02・・・と機械的に割り当てています。<v01>は人口、<v02>は人口増減率(2010~2015年)、<v03>は15歳未満人口割合、<v04>は65歳以上人口割合です。このファイルを、「a」というファイル名をつけ、CSV形式で保存しました(a.csv)。ここまで極端に短いファイル名にする理由は後ほどわかります。上記で述べたように、CSV形式でファイルを保存すると書式設定が失われてしまい、キー(今回は市区町村コード)を文字列型に指定することができません。そのため、統計データの各フィールド(列)のデータ型を定義する別ファイルが必要となります。ここで作成するCSVTファイルは、その役割を果たします。今回の統計データを例としたCSVTファイルの作成手順は以下の通り。メモ帳などのテキストエディタを開き、下図のように入力。データ型をダブルクオテーションでくくり、カンマで区切るのがポイント。“string”は文字列型、“integer”は整数型、“real”は小数点型をそれぞれ表しています。各フィールドに設定するデータ型を、カンマで区切って記述しています。1列目(KEY)と2列目(NAME)は文字列型、3列目(v01:人口)は整数型、4~6列目(v02~v04:人口増減率、15歳未満人口割合、65歳以上人口割合)は小数点型に設定するということです。このように記述したテキストを、とりあえずテキスト形式(拡張子:.txt)で保存。その際重要なのは、ファイル名を統計データ本体と同じにすることである。保存したテキストファイル(a.txt)の拡張子を「.csvt」に変更。変更しようとすると「ファイルが使えなくなるかも」という警告が出るが、かまわずOKする。これでCSVT形式のファイルができた(a.csvt)。統計データ本体のファイルとCSVTファイルは同じフォルダに保存しておく。同じフォルダ、同じ名前というのがポイント。ここまでできたら、統計データの準備は完了。