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)
mlabel引数に値をいれると、マウスを重ねたときにラベルが表示されるようにできます。
ラベルだけのマーカー 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に指定した座標を頂点として多角形を描画します。 与えられた座標の順番に線を結ぶため、引数に与える順番が大事になります。