R言語所蔵のサンプルデータをABC順に眺めてます。前回はmapsパッケージの米国地図データに含まれるFIPSコードを白地図にプロットしてみました。今回はおフランスでやんす。カナダの単独地図はmapsに含まれてなかったけどフランスは含まれているのね。ちょっと古いデータみたいだけれども。でももっとエエもんがある?
※「データのお砂場」投稿順Indexはこちら
※使用させていただいている Rのversionは 4.3.1。RStudioは 2024.04.2+764 “Chocolate Cosmos” です。
France Map
現在練習中の maps パッケージには世界地図に加えて、一部については各国別の地図なども含まれております。前回練習した米国地図などは全米のカウンティ(郡)レベルの白地図が利用可能でした。一方、前々回のカナダなどは単独の国別地図が不在。世界地図から「カナダ付近」を座標で抽出してプロットに利用しました。今回はフランスです。フランスの場合、デパルトマン(県)レベルの白地図が利用可能。解説ページが以下に。
https://search.r-project.org/CRAN/refmans/maps/html/france.html
ただし、1989年頃作成のデータということでちょっと古いらしいデス。どこかにもっとエエもんがあるみたい。でも、まずは練習中の mapsパッケージから、
franceMapEnv
をロードしてみます。
なんたらMapEnv
mapsパッケージの中には、前回のcounty.fipsデータセットのように、実体のあるデータセットも入ってますが、「なんたらMapEnv」という御名前のデータセットにはデータの実体がなく、データベースの在処を示すパスのみが格納されておるようです。今回の franceMapEnv もです。まずは mapsパッケージを使えるようにするために
library(maps)
その実体は環境変数 R_MAP_DATA_DIR を指し示すのみであります。環境変数がパスを保持してます。該当のホルダを開いてみると、多数の地図データファイルが格納されている中に以下が存在します。
3ファイルで一組のデータベースになっとるみたいです。しかしバイナリデータもあり、テキストで読めるのは最後の france.N ファイルのみです。その先頭部分はこんな感じ。
どうもフランスのデパルトマン(県)のお名前を列挙しているようです。ここに列挙されているお名前を使えば、県レベルの「ポリゴン」を指定できるみたい。
プロットしてみる
先ずは処理例どおりでプロットしてみます。
map('france', fill = TRUE, col = 1:10)
処理例にはないですが、map.text使って県名を白地図に並べてみます。
map.text('france')
パリ付近とか込み入っていて拡大しないと読めんな。
どこかの県を単独で取り出す場合が以下に(同様な方法で県名を列挙したベクトルにすれば、複数県を並べてプロットできる筈。)
map('france', c('Ardennes'))
ベルギーとの国境付近、アルデンヌだわいな。
もっとエエもんがある
処理例の後ろにコメントアウトされた処理があり。そこを読むともっと新しい詳細な地図を得る方法があるみたいです。それは、以下組織のお陰みたいです。
フリーの世界地図データを公開されている組織であるということです。もっとも詳しいもので1cm=100kmというスケールの世界地図データがダウンロードできるみたい(何百Mバイトかあるらしいけど。)
じゃあRからどう使うのよ、というとちゃんとパッケージが用意されてました。
rnaturalearth
解説ページが以下に
https://cran.r-project.org/web/packages/rnaturalearth/index.html
基本、パッケージ毎にお勉強しているので途中で別パッケージを新にインストールするまいとしてきたのですが、今回はやってみました。rnatualearthパッケージをダウンロード後、こんな感じ。
library(rnaturalearth) plot(ne_countries())
上記は、沢山(168種)ある国の属性のうち最初の9種を世界地図上に色分けしたものみたいです。
なお、上記で取り込まれている地図は低レゾリューションのデータみたいです。「ハイレゾ」な地図データは、
rnaturalearthhires
という別パッケージになっているみたい。これのインストールは一撃とはいかないみたいなので、今回はパス。まあ、ハイレゾの世界地図をプロットする手がかりはある、と。