2018.03.09

Einstein Analytics で日本地図を作ってみた

はじめましてこんにちは。お久しぶりです半年ぶり。テラスカイの渕上です。

あんまりブログの執筆頻度が上がるとドキドキ(ヒリヒリ)しますねーw

このブログを読んでいただく方に、少しでもお役に立つことが伝えれれば幸いです。

さて、

標題の通りEinstein Analyticsで、日本地図を表示させるグラフを作ってみたので、その方法を紹介したいと思います。

Einstein Analytics使ってます??

なかなか使う機会が無い方もいらっしゃるかと思いますが、下記からEinstein Analyticsが利用可能なDeveloper環境を取得することが出来ますので是非触ってみてください。

現時点(Spring ‘18時点)のEinstein Analyticsで選べる地図グラフには日本地図が無い為、今回の様に自分で作成する必要がありますが、近い将来、デフォルトで日本地図が選択可能になるかもしれません。

ですが、「カスタム地図グラフ」を作成することにより、特定の地域だけだとか市区町村レベルだとか、ユーザの要望に合った地図グラフが利用可能になります(その地図のGeoJSONは必要ですが)ので、覚えておいて損はないかもしれません。

「カスタム地図グラフ」についてはこちらのヘルプにも記載有りますので、併せてご参照ください。  

大まかな作業としてはですね、以下の2つだけですね。興味ある方はDeveloper環境で試してみてください。

  • 都道府県別の日本地図のGeoJSONの準備
  • カスタム地図の登録

都道府県別の日本地図のGeoJSONの準備

まずは元になる日本地図を用意する必要があります。

今回は、こちらのファイル

地球地図日本( http://www.gsi.go.jp/kankyochiri/gm_jpn.html )に掲載されているShapefileを変換し、ジオメトリー以外のデータとして、都道府県名(日本語と英語表記)とID(prefectures.csvで使用しているもの)を付加したファイルで、都道府県ごとに境がある日本地図。

を使わせていただきます。

このGeoJSONファイルは、12.4 MBあります。 先のヘルプにもありますが、「サポートされる最大ファイルサイズは 10 MB 」になりますので、ファイルを単純化する必要があります。 単純化は下記のサイトを利用させていただきました。

「mapshaper」に遷移後、下の「Quick import」エリアに、先にダウンロードした「japan.geojson」ファイルをDropします。

次に右上の「simplify」をクリックし、デフォルトの設定のまま「Apply」をクリックします。

上部に「Settings」が表示されますので精度を調整します。用途に合わせて調整頂ければと思いますが、今回は「1.0%」でやってみます。

最後に右上の「Export」をクリックし、デフォルトのまま「Export」をクリックし、任意の場所に保存します。

すっかり軽くなりましたー!

あとはですね、この出来上がったファイルを少し修正する必要があります。

地図にデータを正しく重ねるには、GeoJSONのプロパティの1つに、一意に一致する値を持つ列がデータに含まれる必要があるからです。

{
    "type":"Feature",
    "geometry":{
        "type":"Polygon",
        "coordinates":[[[134.867095947266,・・・
    },
    "properties":{
        "nam":"Kyoto Fu",
        "nam_ja":"京都府",
        "id":26
    }
},
japan.json(一部抜粋)

今回作成したJOSNは上記のような構造になっています。

"id" プロパティは、"properties"と同レベルでなく子になっているため、"properties"の子の"name"がデータの列と一致するキーになります。メモ帳等で以下の置換を行い、保存してください。

  • 検索する文字列:nam_ja
  • 置換後の文字列:name

これでGeoJSONの準備は完了です!

カスタム地図の登録

--------------------------------------------------------------------------------
※※2019年3月時点で、カスタム地図の登録方法が変わってたので、簡単に補足します※※
前提:要「Analytics のカスタム地図を管理」権限
対象の地図のコンポーネントのフォーマッティングの「対応付け種別」の隣に、「+」が表示されます。こちらをクリックすると、「新規地図」画面が表示されますので、ここからGeoJSONを登録してください。

※※追記ここまで※※
--------------------------------------------------------------------------------

ここからはもうヘルプの通りなんで割愛‥てのもなんなので、ちょとだけ補足しつつヘルプを踏襲してみます。

1.Salesforce 組織にログインしているときに、組織のベース URL に/analytics/wave/web/custommap.apexp を追加して形成される URL に移動します。 たとえば、組織のベース URL が「https://na30.salesforce.com」の場合、https://na30.salesforce.com/analytics/wave/web/custommap.apexp に移動します。

2.[新規(New)] をクリックします。(別タブで)新しいカスタム地図の挿入ウィンドウが表示されます。このウィンドウには、GeoJSON のパネルと地図自体のパネルの 2 つのパネルがあります。

3.GeoJSON セクション(上段のセクション)で必須項目 (赤色で表示) に入力し、読み込む GeoJSON ファイル(さっき作ったやつ)を選択します。GeoJSON 名と表示ラベルは、カスタム地図の管理画面で使用されます。

4.[挿入(Insert)] をクリックし、(ページ下部の)[結果(Result)] セクションで確認メッセージ(Successfully inserted new GeoJson:とId)を探します(探す?)

5.地図セクション(下段のセクション)で必須項目 (赤色で表示) に入力します。地図名と表示ラベルは、Analytics で使用されます。

6.アップロードする地理情報データの種類に基づいて射影(Projection)を選択し(「Mercator(メルカトル図法)」で良いかと)、作成した GeoJSON 定義を選択します。

(Bounding Box(境界ボックス)は地図の端となる緯度経度(相対値でなく絶対値)を設定することにより、表示範囲を調整することが出来ます。トリミングみたいな感じですね。)

7.[地図を挿入(Insert Map)] をクリックし、[結果(Result)] セクションで確認メッセージ(Successfully inserted new Map:とId)を探します。

8.地図を表示するには、エクスプローラで、地図グラフを選択し、[地図の種類] をクリックします。 (Analytics Studioからダッシュボードを表示し、グラフにて地図グラフ(地図・バブルマップ・ジオマップのいずれか)を選択し、「地図」セクションの「対応付け種別」の選択肢の下部に、作成した地図があれば成功です。的な?)

という感じで、踏襲という名のコピペになりましたが、以下のキャプチャの様に、カスタム地図を選択できるようになりましたでしょうか?

地図グラフの場合

ジオマップグラフの場合

あと、

一応、以下にサンプルとして適当なCSVを置きますので、良ければあくまで確認用に利用ください。

なお、今回執筆にあたり、「ジオマップ」を初めて触りましたが、これ面白そうですね。色んな用途がある気がしますねー!

それでは、またー。

39 件
     
  • banner
  • banner

関連する記事