なぜそのオープンデータは使いにくいのか？ 

## はじめに
昨今、各公共団体のオープンデータ推進への取り組みが活発となり、それらオープンデータを使用した事例やハッカソンなども数多く行われるようになってきています。
大変素晴らしいことですし、自分もそうしたオープンデータをありがたく享受している一人です。

ここでは、オープンデータを使わせていただいている一人として、こうなるともっと良いのにな、と思うところをいくつか挙げていけたらと思います。

※今回はたまたま[こちら](https://www.e-stat.go.jp/gis/statmap-search?page=1&type=1&toukeiCode=00200521&toukeiYear=2020)のデータをベースにさせてもらっていますが、決してあげつらっているわけではありません。

https://www.e-stat.go.jp/gis/statmap-search?page=1&type=1&toukeiCode=00200521&toukeiYear=2020


## 何のデータなのか わかりにくい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/6dad19fd-2db8-9c0c-2d7a-ed0e898a32b0.png)
たとえば[世帯の家族類型別一般世帯数](https://www.e-stat.go.jp/gis/statmap-search?page=1&type=1&toukeiCode=00200521&toukeiYear=2020&aggregateUnit=A&serveyId=A002005212020&statsId=T001084)というデータに興味を持った場合、このデータについてもう少し具体的に知りたいと思ます。
しかしこのデータには具体的な例がありません。いきなりデータのダウンロード画面です。
ただ```定義書```というボタンがあるので、これを見ればもう少し詳細がわかりそうです。
```定義書```ボタンを押すと、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/86f10d6c-f1f5-ab5e-20f0-c17c03c3955a.png)
```T001080.pdf```といった無機質なファイル名で定義書がダウンロードされます。
ダウンロードされたPDFを開いてみると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/fed4f949-662c-156c-5c2c-013f68807a16.png)
内容はこれだけです。
この程度であれば、ダウンロードせずに確認する方法があったほうが便利ではないかと思います。
また、ダウンロードした場合も、```T001080.pdf```というファイル名からだけでは何の定義書かわかりにくいです。
定義書のファイル名にデータ内容を併記する、データ表記の後ろに定義書と同じコード名を表示する等があればわかりやすいのかなと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/54bde3ed-40c2-36c3-ca6f-7aea71bcbbb3.png)


## 一括ダウンロードがない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/f6006dbd-8172-3e5f-9014-45a8bdb6bed1.png)
このデータは１ファイル数百Kbyte程度とそれほど大きくありませんが、ダウンロードは都道府県単位のみとなっています。
こういった場合、全国一括ダウンロードがあるとよいかと思います。
また、データがそれほど大きくない場合、１ファイルにまとまっていたほうがありがたいです。
この程度のデータでしたら、mapbox等で一括で読み込んで表示することも容易です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/c2d851cf-5cd9-aeb4-db2a-5fd512cacfd8.png)


## １ファイルしかないのに圧縮されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/62a9a70c-2769-c212-81ad-d6c4c444a029.png)
数百キロバイト程度のデータですが、ダウンロードすると１ファイルごとに圧縮されています。
全国のデータを利用したい場合は、全都道府県のデータを展開する必要があります。
常日頃からデータ処理をされているような人はバッチ処理をするので苦になりませんが、そういった人ばかりがデータを使う想定ではもったいないと思います。

## 圧縮された中のファイル名が同一
今回のデータでは該当しませんが、各圧縮ファイルの中身がすべて```data.csv```など同名、というのもよく見かけます。
全国のデータを利用したいときには都道府県分のデータを展開する必要があり、中身のファイル名が同じ場合はさらにリネームしたりといった処理が必要となるため、ファイル名には個別の名前がついているのが良いと思います。

## CSV形式なのに拡張子が.txt
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/4940fb8b-c2fb-1b11-ecdd-d56d08e245f8.png)
自前で処理する場合は拡張子は何でも構わないのですが、事前にExcelでデータをざっと見てみよう、と思ったときに.txtだと表として表示されなかったりします。

## データがShift-JISで保存されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/87af076d-bc65-8bf2-b403-97cd7b25782a.png)
こちらは逆に、Excelで見るような場合は問題ありませんが自分でデータを処理したい場合には前処理が増えてしまいます。
また、他のエディターで見た時に文字化けしてプレビューが困難になることもあります。
一般的には```UTF-8```で保存されていたほうが使いやすいかと思います。

