23
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FOSS4G 二個目だよAdvent Calendar 2015

Day 17

初めてのCartoDB その1: shp と csv を読み込む

Last updated at Posted at 2015-12-17

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

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

CartoDB とは

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

CartoDB を始めよう

ユーザ登録

CartoDB で,ユーザ登録します。今回はフリープランで1行います。

データの準備(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

テーブル結合

行政区域とスズメのデータを読み込めたところで,試しにこの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

参考サイト

  • 地図DB:CartoDBに関するもっと詳細な情報を掲載しています。
  1. データ権限が Public しか選べないので注意
    SIGN UP で ユーザ名,メールアドレス,パスワードを入力して登録し,ログインします。

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

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

  4. ここで「Encoding detection error」で追加できない場合は,メモ帳などで文字コード:UTF8で保存しなおしてみてください。
    読み込めたら,DATA VIEW で確認します。

  5. SQLでいうと FULL JOIN が実行されます。
    これを解決するには,スズメデータをあらかじめ Excel で区名だけにしてもいいですが,「初めてのCartoDB その2」では,CartoDB 上で少し工夫して対処したいと思います。

23
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?