プログラミングが出来ないがデータを地図に表示させたい方や、手持ちのデータを素早く地図に可視化させたい方等にはとても有用なツールである、「CartoDB」のご紹介をしたいと思います。
CartoDBは下記の特徴があります。
- プログラミングしなくてもデータの可視化が出来る
- 地図ベースの位置情報付きのオープンデータの可視化がとても簡単
- Webブラウザー上の操作だけで、豊富な地図表現が出来る
- 背景地図の変更やカスタマイズが可能
- レイヤー構成でデータの重ね合わせが可能
- 日本語対応済み
- 時系列データがあれば簡単にアニメーション地図が作成出来る
- CSVファイルはもちろん、対応入力データフォーマットが豊富
- Twitter等の外部サービスからも簡単にデータの取り込みが可能
- GitHubにオープンソースでソースコードが公開されている
- JavaScriptライブラリやAPIも豊富で様々な独自表現が可能
今回の記事では、CartoDBでの編集機能の説明や、地図作成の手順をTwitterのデータを利用して紹介しているので、触ったことがない人でも、どんなことができるのか?わかっていただけるかと思います。
▶CartoDBとは
CartoDB(カルトディービー、本社:アメリカ合衆国ニューヨーク市)は地図ベースのデータを可視化をすることが出来るSaaS型のクラウドサービスです。CSVやGeoJSON等のデータがあればプログラミングの知識がなくても誰でも簡単に素早く地図上に表現することが出来ます。
サービスはフリーミアムモデルを採用しており一定量以上使用した場合は有料となります。
APIsやCartoDB.js等のライブラリもあるので独自のWebサービスを開発することも可能です。
図:CartoDBで作成した地図:災害拠点病院一覧
CartoDBは2014年9月にシリーズAの資金調達をEarlybird Venture Capitalなどより$8M 行い、翌年2015年9月には続いてAccel、SalesforceよりシリーズBの$23Mの資金調達を実施しました。
シリーズBの調達にて得た資金は、国際展開のためのマーケティングや人材採用、新製品開発、ローカライズなどに使用すると発表しており、日本への展開も進みだしています。
▶CartoDBで地図を編集するには
CartoDBで地図を編集するにはCartoDB Editorという画面で作業をします。ブラウザ上で全て作業することが出来るのでとても簡単に地図を作成することが出来ます。
CartoDB EditorはChromeブラウザー拡張機能の「CartoDB Translator」が「英語」「中国語 簡体字」「日本語」「スペイン語」に対応しているので、この拡張機能を使うことで日本語表示することが出来ます。

図:CartoDB Editorメイン画面
画面の右端にあるCartoDB Sidebarからデータ表示に必要な項目を設定することが出来ます。設定項目を選択することで様々はデータの表現が可能となります。

図:CartoDB Sidebarの設定項目
画面左下のChange Basemapから背景に使う地図を選択することが可能です。
背景地図は独自にカスタマイズすることも可能で、XYZ, WMS/WMTS, NASA, Mapbox, TileJSONに対応しています。最初に紹介した災害拠点病院一覧の地図は背景地図に国土地理院 地理院タイル地図を設定した例となります。

図:背景地図の選択
画面左下のChange Basemapの隣にあるOptionsは、タイトル、説明、凡例等の地図上に表示する項目を選択します。

図:表示項目の選択
▶対応入力データフォーマット
対応する入力データも豊富でTwitterやInstgram等の外部サービスからもデータを取り込むことが可能です。対応しているデータフォーマットは以下となります。
- データファイル
* Shapefile
* Keyhole Markup Language (KML)
* KMZ
* GeoJSON
* CSV
* スプレットシート (Excel, OpenDocument)
* GPX
* OSM
- Google Drive
- Dropbox
- Box
- MailChimp
- ArcGIS Server
- Salesforce
▶地図作成手順の紹介
CartoDBの地図作成の手軽さをお伝えするために、Twitterからつぶやきデータを取得して地図公開するまでの手順を簡単に紹介したいと思います。
1. データセット新規作成
新しい地図を作成する為に使用するデータセットを作成します。
メイン画面からデータセット作成ボタンをクリックします。

図:データセット新規作成
2. データセット選択
データセット選択画面から使用するデータセットを選択します。今回はTwitterからのデータを取得するのでTwitterを選択します。

図:データセット選択
3. Twitterデータ取得
取得するTwitterのキーワードと取得する期間を決めて、Twitterからデータを取得します。
Twitterのデータは1週間前からのデータを取得することが出来ます。

図:Twitterデータ取得
4. データ一覧
Twitterからデータが取得に成功するとデータ一覧が表示されます。
取得したデータを絞り込みたい場合にはPostGISライクのSQL文を記述することでデータを絞り込むことも可能です。

図:取得データ一覧

図:SQL文で取得データを絞り込む
5. CartoDB Editor
表示するデータの準備が出来たので地図ビューボタンを選択してCartoDB Editorを起動させます。
CartoDB Editorの地図レイヤーウィザードから表示する地図レイヤータイプを選択します。
地図レイヤータイプは10種類ありますが、今回はアニメーション地図を表示させるので「TORQUE」を選択します。




図:地図レイヤータイプの代表的な例 (シンプル、CLUSTER、TORQUE,HEAPMAP)
6. 地図の一般公開
地図の編集が終了したら次ぐに地図を公開します。
パブリッシュボタンを押すことで直ぐにインターネット上に地図を一般公開することが出来ます。
下記は一般公開されたアニメーション地図です。アニメーション地図なのでTwetterのつぶやきが時系列に表示さています。
図:Twetterのつぶやきのアニメーション地図
▶開発者向け情報
CartoDBのソースコードはGitHubにオープンソースで公開をされていますので独自でサーバを立てることも可能です。CartoDB PlatformというJavaScriptライブラリやAPIsも用意されていますので独自にカスタマイズすることも可能です。
CartoDB Platform
* JavaScriptライブラリ
- CartoDB.js
- Torque.js (efficient and stylish rendering method)
* APIs
- SQL API
- Maps API
- Import API
- Data Services API
* CSS
- CartoCSS
QGISのCartoDBプラグインを使えば、CartoDBにあるデータセットをQGISで開いたり、逆にQGISで作成した地図をCartoDBにアップロードすることも可能です
▶さいごに
CartoDBを使って簡単に地図ベースのデータをインターネットに公開する事が出来ることをご紹介できたと思います。地図上に表示したデータがあればCartoDBで可視化させてみてください。
今回はCartoDBの一部の部分しか紹介出来ませんでしたが、機会があればまた別の機能もご紹介したいと思います。