PowerBIで地理的解析（2018まとめ編）

この記事は[Microsoft Power BI Advent Calendar 2018](https://qiita.com/advent-calendar/2018/powerbi)に参加しています。

# Power BI で地理的解析の続編
Power BIによる地図を使った表現について以下のシリーズを2016年末に書いていましたが、それの続編として、それから進化した点などを主に追ってみたいと思います。2年も間が空いてごめんなさい。
[Power BI で地理的解析（基礎編）](https://qiita.com/Masutani/items/d91361db4d59d6721d09)
[Power BI で地理的解析（応用編１）](https://qiita.com/Masutani/items/34cad3287fba9ba44ff4)
[Power BI で地理的解析（応用編２）](https://qiita.com/Masutani/items/513ed61afbf0f316c936)

地図表現はPowerBIの中では比較的おまけ的な存在で、他のヴィジュアルではできることができなかったり、動作が遅かったり、表示するデータ数が限られていたりと、使用するのを敬遠してしまいそうな事もありました。
2年間で少しずつ改善して、今では、他のヴィジュアルと同様のドリルダウン機能や、相互作用が用意されたり、各社のサービスの強みを活かした本格GIS顔負けの機能まで登場して、いよいよ、「PowerBI　1ライセンスあれば後は何もいらない」の状況になってきました。

# あれから何が進化した？

非常にラフにみると、以下などが大きなトピックかと思います。

* 標準マップ（Bing）の性能が大幅にアップ
* ArcGIS Onlineが統合された
* Mapbox Visualがマーケットに登場

他にもCustom Visualに面白いマップ系が登場していますが、汎用的に使えそうなのはこの３つなので、これらの２０１７－２０１８年に行われたリリース、アップデートをおさらいします。

## 標準マップ(Bing maps)

#### 2017年6月
[Bing maps improvements](https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-june-feature-summary/#maps)
##### マップスタイル対応
このアップデートで以下のような衛星画像テーマが設定できるようになりました。
<img width="1024" alt="ファイル名" src="https://qiita-image-store.s3.amazonaws.com/0/146939/710a01a7-ce66-9e1e-ef68-1553fa5dc520.png">
##### Bing V8対応
また、この月にBing mapsのコントロールが[V8](https://blogs.bing.com/maps/April-2016/Announcing-Bing-Maps-V8-control-for-the-Web)にアップデートされました。HTML5 canvasを利用した高いパフォーマンスのレンダリングサポートや付加機能が導入されました。クラスタリングビューやヒートマップなどがコントロールベースで用意されていますが、PowerBIのヴィジュアルにはその機能は使われていないようです。もったいないですね。
##### ドリルダウンの改善
また、他のビジュアルと同じように、地理的要素についても、階層が用意されました。ドリルダウンが容易に行えるだけでなく、階層関係を定義することで、geocodingが適切に行えるようになり（北海道の広島とかにならないように）ます。

<img width="1024" alt="ファイル名" src="https://qiita-image-store.s3.amazonaws.com/0/146939/7af4afba-07ab-3792-1c59-049e1521311d.png">
#### 2017年7月
[Custom visual updates](https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-july-feature-summary-2/)
こちらのアップデートで、いくつかの重要なMap系Visualがリリースされました。

##### [DRILLDOWN CHOROPLETH](https://appsource.microsoft.com/en-us/product/office/WA104381044?src=office&corrid=5a4e8469-d3db-4f52-82b6-65a9e9d7fb98&omexanonuid=1bb226dd-cd01-4356-b139-3345c031d483&referralurl=https%3a%2f%2fpowerbi.microsoft.com%2fen-us%2fblog%2fpower-bi-desktop-july-feature-summary-2%2f)
その名の通りドリルダウン可能なコロプレス図です。
<img width="1024" alt="ファイル名" src="https://qiita-image-store.s3.amazonaws.com/0/146939/ae9fbf95-ac0d-440e-e284-a3c90a9558db.png">

##### [DRILLDOWN CARTOGRAM](https://appsource.microsoft.com/en-us/product/office/WA104381045?src=office&corrid=2d59e0bb-f7f4-4ceb-bb7c-210dec8c4202&omexanonuid=3ece173c-1e09-41db-8acd-4a3677bd2324&referralurl=https%3a%2f%2fpowerbi.microsoft.com%2fen-us%2fblog%2fpower-bi-desktop-july-feature-summary-2%2f)
上記と同じもののシンボル表示の図です。
<img width="1024" alt="ファイル名" src="https://qiita-image-store.s3.amazonaws.com/0/146939/ed363b2d-b6a5-021b-5d12-48a2c317fadb.png">
#### 2018年2月

[Faster geocoding for Bing maps (web preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-february-2018-feature-summary/#geocoding)
6倍速いジオコーディングが行われるようになりました。Previewフィーチャーとして負荷を見ながら、少人数向けのリリースから始めるとのことです。


## ArcGISマップ


#### 2017年6月
[ArcGIS Maps for Power BI is now Generally Available on PowerBI.com](https://powerbi.microsoft.com/en-us/blog/arcgis-maps-for-powerbi-generally-available-in-powerbi-service/)
このタイミングでGAになりました。到達圏解析やセンサスデータの重畳表示などはGA前から搭載しています。
#### 2017年11月 
[Esri Plus Subscription for ArcGIS Maps for Power BI is now available](https://powerbi.microsoft.com/en-us/blog/esri-plus-subscription-for-arcgis-maps-for-power-bi-is-now-available/)
しばらくアップデートらしきものが無かったArcGIS Mapsですが、Ignite 2017で発表されたESRI Plusというサブスクリプションサービスはかなり意欲的なアップデートです。

PLUS SUBSCRIPTIONは、月額5ドルのサブスクリプションサービスで、拡張機能をArcGIS Maps内で利用できるようになります。多数の機能リクエストから採用された以下の機能が利用可能です。
Visual中の以下のようなSign Up/In コントロールからアクセス可能です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/c4eed6cc-bd23-91c9-b018-e113e6e6c94c.png)

##### ESRI PLUS - 追加のベースマップ
以下のような地形図などの8つの追加マップが利用可能になります。地形を見ないとわからないような事象を把握するには重要ですね。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/197d1cab-5f4f-e79f-cd61-4ab84d3c9433.png)

##### ESRI PLUS - world demographics
これまでもUSに関する統計データを重畳することができましたが、今回あらたに全世界をカバーする統計データが追加されました。人口構成、世帯収入、消費、人種など様々な統計をもとに、自分のデータと比較したりできます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/fce6df1e-9fda-5502-bba5-944db3ea36f6.png)

##### ESRI PLUS - Reference layer
標準ではUSの限られた人口統計主題図などしか無かったのですが、PLUSでは各国の特殊な境界線や地域などが提供されています。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/be7f0f88-72c7-49a6-9838-0cbef41d6fae.png)
変わり種としては以下のようなHexabinという六角形ビンのメッシュなども用意されていますのでより凝った集計などもできるようになるようです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/37569f94-fbeb-d39d-8082-d55e78c52bd2.png)

#### 2018年5月
[Esri ArcGIS Online and Plus subscription organizational purchase are now available for ArcGIS Maps for Power BI](https://powerbi.microsoft.com/en-us/blog/esri-arcgis-online-and-plus-organizational-purchase-now-available-for-arcgis-maps-for-power-bi/)
ESRI社が提供するArcGISのオンラインサービスの組織購入が可能になりました。一人一つのライセンスだったものが、ArcGIS側ですでに組織ライセンス購入があれば利用可能になるようです。

##### Power BIからArcGIS Onlineにサインイン
これを実現するためにESRI社のクラウドサービスであるArcGIS Onlineにサインインする必要があります。以下のように、PowerBIからArcGIS Onlineへ直接サインインするボタンが設置されました。これにより既存のArcGIS OnlineユーザはESRI PLUSなどのサービスを透過的に利用することが可能です。私は有償のArcGIS Onlineサービスに入っているため（？）、ログインするだけでESRI Plusの特典を受けることができました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/77d4d322-0d72-55b4-5961-233d7e8de147.png)

##### ArcGIS Online上のコンテンツの表示
また、ArcGIS Onlineにログインしたことにより、クラウド上の個人、組織のカスタムマップなどをそのままPowerBIでも表示可能になります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/479829f9-728e-8bfe-ae73-3a5c4e2c24db.png)

#### 2018年10月
[Performance improvements for ArcGIS Maps for Power BI](https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-october-2018-feature-summary/)

このアップデートで、ArcGIS Mapsが高速化されました、５０％程度速度が向上するようです。また、ポイントの表示などがこれまでの制限から30,000 points、15,000 areaまでとかなり拡張されました。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/5932dccd-be15-42e8-84d5-e26c6b9e77b5.png)

#### 2018年11月
[ArcGIS Maps for Power BI now available in Preview in the Power BI service](https://powerbi.microsoft.com/en-us/blog/arcgis-maps-for-powerbi-available-in-powerbi-service/)
[ESRI - ArcGIS Maps for Power BI](https://www.esri.com/en-us/arcgis/products/arcgis-maps-for-power-bi/overview)
これまで、残念なことにArcGISはService側では使えなかったのですが、このタイミングからpreview利用可能になりました。

#### 2018年12月
[ArcGIS Maps for Power BI updates](https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-december-2018-feature-summary/)

##### Find Similar tool
ArcGISビジュアルがいくらGISと名乗っていても、複雑なGISの要件のうちBI的な、フィルタリング中心のインタラクションしか使えませんでした。到達圏解析などで多少の本格GISの機能は使えましたが、そもそもある地点を起点にした解析は難しいところがありました。
ある点から近くにあるデータを取ろうとしても手動でやるしかありませんでしたが、Find Similarを使えばより細かい指定で類似のデータを発見することが可能です。
以下では、Uberの乗車履歴データから、1点を選択し、そこから車両番号と緯度が近いものを選択しています。結果的に同じ車両の近くのログが選択できていますが、このような類の地理的相互関係を利用した処理がBIツールでできるのは目から鱗ではないでしょうか？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/ad268af9-c8e6-ff40-01e1-fa6de9ee5d41.png)

## Mapbox Visual
標準マップやESRI ArcGISに加えて、Mapboxのカスタムヴィジュアルが導入されました。まだ一カスタムビジュアルですが、Webやモバイルアプリなど各所で利用されている強力かつ軽快な地図サービスであるため、今後の発展が期待されます。

#### 2018年3月
[Mapbox Custom Visual](https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-march-2018-feature-summary/#mapbox)

このタイミングでPreviewリリースされました。

##### 複数のシンボル
ArcGIS並みにクラスタ、ヒートマップなどが最初から設定できます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/1fe41b41-f6ed-831d-9994-06321e345989.png)

##### ベクトルマップ
ベクタ表示により、ラスターのものよりも速く、60fpsで表示できます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/29262f51-0d13-5330-8c56-f6b7b6c24863.png)

##### カスタムマップのデザインツール
Mapboxは標準の地図から配色を変更したり、ブランドカラーに合わせた展開ができることで有名ですが、PowerBI向けVisualでもその一端が体験できます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/66808a3d-a805-ab4d-3595-c9ef8817064c.png)

##### 任意のマップデータのアップロード
シェイプファイルやkmlなどのポリゴンデータなどをアップロードして追加することが可能です。アップロードするにはMapboxの[Mapbox Studio](https://www.mapbox.com/help/uploads/)などを使って編集したものを送る必要があるようです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/e49f82e6-8722-4146-0a09-ba7855b69cc9.png)
以下は以前自分が作ったガミラススタイル（！）のスタイルを適用したものです。スタイルになっていれば何でもいいので、ベースマップにするだけなら自由度は無限大です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/6c9ab6f5-aced-8a14-ebc1-17fcb40ea9ac.png)
元々３Dマップに対応しているため、以下のようにビルのポリゴンを表示させることも可能です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/bd3261da-78ed-094f-945f-63d7513228ca.png)
##### クラスタ対応
クラスタの表示も可能です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/ceba6d7e-271c-d76b-0718-810ab0eb6b4a.png)
[Mapbox - Create data visualizations with the Mapbox Visual for Power BI](https://www.mapbox.com/help/power-bi/)

#### 2018年7月
[Mapbox custom visual generally available](https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-july-2018-feature-summary/)
GAがこのタイミングでした。

コロプレス図対応、相互フィルタ、ドリルダウン、Lasso Select、ブラウザサポート（IE11, Edge, and Safari）などのアップデートがこの時行われました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/f6b2459e-746a-0636-a46c-82455dadbf42.png)

