Fusion Tables×Google Apps Script（Fusion Tables利用編）

ここでは、主にFusion Tablesに関する説明を書いていきます。
※ 別途Google Apps Scriptと連携させてみます

#Fusion Tablesとは
簡単にまとめると、Googleが提供している地図情報と連携できるデータベース(正確に言うと、"データベース"はなく、テーブルでデータを管理するデータストア)です。
Googleの公式サイトでの説明は[こちら](https://support.google.com/fusiontables/answer/2571232?hl=en)

地図情報と連携できる点が特徴の1つなのですが、地図と連携せずにすぐに使えるデータベースとしても利用できます。

Googleから連携可能としているGoogleサービスは以下の4つです。
1.Maps API（地図情報の利用）
2.Chart Tools API（グラフの作成）
3.Google Drive Web APIs（Googleドライブの操作）
4.Google Apps Script
データベースということで、データの取得や保存がスプレッドシートよりも早いことも期待できます。

特に、データベースの学習や短期間での活用したいけど、データベースの導入で手間取るリスクがある人には、とっつきやすい。



これ以降は、実際にFusion Tablesを使ってみる手順について、画像を交えて説明していきます。

#Fusion Tablesを利用する準備
まず、GoogleドライブからFusion Tablesを利用するための準備です。

① Googleドライブの"作成"ボタンから、"アプリを追加"を選択します。
![01.png](https://qiita-image-store.s3.amazonaws.com/0/82305/b832f62a-c0f3-1353-6f2a-e2ee0a3c7b66.png)


② アプリの表示画面に切り替わりますが、Fusion Tablesを追加するために表示するアプリを"By Google"に絞り込みます
![02.png](https://qiita-image-store.s3.amazonaws.com/0/82305/bf4dea71-c846-e18a-9634-17037385a64f.png)


③ Google提供のアプリが表示されるので、ここで"Fusion Tables"を選択します。
![03.png](https://qiita-image-store.s3.amazonaws.com/0/82305/46694430-dc26-fa1a-8e08-0bfcbd0fb5f8.png)


④ Fusion Tablesの詳細画面に切り替わるので、ここで画面右上の"接続"を選択します
![04.png](https://qiita-image-store.s3.amazonaws.com/0/82305/6b202183-561b-c9c6-f75e-830114129e93.png)




⑤ Fusion Tablesの追加に成功しました！　これでFusion Tablesを作成できるようになりました。
![05.png](https://qiita-image-store.s3.amazonaws.com/0/82305/1b284caf-bfb0-28da-29cd-ed448e50e400.png)


⑥ "作成"ボタンから作成できるアプリを見てみると、Fusion Tablesが追加されていることが分かります。
![06.png](https://qiita-image-store.s3.amazonaws.com/0/82305/56a23d9c-09f8-0076-fae1-930f019dd1a8.png)


ここまでの手順で、Fusion Tablesを利用する準備が整いました。




#Fusion Tablesでテーブル作成
次に実際にFusion Tablesでテーブルを作成してみます。
先ほどの画面から、Fusion Tablesを選択すると、テーブルのリソースを選択する画面が表示されます。
リソースとして自分のPC上からcsvなどのデータをアップするか、スプレッドシートから読み込むかを選択できるほか、リソースなしの空テーブルを作ることもできます。
![07.png](https://qiita-image-store.s3.amazonaws.com/0/82305/104b5956-5d05-31f0-abf7-75e62b8b66d4.png)


今回は特にデータは用意していないので、リソースなしの空テーブルを選択します。
これで空のテーブルの完成です。
![08.png](https://qiita-image-store.s3.amazonaws.com/0/82305/68ce5f45-a5eb-0b8f-70d3-a84f31ca7144.png)


元々空のデータが1行分入っているようなので、試しに編集をしてみます。
行を選択（行が黄色くなります）して、"Edit row"を選択します。
![09.png](https://qiita-image-store.s3.amazonaws.com/0/82305/fdc16293-282e-6c13-115a-4da8c6a29eba.png)


すると行の編集画面が開きました。
この辺りの操作感は他のデータベースのGUIツールとあまり変わりません。
![10.png](https://qiita-image-store.s3.amazonaws.com/0/82305/255af67d-8cce-8684-e23a-128cd37b5ad0.png)


とりあえず、データを入れてみます。
Location列は先述した地図情報を活用する場合に位置の情報を入れるのですが、今回は特に使わないので空のままにします。
![11.png](https://qiita-image-store.s3.amazonaws.com/0/82305/37ef9c06-34fb-b651-02ef-984f061843d0.png)


saveボタンで編集内容を保存してみると、テーブルに編集結果が反映されています。
![12.png](https://qiita-image-store.s3.amazonaws.com/0/82305/4f092660-aa12-00b6-855d-6721196bcf9a.png)


列の追加や削除、インポート・エクスポートについても、通常のデータベースと同じ感覚で操作できます。
ここまでは通常のデータベースと変わりありませんが、Fusion Tablesには他にも特徴的な機能があります。


#Fusion Tablesの特徴

Fusion Tablesの特徴としては、次の3つが挙げられます。
1. KMLファイルを利用すれば、Googleの地図情報と併せてすぐにマッピングできる
2. CSVファイルなどでも、位置を示す情報（"東京"、"札幌"など）を位置情報に変換し、マッピングできる
3. データを元にしたグラフがすぐに作成できる

特にマッピングが楽にできる点は、他のデータベースや、CSVファイルを編集できるスプレッドシートやExcelにはない強みです。

例えば、下の図のように人口と都道府県名を入れておくとして…
![13.png](https://qiita-image-store.s3.amazonaws.com/0/82305/c3f637b6-f907-01e8-85e5-4a2c6fd1caa7.png)


マッピングを行ってみました。都道府県ごとに小さい○がついていますが、人口の多さによって色を分けるように設定しています。
![14.png](https://qiita-image-store.s3.amazonaws.com/0/82305/a9a56cce-879a-95a0-4e55-2b32bddd513d.png)


また、Maps APIと組み合わせると、位置の境界ごとに色分けしたりすることもできます。
※[結果の参考イメージはこちら](https://developers.google.com/maps/documentation/javascript/examples/layer-fusiontables-styling?hl=ja)