RMarkdown에서 Leaflet을 사용한지도 그리기 및 배포
지도를 그릴 수 없을 때의 대처법
빨리 가자.
Leaflet은 지도를 쉽게 그릴 수 있는 라이브러리입니다. 자세한 사용법은 하부의 참고 링크의 해설이 매우 알기 쉽습니다.
아래와 같이 간단하게 쓰면, R Studio상에서 실행했을 경우는 맵이 묘화 됩니다만, 출력된 html 파일을 브라우저로 열면 맵이 묘화되지 않는다고 하는 현상이 둡니다.
간단한 구현library(magrittr)
library(leaflet)
# data.leaflet がデータの入ったデータフレームとします
# 列としてlongitude, latitude, name, radius があるというようなイメージでご覧ください
# width, heightで出力される地図部分の大きさを調整できます
m <- leaflet(data.leaflet, width = 900, height = 700)
m %>%
addTiles() %>%
addMarkers(lng=~longitude, lat=~latitude, popup=~name, group = "マーカー") %>%
addCircleMarkers(lng=~longitude,lat=~latitude,radius=~radius, color = "#0f3") %>%
addPolylines(lng=~longitude,lat=~latitude,color="#03f",weight="5") %>%
addLayersControl(overlayGroups=c("マーカー")) %>%
setView(lng=139.7,lat=35.7,zoom=11)
이런 식으로 지도만 표시되지 않는다.
그건 그렇고, addMarkers는 마커 그리기, addCircleMarkers는 원 그리기, addPolylines는 점을 연결하는 선 그리기, addLayersControl은 레이어 설정입니다. 위와 같이 마커의 표시 숨기기가 전환되는 상태가 됩니다.
우선 이것만 있으면 그것 같은 지도 그리기를 할 수 있어 훌륭합니다.
회피 방법
본제입니다.
결론으로서 addTitles() 의 인수에 이하를 설정합니다.
url 설정m %>%
addTiles(urlTemplate = "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png") %>%
(略)
원인
원래 Leaflet에서는 OpenStreetMap을 이용하고 있어 거기에 액세스하고 있는 것입니다만, 라이브러리내에서 액세스처로서 //{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
라고 하는 지정이 되어 있습니다.
http의 부분을 생략하고 있습니다만, 이것은 http/https 양쪽 모두에 대응할 수 있기 (위해)때문에, 실수는 아닙니다. (최근에는 Google에서는 비추천이라고 하는 것 같다.)
따라서 html을 로컬로 열면 file://{s}.tile.openstreetmap.ort/...에 액세스하려고 시도하고 표시되지 않기 때문입니다.
덤 Tips
R Markdown을 실행할 때 매개변수를 전달하여 실행할 수 있습니다.
R Markdown 설정에서 다음과 같이 파라미터를 정의할 수 있습니다.
Knit 실행할 때 Knit with Parameters를 지정하면 입력 양식이 나타나서 설정할 수 있습니다.
리포트 작성시에 매우 편리하네요.
참고 링크
Leaflet for R
leaflet으로 시작하는 R에 의한 지도 플롯
참고issues
Reference
이 문제에 관하여(RMarkdown에서 Leaflet을 사용한지도 그리기 및 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/stkdev/items/3656e164c6769f8da007
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
library(magrittr)
library(leaflet)
# data.leaflet がデータの入ったデータフレームとします
# 列としてlongitude, latitude, name, radius があるというようなイメージでご覧ください
# width, heightで出力される地図部分の大きさを調整できます
m <- leaflet(data.leaflet, width = 900, height = 700)
m %>%
addTiles() %>%
addMarkers(lng=~longitude, lat=~latitude, popup=~name, group = "マーカー") %>%
addCircleMarkers(lng=~longitude,lat=~latitude,radius=~radius, color = "#0f3") %>%
addPolylines(lng=~longitude,lat=~latitude,color="#03f",weight="5") %>%
addLayersControl(overlayGroups=c("マーカー")) %>%
setView(lng=139.7,lat=35.7,zoom=11)
m %>%
addTiles(urlTemplate = "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png") %>%
(略)
R Markdown을 실행할 때 매개변수를 전달하여 실행할 수 있습니다.
R Markdown 설정에서 다음과 같이 파라미터를 정의할 수 있습니다.
Knit 실행할 때 Knit with Parameters를 지정하면 입력 양식이 나타나서 설정할 수 있습니다.
리포트 작성시에 매우 편리하네요.
참고 링크
Leaflet for R
leaflet으로 시작하는 R에 의한 지도 플롯
참고issues
Reference
이 문제에 관하여(RMarkdown에서 Leaflet을 사용한지도 그리기 및 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/stkdev/items/3656e164c6769f8da007
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(RMarkdown에서 Leaflet을 사용한지도 그리기 및 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/stkdev/items/3656e164c6769f8da007텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)