カテゴリー別アーカイブ: 6.地図連携

詳細な地図を表示する

詳細な地図を表示したい

Spotfireのマップチャートを使うと地図上にデータをプロットする事ができます。
この機能はOpenStreetMapというフリーの地図情報データをベースに
拡張したGeo AnalyticsというTIBCO社が運営するサービスを元に動作します。

ただ、このGeo Analyticsですが元のOpenStreetMapと比較すると
地図の情報量が少なく、詳細な情報を確認したい場合は少し不便です。

TMSレイヤ

Spotfire 7.6からTMSを使用したレイヤを追加する事ができるようになりました。
TMSとはWebを通して地図情報を配信する方式ですが、OpenStreetMapをこちらの機能に対応していますので、レイヤとして追加する事ができます。

追加方法

マップチャートのプロパティから
「レイヤ」‐>「追加」を選択し、
「マップレイヤ」から「TMSレイヤ」を選択します。
1

TMSレイヤのURLを入力する画面が表示されるので

http://a.tile.openstreetmap.org/{z}/{x}/{y}.png

と入力し「更新」ボタンを押してください。
2

これでレイヤが追加されました。
3

OpenStreetMapとの比較

比較してみましょう。

こちらが OpenStreetMapで表示した秋葉原周辺の地図(と人の集まり)です。

4

こちらが元のマップです。だいぶスカスカですね。

5

OpenStreetMapを初期設定にしたい

いちいちマップチャートを開くたびに設定をするのは面倒なので、
初期設定をOpenStreetMapにする方法をご紹介します。

「ツール」→「オプション」を選択します。
6

オプション画面が開きますので、「マップチャート」から「デフォルトのレイヤ」を設定します。
「追加」から「マップレイヤ」で「TMSレイヤ」を選択し、

7

後は先ほどと同じです。

著作権テキストもライセンス表記に合わせて追加しておきましょう。
10

イメージ上へのプロット

SpotfireのマップチャートはオープンストリートマップやShapeファイルを元にデータを可視化することができますが、自分で作成したイメージ上にデータを乗せることも可能です。

これにより、製品の不良発生個所や、製造工程のイメージ図上に稼働のデータを重ねるなど、より直感的に分かりやすいグラフを作成することができます。

下は野球のグランドに選手の情報をマッピングした例です。
1

続きを読む イメージ上へのプロット

Open Street Map連携

Open Street Map

実際にOpen Street Map上へのデータをプロットしてみましょう。
こちらはX座標とY座標を持っているデータがあればマッピング可能です。

サンプルデータをこちらに用意しました。
mapPlot.zipをダウンロードして、解凍してください。
convinience.txt と preflatlon.txtという2つのファイルが解凍されます。
1

本来であれば、このようなデータをいかに作るかにも言及すべきなのですが、
趣旨から外れるので割愛します。

データの取り込み

まずはconvinience.txtをSpotfireに取り込んでください。
テーブルを確認すると6つのカラムがあり、
最後の2つが緯度と経度です。
2

このデータで地図上へマッピングが可能ですので早速作成しましょう。

マップチャート作成

新規のマップチャートを作成してください。
3

日本地図が表示され、座標にコンビニがプロットされているのが確認できます。
4

地図の操作

地図は操作する事が可能です。
最初は全国が表示されているので、東京近辺にフォーカスしてみたいと思います。

6
地図は右のアイコンで操作する事ができ、
上から、地図の移動、拡大縮小、操作モードの切り替えになっています。

操作モードは、地図上のプロットを操作するか、地図自体を操作するか、切り替え可能です。

「地図移動」を選択時は左クリックで地図を動かすことができ、
「データのマーク」選択時は左クリックでデータをマークする事ができます。

5

ついでに色の基準をカテゴリに変更して、フランチャイズ毎に色を分けましょう。

X軸、Y軸の設定方法

データと地図のマッピング条件を確認します。
マップチャートの上で右クリックしてプロパティ画面を開いてください。

設定画面が表示されます。
以前マップチャートはレイヤと呼ばれる描画単位が重なって構成されている。
と説明しましたが「レイヤ」タブでそれが確認できます。

この場合はconvinienceというマーカーレイヤと、
マップレイヤと呼ばれるマップレイヤの2つで構成されています。
7

レイヤの確認

試しにマップレイヤのチェックを外してみると、地図が見えなくなり
コンビニだけのプロットになります。

レイヤを使用する事で、一つのグラフに色々な情報を重ねる事ができるようになっています。
8

レイヤの設定

データのプロット設定ですが、convinienceレイヤ内にあります。
convinienceを選択して「設定」ボタンを押してください。
レイヤプロパティが表示されるので、その中の「位置指定」タブをクリックします。

一番下にある「座標カラム」にマッピング条件が指定されています。
Xカラム(経度)には「Lon」Yカラム(緯度)には「Lat」が指定されています。
チャート作成時にそれらしいカラムを自動的にマッピングしてくれています。
9

