Download - SappoRoR#5 Leafletでボロノイ図を描く
![Page 1: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/1.jpg)
オレンジ色のコンビニはどうしてあんなにつよいんだろう?
#SappoRo.R @WAFdata 1
![Page 2: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/2.jpg)
・ Twitter : @WAFdata・ Blog : http://wafdata.hatenablog.com・ R 歴 : 4 年・北海道歴: 4 年
◎自己紹介
2{ggplot2}
・ OL 1 年目・仕事で R はつかいません・コードすら書きません・ R の script をかく・ R で絵をかく・ R のなやみをかかえる
●Work ●Hobby
●Other
![Page 3: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/3.jpg)
◎おしながき
3{personograph}
なぜ某オレンジ色のコンビニは北の大地で強いのか知りたい
コンビニの出店状況を ボロノイ分割で把握したい
分割結果を {leaflet}で可視化したい
![Page 4: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/4.jpg)
4
そもそもボロノイ分割とは
![Page 5: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/5.jpg)
5
点が5つあるとします。
![Page 6: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/6.jpg)
6
とりあえず各拠点を結びます。 =ドロネー点
![Page 7: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/7.jpg)
7
おもむろに各線分に対する垂直二等分線を引きます。
![Page 8: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/8.jpg)
8
そっと最初の線を消します。
![Page 9: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/9.jpg)
9
残った線で囲まれた領域がボロノイ領域です。
![Page 10: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/10.jpg)
10
◎材料【データ取得】 【 Data構造】 ・ {rvest}
【データ整形】 ・ {dplyr} ・ {magrittr}
【ボロノイ分割】 ・ {deldir}
【描画】 ・ {ggplot2} ・ {leaflet}
![Page 11: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/11.jpg)
11
◎{deldir}のハナシ①# ボロノイ分割deldir::deldir(x = df$lon, y = df$lat, rw = NULL, digit = 6, sort =TRUE, ・・・ )
緯度経度指定 分割範囲の固定
List of 9 $ delsgs :dataframe ←分割されたドロネー点の情報! $ dirsgs :dataframe ←ボロノイ分割の結果! $ n.data : int $ n.dum : int $ del.area : num $ dir.area : num $ rw : num $ ind.orig : int
![Page 12: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/12.jpg)
12
# 分割した tile を取得deldir::tile.list(result_deldir)
◎{deldir}のハナシ②
> tilelist[[721]] $ptNum [1] 721 $pt x y 141.3738 43.0438 $x [1] 141.3774 141.3742 141.3726 141.3700 141.3699 141.3741 141.3743 $y [1] 43.04427 43.04729 43.04783 43.04516 43.04426 43.04001 43.04001 $bp [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
タイル番号分割対象(母点) タイルの頂点座標
![Page 13: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/13.jpg)
13
やってみた( http://rpubs.com/WAFdata_kudo/126335)
![Page 14: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/14.jpg)
14
◎まとめ・どうやら某オレンジのコンビニは「穴場」なエリアをめがけて出店していそう。 →コンビニ密集地よりも郊外が主戦場・ {leaflet} は動的なので拡大して細部まで見られるのがいいですね・・・
![Page 15: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/15.jpg)
15
◎参考などなど・ leaflet for R
(https://rstudio.github.io/leaflet/) コードも実行結果もたくさん載ってます。たのしい。・ Leaflet-providers Demo
(https://leaflet-extras.github.io/leaflet-providers/preview/)addProviderTiles() に指定出来る地図テーマを見られます。たのしい。量が豊富。時間泥棒。
・オープンデータを解析する - ggplot2 を用いたボロノイ分割で厚木市のコンビニ出店を見てみよう!ー Data Science by R and Python(http://tomoshige-n.hatenablog.com/entry/2014/08/15/002345)
・ボロノーイ – Rpubs @dichika(https://rpubs.com/dichika/voronoi)
Special thanks…
![Page 16: SappoRoR#5 Leafletでボロノイ図を描く](https://reader031.vdocuments.net/reader031/viewer/2022021813/5883142b1a28ab31068b5f45/html5/thumbnails/16.jpg)
16
Enjoy!