日々の記録簿

日々のできごとの記録

日記

Rで日本の校区地図を描く

投稿日:

Rで日本の校区地図を描く方法です。

データの準備

国土数値情報 ダウンロードサービスより、校区地図のもとになるデータ(shapeファイル)をダウンロードする。

データは、リンク先ページの、JPGIS2.1のうち、2.政策区域の中にある、小学校区・中学校区をクリック(図の赤色で囲った箇所)することで、入手可能。なお、途中でアンケートやら、利用規約やらが表示されるので確認しておく必要がある。また、ファイルは、都道府県ごとにzip形式で圧縮されている。

shape

以下では、参考までに千葉県の小学校区データ(A27-10_12_GML)を利用していく。

Rでshapeファイルを読み込み、地図を描画する

zipを解凍した後、Rにデータを読み込んでいく。

一つ注意が必要な点として、設置者・学校名・住所を記載したdbfファイルの文字コードがshift-JIS形式なので、Linux等では文字化けしてしまう。その場合は、何らかの方法で文字コードを修正する必要がある。

ここでは、LibreOfficeのCalcを利用し、文字コードを変更している。

Calcを利用すれば、File → Save as → Edit filter settingsにチェックを入れる という手順を踏むことで、文字コードを変更可能である。

ただし、utf-8に変更すると、A27_006の文字列でエラーがでる。対策としては、Calcの置換機能を使い小学校を削除してしまう(「○○小学校」を「○○」に変更する)と良い。

さて、以上の手順を踏めば、データをRに読み込むことが可能になる。具体的なコードは下記のとおり。

library(maptools)

shape <- readShapePoly("A27-10_12-g_SchoolDistrict.shp") # shapeファイルの読み込み
chiba <- shape[shape@data$A27_006=="千葉市立",] # 千葉市立の学校だけ取り出す

plot(chiba) # 描画
text(coordinates(chiba), as.character(chiba@data$A27_007)) # 学校名を追加する

各校の情報があれば、それを利用して、地図に色を付けることも可能である。

ガッコムのデータ等は、利用価値が高いだろう。

参考文献

基本的には、この本に書いてあることをそのまま実行しただけである。

今回は、ごく基本的な作業しかしていないが、校区図に色を付ける作業は意外と楽しかったので、機会があれば紹介してみたいと思う。

スポンサーリンク

スポンサーリンク

-日記

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Nexus 6にCyanogenmod 13.0をインストールした!

Nexus 6にCyanogenmod 13.0をインストールしたメモです。軽く考えていたら、まさかの一日作業になってしまいました・・・。 以下、経緯を簡単に。 まず、通常のアップデートを行ったのです …

WordPressの投稿一覧で【この投稿タイプの投稿を編集する権限がありません】と表示される

その他、【プラグインの管理画面にアクセスできない】【ファイルをアップロードできない(この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか?)】等のエラー表示がでていました。 一方で …

beamerでQRコードを表示する

タイトルのとおりだが、beamerでプレゼンテーションをするときにQRコードを埋め込みたくなった。できるだけ簡単な方法を探ったところ、このサイトがヒット。 要は{textpos}を使って、任意の位置に …

サイトをSSLへ移行してみた!

今、話題のLet’s Encryptを利用して、このサイトをSSLに移行してみました。 参考にしたのは、次のページです。 Arch Wiki Let’s Encrypt さくらのレンタルサ …

Nvim-Rの導入方法(その2)

vimからRを使う場合、Nvim-Rが便利です。 以前にも紹介しましたが、設定をいくつか間違えていたので修正版です。 インストール まず、neovimをインストールする。このとき、deopleteを使 …