library(sf)
library(tidyverse)
library(ggplot2)
library(openxlsx)
library(ggspatial)
library(mapview)
library(nngeo)
mapview::mapviewOptions(fgb=FALSE)
省略.
予め,全ての統計データ・境界データを読み込む.
#東京都港区の認可保育園等一覧データに座標値を付与したデータ
hoiku_minato_xy <- openxlsx::read.xlsx(xlsxFile="hoiku_minato_xy.xlsx",sheet="hoiku_minato") %>%
#変数名が半角数字で始まっていると扱いにくいので,「歳」で終る変数名について,頭に「num_」という文字列を付ける
dplyr::rename_with(~paste0("num_",.),ends_with("歳"))
#データの先頭行を表示
head(hoiku_minato_xy)
## 住所 保育園名 所在地
## 1 東京都港区芝5-18-1 芝保育園 芝5-18-1-101
## 2 東京都港区浜松町 1-6-7 神明保育園 浜松町 1-6-7\r\nプラザ神明1~3階
## 3 東京都港区芝公園2-7-3 芝公園保育園 芝公園2-7-3
## 4 東京都港区芝2-12-16 アスク芝公園保育園 芝2-12-16
## 5 東京都港区三田1-2-18 太陽の子三田保育園 三田1-2-18\r\nTTD PLAZAビル2階
## 6 東京都港区三田1-3-31 あい保育園赤羽橋 三田1-3-31\r\nForecast三田2階
## num_0歳 num_1歳 num_2歳 num_3歳 num_4歳 num_5歳 計 経度 緯度
## 1 20 28 30 30 30 30 168 139.7478 35.64837
## 2 21 29 30 30 30 30 170 139.7575 35.65882
## 3 16 22 26 30 30 30 154 139.7506 35.65422
## 4 6 10 10 11 11 12 60 139.7525 35.65155
## 5 10 12 12 12 12 12 70 139.7406 35.65509
## 6 6 12 12 10 10 10 60 139.7435 35.65458
#東京都港区の境界データ
minato_boundary <- sf::st_read(dsn="minato_boundary.shp",
stringsAsFactors=FALSE,
quiet=TRUE,
options="ENCODING=UTF-8")
head(minato_boundary)
## Simple feature collection with 1 feature and 35 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -11280.19 ymin: -41831.35 xmax: -4649.14 ymax: -35206.84
## Projected CRS: JGD2011 / Japan Plane Rectangular CS IX
## KEY_CODE PREF CITY S_AREA PREF_NAME CITY_NAME S_NAME KIGO_E HCODE
## 1 13103001001 13 103 001001 東京都 港区 芝1丁目 <NA> 8101
## AREA PERIMETER H27KAxx_ H27KAxx_ID KEN KEN_NAME SITYO_NAME GST_NAME
## 1 68807.76 1230.141 4364 4363 13 東京都 <NA> 港区
## CSS_NAME KIHON1 DUMMY1 KIHON2 KEYCODE1 KEYCODE2 AREA_MAX_F KIGO_D N_KEN
## 1 <NA> 0010 - 01 103001001 103001001 M <NA> <NA>
## N_CITY KIGO_I MOJI KBSUM JINKO SETAI X_CODE Y_CODE KCODE1
## 1 <NA> <NA> 芝1丁目 24 1539 925 139.7547 35.65104 0010-01
## geometry
## 1 POLYGON ((-9655.132 -40791....
#東京都港区境界から1km以内の駅データ
station_minato_1kmbuf_rp <- sf::st_read(dsn="station_minato_1kmbuf_rp.shp",
stringsAsFactors=FALSE,
quiet=TRUE,
options="ENCODING=UTF-8")
head(station_minato_1kmbuf_rp)
## Simple feature collection with 6 features and 5 fields
## Geometry type: LINESTRING
## Dimension: XY
## Bounding box: xmin: -6658.395 ymin: -42430.44 xmax: -3743.694 ymax: -37354.88
## Projected CRS: JGD2011 / Japan Plane Rectangular CS IX
## N02_001 N02_002 N02_003 N02_004 N02_005
## 1 24 5 東京臨海新交通臨海線 ゆりかもめ お台場海浜公園
## 2 24 5 東京臨海新交通臨海線 ゆりかもめ 東京国際クルーズターミナル
## 3 24 5 東京臨海新交通臨海線 ゆりかもめ テレコムセンター
## 4 24 5 東京臨海新交通臨海線 ゆりかもめ 汐留
## 5 24 5 東京臨海新交通臨海線 ゆりかもめ 台場
## 6 24 5 東京臨海新交通臨海線 ゆりかもめ 東京ビッグサイト
## geometry
## 1 LINESTRING (-4995.478 -4109...
## 2 LINESTRING (-5435.78 -42036...
## 3 LINESTRING (-4830.43 -42389...
## 4 LINESTRING (-6606.741 -3735...
## 5 LINESTRING (-5643.361 -4152...
## 6 LINESTRING (-3743.694 -4098...
港区の境界データとOSMから得られる背景地図を重ねてプロット.
ggplot2::ggplot() +
#背景にOSMのタイルを読み込み
ggspatial::annotation_map_tile(zoom=13) +
#境界データをプロット
ggplot2::geom_sf(data=minato_boundary,
#透明で塗りつぶし
fill="transparent",
#ポリゴン縁の色は青
color="blue",
#ポリゴン縁の太さは2
size=2)
まずは,緯度・経度から保育園ポイントデータを作成.
#緯度・経度からポイントデータを作成
hoiku_minato_point <- hoiku_minato_xy %>%
#位置座標を表す変数を指定
sf::st_as_sf(coords=c("経度","緯度"),
#位置座標が基づいている座標系(WGS84)を指定
crs=sf::st_crs(4326)) %>%
#座標系をWGS84からJGD2011に投影変換
sf::st_transform(crs=sf::st_crs(6668)) %>%
#座標系を地理座標系(JGD2011)から投影座標系(平面直角座標系第9系)に投影変換
sf::st_transform(crs=sf::st_crs(6677))
head(hoiku_minato_point)
## Simple feature collection with 6 features and 10 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: -8397.141 ymin: -39007.65 xmax: -6862.163 ymax: -37849.48
## Projected CRS: JGD2011 / Japan Plane Rectangular CS IX
## 住所 保育園名 所在地
## 1 東京都港区芝5-18-1 芝保育園 芝5-18-1-101
## 2 東京都港区浜松町 1-6-7 神明保育園 浜松町 1-6-7\r\nプラザ神明1~3階
## 3 東京都港区芝公園2-7-3 芝公園保育園 芝公園2-7-3
## 4 東京都港区芝2-12-16 アスク芝公園保育園 芝2-12-16
## 5 東京都港区三田1-2-18 太陽の子三田保育園 三田1-2-18\r\nTTD PLAZAビル2階
## 6 東京都港区三田1-3-31 あい保育園赤羽橋 三田1-3-31\r\nForecast三田2階
## num_0歳 num_1歳 num_2歳 num_3歳 num_4歳 num_5歳 計
## 1 20 28 30 30 30 30 168
## 2 21 29 30 30 30 30 170
## 3 16 22 26 30 30 30 154
## 4 6 10 10 11 11 12 60
## 5 10 12 12 12 12 12 70
## 6 6 12 12 10 10 10 60
## geometry
## 1 POINT (-7745.588 -39007.65)
## 2 POINT (-6862.163 -37849.48)
## 3 POINT (-7487.781 -38359.86)
## 4 POINT (-7316.257 -38655.56)
## 5 POINT (-8397.141 -38262.31)
## 6 POINT (-8130.535 -38319.25)
保育園ポイントデータを境界データ・背景地図と共にプロット.
ggplot2::ggplot() +
#背景にOSMのタイルを読み込み
ggspatial::annotation_map_tile(zoom=13) +
#境界データをプロット
ggplot2::geom_sf(data=minato_boundary,
#透明で塗りつぶし
fill="transparent",
#ポリゴン縁の色は青
color="blue",
#ポリゴン縁の太さは2
size=2) +
#保育園ポイントデータ
ggplot2::geom_sf(data=hoiku_minato_point,
#ポリゴン縁の色は紫
color="purple")
空間データの可視化には,ggplot2パッケージの他に,例えばmapviewパッケージが利用できる.mapviewは手の込んだ地図を作るのには不向きな一方,複数の背景地図を切り替えたり,空間データをインタラクティブに参照可能(例えば,地図上のプロットをクリックすると属性を表示できる)であるという点で利点を持つ.
ggplot2を用いて作成した地図になるべく近い地図をmapviewで作成すると以下のようになる.
#境界データ
mapview::mapview(x=minato_boundary,
#透明で塗りつぶし
col.region="transparent",
#不透明度0%
alpha.regions=0,
#ポリゴン縁の色は青
color="blue",
#ポリゴン縁のサイズは2
lwd=2,
#凡例を表示しない
legend=FALSE) +
#保育園ポイントデータ
mapview::mapview(x=hoiku_minato_point,
#ポイントの色は紫
col.region="purple",
#不透明度100%
alpha.regions=1,
#レイヤ名を「Kindergarten」と設定
layer.name="Kindergarten")
ggplot2::ggplot() +
#背景にOSMのタイルを読み込み
ggspatial::annotation_map_tile(zoom=13) +
#境界データをプロット
ggplot2::geom_sf(data=minato_boundary,
#透明で塗りつぶし
fill="transparent",
#ポリゴン縁の色は青
color="blue",
#ポリゴン縁の太さは2
size=2,
#凡例を表示しない
legend=FALSE) +
#保育園ポイントデータ(変数num_1歳の値に応じてポイントの大きさを変える)
ggplot2::geom_sf(data=hoiku_minato_point,
#ポイントの大きさを規定する変数(今回はnum_1歳)をaesで囲んで指定
aes(size=num_1歳),
#ポイントの色は赤
color="red",
#不透明度40%
alpha=0.4) +
#保育園ポイントデータ
ggplot2::geom_sf(data=hoiku_minato_point,
#ポイントの色は紫
color="purple") +
#日本語が文字化けしない為の設定(Windowsで実行する際は不要)
ggplot2::theme_gray(base_family="HiraKakuPro-W3")
地物情報をインタラクティブに確認するには,mapviewの方が適しているので,ggplot2で作った地図と同様のものをmapviewで作成する.
#境界データ
mapview::mapview(x=minato_boundary,
#透明で塗りつぶし
col.region="transparent",
#不透明度0%
alpha.regions=0,
#ポリゴン縁の色は青
color="blue",
#ポリゴン縁のサイズは2
lwd=2,
#凡例を表示しない
legend=FALSE) +
#保育園ポイントデータ(変数num_1歳の値に応じてポイントの大きさを変える)
mapview::mapview(x=hoiku_minato_point,
#ポイントの色は赤
col.region="red",
#大きさは変数num_1歳の値に応じて変わる
cex=hoiku_minato_point$num_1歳,
#凡例を表示しない
legend=FALSE) +
#保育園ポイントデータ
mapview::mapview(x=hoiku_minato_point,
#ポイントの色は紫
col.region="purple",
#不透明度100%
alpha.regions=1,
#レイヤ名を「Kindergarten」と設定
layer.name="Kindergarten")
現状ラインデータになっている駅データについて,ラインの重心点を取ってポイントデータに変換する.
station_minato_point <- sf::st_centroid(x=station_minato_1kmbuf_rp)
駅のポイントデータを追加した地図をプロット.
ggplot2::ggplot() +
#背景にOSMのタイルを読み込み
ggspatial::annotation_map_tile(zoom=13) +
#境界データをプロット
ggplot2::geom_sf(data=minato_boundary,
#透明で塗りつぶし
fill="transparent",
#ポリゴン縁の色は青
color="blue",
#ポリゴン縁の太さは2
size=2,
#凡例を表示しない
legend=FALSE) +
#保育園ポイントデータ
ggplot2::geom_sf(data=hoiku_minato_point,
#ポイントの色は紫
color="purple") +
#駅のポイントデータ
ggplot2::geom_sf(data=station_minato_point)
各駅ポイントから400mのバッファを生成する.
#駅ポイントから400mのバッファを生成する
station_minato_400mbuf <- sf::st_buffer(x=station_minato_point,dist=400)
保育園ポイントと駅400mバッファの共通部分を取る.
#駅400mバッファを融合し,バッファ間のダブりを除く
station_minato_400mbuf_diss <- station_minato_400mbuf %>%
dplyr::mutate(key=1) %>%
dplyr::group_by(key) %>%
dplyr::summarise()
#保育園ポイントと融合した駅400mバッファの共通部分を取る
hoiku_minato_point_near_station <- sf::st_intersection(x=hoiku_minato_point,
#今回はバッファの属性をポイントに付与しないので,geometry属性のみ取り出し
y=sf::st_geometry(station_minato_400mbuf_diss))
駅から400m以内の保育園ポイントデータを,その他空間データと共にプロット.
ggplot2::ggplot() +
#背景にOSMのタイルを読み込み
ggspatial::annotation_map_tile(zoom=13) +
#駅400mバッファ
ggplot2::geom_sf(data=station_minato_400mbuf,
#ポイントの色は紫
fill="red",
alpha=0.2,
size=0.25) +
#境界データをプロット
ggplot2::geom_sf(data=minato_boundary,
#透明で塗りつぶし
fill="transparent",
#ポリゴン縁の色は青
color="blue",
#ポリゴン縁の太さは2
size=2,
#凡例を表示しない
legend=FALSE) +
#保育園ポイントデータ
ggplot2::geom_sf(data=hoiku_minato_point,
#ポイントの色は紫
color="purple") +
#駅から400m以内の保育園ポイントデータ
ggplot2::geom_sf(data=hoiku_minato_point_near_station,
#ポイントの色は紫
color="yellow")
駅ポイント・保育園ポイントのそれぞれについて,XY座標の変数を作成.
station_minato_point <- station_minato_point %>%
dplyr::mutate(X_sta=sf::st_coordinates(.)[,"X"],
Y_sta=sf::st_coordinates(.)[,"Y"])
head(station_minato_point)
## Simple feature collection with 6 features and 7 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: -6632.568 ymin: -42409.93 xmax: -3807.114 ymax: -37387.58
## Projected CRS: JGD2011 / Japan Plane Rectangular CS IX
## N02_001 N02_002 N02_003 N02_004 N02_005
## 1 24 5 東京臨海新交通臨海線 ゆりかもめ お台場海浜公園
## 2 24 5 東京臨海新交通臨海線 ゆりかもめ 東京国際クルーズターミナル
## 3 24 5 東京臨海新交通臨海線 ゆりかもめ テレコムセンター
## 4 24 5 東京臨海新交通臨海線 ゆりかもめ 汐留
## 5 24 5 東京臨海新交通臨海線 ゆりかもめ 台場
## 6 24 5 東京臨海新交通臨海線 ゆりかもめ 東京ビッグサイト
## geometry X_sta Y_sta
## 1 POINT (-4963.765 -41069.71) -4963.765 -41069.71
## 2 POINT (-5455.868 -42006.6) -5455.868 -42006.60
## 3 POINT (-4861.694 -42409.93) -4861.694 -42409.93
## 4 POINT (-6632.568 -37387.58) -6632.568 -37387.58
## 5 POINT (-5612.098 -41505.88) -5612.098 -41505.88
## 6 POINT (-3807.114 -41025.35) -3807.114 -41025.35
hoiku_minato_point <- hoiku_minato_point %>%
dplyr::mutate(X_h=sf::st_coordinates(.)[,"X"],
Y_h=sf::st_coordinates(.)[,"Y"])
head(hoiku_minato_point)
## Simple feature collection with 6 features and 12 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: -8397.141 ymin: -39007.65 xmax: -6862.163 ymax: -37849.48
## Projected CRS: JGD2011 / Japan Plane Rectangular CS IX
## 住所 保育園名 所在地
## 1 東京都港区芝5-18-1 芝保育園 芝5-18-1-101
## 2 東京都港区浜松町 1-6-7 神明保育園 浜松町 1-6-7\r\nプラザ神明1~3階
## 3 東京都港区芝公園2-7-3 芝公園保育園 芝公園2-7-3
## 4 東京都港区芝2-12-16 アスク芝公園保育園 芝2-12-16
## 5 東京都港区三田1-2-18 太陽の子三田保育園 三田1-2-18\r\nTTD PLAZAビル2階
## 6 東京都港区三田1-3-31 あい保育園赤羽橋 三田1-3-31\r\nForecast三田2階
## num_0歳 num_1歳 num_2歳 num_3歳 num_4歳 num_5歳 計
## 1 20 28 30 30 30 30 168
## 2 21 29 30 30 30 30 170
## 3 16 22 26 30 30 30 154
## 4 6 10 10 11 11 12 60
## 5 10 12 12 12 12 12 70
## 6 6 12 12 10 10 10 60
## geometry X_h Y_h
## 1 POINT (-7745.588 -39007.65) -7745.588 -39007.65
## 2 POINT (-6862.163 -37849.48) -6862.163 -37849.48
## 3 POINT (-7487.781 -38359.86) -7487.781 -38359.86
## 4 POINT (-7316.257 -38655.56) -7316.257 -38655.56
## 5 POINT (-8397.141 -38262.31) -8397.141 -38262.31
## 6 POINT (-8130.535 -38319.25) -8130.535 -38319.25
保育園ポイントに対して最寄の駅ポイントの属性を空間結合する.保育園ポイントの座標値と,結合された最寄駅ポイントの座標値から,最寄駅距離を計算できる.
#データx(保育園ポイント)に対して,最寄りのデータy(駅ポイント)の要素を結合する
hoiku_minato_point_d_sta <- sf::st_join(x=hoiku_minato_point,
y=station_minato_point,
join=st_nearest_feature) %>%
#保育園ポイントの座標と結合された駅ポイントの座標を使って,ポイント間の直線距離を計算する
dplyr::mutate(d_sta=sqrt((X_h-X_sta)^2+(Y_h-Y_sta)^2))
head(hoiku_minato_point_d_sta)
## Simple feature collection with 6 features and 20 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: -8397.141 ymin: -39007.65 xmax: -6862.163 ymax: -37849.48
## Projected CRS: JGD2011 / Japan Plane Rectangular CS IX
## 住所 保育園名 所在地
## 1 東京都港区芝5-18-1 芝保育園 芝5-18-1-101
## 2 東京都港区浜松町 1-6-7 神明保育園 浜松町 1-6-7\r\nプラザ神明1~3階
## 3 東京都港区芝公園2-7-3 芝公園保育園 芝公園2-7-3
## 4 東京都港区芝2-12-16 アスク芝公園保育園 芝2-12-16
## 5 東京都港区三田1-2-18 太陽の子三田保育園 三田1-2-18\r\nTTD PLAZAビル2階
## 6 東京都港区三田1-3-31 あい保育園赤羽橋 三田1-3-31\r\nForecast三田2階
## num_0歳 num_1歳 num_2歳 num_3歳 num_4歳 num_5歳 計 X_h Y_h
## 1 20 28 30 30 30 30 168 -7745.588 -39007.65
## 2 21 29 30 30 30 30 170 -6862.163 -37849.48
## 3 16 22 26 30 30 30 154 -7487.781 -38359.86
## 4 6 10 10 11 11 12 60 -7316.257 -38655.56
## 5 10 12 12 12 12 12 70 -8397.141 -38262.31
## 6 6 12 12 10 10 10 60 -8130.535 -38319.25
## N02_001 N02_002 N02_003 N02_004 N02_005 X_sta Y_sta
## 1 12 3 6号線三田線 東京都 三田 -7646.771 -39033.13
## 2 12 3 12号線大江戸線 東京都 大門 -7028.785 -38086.95
## 3 12 3 6号線三田線 東京都 芝公園 -7571.003 -38444.10
## 4 12 3 6号線三田線 東京都 芝公園 -7571.003 -38444.10
## 5 12 4 7号線南北線 東京地下鉄 麻布十番 -8718.517 -38292.73
## 6 12 3 12号線大江戸線 東京都 赤羽橋 -8071.097 -38275.59
## geometry d_sta
## 1 POINT (-7745.588 -39007.65) 102.04850
## 2 POINT (-6862.163 -37849.48) 290.09500
## 3 POINT (-7487.781 -38359.86) 118.41524
## 4 POINT (-7316.257 -38655.56) 331.06969
## 5 POINT (-8397.141 -38262.31) 322.81336
## 6 POINT (-8130.535 -38319.25) 73.74842
最寄駅距離変数d_staの各種統計量を計算.
summary(hoiku_minato_point_d_sta$d_sta)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 45.54 203.79 322.18 335.66 474.90 707.20
省略(R側に対応する機能が存在しないため).
各保育園ポイントから,最寄りの駅までの直線を生成する.生成した直線を使っても,最寄り駅までの距離は計算可能.
#駅ポイントデータ上での準備
station_minato_point <- station_minato_point %>%
#駅のID変数としてSIDを作成
dplyr::mutate(SID=dplyr::row_number())
#st_nn関数では,各保育園ポイントから最寄りの駅のIDをlist形式で取得可能
nngeo::st_nn(x=hoiku_minato_point,y=station_minato_point) %>%
#ベクトルに変換
unlist
## [1] 85 86 84 84 50 92 83 25 86 84 8 27 27 60 30 92 92 50 50
## [20] 53 27 30 25 25 60 50 92 50 91 87 30 61 37 64 39 60 37 34
## [39] 40 39 39 64 75 122 53 53 53 116 53 17 53 116 71 53 71 71 53
## [58] 53 75 116
hoiku_minato_point_con_sta <- hoiku_minato_point %>%
#保育園ポイントから最寄りの駅ポイントに直線を生成
dplyr::mutate(geometry=nngeo::st_connect(x=.,y=station_minato_point)) %>%
#直線が引かれた先の駅のIDを新たな変数として追加
dplyr::mutate(SID=unlist(nngeo::st_nn(x=.,y=station_minato_point))) %>%
#駅ポイントからgeometryを削除した上で,駅属性を駅IDをキーとして結合
dplyr::left_join(y=sf::st_drop_geometry(x=station_minato_point),by="SID") %>%
#生成した直線の長さを計算することで,最寄り駅までの距離が計算可能
dplyr::mutate(d_sta=sf::st_length(x=.))
## Calculating nearest IDs
## Calculating lines
##
|
| | 0%
|
|= | 2%
|
|== | 3%
|
|==== | 5%
|
|===== | 7%
|
|====== | 8%
|
|======= | 10%
|
|======== | 12%
|
|========= | 13%
|
|========== | 15%
|
|============ | 17%
|
|============= | 18%
|
|============== | 20%
|
|=============== | 22%
|
|================ | 23%
|
|================== | 25%
|
|=================== | 27%
|
|==================== | 28%
|
|===================== | 30%
|
|====================== | 32%
|
|======================= | 33%
|
|======================== | 35%
|
|========================== | 37%
|
|=========================== | 38%
|
|============================ | 40%
|
|============================= | 42%
|
|============================== | 43%
|
|================================ | 45%
|
|================================= | 47%
|
|================================== | 48%
|
|=================================== | 50%
|
|==================================== | 52%
|
|===================================== | 53%
|
|====================================== | 55%
|
|======================================== | 57%
|
|========================================= | 58%
|
|========================================== | 60%
|
|=========================================== | 62%
|
|============================================ | 63%
|
|============================================== | 65%
|
|=============================================== | 67%
|
|================================================ | 68%
|
|================================================= | 70%
|
|================================================== | 72%
|
|=================================================== | 73%
|
|==================================================== | 75%
|
|====================================================== | 77%
|
|======================================================= | 78%
|
|======================================================== | 80%
|
|========================================================= | 82%
|
|========================================================== | 83%
|
|============================================================ | 85%
|
|============================================================= | 87%
|
|============================================================== | 88%
|
|=============================================================== | 90%
|
|================================================================ | 92%
|
|================================================================= | 93%
|
|================================================================== | 95%
|
|==================================================================== | 97%
|
|===================================================================== | 98%
|
|======================================================================| 100%
#ステップ8で計算した最寄り駅距離
head(hoiku_minato_point_con_sta$d_sta)
## Units: [m]
## [1] 102.04850 290.09500 118.41524 331.06969 322.81336 73.74842
#生成した直線から計算した最寄り駅距離
head(hoiku_minato_point_d_sta$d_sta)
## 1 2 3 4 5 6
## 102.04850 290.09500 118.41524 331.06969 322.81336 73.74842
境界データ・保育園ポイントデータ・駅ポイントデータとともに,保育園-駅ラインデータを可視化する.
#境界データ
mapview::mapview(x=minato_boundary,
#透明で塗りつぶし
col.region="transparent",
#不透明度0%
alpha.regions=0,
#ポリゴン縁の色は青
color="blue",
#ポリゴン縁のサイズは2
lwd=2,
#凡例を表示しない
legend=FALSE) +
#保育園ポイントデータ
mapview::mapview(x=hoiku_minato_point,
#ポイントの色は紫
col.region="purple",
#不透明度100%
alpha.regions=1,
#レイヤ名を「Kindergarten」と設定
layer.name="Kindergarten") +
#駅ポイントデータ
mapview::mapview(x=station_minato_point,
#ポイントの色は緑
col.region="green",
#不透明度100%
alpha.regions=1,
#レイヤ名を「Station」と設定
layer.name="Station") +
#保育園・最寄駅間ラインデータ
mapview::mapview(x=hoiku_minato_point_con_sta,
#ラインの色は赤
color="red",
#レイヤ名を「Station-Kindergarten」と設定
layer.name="Station-Kindergarten")