QGISを使って店舗位置を表示する
これまでの記事でAOKIと青山の店舗名と住所をwebスクレイピングしCSVファイルに保存しました。
WEBスクレイピング - AOKI編 - - 道草を楽しむブログ
WEBスクレイピング - 青山編 - - 道草を楽しむブログ
今回はフリーのGISソフトであるQGISを使用して店舗位置を地図上に表示してみます。
【目次】
環境
ジオコーディング
QGISは地物位置のインプットデータとして住所を用いることができないため、これまで取得した住所情報を緯度経度といった座標値に変換するジオコーディングが必要になります。
ジオコーディングには、東京大学空間情報科学研究センターが提供する「CSVアドレスマッチングサービス」を利用します。
パラメータ設定で以下の内容を記載します。
- 対象範囲:全国街区レベル(経緯度・世界測地系)
- 住所を含むカラム番号:2 (AOKIの場合)、3(青山の場合)
- 入力ファイルの漢字コード:シフトJIS(CSVファイルを保存した時の文字コードによって変わります)
送信ボタンを押すと、入力ファイルに緯度経度情報等(fX、fY、iConf、iLvlの4列)が追加されたcsvファイルが返ってきます。
fXが経度、fYが緯度を表しています。
なお、下図の1行目にある項目名col0~col2の自分が分かる名称に変えておくと、QGISでラベル表示するときに分かりやすいです。
QGIS上に店舗位置を表示する
QGISを起動し、「デリミティッドテキストファイルからレイヤを作成」をクリックし、ジオコーディングしたCSVファイルを入力します。
パラメータ設定はデフォルトで大丈夫かと思いますが、エンコーディングとXYフィールドに経度と緯度の列項目名を正しく指定できているか確認しましょう。
「OK」を押して店舗位置の座標系をJGD2000に設定すると店舗位置が表示されます。 緑丸がAOKI、紫丸が青山の店舗位置です。
なお、OTFを有効にし座標系はWEBメルカトル(EPSG: 3857)にしています。
ベースマップの追加
店舗位置だけでも日本の概形が分かりますが、あると便利なのでベースマップを一応入れておきます。
「OpenLayers Plugin」という便利なプラグイン(https://plugins.qgis.org/plugins/openlayers_plugin/ )をインストールすれば、Google MapsやOpenStreetMapなどの地図を表示することができます。私の場合はOpenStreetMapを入れました。
道路レイヤの追加
国道沿いに店舗があるかどうか調べたいので道路情報を追加します。
「国土数値情報 ダウンロードサービス」には、平成9年の古い道路データ(http://nlftp.mlit.go.jp/ksj/gmlold/meta/ksjshpgml-N01.html)しか見当たりませんでしたが、それを使うことにします(探し方が悪かったか??)。
QGISの「ベクタレイヤの追加」によりダウンロードしたシェープファイル(N01-07L-2K_Road.shp)をロードします。座標系はJGD2000 (EPSG: 4612)です。
このデータは道路種別コード属性(N01_001)により高速道路、一般国道、主要地方道の3タイプの道路が格納されています。
レイヤプロパティのスタイルで、「分類された」を用いてN01_001の属性値によりシンボルの場合分けをします。
一般国道(水色の線)のみを表示させた場合は以下の図のようになりました。
高速道路に関しては新しいデータ(http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N06-v1_2.html)があり、このデータはバイパスも含むようなのでこちらもダウンロードして使うことにします。
こちらも表示すると以下のようになります。ピンク線が高速道路です。
作成したマップを眺める
作成したマップを見てみると以下のことが言えそうです。
- 青山は全国展開していてるが、AOKIは出店エリアが絞られている。
- AOKIと青山は近いところにありそう。
- 両店舗は主要国道沿いに分布してそう。
上の2つの図はAOKIと青山レイヤの上下間を変えたものです。
紫点の青山は全国にまんべんなく分布しているのに対し、緑色のAOKIは中国地方や四国に店舗がほぼなく、町が大きそうなところに店舗を絞って出店していそうです。
また、上の2つ目の図を見ますと、紫色のAOKIレイヤが青山レイヤをほぼ覆いかくしていることから、AOKIと青山の店舗は両者近いところにありそうです。
そして上図のように水色の一般国道上に各店舗がのっていることから、国道沿いに店舗が分布してそうだと推測できます。
以上、定性的にAOKIと青山の位置関係を考えてみました。
次の記事では、少し定量的に位置関係を調べてみたいと思います。