• 20
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

FOSS4G Advent Calendar 2015 二個目 の記事として、2回にわたって投稿します。

CartoDBを使えば,お手持ちのデータやダウンロードして手に入るデータをもとに,気軽に空間的な可視化ができ,データの空間的な考察ができるようになること,そして,PostGISの機能を使うことでより深いデータ解析が行えることを見ていただければと思います。

CartoDB とは

CartoDB は,Location Intelligence (LI) のための,クラウド環境で使える新しいツールです。
従来のGISとは異なり,誰もが極めて手軽に LI を自分の課題に持ち込むことができます。
空間情報の可視化や解析,そのためのプロセッシング,データの共有を担うサービスであり,ユーザが課題の本質に集中できることも大きな特徴です。

CartoDB を始めよう

ユーザ登録

CartoDB で,ユーザ登録します。今回はフリープランで1行います。
SIGN UP で ユーザ名,メールアドレス,パスワードを入力して登録し,ログインします。

データの準備(shpファイル 編)

今回は,国土交通省 国土数値情報 の 行政区域データ(埼玉県)をお借りして,読み込みます。
CartoDB では,shpファイル群 を含む zip を指定することで,shp を追加できます。
zipファイル名は shp と同一の必要があるので,違う場合は変更したり作り直したりして同じにしましょう。

Map の作成

CartoDB の dashboad で 右上の NEW MAP を クリックすると,Add datasets 画面になります。
ここで,Connect dataset を選び,先ほどの zip を画面にドラッグ&ドロップ し,行政区域のデータを追加します。

01.png

そうすると,Map の作成とともに,読み込んだデータがいいかんじで表示されます。

DATA VIEW と MAP VIEW

画面中央の上にあるボタンを見ると,現在 MAP VIEW になっているので,DATA VIEW に切り替えます。
そうすると,行政区域の属性データをみることができます。

02.png

Map layer wizard でラベルの表示

MAP VIEW に戻し,次は行政区域データの表示を少し変更します。
今表示されているローマ字の市町村名は背景図の OSM のものなので,属性データの市区町村名を表示します。

  1. 右側のサイドバーの筆のマーク(wizard)を開くと,デフォルトで SIMPLE という見た目に設定されていることがわかります。
  2. その一番下にある,Label Text を,n03_004(市区町村名)にして,
  3. Label Font を unifont Medium2 にします。

03.png

市町村名のラベルを表示できました3

データの準備(csv 編)

次に,環境省 いきものログ の投稿情報の csv を使用させていただき,CartoDB に読み込みます。

  1. いきものログの「簡単に検索する」で,なにか好きな生きものの種名を入力し,埼玉県 を選び,検索
  2. 検索結果の一番下まで行き,「CSV形式」でダウンロード
  3. zip の中の,ikilog_yyyymmdd….txt (ファイル名が短い方)を Excel で開き,1行目が列名,2行目以降がデータになるよう整形し,csv として保存

少しややこしいので,整形済みの埼玉県のスズメ報告データを以下に置いておきます。

  • 埼玉県スズメ報告データ (『環境省いきものログ(埼玉県内のスズメ報告,2015.12.15 時点)』の一部の属性を抽出したものです)

データの追加

shpファイルは Map 作成と同時に読み込みをしましたが,今度は今の Map に追加します。
右側のサイドバーの一番上の + をクリックし,先ほどと同様に csv を ドラッグ&ドロップ してください4
読み込めたら,DATA VIEW で確認します。

テーブル結合

行政区域とスズメのデータを読み込めたところで,試しにこの2つを結合してみたいと思います。

  1. 行政区域データを選択し,DATA VIEW に切り替える
  2. サイドバーの下から3つめ,Merge Datasets をクリック
  3. Column join(属性結合)を選択
  4. 左側:n03_004,右側:対象がスズメデータになっていることを確認し,county を選択して,NEXT STEP をクリック
  5. それぞれすべての属性が選択されているので必要なものを選び,MERGE DATA SETS をクリック

04.png

結合結果が出力されました。オレンジが重なって濃くなっているほど,スズメデータ数が多いようです。
DATA VIEW も見てみると,行政区域データは区名だけなのに対し,スズメデータは市+区名のため,一部がうまく結合されず別の行になってしまいました5
これを解決するには,スズメデータをあらかじめ Excel で区名だけにしてもいいですが,「初めてのCartoDB その2」では,CartoDB 上で少し工夫して対処したいと思います。

参考サイト

  • 地図DB:CartoDBに関するもっと詳細な情報を掲載しています。

  1. データ権限が Public しか選べないので注意 

  2. 日本語データはこのフォントで表示できます。 

  3. OSMのラベルが気になる人は,左下の Change basemap で,CartoDB の左から3つめ,Positron (labels below) にしてください。 

  4. ここで「Encoding detection error」で追加できない場合は,メモ帳などで文字コード:UTF8で保存しなおしてみてください。 

  5. SQLでいうと FULL JOIN が実行されます。 

この投稿は FOSS4G 二個目だよ Advent Calendar 201517日目の記事です。