R Shiny로 대화형 Google 지도를 구축하는 방법 – 완벽한 가이드

R에서 공간 데이터를 시각화하는 것은 종종 처음 보이는 것보다 더 어렵습니다. 지도 중심점, 확대/축소, 지도 유형, 마커 크기 등과 같은 수많은 움직이는 부분이 있습니다. 그리고 기능적 요소와 함께 지도 제작 및 미적 매력 관리가 있습니다. 말할 필요도 없지만 응집력 있는 지도를 얻으려면 모든 항목을 바로 잡아야 합니다.

여기에서 이 기사가 필요합니다. R을 사용하여 대화형 Google 지도를 구축하는 방법과 R Shiny 대시보드에 포함하는 방법을 보여드리겠습니다. R의 Google 지도를 사용하면 사용자에게 친숙한 지도를 제공하고 이 지도를 Shiny 대시보드에 배치하여 사용자 정의 가능성을 유지할 수 있습니다.

따라 하려면 Google Cloud 계정을 설정해야 합니다. 매우 간단하지만 방법을 보여드리겠습니다.

Google 지도 대안을 찾고 계십니까? R 및 Leaflet으로 대화형 지도 구축에 대한 가이드를 확인하세요 .

목차:

  • Google 클라우드 계정을 설정하는 방법
  • R로 대화형 Google 지도 구축
  • R Shiny 대시보드에 대화형 Google 지도 추가

Google 클라우드 계정을 설정하는 방법

이름에서 알 수 있듯이 Google 지도는 Google에서 개발했으며 Cloud Platform을 통해 API로 제공됩니다 . 계정을 등록하고 결제를 설정해야 합니다. 예, 신용 카드 정보를 입력해야 하지만 사용자가 모르는 사이에 한 푼도 청구하지 않습니다.

계정과 프로젝트 설정이 완료되면 R과 Google 간의 통신에 필요한 API를 활성화할 수 있습니다. 이것들은:

  • 지도 자바스크립트 API
  • 지도 정적 API
  • 지오코딩 API

활성화하려면 메뉴 아이콘을 클릭하고 API 및 서비스 아래로 이동 한 다음 라이브러리를 클릭하십시오 . 거기에서 API를 검색하고 세 가지를 모두 활성화할 수 있습니다. 완료되면 기본 대시보드 페이지에 나열된 것을 볼 수 있습니다.

새 Google Cloud 계정을 설정하는 경우 요청 아래에 0이 표시되어야 합니다. 마지막 단계는 새 API 키를 만드는 것입니다. 자격 증명 아래로 이동 하여 + 자격 증명 만들기를 클릭 하여 새 API 키를 가져옵니다.

생성되면 문자열 코드를 안전한 곳에 복사합니다. R을 사용하여 몇 가지 대화형 Google 지도를 만드는 다음 섹션에서 필요합니다.

R로 대화형 Google 지도 구축

googleway따라 하려면 라이브러리가 필요 하므로 설치했는지 확인하십시오. 데이터 세트와 관련하여 Kaggle 의 미국 공항 데이터 세트를 사용합니다 .

다음 코드 조각을 복사하여 라이브러리와 데이터에 로드합니다. 작업 디렉터리와 API 키를 변경하는 것을 잊지 마십시오.

 

다음은 처음 6개의 데이터세트 행입니다.

데이터 세트에는 지도 시각화에 필요한 모든 것이 있습니다. 위도와 경도는 일반적으로 필요한 모든 것이지만 추가 열이 지도를 더 풍부하게 만드는 방법을 알게 될 것입니다.

R을 사용한 기본 대화형 Google 지도

기본부터 시작하겠습니다. 데이터 세트의 모든 위도 및 경도 조합에 마커를 추가합니다. 패키지 의 google_map()함수 googleway를 사용하여 API 키와 데이터세트를 지정한 다음 add_markers()함수를 호출 하여 포인트를 추가할 수 있습니다.

걱정할 필요가 없는 기본 제공 옵션이 많이 있습니다. 확대, 축소, 지도 유형 변경은 물론 Google 스트리트 뷰도 사용할 수 있습니다! 마커의 모양을 조정할 수도 있습니다. 다음으로 방법을 알아보겠습니다.

마커 색상 변경

googleway라이브러리는 마커 색상으로 매우 제한적입니다. 빨간색(기본값), 파란색, 녹색 또는 라벤더와 함께 사용할 수 있습니다. 설상가상으로 패키지에는 색상 값에 대한 데이터 세트의 추가 열이 필요합니다. 마커에 색상을 지정하기 위해 일부 조건부 논리를 사용하는 경우에 유용하지만 그렇지 않은 경우에는 완전히 과잉입니다.