## 説明のない記号が使用されている
データを見ていくと、謎の記号がいつくか出てきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/c7033b26-70eb-4507-980a-ee0705f590cd.png)
```X```, ```-``` はデータが取得できなかった、あるいはデータ不要のような意味合いなのかなと類推はできるのですが、定義書には説明がありません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/fed4f949-662c-156c-5c2c-013f68807a16.png)
```HTKSYORI```,```GASSAN```等の説明もありません。[調べてくださっている方](https://qiita.com/kwi/items/293bb2c3cb7cfca332aa)はいますが、こういった調査も時間の無駄や解釈の間違いにつながるので、定義書に記載しておいたほうが良いと思います。

## 階層の違うデータが含まれる
```KEY_CODE```を見ると、桁数がバラバラです。これは、「市」「市/町」「市/町/字」と階層の違うデータが混在しているためです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/da87d582-85b9-45e4-d389-80468ef2324d.png)
この例だと、```22010020```(大字後潟)は```2201002001```(大字後潟字平野)と```2201002002```(大字後潟字大原)の合算値になっています。
こういった階層の違うデータは分けておいてもらったほうが処理がしやすいです。
また、```2201002000```(10桁の数字で下２桁が00)と```22010020```(8桁の数字)は実質同じ扱いのようです。
そのため、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/e683dbd2-603d-6f9e-907a-08fdf76bdc4d.png)
のように重複する一方のデータが```-```で埋められていたり、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/0c7bb323-db84-9d85-f16b-3277ed9ca599.png)
のように```2201155000```に該当するものがなかったりと統一性のないものになっています。
このあたりも、データを整形する場合には下２桁チェックやデータがなかった場合のエラー対策など地味に時間がとられます。

## 位置情報に関連するデータなのに緯度経度情報がない
[地価公示地点データ](https://www.zaimu.metro.tokyo.lg.jp/documents/d/zaimu/r6kouji_chiten_data-1-)等、位置情報に関連するデータの場合、住所があっても緯度経度の情報がなければ地図上にマッピングすることができません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/eee5f541-000b-cf6a-53e2-fe803b228517.png)
その場合、[ジオコーディング サービス](https://developers.google.com/maps/documentation/javascript/geocoding?hl=ja)等を使用して緯度経度を取得する等の前処理が必要となります。

## データの不備を発見した際の問い合わせ先がわかりにくい
データをコンピューターで処理して使用する際、データの不備を発見することがあります。
例えば今回使用した[世帯の家族類型別一般世帯数](https://www.e-stat.go.jp/gis/statmap-search?page=1&type=1&toukeiCode=00200521&toukeiYear=2020&aggregateUnit=A&serveyId=A002005212020&statsId=T001084)では、福島県のデータ```tblT001084C07.txt```で
```
07545,1,大熊町,,0,,,799,33,29,20,2,4,-,1,64
:
07546,1,双葉町,,0,,,-,-,-,-,-,-,-,-,-
```
東京都のデータ```tblT001084C13.txt```で
```
13402,1,青ヶ島村,,0,,,118,28,28,13,11,-,8,12,26
```
のように、一部のデータがなく、そのままでは使用できない箇所がありました。
大熊町、青ヶ島村に関しては、何らかの理由で該当するデータを取得できなかったのかなと類推することもできますが、
**双葉町に関してはすべてのデータがありませんでした(後述)。**
また、よく見かけるパターンで、
数値が入るべきところが```null```となっていたり、
```”\""```のような入力ミスでカラムがずれたりといったものがあります。
こんな時はなるべく報告するようにしているのですが、
報告先がわかりにくいこともよくあります。
今回のサイトのように、問い合わせ先が常にページに表示されているなど、報告先がわかりやすいほど、データの修正が行き届き、使いやすいデータになるのではないかと思います。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f35393931312f61323565623338632d326631632d643066362d616530392d3839386535613.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/4ca75365-5b1b-588a-f211-231a4ff658c9.png)


## 付録
2020年の国勢調査で、双葉町のデータがない件について調べてみました。改めて考えさせられます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/2421d899-d595-9417-e94c-f45fccf6a85e.png)