Warning: package 'leaflet' was built under R version 4.4.2
RのLeafletの地図に要素を追加する
パッケージの読み込み
インタラクティブな地図作成のためのleaflet
パッケージを読み込みます。 もしパッケージをインストールしていない場合は、コメントアウトしてあるinstall.package
を先に実行します。
要素の追加
leaflet
パッケージでは、指定の座標に点やマーカー、ポップアップ、図形などの要素を追加し、データを地図上で可視化することができます。
これらを実行する関数はaddXX
(XX
は追加する要素)という名前を持っています。 今回はそれらのうち、地図上に座標を指定して要素を追加する以下の関数について確認します。
関数名 | 機能 |
---|---|
addPopups |
ポップアップを追加します |
addMarkers |
マーカーを追加します |
addLabelOnlyMarkers |
ラベル(説明書き)だけのマーカーを追加します |
addCircleMarkers |
円マーカーを追加します |
addCircles |
円を追加します |
addPolylines |
ポリライン(複数の線を持った折れ線)を追加します |
addRectangles |
四角形を追加します |
addPolygons |
多角形を追加します |
百聞は一見にしかずということで、それぞれの関数の挙動を実際のコードで確認します。
ポップアップ addPopups
addPopus(地図, 経度, 緯度, ポップアップラベル)
と指定します。
マーカー addMarkers
popup
引数に値をいれると、クリックでポップアップが表示されるようにできます。
m <- leaflet()
m <- addTiles(m)
m <- addMarkers(m, lng = d$longitude, lat = d$latitude, popup = d$name)
m
label
引数に値をいれると、マウスを重ねたときにラベルが表示されるようにできます。
ラベルだけのマーカー addLabelOnlyMarkers
addMarkers
関数からマーカーだけを取り除きたいときはaddLabelOnlyMarkers
関数を使用します。 マーカーが表示されないので、ピンポイントにマウスカーソルをあわせないとラベルが確認できません。 addMarkers
関数と比べて使用用途は限られると思いますが、マーカーが密集しているときなどは有用かもしれません。
円マーカー addCircleMarkers
指定した座標に円マーカーを表示させます。
m <- leaflet()
m <- addTiles(m)
m <- addCircleMarkers(m, lng = d$longitude, lat = d$latitude, fill = FALSE)
m
色や大きさなどの引数を以下の表にまとめます
引数 | 説明 |
---|---|
radius |
円の大きさ。デフォルトは10
|
stroke |
円マーカーの輪郭線(縁)をつけるかどうか。デフォルトはTRUE
|
color |
円マーカーの色。デフォルトは"#03F" 青色。 |
weight |
円マーカーの輪郭線の太さ(単位はピクセル)。デフォルトは5
|
opacity |
円マーカーの透過度。0-1で設定し、値が大きいほど透過しない。デフォルトは0.5
|
fill |
円マーカーを塗りつぶすかどうか。デフォルトはTRUE
|
fillColor |
塗りつぶしの色。デフォルトはcolor 、つまり"#03F" 。color を変えるとこちらも同じになるが、fillColor で設定するとcolor と別の色を設定可能 |
fillOpacity |
塗りつぶしの透過度。デフォルトは0.2
|
また、addMarkers
関数と同様に、popup
を指定するとポップアップが、label
を指定するとラベルを表示させることができます。
円 addCircles
addCircleMarkers
関数とほぼ同じです。 こちらのほうが点が小さく、図形としての点を打つことを重視している印象です。
ポリライン addPolylines
座標を指定した順番に直線を結びます。
四角形 addRectangles
lng1
とlat1
で指定した緯度経度からlng2
とlat2
で指定した座標までを対角線にした四角形を描画します。
多角形 addPolygons
lng
とlat
に指定した座標を頂点として多角形を描画します。 与えられた座標の順番に線を結ぶため、引数に与える順番が大事になります。