こんばんは。
統計解析向けプログラミング言語 R で maptools ライブラリを使って日本地図を描画する際、沖縄地方を図の左上に移動すると地図が多くなって若干見やすくなります。
その方法についての記録です。
0. 前提条件
- Linux Mint 17 (64bit) での作業を想定。
- R 3.1.2 での作業を想定。
- 使用する地図データは、国土交通省「国土数値情報(行政区域データ)」を想定。
更に、使いやすいよう今回は以下ような前処理を施している。(フリーでオープンソースの地理情報システム QGIS にて)- 全都道府県データ(Shapefile)を1つのデータに結合している。
- 面積の小さい地物(ポリゴン)は除去している。
- 区市町村コード単位で1つの地物(ポリゴン)に融合している。
- 区市町村コードでユニークにしたいので、区市町村が未割り当ての地物は除去している。
- 元のデータでは精度が高いため、ファイルサイズが大きかったり、海岸線等で線が重なりあって太線に見えてしまう。それを解消するために適度な「ジオメトリの簡素化」処理をしている。
また、区市町村コードは
N03_007
という名称のカラムに5桁(先頭2桁は都道府県コード)で格納されていることを認識しておく。
1. R ソーススクリプト(標準 Ver.)作成
まず、沖縄地方を分割しない標準的な地図を描画する R ソースコードを作成。(説明はソースコード中のコメントを参照)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
|
2. R ソーススクリプト(沖縄分割 Ver.)作成
次に、沖縄地方を分割して図の左上(日本海北西側)に移動した地図を描画する R ソースコードを作成。(説明はソースコード中のコメントを参照)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
|
3. R ソーススクリプト実行
以下のコマンドで実行する。(GUI ツールの RStudio 等を使用して実行してもよい)
1 2 |
|
4. 画像確認
成功すれば、 R ソーススクリプトと同じディレクトリ内に “japan_standard.png” と “japan_okinawa.png” という画像が作成される。
参考サイト
大変参考になりました。(Thanks a lot!)
これで、同じ画像サイズでも地図が大きく描画されるようになりました。(ただ、地図上の沖縄地方に何かをプロットする際には、緯度・経度を調整する必要はあります)
以上。