自動的に設定されなかった場合は、この「位置指定」画面で
カラムを指定する必要があります。

都道府県単位でのマッピング

コンビニ店舗単位でのプロットはできました。

これで一応満足ですが、上司の要望が強く
「都道府県別にコンビニのシェアを出してくれ」
などと言い出すことが多々あります。

データ内に都道府県は含まれているので、このままマッピング可能かと
思いますが、都道府県別の緯度・経度は無いので無理です。

どうすればよいのかというと、都道府県の緯度・経度をつけてあげれば良いのです。
先ほど解凍したデータの中にpreflatlon.txtファイルがあり、
こちらを使用します。

こちらを参照してコンビニデータに、都道府県をキーにしてカラムを追加して下さい。
10

XCenter,YCenterカラムが追加されました。
これでプロットできそうです。

表示単位の変更

それでは、先ほどの座標カラムの設定を
店舗別から都道府県別に変更しましょう。
11

かなりそれっぽくなってきました。
しかし、よく見るとプロットは都道府県単位ですが、一つの都道府県に複数のコンビニが積み重なって表示されています。

円グラフ設定

表示を円グラフに切り替える必要がありますので、
マーカーレイヤ設定を開いて「形」タブ内で「円グラフ」を選択します。
これで表示が散布図から円グラフに変わります。

ついでに「扇型サイズの基準」を(ローの数)に変更し、
ラベルに表示する・「扇形の割合」のチェックを外します。
※見た目が気にならない人は外す必要ありません。
12

後はサイズを適当に調整し、都道府県単位で
マッピングされたコンビニのシェアが作成できます。
13

この様にデータ内にXとYの座標が無くても、座標マスタを作成すればマッピング可能です。
自社の営業所など自分でマッピングを変更する必要がある場合は、
preflatlon.txtのようなファイルを作成すれば、地図上に表示することができます。

これで上司が更にわがままを言ってきた場合も対応できますね。

地図との連携

地図連携

最近では地図情報との連携した資料が一般的になりました。
地図と連携する事で、データをより直感的に理解できるようになり、
全体や地域別の差異などが把握しやすくなります。

「地図」というもの自体、この世界を抽象化した概念的な物ですので、
同様に、抽象化されたデータと重ねて表現する事とは非常に相性がいいです。
Spotfireも地図情報との連携することにより様々なグラフが作成できます。

Spotfireの地図機能

基本的な考え方として「レイヤ」という表示単位を重ね合わせ、
一枚のグラフを作成していきます。
例えば

「地図レイヤ」+「店舗プロットレイヤ」
「地図レイヤ」+「人口レイヤ」

等の組み合わせができますが、レイヤの数に制限は無いので

「地図レイヤ」+「店舗プロットレイヤ」+「人口レイヤ」

のようなグラフも作成可能です。

「地図レイヤ」に当たる部分は、一般的な地図だけでなく
自分で保有している画像データをベースにすることも可能ですので、
工場のレイアウト図や、行程イメージのようなものがあれば
その上にプロットして可視化することも可能です。

Spotfireのマップチャート作成例
1

地図データ

Open Street Map

マップチャートでは規定でOpen Street Mapが使用されます。
これは道路情報などの地理情報データを誰でも利用できる目的で作成されている、フリーの地図情報です。座標データがあれば即座にマッピングが可能です。
2

Shapeファイル

日本ESRI社が提唱しているベクトル形式の業界標準フォーマットです。
Spotfireで使用する限りにおいて都道府県、市町村レベルの日本地図、国レベルの世界地図は配布されています。
座標データおよび、市町村コードなどによりデータとマッピングできます。
3

最新版のデータや、自社の仕様に合わせたShapeファイルが必要な場合は
日本ESRI社に依頼して作成する必要があります。

画像ファイル

自分で作成したBMPやJPGファイルなどを地図のベースとして使用することが可能です。
この場合は画像内で座標情報を定義し、それに対応する座標データでマッピングします。
4
作成方法はこちらのページをご覧ください。

地図上とデータのマッピング

Spotfireのマップチャートでは主に2つの方法で
データをマッピングすることが可能です。

座標によるマッピング

地域データでしたら緯度・経度でマッピングします。
画像データの場合は、画像に対応するX、Yを調整する必要があります。
5

リレーションによるマッピング

地図データとデータ間でキーを指定してリレーションを設定します。
Shapeファイルでしたら、都道府県コード
6

座標マッピングとリレーションマッピングの複合

当初に書いた通りマップチャートはレイヤ構成を取っているため、
複数レイヤを組み合わせることが可能です。

座標マッピング+座標マッピングで「顧客マップ」+「店舗マップ」
も可能ですし、
座標マッピング+リレーションマッピングにより、
人口を背景色に設定した地図上に、店舗データをプロットする事も可能です。

人口動態のレイヤ上に店舗データをプロットした例
7