Googleマップに統計データを投影してみた
技研商事インターナショナルでWEBアプリ開発を担当しています
今回はプログラミングやAPIを利用せずとも、GISとはどういったものなのか、その一端に触れる方法をご紹介します。
GISというのはGeographic Information Systemの略で、地理情報システムの略となります。
WEBアプリ等の地図上に位置や地理に関する情報を可視化する目的でよく使われるものの1つにGoogleマップがあります。
今回はインターネット上で公開されているオープンデータをダウンロードし、それをGoogleマップ上に重ねて投影するということをやってみたいと思います。
データをダウンロードする
今回利用するデータとして、総務省が公開している政府統計の境界データを利用します。
境界データとは統計値と結合されているGISデータのことです。
まずは総務省のe-statから2015年国勢調査の境界データをダウンロードします。
-
[境界データダウンロード]を選択し、[小地域] > [国勢調査] > [2015年] > [小地域(JGD2000)] > [世界測地系緯度経度・Shapefile]と進みます。
-
[13.東京都]を選択し、今回は[13118 荒川区]のShapeファイルをダウンロードします。
データを編集する
次はGoogleマップで読み込みやすいようにダウンロードしたデータを編集します。
今回はオープンソースソフトウェアのQGISを利用しました。[バージョン:3.18.3-Zürich]
QGISは空間情報の編集をはじめ、高度な機能を持ったGISソフトです。
ダウンロード・インストール方法については詳しく載せてあるサイトがたくさんあるので、そちらをご参照ください。
-
メニューの[レイヤ]タブから「編集モード切替」を選択します。
-
メニューの[レイヤ]タブから[属性テーブルを開く]を選択します。
-
「KEY_CODE」「MOJI」「SETAI」「X_CODE」「Y_CODE」の5つだけを残して他の属性を削除します。
KEY_CODE:キー
MOJI:市区町村名
SETAI:世帯数
X_CODE:経度
Y_CODE:緯度 -
メニューの[レイヤ]タブから[名前を付けて保存]を選択し、任意の名前をつけて保存します。この時に形式は[KML]を選択して保存してください。
Googleマップに投影する
これから用意したデータをGoogleマップに投影します。
-
タブ上にあるマイマップを選択し、下にある「地図を作成」をクリックします。
-
レイヤのインポートをクリックし、編集したKMLファイルをインポートします。
画像にあるように地図上にダウンロードしたデータが投影されたことが確認できたと思います。次に世帯数ごとに色分けして町名などをラベルとして表示します -
レイヤ名の右にある縦三点リーダーを選択し、[データビューを開く]を選択します。
-
MOJIの右にある▽ボタンをクリックし、[タイトル列に設定]を選択。
-
SETAIの右にある▽ボタンをクリックし、[コピー]を選択、任意の名前をつけて[タイプ]は[数字]を選択します。
インポートしたカラムは文字としてみなされてしまうため、あらためて数字タイプのカラムを用意することで、
グラデーションを利用したマップ表示を行います。
-
[個別スタイル]を選択し、[データ列別のスタイル]に、3で作成したラベルを選択。
-
[範囲]にチェックをいれ、他のパラメーターはお好みで選んで大丈夫です。[ラベルを設定]のところには3で作成したラベルを選択します。
グラデーションを変更したり、余分なポリゴンは削除したりといったことも可能です。
これでいつでもGoogleアカウントから「世帯数がグラデーション表示されているGoogleマップ」を開くことができました。
GISアプリにはこういったことがもっと簡単にできたり、多角的な分析機能を備えたものもあり、
それらの使い方のサポートも充実しているものが市場にあふれています。
これらの活躍を礎にGISという言葉がより浸透していくことを楽しみにしています。