#### 2018年10月
[Mapbox updates – 3D extrusion on fill maps & more](https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-october-2018-feature-summary/)

##### 高さ表現
何とポリゴンに対して高さを表現することができます。Sizeバケットにあてはめたい値を入れて、高さに指定するだけです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/7943eb5e-32ba-5870-5a23-945822dbf4ff.png)

##### 選択したポリゴンへのオートズーム
これは、フィルタではなくて他のデータでマウスオーバーしたポリゴンの選択の反映です。かなりダイナミックな表現が可能です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/dec615a3-7d00-4453-a0e7-6f398e29fe53.png)

##### 検索窓
意外と便利な指定した場所へ飛ぶための地名による検索窓がつきました。

# まとめ

## 3つの違いを並べてみる
3つの地図のどれを使うかは大きく悩むところです。現状どれか一つで済むという事は無くて、場合によって使い分ける必要がありそうです。

### ダークマップ
ダークテーマが好きなのですが、以下のように各マップで少しずつ違うようです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/7ef45e54-ef70-f778-cb21-d400e272e8f7.png)
### 前回までの限界
5000点以上は表示できないとのことでしたが、今回その限界までの結果です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/5308afb1-a634-a29a-d5de-486cf6d0c4d6.png)
### どこまで表示できる？
50000点ではどうでしょうか？何と標準マップも結構頑張っています。ArcGISは制限が拡張されましたが30000点までなので表示しきれていません。Mapboxは立派ですね。それぞれ最小のサークルサイズにしていますが、これが限界です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/a69d2438-da74-49ae-4b1f-426f810ed35d.png)
### ヒートマップ
標準マップはリタイヤです。ArcGISもMapboxもかなりいろいろなチューニングが可能です。Mapboxのヒートマップはレンダリングが非常に軽快ですが、スクロールやズームによって色が大きくずれたりするのが気になりました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/dfa3483b-0c68-8546-508a-4d62d4f4ba5f.png)

### コロプレスマップ
もう少し調整のしようはあるのですが、以下のように最低限のレンダリングはどれも可能です。ただカラーマップがうまくいじれるのは、専用GUIがあるArcGISが一番のようでした。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/146939/514655e3-23a8-5050-9aec-ab3af1785d67.png)

## 使い分けについて考える

簡易で場所さえわかれば良いというときは標準マップが一番です。指定も容易ですし、Webでの公開も問題ありません。表現が必要な場合は他にゆずるとして、軽快にインタラクションを行いたい場合はまだまだ標準マップに分がある場合が多いでしょう。
スタティックな表現に凝りたい場合はArcGISが良いと思います。Mapboxも表現が豊かですが、細かい点で一枚物のオーセンティックな地図を作る際はまだArcGISの方が良い場合が多いです。
ダイナミックで美しい表現の地図が欲しい場合はMapboxが良いでしょう。レンダリングのパフォーマンスが高く、地図の見た目を標準のカードからチューニングできるので、軽快に編集が可能です。

また、何か発見したら、しばらくこのページを更新しようと思います。