[Tips]自分で作成した空間データをTableauで表示させる[DATA Saber挑戦 #Week4]
DATA Saber BridgeプロジェクトにApprenticeとして参加しています。
週一note更新目指します。
はじめに
以前Tableau Publicに投稿したViz「ズワイガニの漁獲量推移」で、右上の海域マップのデータは自分で作成しました。その作成方法をご紹介します。
大まかな手順
QGISのインストール
QGISでレイヤー(ポリゴンデータ)を作成
QGISからシェープファイルやGeoJSONファイルなど、空間データ形式でエクスポート
TableauにシェープファイルやGeoJSONファイルをインポート
使用したソフトウェア
Tableau Desktop 2022.3(Public Editionでも可)
QGIS Desktop 3.16.8
※OSSで、無料です。
注意事項
私もQGISのプロではないので、より効率的に空間データを作成する方法もあるかと思います。
1.QGISのインストール
QGISのインストーラーのダウンロードは、下記公式サイトから。
インストール手順については、こちらの記事が参考になります。
詳細は割愛。
2.QGISでレイヤー(ポリゴンデータ)を作成
ひとまずQGIS Desktopを起動します。
背景の地図を表示させる
ウィンドウ左側の「ブラウザ」内の「XYZ Tiles」から「OpenStreetMap」を選択します。
こうすることで、ウィンドウ左下の「レイヤ」内に「OpenStreetMap」レイヤが生成され、OpenStreetMapを画面に表示できます。
背景に地図がないと作業しにくいので、基本は表示させたまま作業を進めます。
レイヤーを作成する
ポリゴンデータを作成するためのレイヤを作成します。
ウィンドウ上部のメニューツールバー内の レイヤ(L)>レイヤを作成>新規シェープファイルレイヤ を選択し、新規レイヤを作成します。
レイヤの設定画面が出てくるので、以下のように設定していきます。
ファイル名:レイヤをファイルとして保存する必要があるので、保存場所を指定します。
ファイルの文字コード:UTF-8にしておけば無難。
ジオメトリタイプ:今回はポリゴン(いわゆる多角形)を作成するので、「ポリゴン(Polygon)」を指定します。
座標系(EPSG:4326 - WGS84のようなもの):ひとまず「EPSG:4326 - WGS84」にしておきます。
※座標系とは何ぞや?という方は以下の記事をどうぞ。https://note.com/rescuenow_hr/n/n46ac5c505a5a
空間データには、ポリゴンデータ(ジオメトリ)だけでなく、他のフィールド(列)も作成することができます。
ここで名称などを空間データに設定しておけば、Tableauでデータを利用する際に扱いやすくなります。
フィールドが作成出来たら、ウィンドウ下部のOKを選択します。
ウィンドウ左下の「レイヤ」内に、先ほど作成したレイヤが表示されていれば成功です。
ポリゴンを作成する
ここからは実際にポリゴンを作成していきます。
ウィンドウ上部のツールバーの中の「編集モード切替」(黄色いペンのマーク)を選択し、編集モードに入ります。
編集モードに入ることで、ポリゴンを作成できるようになります。
メニューツールバーの 編集(E)>長方形を追加>領域範囲の長方形を追加(A) を選択します。
すると、地図のエリア内で長方形を作成できるようになります。
範囲を指定すると、属性情報を入力できるウィンドウが出ます。
ここで、先ほどレイヤ作成時に追加したフィールド(列)の値を設定できます。
これで、先ほど範囲指定した長方形がポリゴンとして作成できました。
先ほど作成した長方形の頂点をいじりたい場合、ツールバー内の「頂点ツール」を選択します。
頂点ツールを使うことで、頂点の場所を変える、頂点を増やすといったことが可能となります。
さらに、ウィンドウ左下に表示される「頂点エディタ」では、ポリゴンの頂点を数値(緯度・経度)指定することができます。
同様の手順で、同一レイヤ内に他のポリゴンデータも作成することができます。
3.QGISからシェープファイルやGeoJSONファイルなど、空間データ形式でエクスポート
シェープファイルの保存
編集モードを抜けると、シェープファイルを保存することができます。
(参考)GeoJSON形式で保存する場合は
シェープファイル以外の形式で空間データをエクスポートすることもできます。
これで、QGISでの空間データ作成は完了です。
4.TableauにシェープファイルやGeoJSONファイルをインポート
QGISで作成したシェープファイル(.shp)やGeoJSONファイル(.geojson)をTableauで読み込みます。
「ジオメトリ」をダブルクリックすれば、自動でマップが表示されます。
これで、自身で作成した空間データをTableauで読み込み、表示させることができるようになりました。
補足情報(Tips)
1.空間データと他データソースを結合することができる
空間データも他のデータソースと同様に扱うことができるので、他のマスタ情報と結合したりすることも可能です。
2.マップに日本列島のみ表示させる
大陸の海岸線はいらない、日本列島だけ表示させたい、という場合もあるかと思います。そんな時に使えるTipsです。
1.計算フィールドを作成
2.「日本」フィールドの地理的役割を「国/地域」に設定
3.「日本」フィールドをマークレイヤーに設定
4.見た目の調整
地図の非表示: マップ(M)>バックグラウンド レイヤー(Y) でバックグラウンドマップレイヤ―のチェックをすべて外す
ズームなどの不許可:マップ(M)>地図のオプション(O)で各チェックを外す
日本列島の選択不許可:マークシェルフ内の「日本」の右側の「▼」をクリックし、「選択項目を無効にする」にチェックを入れる
さいごに
地図を使ったVizを作ろうにも空間データがなく、どうしようかと思いましたが、無料のGISソフトを使って解決させることができました。
もし自分でポリゴンデータを作りたい方がいらっしゃいましたら、参考にしていただければと思います。
この記事が気に入ったらサポートをしてみませんか?