간단히 말해서 googleR로 대화형 Google 지도를 구축 하는 방법을 사용 하는 경우 색상 선택이 상당히 제한됩니다 .

마우스 오버 추가

사용자가 좋아할 지도를 만들고 싶다면 R을 사용하여 대화형 Google 지도에 마우스 오버 효과를 추가하는 것이 좋습니다. 마우스 오버 효과는 사용자가 마커 위로 마우스 커서를 끌 때 일어나는 일을 나타냅니다.

아래 코드 스니펫은 AIRPORT열에 저장된 공항 이름을 추가하는 방법을 보여줍니다 .

지도에 마커가 많거나 마커 사이에 간격이 거의 없는 경우 마우스 오버 효과는 악몽이 될 수 있습니다. 이 경우 정보 창을 대신 고려할 수 있습니다.

정보 창 추가

마우스 오버와 달리 정보 창은 사용자가 대화형 지도의 마커를 클릭하는 경우에만 활성화됩니다. 명심하세요. 정보 창도 사용자가 수동으로 닫아야 합니다.

재미를 더하기 위해 공항 이름, 도시 및 주가 포함된 추가 열을 추가합니다. paste0()기능을 사용하여 쉽게 추가하고 사용자 정의할 수 있습니다 .

마커가 매우 빡빡하게 포장되어 있지 않기 때문에 이 데이터 세트에 대해 정보 창이 마우스 오버보다 나은지 여부를 말하기 어렵습니다. 더 자연스러운 느낌으로 가십시오.

이제 R 및 를 사용한 대화형 Google 지도의 기본 사항을 알게 되었습니다 googleway. 다음으로 R Shiny 대시보드에 포함하는 방법을 살펴보겠습니다.

R Shiny 대시보드에 대화형 Google 지도 추가

이제 대화형 Google 지도를 R Shiny 대시보드에 추가하는 것이 얼마나 쉬운지 알 수 있습니다. 아래에 표시되는 항목을 통해 사용자는 공항이 표시되는 주 목록을 지정할 수 있습니다.

명심하세요:

  • 앱 UI — google_mapOutput()대화형 Google 지도의 자리 표시자로 기능을 사용할 수 있습니다 .
  • 앱 서버 — 이 renderGoogle_map()기능을 사용 하여 지도를 표시합니다. 데이터는 사용자가 선택한 주와 일치하고 마우스 오버 시 공항, 도시 및 주 정보를 표시하는 반응 구성 요소로 더 일찍 준비됩니다.

전체 코드는 다음과 같습니다.

 

이미지 9 – US Airports R Shiny 대시보드

googleway라이브러리는 당신을 위해 자동으로 위치와 줌 레벨을 구성합니다. 지도는 기본적으로 뉴욕으로 확대되었으며 더 많은 주를 추가하면 즉시 변경되었습니다. 전반적으로 우리는 30줄짜리 코드에 대해 보기 좋은 맵을 가지고 있습니다.

R을 사용하여 대규모 지리적 위치 데이터베이스를 분석하고 코로나 위험 히트 맵(CoronaRank)을 구축하는 방법을 알아보세요 .

해결해야 할 문제는 속도와 모양입니다. 운 좋게도 R Shiny 대시보드를 염두에 두고 작성된 이러한 주제에 대한 전용 기사가 있습니다.

  • Shiny 앱을 위한 UX 디자인
  • Shiny 대시보드 과급을 위한 R의 Apache Arrow

이 두 가지는 R Shiny 대시보드를 다음 단계로 끌어올리는 데 도움이 되므로 이 기사를 즐겼다면 훌륭한 글입니다.


결론

R을 사용하여 대화형 Google 지도를 구축, 조정 및 스타일 지정하는 방법이 있습니다. 오늘 많은 것을 배웠지만 항상 개선할 여지가 있습니다. 다음에 할 수 있는 몇 가지 과제는 다음과 같습니다.

  • 기본 마커 대신 사용자 정의 아이콘 사용
  • 마커 대신 히트 맵으로 공항 표시
  • Google Maps API를 사용하여 공항 간 거리 계산

이러한 문제를 해결하기로 결정했다면 공식 문서를 참조하십시오 . 그리고 여러분의 결과를 @appsilon 과 함께 자유롭게 공유하세요 . 우리는 당신이 무엇을 생각해냈는지 보고 싶습니다.

온라인에서 지도를 표시하는 더 빠른 방법을 찾고 있다면 Shiny 대시보드 템플릿 을 확인하십시오 . 그들은 무료로 사용할 수 있으며 프로젝트를 위한 훌륭한 시작점입니다.

Leave a Comment