読者です 読者をやめる 読者になる 読者になる

サンフランシスコのオープンデータをダウンロードしてTableauやExplorateryで表示してみる

Exploratory Tableau

qiita.com

この記事を読んで、サンフランシスコはいろいろなデータを公開していることを知りました。そういうデータをダウンロードして表示してみたので、メモしておきます。

まず、サンフランシスコのオープンデータを公開してるSF OpenDataにアクセスします。

f:id:Akiyah:20160911141138p:plain

今回はPublic Safetyを選んでみましょう。

f:id:Akiyah:20160911141146p:plain

例えば一番上のMap: Crime Incidents - from 1 Jan 2003を選択してみます。

f:id:Akiyah:20160911141154p:plain

このデータは最初から地図に表示されていますね。表にすることもできます。

f:id:Akiyah:20160911141206p:plain

たぶんフィルタリングしたりグラフにしたり、いろいろ見方を変えられるのですが、そんなには使いやすそうではないので、丸ごとダウンロードしてしまいましょう。Exportというボタンを押します。

f:id:Akiyah:20160911141210p:plain

で、形式を選んでクリックするだけです。無難にCSVにしました。ダウンロードしてみると、なんと400MBほどありました。こんなに大きいファイルだとは、、、

まずはTableauで表示してみます。都合によりTableau Desktopのライセンスを失ってしまったので、Tableau Publicで見てみます。ダウンロードしたCSVファイルを読み込ませてみるとわかるのですが、日付のDate列がTableauでは日付と認識できようです。ついでに言うと、時刻はTime列に入ってるので、それと混ぜて日時の列を作りたいです。

DateTime

DATEPARSE('MM/dd/yyyy HH:mm', LEFT([Date], 10) + ' ' + STR([Time]))

こういう計算式を作って、無事に日時を扱えるようになりました。ここまでくれば簡単で、どんな風にでもグラフを見ることができますね。

f:id:Akiyah:20160911141243p:plain

次はExplorateryです。こちらもDateとTimeをなんとかするために、下記のコマンドを実行してDateTimeという日時を扱える列を作りました。

mutate(DateTime=mdy_hm(str_c(str_sub(Date, 1, 10), Time, sep=' ')))

こうしてしまえば、あとはいろいろできますね。

f:id:Akiyah:20160911141237p:plain

ちなみに、サンフランシスコのデータを公開しているのは、socrataというサービスのようです。

socrata.com

サンフランシスコ以外にもこのsocrataでデータを公開している自治体はたくさんあるようです。データ公開しているのは素晴らしいですね。