このページについて

概要:このページでは、統計言語Rを用いた地図作成の方法に関する情報を蓄積します(ご使用は自己責任でお願いします).

親ページ:このページの親ページはRです。

目次

plot関数を用いた地図作成

シェープファイルのダウンロード

まずは,以下の手順で作図に必要なシェープファイルをダウンロードしましょう.

  1. Natural Earthにアクセスして,Download -> Large scale data, 1:10m -> Physical -> Land -> Download landの順にクリックする.
  2. "ne_10m_land.zip"というzipファイルがダウンロードされるので,zipファイルを解凍する(解凍されるとフォルダ内に7つのファイルが出現する).
  3. Rを起動して,解凍したフォルダのパスをsetwd()に入力しておく(7つのファイルが存在しなければ以下の作業ができません).
setwd(/Users/HOME/Downloads/ne_10m_land) # 野田はMacを使用しておりますので,ダウンロードフォルダの直下にファイルを展開しています(Windowsユーザーは適宜変更して下さい).

シェープファイルの読み込み

次に,Rにシェープファイルの読み込ませましょう.

install.packages("maptools", dependencies=TRUE) # maptoolsパッケージのインストール
library(maptools) # maptoolsパッケージの読み込み
world <- readShapePoly("ne_10m_land.shp") #シェープファイルの読み込み(7つのファイルが揃っていないとエラーとなるので注意して下さい)

日本近辺の地図の表示

さらに,表示する地図の位置を特定する.

lonlim = c(120,150)   # 経度を設定する(日本近辺は東経120〜150度)
latlim = c(22,48)   # 緯度を設定する(日本近辺は北緯22〜48度)
plot(world, xlim=lonlim, ylim=latlim, axes=TRUE, xlab="Longitude", ylab="Latitude") # worldのうち,東経120〜150度かつ北緯22〜48度の部分を表示する

地点の表示と地名入力

地点を表示すると同時に地名を入力するための手順を以下に示す.

  1. 表示したい地点の緯度経度をここで調べる(緯度経度は通常60進数であるので,Rで認識する10進数の緯度経度を調べなければならない).
  2. point関数で地点に"点"をつけ,segments関数を用いて適当な位置まで線を引く.
  3. text関数を用いてsegments関数を用いて引いた線の先に地名を入力する. まずは,東京を入力してみる.
    points(139.69167, 35.68944, pch=20) # 東京都の地点(ここでは都庁のある新宿区)
    segments(139.69167, 35.68944, 142.69167, 37.68944, lwd=1, col="black") # 適当な位置まで線を引く
    text(143.79167, 37.68944, labels="Tokyo", cex=0.75) # "Tokyo"と入力する
    さらに,大阪を入力してみる.
    points(135.52, 34.68639, pch=20) # 大阪府の地点(ここでは大阪市)
    segments(135.52, 34.68639, 136.52, 32.68639, lwd=1, col="black") # 適当な位置まで線を引く
    text(136.52, 32.18639, labels="Osaka", cex=0.75) # "Osaka"と入力する

出力結果の出力と保存

以下のような地図が作成される.

添付ファイルの画像
jpeg("tokyo_osaka_map.jpeg")
dev.off()

Reference


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS