CartoDB で外来生物の分布をみてみる


# CartoDB ?
CartoDB は ブラウザで操作できる地理情報可視化ツールです。
今回は、CartoDB を使って、外来種の鳥類のガビチョウの分布をみてみます。

# CartoDB の始め方
## ユーザ登録

[CartoDB](https://cartodb.com/) のページで、ユーザ登録します。お試し用のフリープラン[^1]を使いましょう。
SIGN UP で ユーザ名、メールアドレス、パスワードを入力して登録し、ログインします。

[^1]: データ権限が Public しか選べないので注意

## 操作画面の日本語化
Chrome を使用している場合は、プラグイン [CartoDB Translator](https://chrome.google.com/webstore/detail/cartodb-translator/klfamjcbhhbgcllahleohncpgmcbceeh) を追加することで、GUI を日本語にすることができます。
プラグインを追加したら、Chrome のツールバーに追加された CartoDB マークのアイコンをクリックし、オプションを選びます。

![01.png](https://qiita-image-store.s3.amazonaws.com/0/104969/f1bdd3a2-b17b-3c06-cc57-e244f53ccfde.png)

Default Language を Japanese にし、Save をクリックします。

![02.png](https://qiita-image-store.s3.amazonaws.com/0/104969/698dac76-35c6-7e69-b97f-28fcb764ba87.png)

CartoDB のページに切り替え、ブラウザの更新ボタンを押すと、GUI が日本語になりました[^2]。

[^2]: 画面切替等で英語に戻ってしまったり、環境によってはうまく動作しないかもしれません。

![03.png](https://qiita-image-store.s3.amazonaws.com/0/104969/d584ba5e-8b40-0372-8ad5-2bdef3ffb195.png)

# 地図の作成
右上の黄緑色の 新規地図（NEW MAP）をクリックすると、データを追加する Add datasets 画面になります。

## データの準備
今回は、環境省 モニタリングサイト1000里地調査 の [鳥類調査データ](http://www.biodic.go.jp/moni1000/findings/data/index_file_bird.html) の以下のファイルを使わせていただきます。

- DataSite_bird.xlsx（各調査サイトの情報）
- DataCensus_collumn.csv（調査記録）

## データの追加

### 緯度経度情報を持つ Excel

DataSite_bird.xlsx のファイルをドラッグして、Drag & drop your file のところに重ねます。

![05.png](https://qiita-image-store.s3.amazonaws.com/0/104969/3e2ea338-d134-d5f0-b05d-bf8113e6482f.png)

右下の CONNECT DATASET をクリックしてデータを追加します。

![04.png](https://qiita-image-store.s3.amazonaws.com/0/104969/6983af3c-7219-01bd-db4d-19fb63791cbb.png)

あれ？ 背景の世界地図が表示されましたが、追加したデータはどこでしょうか？
画面中央の上にあるボタンを見ると、現在 地図ビュー（MAP VIEW）になっているので、データビュー（DATA VIEW）に切り替えてみます。

![06.png](https://qiita-image-store.s3.amazonaws.com/0/104969/9a7322ae-d1fa-f3be-f449-6527be00053e.png)

すると、Excel で開いた場合と同じような表のデータが見ることができます。

![07.png](https://qiita-image-store.s3.amazonaws.com/0/104969/1392b222-6cc8-05f7-f553-e579f40dd7d4.png)

右のほうの列をみると、各調査サイトの緯度と経度の情報があります。
これらをもとに、地図上にポイントを落とそうと思います。

![09.png](https://qiita-image-store.s3.amazonaws.com/0/104969/94cc5ab7-6c93-ae26-9d9b-30776ee566c6.png)

まず、36.1、35.7 と緯度が入力されている列の列名（画像では _3[^3]）の横の ▼ をクリックして、ジオリファレンス（Georeference）を選びます。

[^3]: もとの Excel では、緯度、経度 という列名ですが、現時点では列名の日本語が認識されず、アンダーバーと連番になっています。ていねいに進めるときは、あらかじめ Excel で半角英数のみの列名に書き換えてください。

![08.png](https://qiita-image-store.s3.amazonaws.com/0/104969/392c94a5-d768-0c60-54a1-7383989ea731.png)

Lon/Lat Columns（緯度経度列）を選び、それぞれ Longitude（緯度）、Latitude（経度）の列を指定し（画像では _4 と _3）、CONTINUE をクリックします。

![10.png](https://qiita-image-store.s3.amazonaws.com/0/104969/64d4f762-ef06-0759-ff44-d798e8ec09cf.png)

これで各調査サイトの位置にポイントが落とすことができました。
真ん中の上のボタンで地図ビューに切り替えて確認しましょう。

![11.png](https://qiita-image-store.s3.amazonaws.com/0/104969/ceb658ab-f82b-8124-31a1-06bec2c6779c.png)

### 地理情報を持たない csv 

次は、もう一つの DataCensus_collumn.csv を追加します。
右のツールバーの一番上の ＋ ボタンをクリックして、データセットを接続します（Connect dataset）をクリックし、さっきと同じ手順で、csv ファイルをドラッグ ＆ ドロップしてきて、レイヤの追加 します。

![12.png](https://qiita-image-store.s3.amazonaws.com/0/104969/f58ddd4b-dbdd-d77a-d775-7b1eb671959f.png)

こちらもデータビューに切り替えると、表の情報を見ることができました。

![13.png](https://qiita-image-store.s3.amazonaws.com/0/104969/7b485423-f51a-981b-f895-28b15fcdaa36.png)

一つめのデータに切り替えるときは、[1] というタブをクリックします。

![15.png](https://qiita-image-store.s3.amazonaws.com/0/104969/0950b5ef-b1d4-439d-ae67-5a20fba014e7.png)

## 2つのデータを結合する
今回の目的は、ガビチョウの分布をみることです。
しかし、地図になっているのは調査サイトで、ガビチョウの情報を含む調査記録（DataCensus_collumn）は表の情報のみです。また、緯度経度の情報もありません。

そこで、調査サイトに調査記録のデータを結合し、一つにしたいと思います。
結合に使うのはどちらのデータにも存在している、サイトID の列です。

まず、[1] をクリックして、一つめの調査サイトデータに切り替え、merge datasets をクリックします。

次の画面で、Column join（列で結合）を選びます。

![17.png](https://qiita-image-store.s3.amazonaws.com/0/104969/707abd1f-ccae-e537-b156-a22ee5926b42.png)

左を datasite bird、右を datacensus collumn にします。

![18.png](https://qiita-image-store.s3.amazonaws.com/0/104969/7a472659-1181-cce3-52c9-74e9f42530bd.png)

datasite bird では id という列が サイトID に該当するので、id を選択します（この例では 一番下にあります）。

![19.png](https://qiita-image-store.s3.amazonaws.com/0/104969/7b5499e6-17b3-8dd3-8098-8a354ec1289b.png)

datacensus collumn では siteid が サイトID に該当するので siteid を選択し、右下の NEXT STEP をクリックします。

![20.png](https://qiita-image-store.s3.amazonaws.com/0/104969/ed640c31-bc16-dc16-c6ac-257657bbbf68.png)

次の画面では、結合後のデータに持っていく列を選びます。
左の datasite bird は列が多いので、一度すべての列を選択のスイッチを OFF にし、一番上の the_geom と サイト名（ここでは _2）のスイッチを ON にしましょう。

![21.png](https://qiita-image-store.s3.amazonaws.com/0/104969/755b7ffd-6a9f-4ac9-8c99-38f9586bfbcc.png)

![22.png](https://qiita-image-store.s3.amazonaws.com/0/104969/8d868cda-1db1-43f7-f185-cd884e2154d7.png)

右の datacensus collumn はここまま（すべて ON）でいいと思います。
できたら、右下の MERGE DATASETS をクリックします。

できました。

![23.png](https://qiita-image-store.s3.amazonaws.com/0/104969/d68a5c1f-4dd2-b7a8-bce2-63d491cd8697.png)

地図ビューはこんなかんじです

![24.png](https://qiita-image-store.s3.amazonaws.com/0/104969/29ee7681-e902-b9f6-8723-8e16d3320232.png)

## データの絞り込み

2つのデータを結合できたものの、今の状態ではガビチョウ以外のすべての種も表示されています。
なので、ガビチョウのみを表示したいと思います。

データビューに切り替え、filters ボタンをクリックします。

![25.png](https://qiita-image-store.s3.amazonaws.com/0/104969/54d58542-025b-4c87-3d2f-288b201a22ee.png)

フィルターに使う列を spname に指定します。

![26.png](https://qiita-image-store.s3.amazonaws.com/0/104969/cfdb5ea3-4176-a05d-115c-c6c206e53630.png)

ガビチョウ と入力し、Apply をクリックします。

![27.png](https://qiita-image-store.s3.amazonaws.com/0/104969/c0201c54-200f-f127-0a14-f7ca7bfe3394.png)

できたら spname の列を見て、確認してみます。
どうやら ガビチョウ と ヒゲガビチョウ、カオジロガビチョウ の3種に絞り込まれたようですね[^4]。
地図ビューをみてみましょう。

[^4]: 厳密に ガビチョウ のみにしたいときは、SQLボタンをクリックし、'%ガビチョウ%' の % を消して、'ガビチョウ' にし、クエリを適用 をクリックしてください。

![28.png](https://qiita-image-store.s3.amazonaws.com/0/104969/7ac6308e-10ba-2072-e018-cd877c557666.png)

ガビチョウは本州（特に関東）や九州、四国に分布しているようです！


## 完成品
少し色を変えてみました。調査サイトのポイントをクリックしてみてください＊
[モニ1000 里地調査 調査サイトにおけるガビチョウ類の分布](https://pssmaps.cartodb.com/u/imai/viz/26678bde-0962-11e6-8b61-0ea31932ec1d/public_map) 

## 参考サイト
- [地図DB](http://chizudb.jp)：CartoDBに関するもっと詳細な情報を掲載しています。
- [PSSブログ](http://pacificspatial.com/company/blog/)：CartoDB のトピックスが見れます。