見出し画像

【Tableau Pubic】空間ファイルを使ってみる

今回ご紹介するのは、"空間ファイル"です。


【前置き】

Excel・テキスト・JSONなど、Tableauでは様々なファイル形式のデータが接続できるようですが、自分が使うもの以外は全く知らない方も多いのではないでしょうか?
私の場合は、業務で空間ファイルを使用する機会があって初めて"空間ファイル"の存在を知りました。("空間ファイル"の文字列が全く目に入ってませんでした)
知らないものを「使ってみよう」とはなかなか考えられないと思いますのでは、今回は空間ファイルを簡単にご紹介しつつ、使用までのハードルが少しでも低くなれば良いなと思っています。

ここに"空間ファイル"ボタンがあります

【本題①】"空間ファイル"とは?

空間ファイルについて説明するにあたり避けては通れない単語がいくつかありますので、そちらも交えつつ解説していきます。

GIS(Geographic Information System:地理情報システム)

地理情報を扱うシステムのことです。
地理情報を大別すると "地球上での位置や形状などであらわされる「空間的な情報」"と”それらに付随する「属性情報」”に分類されます。
たとえば、地震の状態をあらわす空間的な情報は震源の位置を示す緯度と経度の座標で、属性情報は地震のマグニチュード・発生日時などの情報です。

"空間ファイル"とは、このGISのデータフォーマットのことを指しています。
データフォーマットにもいくつか種類がありますが、今回はその1つであるシェープファイルについてご紹介します。

シェープファイル

シェープファイルには、道路や建物などの位置や形状、属性情報を持つベクター データ(ポイント、ライン、ポリゴン)が格納されたフォーマットです。

ベクター データは、現実世界に存在する地物(目に見えないものも含む)を
・ポイント(点):図形情報を(x, y)の座標値で格納
・ライン(線):(x, y)の座標値を結んだ線分として格納
・ポリゴン(面):(x, y)の座標値を結んだ閉じた線分として格納
の3つの要素で表現したものです。
例えば、信号機であればポイント、路線であればライン、建物であればポリゴンで表現されることが多いです。
それぞれが座標と属性情報を持っており、地図上で表現できます。

【本題②】Tableauに"空間ファイル"を接続してみた

"空間ファイル"には、緯度経度などの空間的な情報と、それに付随する属性情報が格納されていることをお話してきましたが、文章だけではピンこないかと思います。
ここからは、国土交通省がオープンソースとして公開している「国土数値情報ダウンロードサイト」の「シェープファイル:行政区域データ」を実際に読み込んでいきます。

手を動かしてみたい方は、全国の市区町村データが格納されている"N03-20240101_GML.zip"をダウンロード、解凍しておいてください。
https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03-2024.html

NO3-20240101.shp を読み込み
N03 001~N03 007に属性情報が、
ジオメトリにポリゴンデータが格納されていました
Tableauで表示してみるとこんな感じ
(そして動作がすごく重いです)
拡大したものがこちら
「ポリゴンデータ:(x, y)の座標値を結んだ閉じた線分」をマップにプロット、
「付属情報」をツールヒントで表示してみました

Tableauでも"地理的役割"から都道府県を設定してマップに表示できますが、シェープファイルを使用することで、比較にならないくらい細かなプロットを行うことができました。
実務では"このデータを使って何をしたいか"こそが重要ですが、そもそもどんなものか知らなければ、使ってみるという考え自体が浮かばないかと思います。その取っ掛かりとして、空間ファイルはどんなものなのか、少しでも知ってもらえれば嬉しいです。

【最後に】

今回はシェープファイルをTableauへ接続してみましたが、実務ではpythonと絡めて使用しています。GIS・ジオコーディング・逆ジオコーディングなどで調べてみると面白い情報が出てきますので、GISデータの活用に興味のある方は調べてみてください!

今回記事を書くにあたり、"ESRIジャパン株式会社"様のホームページの内容を参考にさせていただきました。空間ファイル、GISについてより詳しく知りたい方は、こちらが参考になるかと思います。

また、実際に空間ファイルを使ってみたい方は、国土交通省がオープンソースとして公開しているデータが多数ございますので、興味のある方はぜひ見に行ってみてください。

いいなと思ったら応援しよう!