はじめに
前回に続いて、Power BIの一機能である地理的解析の機能を紹介します。今回は応用編で、少し凝ったマッピングを行う場合に活用できる内容になっています。
前回、紹介したPowerBIの標準ビジュアルである「マップ」「塗り分け地図」では対応できないような分析タスクの場合に、他のビジュアルが用意されています。今回紹介するのは、以下の Power BIのプレビュー機能として用意されているものですが、使ってみたところ、十分実用に耐えうるものとなっていました。
- マップのシェイプ(プレビュー)
- ArcGIS Maps for PowerBI(プレビュー)
3.マップのシェイプ
日本語だと名前が変ですが、MSの解説では「図形マップ」などとなっている表記も見られます。英語ではそのまま"Shape Map"ですので、形状を強調したマップ表現というくらいに思っていると良いと思います。
形状を洗わずものとして、基礎編で紹介した都道府県マップのようなものもありますが、こちらでは地物の形状などを正確に表した上でコロプレス図を描くことを可能にしています。
このビジュアルを使うには、MSのページにあるように、オプション画面からマップのシェイプ機能をオンにする必要があります。
また、使い方としては、まずマップのシェイプビジュアルを選択します。
そして、対応するデータソースをフィールドに読み込みます。場所バケット(視覚化ペインに存在する入力ボックス)にフィールドをドラッグアンドドロップします。
これで、デフォルトでは米国の州に関するコロプレス図が出現します。もしカラムに州を表す文字列が入っていれば、ここでコロプレス図が作成できます。
カスタムマップの表示
さて、マップのシェイプでは米国に加えて、カナダ、英国、ドイツ、フランス、イタリア、オランダ、オーストリア、アイルランド、オーストラリア、ブラジルの州の白地図が用意されていますが、日本などその他の地域のマップはありません。
そこで、このマップのシェイプでは、カスタムマップを取り込む機能があります。
カスタムマップを使うには、視覚化ペインにて、シェイプセクションから「マップの追加」を選びます。
さて、カスタムマップとしては、標準で用意されていないシェイプの他の行政区画の他、各社独自の管理区画(JRの管区とか)、メッシュなど人工的な境界やフロアマップ、レイアウト図など、図形で表せるものはほぼ何でも活用できます。
ここでは例として、日本の地図、しかも廃藩置県前の藩地図を使ってみましょう。結果は以下です。対応するテーブルデータがなかったので、一部の藩しか色付けしていませんが、対応する藩の名称フィールドがあれば、他のデータ同様マッピングが簡単に可能です。
カスタムマップの作り方
今回使った藩地図のソースは、ハーバード大のChina Historical GISサイトから入手しました。
ESRI社のShapeファイルとして、用意されていますので、ArcGISやQGISなどのGISツールで読み込んでみます。
PowerBIのカスタムマップはTopoJSONというGeoJSONの派生形式を使っています。残念ながらQGISなどでは、直接TopoJSONに変換できませので、shapeからTopoJSONに変換できるMapShaperなどのツールを利用します。
Tipsですが、日本語のレコードがあるとうまく読み込めないので、2バイト文字を一度削除して変換をかけるようにすると良いです。今回のデータもそのまま変換してもPowerBIで読み込みエラーになりましたが、日本語の地名があったので、英語の読みフィールドのみ残して読み込むと大丈夫でした。
これで、任意のシェイプに対するマッピングが可能になりました。これが行えると大抵の地図表現に対応できるようになりますね。
Power BI で地理的解析(基礎編)
Power BI で地理的解析(応用編1)
Power BI で地理的解析(応用編2)