日経BigData

今月のビジュアライゼーション

ホッピーの店の場所が一目瞭然で行きやすい! 地図とデータを用いて営業支援の武器を作った【無料公開記事】

2015.03.03大友翔一=慶應義塾大学システムデザイン・マネジメント研究科 研究員

 昨今、データを可視化し分かりやすく表現すること、すなわちデータビジュアライゼーションへの需要は増大している。一般的にビジュアライゼーションと言うと、プレゼンテーションや高度な経営判断が要求される場面、またはマスメディアなどの媒体が使用する文脈で語られることが多い。だが、実は日常的な業務にも大いに役に立つ。

 昨今、データを可視化し分かりやすく表現すること、すなわちデータビジュアライゼーションへの需要は増大している。日常的な業務にも大いに役に立つからだ。

 先日、偶然知り合ったホッピービバレッジの社員と対話する機会があり、営業担当者が一番苦労するのは店舗の巡回だと聞いた。例えば、ある日突然、配置換えで担当地区が変わると、新規に担当する場所の土地勘がないため、物理的に1日で巡回するのは不可能なスケジュールを作成しがち。この結果、トラブルを悪化させることが何度かあったというのだ。

 そこで、担当エリア内の店舗を地図上にマッピングして店舗の地理的な位置を確認し、さらにその上にいくつかのデータを重ね合わせて描画した新しい地図に基づいて、営業ルートを考えてはどうかと提案した。

 以前はこうした地図の作成や解析には多くの費用が必要だった。だが、近年ではオープンデータやオープンソースソフトウエアが普及しており、こうした地図の作成やデータの可視化は、個人でも可能になってきた。

 今回はその時に作成した地図を紹介する。基本的にはオープンデータと地理情報システムのソフト「QGIS」を使用し、地図は「OpenStreetMap」を用いた。

店名と住所のCSVファイルを作成

 神奈川県を例に作成してみよう。 まず初めに、ホッピービバレッジで公開されているホッピーの飲めるお店情報(関連サイト)を取得し、店名と住所の記載されたCSVファイルを作成する。この際に、後に行う処理のためにファイル名に漢字やひらがなを使用しないことに注意していただきたい。hoppy_kanagawa.csvとして保存した。

ジオコーディングをする

 この住所情報をもとに緯度経度の情報を追加する。住所情報を緯度経度に変換することを、ジオコーディングと言い、地図情報を扱う際には頻出するのでぜひ覚えておいて頂きたい。今回は、東京大学空間情報科学研究センターが提供する「CSVアドレスマッチングサービス」を用いてジオコーディングを行う。

対象範囲:神奈川県 街区レベル(経緯度・世界測地系)
住所を含むカラム番号: 2
入力ファイルの漢字コード:シフトJIS(保存した際の文字コード)
出力ファイルの漢字コード:シフトJIS(出力したい文字コード)
変換したいファイル名: hoppy_kanagawa.csv

 上記の内容を入力して、送信をクリックすると、ジオコーディングされた結果のCSVが返却される。 先ほどの店名と住所のデータに、いくつかのカラムが追加されていることが分かるかと思う。特に重要なのはD列とE列にある数値情報で、これがそれぞれ経度と緯度になる。

ホッピー取扱店を地図上に表示

 QGISを起動し、デリミティッドテキストファイルからレイヤを作成するをクリックし、以下のように入力する。

ファイル名:緯度経度付のcsvファイル
ファイル形式:CSV
エンコーディング:SJIS(保存した際の文字コード)
レコードオプション 無視するヘッダー行数:1
ジオメトリ定義:ポイント座標
Xフィールド:field_4
Yフィールド:filed_5

 OKをクリックすると空間参照システムを問われる。

 ここでは、WGS84(EPGS:4326)を選択し、OKをクリックすると以下のようにホッピー取扱店が地図上に表示される。

 次に、e-statからデータをダウンロードする(関連サイト

・Setp1 平成22年国勢調査(小地域)2010/10/01を選択する。
・Step2 年齢別(5歳階級、4区分)、男女人口別のデータにチェックを入れる。 統計表各種データダウンロードへをクリックする。
・Step3 都道府県は神奈川県を選択する。 すると、市区町村の名前が表示されるので、全てを選択して、検索をクリックする。
・Step4 ダウンロードするデータは、統計データと境界データに分かれる。

 統計データに関しては全てのデータをダウンロードする。

 境界データに関しては、あらかじめkanagawaというディレクトリを作成し、そのディレクトリ内に名称が世界測地系緯度経度・Shape形式のデータを全てダウンロードする。

神奈川県の境界データを作成

 境界データの下準備を先に行う。 境界データはh22kaxxxxx.shpというファイルが確認できる(xxxxxは5桁の数字が入っている)。QGISに全てのh22kaxxxxx.shpデータを追加する。

 このデータを結合して神奈川県の境界データを作成する。 コントロールパネルから[ベクタ]→[データマネジメントツール]→[複数のシェープファイルを1つに結合する]をクリックする。 結合する対象の.shpファイルが保存されているディレクトリにkanagawaを指定し、ファイル名にはkanagawa_mergeとする。

 先ほどのh22kaxxxxx.shpというデータを削除する。(xxxxxは5桁の数字が入っている)

 次に、国土数値情報から鉄道の情報を取得する(関連サイト)。

 ダウンロードしたファイルを解凍すると下記のようなファイル構成になっている。
・N02-13.xml
・N02-13_Station.dbf
・N02-13_Station.shp
・N02-13_Station.shx
・N02-13_RailroadSection.dbf
・N02-13_RailroadSection.shp
・N02-13_RailroadSection.shx
 

 これらのデータを追加する。StationとRailroadSectionには、それぞれ駅と線路の情報が入っている。QGIS上に駅と線路の情報を追加する。

 空間演算という処理を行い、神奈川県の領域だけ切り取る。

 そして、駅から500m県内のホッピー取扱店舗を抽出する。 まず、バッファという処理を行い、駅から500mの範囲を描画する。 コントロールパネルから[ベクタ]→[空間演算ツール]→[バッファ]をクリックし項目を記入する。

入力ベクタレイヤ:kanagawa_station
円を近似させる線分の数:5(多いほど円に近くなる)
バッファ距離:500
出力シェープファイル名:station_buffer

駅の近くにあるホッピー取扱店を表示

 次に、作成された駅を起点とするバッファ内にあるホッピー取扱店舗のみを抽出する。

 コントロールパネルから[ベクタ]→[空間演算ツール]→[交差]をクリックし項目を記入する。

入力ベクタレイヤ:hoppy_kanagawa
交差レイヤ:kanagawa_station
出力シェープファイル:in_buffer_area

画面内、黄色の点が駅から500m以内にあるホッピー取扱店舗である

少し拡大してみる

 これに、先ほどe-statから取得した人口のデータを重ねてみる。 人口のデータは - tblT000573Cxxxxx.txt(xxxxxは5桁の数字が入っている)形式で保存されている。これを全て結合する。 Cygwinの入ったWinodws、あるいはMac、Linuxユーザーであれば以下のコマンドでも可能である。

cat *.txt > jinko.csv

 作成したjinko.csvをQGISに読み込む。

ファイル名:jinko.csv
ファイル形式:CSV
無視するヘッダー行数:0(最初のレコードはフィールド名を保持しているにチェック)
ジオメトリ定義:ジオメトリ無し

レイヤパネルkanagawa_merge上で右クリックし、結合処理を行う。

結合するレイヤ:jinko
結合するフィールド:KEY_CODE
ターゲットフィールド:KEY_CODE1

 レイヤプロパティからスタイルを選択し、段階に分けられたを選択し下記のように入力する。

カラム:JINKO
色階調:Blues
分類数:10
モード:分位(等量)

 分類をクリックし、OKを実行する。

 これが、冒頭に紹介したMAPである。人口の多いところで駅から近いところは営業員を増やして巡回数を増加させて対応すべき、距離的には遠いが同一の路線上にある店舗は1日で巡回可能であることなど、可視化することで得られる気付きは多い。またこれは、基本的にルート営業を主眼においている。

ヒートマップを作成

 最後に、新規開拓を行う際の場合を考えるために、最近よく見かけるヒートマップを作成する。 画面上部コントロールパネルから[ラスタ]→[ヒートマップ]をクリックすると、ヒートマッププラグインが開く。

入力ポイントレイヤ:hoppy_kanagawa
出力ラスタ:heatmap(保存する際のファイル名)
出力形式:GeoTIFF
半径:2000
と入力してOKをクリックする

 すると下図のようになり、左側レイヤパネルに新しくheatmapが追加される。

heatmap上で右クリックし、レイヤプロパティを開き

レンダータイプ:単バンド疑似カラー
新規カラーマップを作成:RdYlBu(使用したいカラースケールを選択)
反転:チェック追加
モード:連続
こう入力して、分類をクリックし、OKをクリックする

 下記のように表示され、ホッピー取扱店の密度に応じて色分けされた表示がされる。

冒頭の地図にheatmapを重ねる

 例えば、新規店舗に営業を行う際には、取扱店舗が密集している地域に対してさらに重点的に新規開拓を行うのか、あるいは取扱店舗が少ない中で人口の多い地域に新規開拓をするべきか、駅からの距離はどの程度かなど様々なことが判断材料になるであろう。こうしたことを1つずつ可視化していくことで、現状がどうであるか、今後どうするべきかなどの状況を把握しやすくなるという事が可視化の大きな利点である。

 もちろん今回紹介したのは一例であり、その他にも公開されている様々なデータを用いた処理も可能である。今後は、オープンデータの流れがさらに加速し使用可能なデータも増加するであろう。そうした観点から、データビジュアライゼーションや、データに基づいた戦略的アプローチの重要性も今後より一層加速していくと思われる。

著者プロフィール

日経ビッグデータ副編集長

降旗 淳平

日経エンタテインメント(週刊)、日経ビジネス記者、日経ビジネスアソシエ記者・副編集長、日経トレンディ副編集長を経て2014年6月から日経ビッグデータ副編集長